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 "firstname.lastname@example.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.
An annotations-based drop-in aspect (i.e, no change to a class is
necessary) that gives objects a comments tab. In production;
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.
A way to spell freeze requests, and a few implementations and
approaches. In use by active projects; maintenance mode.
Text extraction for XML, HTML, Word, OO, PDF, and RTF files, for
the purpose of indexing. In production; maintenance mode.
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.
TTW log with automatic changesets. In production; maintenance mode.
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.
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;
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.
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.
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
A pluggable authentication plugin for interacting with Windows
authentication. In production; maintenance mode.
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
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.
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
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-dev mailing list