----- Original Message ----- From: "Dieter Maurer" <dieter@handshake.de> To: <zope-dev@zope.org> Sent: Thursday, June 01, 2000 5:31 AM Subject: [Zope-dev] Zope 2.1.6: ZCatalog's Reindex unintuitive?
I know, of cause, that a DMTL method could do this job. However, a general method "manage_catalogRefind" might be generally useful. It would remember the parameters for the last find operation and reapply the find.
I like the other solutions that exist/are coming into existence/are proposed. They are: 1) CatalogAwareness for ZClasses. I like this one least, but it exists today. Your custom ZClasses can just subclass CatalogAware and they will automatically add themselves to the catalog when they are created and remove themselves when they are deleted. Drawbacks: it's a pain to catalog them to anything but something called "Catalog", and it only works for your custom objects. 2) ZPatterns 0.4 (http://www.zope.org/Members/pje/Wikis/ZPatterns/HomePage): This allows you to create objects that use DataSkins to determine how they are stored. Additionally, you can set up methods that get called for adds and deletes, so you can automatically catalog things however you would like... plus, you can set that up on a folder by folder basis. Drawbacks: not available yet, only works for your custom objects. 3) ObserverAndNotification Interface (http://www.zope.org/Members/michel/Projects/Interfaces/ObserverAndNotificat ion): Objects can be notified of events. This is a very generic interface and should allow for all sorts of stuff. Drawbacks: I don't know if any work has been done on implementation (work is still going on on the interfaces, I think), and I don't know if you'll be able to create an observer that automatically catalogs objects like DTML Methods even though the DTML Method has no knowledge of the observer. I kind of get the feeling that you'll be able to do such things... I like all of these solutions, because they are automatic. Having a catalogRefind implies that someone needs to actively do something to make the catalog get updated... Kevin