• Remember Mailing List

lots of recent work!

from Rob Miller on Jul 21, 2006 06:14 PM
hooray for clayton and calvin from six feet up!  they've been able to get a 
bunch of work done on remember in support of a client project, and have got us 
within spitting distance of a beta release.

thanks, guys, for all your work.  i've taken a look at the code and have a few 
notes:

http://dev.plone.org/collective/changeset/26308:

* in MemberDataContainer.getAllowedMemberTypes(), you're returning a list of 
all the registered membrane types.  the registered membrane types, however, 
can include objects that are property providers, group providers, role 
providers, etc., in addition to authentication providers.  what we really need 
is to get away from thinking of a member "type" and to start thinking of a 
member "policy", so someone could register and then get the correct set of 
objects created.  at the very least, though, we should be filtering so that 
only auth provider objects are returned, though.

* ultimately, we want to get away from depending on the MemberDataContainer 
altogether.  it would be much better if "defaultType", and any other 
member-related config information we want to store, were managed via a Z3 
schema that can be associated w/ the MembershipTool, exposed via formlib.


http://dev.plone.org/collective/changeset/26290:

* the MemberDataContainer.searchForMembers() method doesn't really belong on 
the MemberDataContainer any longer.  instead, there should be an adapter for 
IMembraneTool that provides a new interface called IMembraneSearch, which can 
expose a searchForMembers method.  the MembershipTool would retrieve the 
MembraneTool and adapt it to IMembraneSearch to actually perform searches.

* the MembershipTool should no longer assume that all member objects live in 
portal_memberdata.  we can introduce a "defaultMemberContainer" config option 
where new member objects will be placed, but addMember should take an optional 
"container" argument as an alternative.  and "deleteMembers" (which should 
ultimately delegate to some member deletion policy) should find the member 
objects by doing catalog searches rather than by assuming the objects live in 
portal_memberdata.


GENERAL:

we need some unit tests, there are only two right now.  i don't expect you to 
cover the entire codebase (and anyway, most of the hard work is done by 
membrane, which has reasonable coverage), but it would be great to get some 
tests on at least what you've worked on, such as a couple for the new 
registration tool, and a few for the member searching and member addition / 
deletion stuff mentioned above.


all in all, though, it's coming very well!  thanks so much for the work you've 
already done!

-r
Return to date view: threaded or flat