Hello, Thanks for your input Jason. I created a new CatalogAware ZClass without subclassing DTMLMethod and Document. The new ZClass instances work fine and they have an ID that can be retrieve from DTML. The only thing that puzzles me is that they cannot be cut and pasted around. They can be duplicated but not moved with cut and paste. It triggers an AttributeError (copied below) in the CatalogAware object. Did anyone solve this issue? Cheers. Alexandre --- Error message -- Error Type: AttributeError Error Value: REQUEST Traceback (innermost last): File D:\ZOPE\GISTI\lib\python\ZPublisher\Publish.py, line 214, in publish_module File D:\ZOPE\GISTI\lib\python\ZPublisher\Publish.py, line 179, in publish File D:\ZOPE\GISTI\lib\python\Zope\__init__.py, line 201, in zpublisher_exception_hook (Object: ElementWithAttributes) File D:\ZOPE\GISTI\lib\python\ZPublisher\Publish.py, line 165, in publish File D:\ZOPE\GISTI\lib\python\ZPublisher\mapply.py, line 160, in mapply (Object: manage_pasteObjects) File D:\ZOPE\GISTI\lib\python\ZPublisher\Publish.py, line 102, in call_object (Object: manage_pasteObjects) File D:\ZOPE\GISTI\lib\python\OFS\CopySupport.py, line 225, in manage_pasteObjects (Object: ElementWithAttributes) File D:\ZOPE\GISTI\lib\python\OFS\ObjectManager.py, line 264, in _delObject (Object: ElementWithAttributes) File D:\Zope\Gisti\lib\python\Products\ZCatalog\CatalogAwareness.py, line 130, in manage_beforeDelete (Object: CatalogAware) File D:\Zope\Gisti\lib\python\Products\ZCatalog\CatalogAwareness.py, line 187, in unindex_object (Object: CatalogAware) File D:\Zope\Gisti\lib\python\Products\ZCatalog\CatalogAwareness.py, line 157, in url (Object: CatalogAware) File D:\ZOPE\GISTI\lib\python\OFS\SimpleItem.py, line 316, in absolute_url (Object: CatalogAware) AttributeError: (see above) ---- At 17:52 20/10/1999 -0400, Jason Spisak wrote:
I had submitted this to Collector about a month ago, and have since wrote an external method to get around creating them with id's.
If you create a ZClass instance based on DTMLMethod or Document through the web interface you end up with an object that has no id. (Or at least no way to see it outside the management screens)
If you create the same object in python using:
from DateTime import DateTime from OFS import DTMLMethod
def make_resume(rfile,id,title) ob=ob.__of__(self) if rfile: my_ob=self.Control_Panel.Products.MyClass() my_ob.id=id my_ob.propertysheets.MyProperties.manage_changeProperties( myproperty=rfile.read()) my_ob.manage_edit("""<!--#var standard_html_header--><!--#var myproperty--><!--#var standard_html_footer-->""",title) my_ob=my_ob.__of__(ob) ob._setObject(id, my_ob)
You get an id just fine. It acts like any other web created ZClass instance.
I hope DC fixes this soon. It's really hampering not being able to extend DTMLDocuemnts and DTML Methods as Zclasses.
All my best,
-- Jason Spisak webmaster@hiretechs.com
(snip)