A facade storage layer for Archetypes delegating to the Plone memberdata tool
A facade storage for Archetypes which delegates to a Plone site’s Memberdata Tool for storing content item field values as memberdata properties.
This heavily relies on name magic. It is assumed that the correponding member and content instances have corresponding ids. Correspondence is established with the help of Products.PlonePAS.utils.[de]cleanId - the same way Plone 4 uses to keep track of member folders.
The use case driving its development has been to support custom Archetypes-based content types which can be used as home folders for members and mirroring some of the member properties. That way, people can change member properties by editing their home folder settings.
archetypes.memberdata is used in production on http://www.incf.org.
In your Archetypes schema definition you can use the MemberPropertyField instead of a regular StringField to get and set the field’s value in a corresponding member property. Per default, a property with the same name as the field is used unless the member_property_id is set to point to a different property.
For other field types one can use MemberdataStorage as well as long as the data type can be handled by the member data tool.
- Don’t break if email login is enabled [raphael]
- Extend test coverage to also check for member property changes being picked up in “content space” [robin].
1.0 - 2009-04-03
- Adding test suite [raphael].
- Adding MemberpropertyField for convenience [raphael].
- Breaking this out of ResearchCommunitySite to make it more accessible (from r15354 - yes, no changes in three years) [raphael].