Compat zope-2.12 : résolution des problèmes avec les interfaces.
[GroupUserFolder.git] / design.txt
1 Here are the main initial ideas behind GRUF :
2
3 Before we started writing this component, we spent a lot of time on
4 the design (yes, using paper and pen ;)), thinking a lot on how to be
5 as generic as possible. As a conclusion of our design sessions, we came
6 up with the following requirements :
7
8 - a group has to be seen by zope like an user. This way, we can
9 guarantee that the _whole_ standard security machinery of Zope will
10 continue to work like a charm, without even a hotfix.
11
12 - a first consequence of this is that GRUF will work out of the box
13 with any Zope application, including Plone ;)
14
15 - a second consequence is : groups just have to be stored in
16 a separate acl_users
17
18 - GRUF must be able to handle _any_ existing acl_users component ; including LDAP
19 or sql one
20
21 - GRUF has to be as transparent as possible to applications (read
22 "should act as a normal user folder")
23
24 - Group nesting should be supported
25
26 - Multiple sources for users should be supported (ex : source 1 is
27 SQL, source 2 is LDAP, source 3 is another LDAP).
28
29 The API was designed, test cases were written, code was done,
30 documentation was written, first version went out and the first customers
31 were (very) happy. Yes, exactly in this order ;)
32
33
34