Hi Charlie,

Uids are wired up using the event machinery, so shouldn't need changes to content classes.


By default, uids are applied for all content with the IContentish interface so as long as AContentObject provides that interface, it should get uids. You can see this in event.zcml.

Originally, the tools did not do this, so for BBB you also need to check some properties in the annotation tool properties tab (I think): 'assign on add' and 'assign on clone'.

HTH

Miles



Charlie Clark wrote:
Dear all,

I'm looking at using CMFUid and I'm not quite sure how to use it: do I need to add support for it explicitly in my objects, ie.

from Products.CMFCore.PortalContent import PortalContent

from Products.CMFCore.utils import getUtilityByInterfaceName
from AccessControl import ClassSecurityInfo

class AContentObject(PortalContent):
    security = ClassSecurityInfo()

    def __init__(self, title=None, description=None):
        uid = getUtilityByInterfaceName('portal_uidgenerator')
    self.id = uid()

Or is this a case for using an adapter?

from Products.CMFUid.interfaces import IUniqueIdAnnotation?

class AContentObject(PortalContent):
    security = ClassSecurityInfo()

    def __init__(self, title=None, description=None):
        self.id = IUniqueIdAnnotation(self)

which allows behaviour to be configured site wide?

Charlie
-
Charlie Clark
Helmholtzstr. 20
Düsseldorf
D- 40215
Tel: +49-211-938-5360
GSM: +49-178-782-6226



_______________________________________________
Zope-CMF maillist  -  Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf

See http://collector.zope.org/CMF for bug reports and feature requests


_______________________________________________
Zope-CMF maillist  -  Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf

See http://collector.zope.org/CMF for bug reports and feature requests

Reply via email to