[Zope3-Users] New open-sourced Zope Corporation packages

Gary Poster gary at zope.com
Thu Aug 24 11:00:05 EDT 2006

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 at 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  

- 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.


More information about the Zope3-users mailing list