[Zope-dev] Zope2 - Breaking out more packages

Hanno Schlichting hanno at hannosch.eu
Sun May 16 17:34:05 EDT 2010


Hi.

I've started working some more on my pet project of refactoring Zope2
- specifically to move all C code to external distributions. My
working branch is at
svn+ssh://svn.zope.org/repos/main/Zope/branches/hannosch-dtml-vs-accesscontrol
which also has a TODO.txt with some notes. On the branch
DocumenTemplate imports from AccessControl but not the other way
around.

So in general I think this can be made to work. My current plan involves:

- Move Shared.TaintedString to an external distribution. It's used
both by DocumentTemplate and ZPublisher. Moving it into
DocumentTemplate and have ZPublisher depend on it, sounds like a poor
choice to me - a publisher shouldn't depend on a markup language. We
could also move it into AccessControl as it's sort of a security
feature.

- Move zExceptions to an external distribution. It's used from all
over, but has no external dependencies on its own. Instead of just
moving it out, I'd look at merging some of it into zope.exceptions.
The two share a good deal of code like the exception formatter and
common exception classes.

- Move the ZMI parts of AccessControl into the App package. App
already holds a good deal of general ZMI pages, so this seems a good
fit. It basically makes App the zope.app of Zope2.

There's a bunch of more minor stuff to work out and lots of awful test
dependencies, but in general it looks good.

If you have any feedback on the above, please shout - otherwise I'll
continue as planned and time permits. Once this is finished and
merged, ZCTextIndex holds the last bits of C code inside the Zope2
distribution - there's multiple ways to deal with it: break it and
HelpSys out or reuse the C code from zope.index. We can look at that
later.

Hanno


More information about the Zope-Dev mailing list