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 - [email protected]
http://mail.zope.org/mailman/listinfo/zope-cmf
See http://collector.zope.org/CMF for bug reports and feature requests
_______________________________________________
Zope-CMF maillist - [email protected]
http://mail.zope.org/mailman/listinfo/zope-cmf
See http://collector.zope.org/CMF for bug reports and feature requests