[Zope3-dev] Re: Status of homefolders?
Max M
maxm at mxm.dk
Wed Dec 8 14:57:38 EST 2004
Florent Guillaume wrote:
> In article <cp4ffe$p5t$1 at sea.gmane.org> you write:
>>If member folders had a getMemberFolder() method it would be easy to
>>check hasattr(self, 'getMemberFolder')
>
> Urgh. This is not Zope 2 :)
I suppose you mean that it is not Zope 3?
> That's not a member problem at all. That's a problem of storing
> information somewhere. CPS does it for instance by having a notion of
> directories, you can have a directory with the standard members, and a
> directory of contacts.
Yes and no. In Plone you store:
First lastname
E-mail
Editingmethod
Visibility
id editing
portrait
These attributes seems pretty arbitrary to me. Ant that is exactly the
half baked solution you will get if there is not framework to deal with
the issue.
I have used Zope so long that I cannot even remember the first version
(but I remember the Python version was 1.5.2) and storing member
attributes has allways only had half-baked solutions. But i have yet to
make a solution where I didn't need to store different properties for
members.
CPS might have a better solution to the problem, but please don't assume
that everybody who knows Zope also knows CPS. There is far more
frameworks out there than it is possible to get to know.
>>A typical use case is
>>also that you have a contact that you want to make into a member. Then
>>you need to enter all the contact info once more. With the same
>>redundancy problems.
>
> That's not a problem in the member framework. Just have a script that
> creates a member from that info. (It's maybe 2 lines in CPS for
> instance.)
It's not many more lines in Plone, but copying data should not be the
solution. It's like the first rule of normalisation that is broken.
For access controll you need memberID, password and email. But after
that things starts to get fishy.
>>3) different workflows for different member properties.
>>MemberBaseProperties:
>>MemberPublicProperties:
>>MemberPersonalProperties:
>># and one can only dream on
>>MemberMultiMediaProperties
>> image, videogreeting, audiogreeting
>
> Where do you store all that information ?
My first impulse would be to have some kind of memberproperty interface,
where the classe implementing it could be related to a member in some
way. Then all the member*Properties objects would be memberproperties.
A natural place would be somewhere in member folders, as they would then
be (re)moved with the members. That would also be easy to understand for
site managers.
Instead of the "chaos" that is Plone/CMF, where you need to remove the
credentials from acl_users, the membership from portal_membership, the
data from portal_memberdata and the content from the member folder.
I mention it in this thread because I believe it is a very general
problem that is somewhat related to member folders.
--
hilsen/regards Max M, Denmark
http://www.mxm.dk/
IT's Mad Science
More information about the Zope3-dev
mailing list