Hi all, I've started implementation of a simple ZPatterns based application, and so far things have been going well. The problem is, I'm not sure if I'm doing this right. Here is my setup: Zope 2.2.0 hosted at Codeit.com on a Linux box ZPatterns 0.4.3b2 'BookProduct' product *'BookClass' ZClass (inherits from _ZClass_for_CatalogAware, _ZClass_for_DataSkin) * Methods: editInstanceForm, editInstance, index_html, AllTextMethod 'Books' Specialist * defaultRack which stores 'Book' ZClasses * Methods: addBookForm, addBook, index_html, BookSearch, BookResults (the last two methods are a Z Search Interface) *'Catalog' ZCatalog The 'BookClass' editInstance method contains: [snip] <dtml-call "propertysheets.Standard.manage_changeProperties(REQUEST)"> <dtml-call reindex_object> [snip] The 'Books' Specialist's addBook method contains: [snip] <dtml-let ni="newItem(isbn)"> <dtml-call "ni.propertysheets.Standard.manage_changeProperties(Authors=Authors, Title=Title, Price=Price)"> <dtml-call "ni.index_object()"> </dtml-let> [snip] I've snipped out only the most relevant parts of these methods. As I said, so far this has worked ok. But it seems to me that either the reindex_object or the index_object is in the wrong place, but I'm not sure which. I'm also not sure it's a good or bad idea to place the ZCatalog directly into the Specialist. Also, I would like to replace the three indexes I'm maintaining on the books with a single text index on a computed attribute. I understand that this involves adding a SkinScript to the Rack containing something like 'WITH SELF COMPUTE AllText=AllTextMethod', but I'm unsure of the details. I have a method (AllTextMethod) on the ZClass that returns several fields concatenated as a single string, which I would like to use as a text index. So, I decided to ask for a critique of the application design (such as it is). I also seem to recall mention of 'indexing agents' that might make this a bit more elegant, but haven't found a how-to on the subject. Thanks, Michael Bernstein.