[Zope] ZCatalog pointing to wrong object.

2000-07-03 Thread Bart Holthuijsen

Hi all!

I have been having some problems with ZClasses and the Catalog.
I made a new Catalogaware External Product, based mostly on the Boring and 
Photo products. When I add an instance to a folder the Catalog is updated, 
but doesn't point to the right object.

The product inherits from Catalogaware and Objectmanager (and some others).

Example:
In the folder "test" I add an XML Folder (the product) with name: "fold" and 
title: "no1".
The Catalog shows a new object with name "test" and title: "no1".
If I then add an XML Folder to test with name "fold2" and title "no2" the 
Catalog still only contains one object: test/no2.

If I want to delete the objects I get some weird behavior. The first one 
goes without a problem, it removes the entry from the Catalog. The second 
gives an error message:
"Error Type: ValueError
Error Value: Uncatalog of absent id 'Test' " This can probably be explained 
by the fact that there was only one entry pointing to the Test Folder.

Below I'll paste a bit of the XMLFolder.py file:

from Products.ZCatalog import ZCatalog
from Products.ZCatalog.CatalogAwareness import CatalogAware

import OFS.ObjectManager
import Acquisition
import AccessControl.Role

from Globals import HTMLFile  # fakes a method from a DTML file
from Globals import MessageDialog # provid
from Globals import Persistent# makes an object stick in the ZODB

manage_addXMLFolderForm = HTMLFile('XMLFolderAdd', globals())

def manage_addXMLFolder(self, id, title='', REQUEST=None):
"""Add an XMLFolder to a folder."""
self._setObject(id, XMLFolder(id, title))
if REQUEST is not None:
return self.manage_main(self, REQUEST)

class XMLFolder(
 CatalogAware, # Self indexing.
 OFS.ObjectManager.ObjectManager,   # A Folderish object.
Persistent,# Make us persistent. Yaah!
Acquisition.Implicit,  # Uh, whatever.
AccessControl.Role.RoleManager # Security manager.
):
"""XMLFolder object.
"""

meta_type = 'XML Folder' # what do people think they're adding?

manage_options = ( # what management options are there?
{'label': 'Contents',   'action': 'manage_main'},
{'label': 'View',   'action': ''}, # defaults to index_html
{'label': 'Security',   'action': 'manage_access'},
)

__ac_permissions__=( # what permissions make sense for us?
('View management screens', ('manage_tabs','manage_main')),
('Change permissions',  ('manage_access',)   ),
('Change XML Folders' , ('manage_edit',) ),
('View XML Folders',('',)),
)

def __init__(self, id, title=''):
"""initialise a new instance of XMLFolder"""
self.id = id
self.title = title
self.manage_addFolder('test','',0,0)

Does anyone know what the problem might be, how I can get the Catalog point 
to the right object? I'm using Zope 2.1.4 on Windows NT.

Thanks in advance,
Bart Holthuijsen.

Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com


___
Zope maillist  -  [EMAIL PROTECTED]
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 )




Re: [Zope] ZCatalog pointing to wrong object.

2000-07-03 Thread Dieter Maurer

Bart Holthuijsen writes:
  I have been having some problems with ZClasses and the Catalog.
  I made a new Catalogaware External Product, based mostly on the Boring and 
  Photo products. When I add an instance to a folder the Catalog is updated, 
  but doesn't point to the right object.
ZCatalog has a set of bugs.

You may find interesting information in the Collector

URL:http://classic.zope.org:8080/Collector

or in the zope mailing list archives (May 2000).

Search for "lexicon".


Dieter

___
Zope maillist  -  [EMAIL PROTECTED]
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 )