[Zope-dev] CatalogPathAwareness and zope.lifecycle

Hanno Schlichting hanno at hannosch.eu
Fri Apr 15 08:39:26 EDT 2011


On Fri, Apr 15, 2011 at 12:05 PM, Sascha Welter <zopelist at betabug.ch> wrote:
> Looking at http://pypi.python.org/pypi/zope.lifecycleevent I see some
> examples about calling those notify() events, but nothing that would
> tell me how to replace CatalogPathAware with this stuff. Googling for
> [CatalogPathAware zope.lifecycleevent] does not give me anything besides
> some SVN commit messages.
>
> So, anybody have some examples of doing this, please?

I don't think there's any examples. Documentation for developing with
current Zope 2 is virtually non-existant.

> Specifically an example for replacing CatalogPathAware with
> zope.lifecycleevent. Since this is what the depreciation message talks
> about, it's been done many times over and should be well documented,
> right?

The last piece of documentation I know of is
http://codespeak.net/z3/five/event.html. It's from several years back
now and was written when object events where first introduced. The
general principle should still be the same, even if the details of
import locations have changed.

> I also hope that developers are aware that this change involves changing
> the base classes that classes in production systems out there are based
> on.

Changing base classes isn't any problem. The only thing that is
persisted is the actual class of an instance. The base classes are
taken from the current code base, so you can change them to whatever
you like without any content migration.

> I assume this kind of thing has been discussed and the decision has been
> taken on judging backwards compatibility vs. the benefits of doing this?

The particular code was unused for several years, using manage_*
methods is deprecated since Zope 2.8 or 2.9.

If you really need this code, just copy it from an old release into
your own codebase.

Developing with Zope 2 is probably a frustrating experience, but that
shouldn't come as a surprise to anyone. The project is dead for
several years now and is only kept left alive while Plone is migrating
away from it or some long time developers are still using it. It's a
large piece of legacy code that has no future - certainly not for new
users or developers not already familiar with it.

Hanno


More information about the Zope-Dev mailing list