-----BEGIN PGP SIGNED MESSAGE-----
Doyon, Jean-Francois wrote:
> Is there any support within the framework for singletons? What I call
> singletons are objects that are instanciated and persisted only once, or at
> least should be.
> I find myself wanting to use these in several instances, notably when I
> create a class/object that acts as a gateway to an external system of some
> kind (like a web service).
> I create an object that provides a pythonic/zope-ish API to the rest of my
> objects/product code. I often like to use a persistent object (vs. a
> regular python module/package) in order to take advantage of things like
> caching, or giving options for configuration through the ZMI.
> Given this use case, it would be nice to have Zope provide a framework to
> support such things. It could enforce the uniqueness of the object in the
> entire system (absolutely no way to add more than one), and maybe provide a
> global mechanism to "find" the object not needing to know where in the tree
> it is, what it is called, or using the catalog (rather expensive?). Maybe
> something like a singleton flag and registry of somekind?
> I can kind of achieve this partly by doing things like "visible=0" is my CMF
> registration for example, forcing a specific id, enforcing rules in the
> manage_add type methods, and so on, but it all seems so kludgy. Not to
> mention I always have to know the name of the object, and possibly even the
> path, to get to it ... Redundant when there's always only one!
> I'm not looking for solutions, but ideas and thoughts ... Although if
> someone knows of ways to do this nicely, maybe with a third-party product
> for example, I'd love to hear about it!
CMF uses a base class called UniqueObject for its tools, which are
In Zope3, one accomplishes your use case by registering a utility for
the interface your singleton provides, without supplying a name.
Tres Seaver +1 202-558-7113 [EMAIL PROTECTED]
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
Zope maillist - Zope@zope.org
** No cross posts or HTML encoding! **
(Related lists -