CMFUid Readme CMFUid introduces a unique id implementation to the CMF 1.5.0 and newer. Implementation The supplied tools attach the unique ids to the objects. The objects do not have to be aware of unique ids. The current implementation depends on the portal catalog to find an object of a given unique id. The interfaces do not imply the use of the catalog (except the IUniqueIdBrainQuery). Which Tool does What? The 'portal_uidgenerator' tools responsibility is to generate unique ids. The 'portal_uidannotation' tool is responsible to attach unique ids to a content object. The 'portal_uidhandler' manages registering and accessing unique ids. This design was chosen to allow users replacing only parts of the functionality without having to understand the whole thing. Unique Id API 'portal_uidhandler' implementing 'IUniqueIdHandler' is the main API for playing with unique ids. Dependencies Object lookup by unique id depends on CMFCore (especially on portal_catalog). Usage 'portal_uidhandler' fully implements IUniqueIdHandler (IUniqueIdSet for registering/unregistering unique ids, IUniqueIdQuery for queries and IUniqueIdBrainQuery for more efficient queries by returning catalog brains instead of objects). The current implementation of get/queryBrain and get/queryObject do not return invisible objects (and brains of invisible objects). Have a look at the interfaces. CMFUid's functionality is used by CMFDefault's favorite content type to follow linked objects. The favorite content type works as before if CMFUid is not installed. See 'CMFDefault.Favorite.Favorite'. gregweb/2004-08-05