[Zope] CatalogAwareBase doesn't auto-reindex?

Bryan Field-Elliot bryan_lists@netmeme.org
29 Sep 2001 16:53:36 -0600


--=-9Gc3xW7TCPBQalfZpU8R
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

OK Chris,

I understand what you're saying. But my follow-on question is, where
exactly can I find the code that is auto-generated from the properties
interface? And if there is no such code, then is there a complete code
sample, somewhere, of how I would code this myself? Your statement:


    You need to create a custom properties-editing form with a target
    that calls reindex_object as well as modifying the properties."


isn't really enough for a newbie like me to pick up and run with.

I'm also unclear where this prebuilt form is being built -- is it when I
define the property sheet, or instead is it when I create a view out of
a property sheet?

Having fun getting to know this system!

Bryan



On Sat, 2001-09-29 at 16:14, Chris McDonough wrote:


    Hi Bryan,
    
    Please keep the mail on the maillist, thanks.
    
    This is a limitation when using prebuilt forms from the properties 
    interface.  The prebuilt propertysheet editing forms don't call 
    reindex_object.
    
    You need to create a custom properties-editing form with a target that 
    calls reindex_object as well as modifying the properties.
    
    You could make the target a Python Script or a DTML method, as long as 
    it calls the right stuff (manage_changeProperties and reindex_object) on 
    itself with the right values.
    
    HTH!
    
    - C
    
    
    Bryan Field-Elliot wrote:
    > Thanks,
    > 
    > Where do I place this call? There are no methods to modify, except the 
    > constructor. The constructor isn't the appropriate place, I think.
    > 
    > Thanks,
    > 
    > Bryan
    > 
    > On Sat, 2001-09-29 at 16:04, Chris McDonough wrote:
    > 
    > /I think you need to call "reindex_object" on your catalogaware object /
    > /manually... it indexes itself automatically but doesnt reindex itself /
    > /automatically./
    > //
    > /See http://www.zope.org/Members/AlexR/CatalogAware for more info.../
    > //
    > /Bryan Field-Elliot wrote:/
    > /> Hi,/
    > /> /
    > /> I'm new to Zope -- let me first say, I'm totally blown away! I come from /
    > /> a Java/JSP/Servlet world, and Zope is just blowing my mind!/
    > /> /
    > /> I am using the latest Zope release (downloaded and installed yesterday)./
    > /> /
    > /> I am trying to use ZCatalog, and CatalogAwareBase as a base class for my /
    > /> custom ZObject./
    > /> /
    > /> I have successfully managed to get things straight so that my catalog /
    > /> notices whenever I create new instances of my custom classess (I had to /
    > /> call my catalog "Catalog"). The new instances correctly show up in the /
    > /> "Catalog" tab of my Catalog./
    > /> /
    > /> However, I am having a terrible time trying to get the Catalog to /
    > /> automatically re-index objects when I modify them. I am using standard /
    > /> property sheet editor page generated in the Product config area for my /
    > /> object class. Is this the wrong thing to do?/
    > /> /
    > /> It's hard to imagine the usefulness of the ZCatalog without it being /
    > /> up-to-date when objects change. I guess I'm just used to the RDBMS world /
    > /> where this is completely expected behavior./
    > /> /
    > /> I can't tell if this is a bug in CatalogAwareBase, or else if the /
    > /> documentation is lacking./
    > /> /
    > /> Thanks,/
    > /> /
    > /> Bryan/
    > /> /
    > /> /
    > //
    > //
    > /-- /
    > /Chris McDonough                    Zope Corporation/
    > /http://www.zope.org             http://www.zope.com/
    > /"Killing hundreds of birds with thousands of stones"/
    > //
    > 
    
    
    -- 
    Chris McDonough                    Zope Corporation
    http://www.zope.org             http://www.zope.com
    "Killing hundreds of birds with thousands of stones"
    
    
    _______________________________________________
    Zope maillist  -  Zope@zope.org
    http://lists.zope.org/mailman/listinfo/zope
    **   No cross posts or HTML encoding!  **
    (Related lists - 
     http://lists.zope.org/mailman/listinfo/zope-announce
     http://lists.zope.org/mailman/listinfo/zope-dev )
    
    

--=-9Gc3xW7TCPBQalfZpU8R
Content-Type: text/html; charset=utf-8

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/0.13.99">
</HEAD>
<BODY>OK Chris,<br>
<br>
I understand what you're saying. But my follow-on question is, where exactly can I find the code that is auto-generated from the properties interface? And if there is no such code, then is there a complete code sample, somewhere, of how I would code this myself? Your statement:<br>

<blockquote>
    <FONT SIZE="3"><I>You need to create a custom properties-editing form with a target that calls reindex_object as well as modifying the properties.&quot;</I></FONT SIZE="3">
</blockquote>
<FONT SIZE="3"></FONT SIZE="3"><br>
<FONT SIZE="3">isn't really enough for a newbie like me to pick up and run with.</FONT SIZE="3"><br>
<br>
I'm also unclear where this prebuilt form is being built -- is it when I define the property sheet, or instead is it when I create a view out of a property sheet?<br>
<br>
Having fun getting to know this system!<br>
<br>
Bryan<br>
<br>
<br>
<br>
On Sat, 2001-09-29 at 16:14, Chris McDonough wrote:
<blockquote>
<pre><FONT COLOR="#737373"><FONT SIZE="3"><I>Hi Bryan,</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>Please keep the mail on the maillist, thanks.</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>This is a limitation when using prebuilt forms from the properties </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>interface.  The prebuilt propertysheet editing forms don't call </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>reindex_object.</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>You need to create a custom properties-editing form with a target that </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>calls reindex_object as well as modifying the properties.</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>You could make the target a Python Script or a DTML method, as long as </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>it calls the right stuff (manage_changeProperties and reindex_object) on </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>itself with the right values.</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>HTH!</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>- C</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>Bryan Field-Elliot wrote:</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; Thanks,</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; Where do I place this call? There are no methods to modify, except the </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; constructor. The constructor isn't the appropriate place, I think.</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; Thanks,</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; Bryan</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; On Sat, 2001-09-29 at 16:04, Chris McDonough wrote:</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /I think you need to call &quot;reindex_object&quot; on your catalogaware object /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /manually... it indexes itself automatically but doesnt reindex itself /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /automatically./</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; //</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /See http://www.zope.org/Members/AlexR/CatalogAware for more info.../</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; //</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /Bryan Field-Elliot wrote:/</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; Hi,/</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; I'm new to Zope -- let me first say, I'm totally blown away! I come from /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; a Java/JSP/Servlet world, and Zope is just blowing my mind!/</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; I am using the latest Zope release (downloaded and installed yesterday)./</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; I am trying to use ZCatalog, and CatalogAwareBase as a base class for my /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; custom ZObject./</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; I have successfully managed to get things straight so that my catalog /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; notices whenever I create new instances of my custom classess (I had to /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; call my catalog &quot;Catalog&quot;). The new instances correctly show up in the /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; &quot;Catalog&quot; tab of my Catalog./</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; However, I am having a terrible time trying to get the Catalog to /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; automatically re-index objects when I modify them. I am using standard /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; property sheet editor page generated in the Product config area for my /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; object class. Is this the wrong thing to do?/</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; It's hard to imagine the usefulness of the ZCatalog without it being /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; up-to-date when objects change. I guess I'm just used to the RDBMS world /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; where this is completely expected behavior./</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; I can't tell if this is a bug in CatalogAwareBase, or else if the /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; documentation is lacking./</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; Thanks,/</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; Bryan/</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&gt; /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; //</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; //</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /-- /</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /Chris McDonough                    Zope Corporation/</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /http://www.zope.org             http://www.zope.com/</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; /&quot;Killing hundreds of birds with thousands of stones&quot;/</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; //</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&gt; </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>-- </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>Chris McDonough                    Zope Corporation</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>http://www.zope.org             http://www.zope.com</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>&quot;Killing hundreds of birds with thousands of stones&quot;</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>_______________________________________________</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>Zope maillist  -  Zope@zope.org</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>http://lists.zope.org/mailman/listinfo/zope</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>**   No cross posts or HTML encoding!  **</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I>(Related lists - </FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I> http://lists.zope.org/mailman/listinfo/zope-announce</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I> http://lists.zope.org/mailman/listinfo/zope-dev )</FONT></I></FONT SIZE="3">
<FONT COLOR="#737373"><FONT SIZE="3"><I></FONT></I></FONT SIZE="3">
</pre>
</blockquote>
</BODY>
</HTML>

--=-9Gc3xW7TCPBQalfZpU8R--