[Zope-dev] Re: Member tools refactoring (Was: Better MemberData search for CMF)

Rob Miller ra at burningman.com
Fri Oct 31 13:16:11 EST 2003


another possible angle on all of this is CMFMember, which replaces the 
default memberdata tool with one that provides Archetypes-based 
memberdata objects.  this already provides some (most?) of the 
functionality you're suggesting in the userdirectory tool, i believe.

i'm pretty sure that Archetypes and CMFMember are still Plone-specific 
for now, but i thought i heard rumblings that Archetypes might be 
considered to be rolled directly into the CMF... if not it could 
probably be made to at least work w/ CMF-sans-Plone.

-r

Lennart Regebro wrote:
> Hi all!
> 
> I'm gonna try to verbalize my thoughts on this subject, but they are 
> still quite fuzzy, so bear with me if I sound confused. :) And sorry for 
> the length of tha mail...
> 
> 
> Today there are many parts involved in the Member Data Waltz (or is it a 
> two-step). There is the user folder, of course, there is the 
> portal_membership tool and there is the portal_memberdata tool.
> So what you do is that you ask the portal_membership tool for the 
> information, but it takes the user object from the user folder (which 
> already keeps contains some user data) and then asks portal_memberdata 
> to wrap the user with it's data. Then there is also the 
> portal_registration tool, who also does most of it's things by asking 
> portal_membership. :)
> 
> Missing from this is both the possibility to do transforms of data, and 
> also the possibility to have several user directories, like for example 
> having most users in an LDAP directory, but some users (like managers) 
> local. To solve this, in CPS there is a portal_metadirectories tool 
> involved (I don't know if there are other alternatives to this for non 
> CPS use), so then we have five different "tools", three of which may 
> store some parts of the actual user data, and all which seem to overlap 
> in functionality in different ways.
> 
> 
> My suggestion of how to do all this is refactor this into the following 
> pieces:
> 
> 1. A user folder
> 2. A user directory tool
> 3. A membership tool
> 
> 1. The user folder stays as it is. It will functionally overlap with the 
> user directory a lot, but that is to allow third-party userfolders to 
> still work. I would actually not mind seeing all of the three parts 
> above merged, but I think that should be a Zope 3 thing, in that case.
> 
> The search API here need only return a list of userIds, btw. If you want 
> the data, ask the membership tool.
> 
> 
> 2. The user directory tool would basically be a merge of the memberdata 
> tool and CPS's memberdirectory tool.
> 
> It would contain a set of directories. One could be internal, others 
> could be external. For example one LDAP directory, and one Zope 
> directory. These directories should all implement advanced search 
> functionality. The main directory tool would perform a search by calling 
> the searching on all directories.
> 
> The tool need to be able to perform transforms. One source may for 
> example store a users fullname in the fields "Name" and "Firstname" 
> another may store it as "Name" and "Family name" and a third just as 
> "Fullname". The tools would need to be able to create a "fullname" 
> property out of these properties.
> 
> The data may need to be merged for all the users, since you may want to 
> store user data in the Zope directory also for LDAP users. Or maybe this 
> is overkill, I'm not sure.
> 
> 
> 3. A membership tool, that merges todays membership tool with the 
> registration tool. Again, I think this really should belong in 
> acl_users, but that is not feasible for Zope 2.
> 
> 
> OK, flame away!
> 
> //Lennart
> 
> 
> _______________________________________________
> Zope-CMF maillist  -  Zope-CMF at zope.org
> http://mail.zope.org/mailman/listinfo/zope-cmf
> 
> See http://collector.zope.org/CMF for bug reports and feature requests
> 





More information about the Zope-Dev mailing list