Yoan Le Clanche wrote:
Hi everyone,

Is it possible to create a new content type to manage groups with remember?

yup.

I know membrane can do it, but remember seems to overwrite this functionnality. 
So what can i do to use my own content type?

membrane provides the toolkit to use content objects as groups, but as you say the default remember implementation doesn't take advantage of it. here's a rough outline of what you'd need to do:

- decide what defines the relationship btn a member and a group (e.g. they could be linked via AT or plone.relations references, or possibly the member object could simply store a list of group ids, and the group store a list of member ids). whatever you decide has to be bidirectional... i.e. both the member and the group objects must be aware of the relationship

- provide custom member type, subclassing remember's base type with the following customizations:

o groups field: this may become a ReferenceField if you use AT references or plone.relations to relate the groups to the members.

o setGroup / getGroup methods: the groups field may need custom accessor and/or mutator methods based on how you manage the group <-> member relationships.

o valid_groups method: this method provides the set of all available groups, it may need to be customized to correctly generate this list.

your group class needs to provide membrane's IGroup interface. if you want to use one of membrane's default implementations for managing group <-> member relationships (using AT references) then you may need to provide another interface, e.g. IGroupsProvider or ISelectedGroupsProvider.

also, i can't say for certain how well the regular Plone group management interface will work. if you want to retain that interface but have it interact w/ your content-based groups you may need to customize some of that code as well.

hope this helps,

-r


--
Archive: 
http://www.openplans.org/projects/remember/lists/remember/archive/2008/02/1204155580739
To unsubscribe send an email with subject unsubscribe to [EMAIL PROTECTED]  
Please contact [EMAIL PROTECTED] for questions.

Reply via email to