Zope Corporation is happy to announce a number of newly open-sourced packages. All are in use, in development, or both.

We release these packages in the strong hope that others will contribute to them, from maintenance through extension to refactoring. The maintainers are effectively "zope3-dev@zope.org". Since we rely on them, ZC will generally do some of those tasks ourselves; and we will have a strong stake in making sure that their development continues to support our internal needs.

These packages are tested two or more times a day against the Zope 3 trunk. We hope to make 3.3 branches when 3.3 is released. In several cases, these will need a newer version of zope.testing than the one shipped with Zope 3.3, but otherwise we expect them to work in Zope 3.3 without too much tweaking.

As we move our internal projects to zc.buildout, these projects will gain eggs, PyPI registration, and thus better documentation of their dependencies over the next weeks and months.

Here are quick lists of the new packages, with summaries and status notes. Each project can be found on http://svn.zope.org/ with the given name, such as "http://svn.zope.org/zc.comment/";. The actual code is found in trunk/src/zc/[package], such as "http://svn.zope.org/ zc.comment/trunk/src/zc/comment/". The current svn-only distribution means that the code is currently largely in the realm of experienced Zope developers. The egg and PyPI work mentioned above will hopefully lower the bar when it is done.

First, here are the packages that are largely stable and that we are using in active projects.

- zc.comment
An annotations-based drop-in aspect (i.e, no change to a class is necessary) that gives objects a comments tab. In production; maintenance mode.

- zc.copy
A pluggable `copy` function, replacing the one in zope.location; and an ObjectCopier that uses it. This allows object copies to be cleansed efficiently. In use by active projects; maintenance mode.

- zc.freeze
A way to spell freeze requests, and a few implementations and approaches. In use by active projects; maintenance mode.

- zc.index
Text extraction for XML, HTML, Word, OO, PDF, and RTF files, for the purpose of indexing. In production; maintenance mode.

- zc.notification
Simple user notification framework. Currently includes email notification, with email templating. Somewhat unstable API (need to review for scalability). In use by active projects; maintenance mode, though we would like to have time to return to it.

- zc.objectlog
  TTW log with automatic changesets.  In production; maintenance mode.

- zc.preview
File previews based on zope.mimetype interfaces. Currently somewhat minimal. In production; maintenance mode, though we would like to have time to return to it.

- zc.security
Simple user search. Not a big release, but a dependency for some packages such as the previously released zc.sharing. (Already released, but this is the first announcement.) In production; maintenance mode.

- zc.selenium
A way to write selenium tests in Python rather than in HTML tables, including a way to push and pop ZODB state from within selenium. In use; maintenance mode.

- zc.tokenpolicy
A small variation on the zc.sharing policy that makes the security policy enforce zope.locking tokens. Useful on its own and as an example of enforcing the pure-policy zope.locking tokens. In use by active projects; maintenance mode.

- zc.vault
A subversion-like repository stored in the ZODB, complex but powerful and useful for many low-level tasks. In use by active projects; maintenance mode for core, with occasional development of add-ons.

- zc.winauth
A pluggable authentication plugin for interacting with Windows authentication. In production; maintenance mode.

- zope.html
A zope form widget for HTML, using FCKEditor (thanks to Roger Ineichen for his version, from which he graciously helped us learn). In production; maintenance mode.

Second, the following three packages are newly added and under development. We will make additional announcements as they become more stable.

- zc.async
Heir to Zope 2 zasync, and learning from its successes and failures, this supports asynchronous application calls, particularly as driven by end users in real-time. Alpha, but working in tests.

- zc.set
A persistent object akin to the persistent list and persistent mapping classes in the persistent package, but with a standard Python set API. (Note this has the same limitations as the persistent mapping and list classes--changing the contents means the whole set needs to be rewritten to the database, not just buckets as with BTree sets.) Beta.

- zc.twist
A partial for making ZODB calls from a Twisted reactor. Beta, but currently relies on some ZODB internals.

Also note that we have a new zc.site package that is broken from an external perspective and should be ignored. We mistakenly thought we needed it for dependencies in some of the other new releases. We will clean it up soon: apologies.

Zope3-users mailing list

Reply via email to