965da26aae771262a72c4da49e2f6ecd926bfa4a
[GroupUserFolder.git] / doc / interview.txt
1 (Voici le texte d'une interview réalisé par Tarek pour le site zopeur.com)
2
3 (Désolé pour le français ;-) )
4
5
6
7
8 1) qu'est ce que GRUF ?
9
10 GRUF signifie "GRoup User Folder". Il s'agit d'un User Folder pour
11 Zope capable d'offrir un support pour les groupes. Contrairement aux
12 autres types d'UserFolder se basent sur divers supports (ZODB, SQL,
13 LDAP, ...) pour identifier les utilisateurs, GRUF délègue cette tâche
14 à un UserFolder classique. Par exemple, pour utiliser GRUF avec LDAP,
15 il suffit de coupler GRUF à un LDAPUserFolder tout à fait classique.
16 Cette architecture permet de se dispenser de l'écriture de plugins.
17
18
19 2) Quels sont ses particularités / avantages comparé à d'autres produits
20 du genre ?
21
22 Avec GRUF, aucun patch n'est fait dans le code de Zope. GRUF est un
23 UserFolder classique et n'utilise aucune "magie" pour fonctionner.
24
25 Aucun patch dans Zope n'a été nécessaire ; pas même de MonkeyPatch.
26
27 Dans l'interface d'administration de GRUF, on crée deux UserFolders :
28 un pour les groupes et un pour les utilisateurs. Dans l'UserFolder des
29 utilisateurs, le groupes sont affectés aux utilisateurs en tant que
30 rôles.
31
32 Dès que l'on sort de GRUF, en revanche, les groupes sont vus comme des
33 utilisateurs "normaux" sous Zope. On peut leur affecter des droits,
34 des rôles locaux, etc.
35
36 C'est cette "astuce" qui fait que GRUF fonctionne directment avec
37 toutes les applications Zope, sans rien changer au code source !
38
39 L'architecture de GRUF permet d'utiliser des types d'UserFolder
40 classiques comme base d'utilisateurs ou de groupes (le UserFolder
41 standard de Zope mais aussi LDAPUserFolder, ExUserFolder, etc). Pas
42 besoin de développer et de maintenir des PlugIns !
43
44 Autrement dit, GRUF reste simple dans son principe, totalement intégré
45 à Zope (pas de "hotfixing" de Zope), et compatible avec virtuellement
46 tous les types d'UserFolder qui respectent l'API standard de Zope.
47
48 Enfin, un des points forts de GRUF est son plan de tests... Plusieurs
49 centaines de tests pour garantir un maximum de qualité !
50
51
52 3) Dans quelle mesure l'outil peut il s'intégrer à un portail Plone ?
53
54 Depuis Plone2, GRUF est partie intégrante de Plone. Des écrans
55 spécifiques ont été développés pour administrer les groupes depuis
56 l'interface de Plone mais en dehors de cet aspect "visuel", aucune
57 adaptation au niveau de la programmation n'a été nécessaire pour
58 rendre Plone compatible avec GRUF.
59
60 Ni pour rendre GRUF compatible Plone, d'ailleurs ;)
61
62 Depuis Plone2, un "tool" est proposé pour rendre la gestion des
63 groupes sous Plone similaire à celle des utilisateurs sous CMF
64 (l'équivalent du MembershipTool, mais pour... les groupes !).
65
66
67 4) Et à un autre portail (CMS,Zwook, etc.. ) ? Est-ce que l'outil est
68 dédié Plone ?
69
70 Depuis le départ, GRUF est un outil _indépendant_ de Plone. Et nous
71 nous efforçons, à chaque version, de vérifier son bon fonctionnement
72 en dehors de Plone. Puisque GRUF ne modifie rien à la logique de
73 gestion des utilisateurs de Zope, il est donc tout à fait possible de
74 remplacer n'importe quel UserFolder pour bénéficier de la gestion des
75 groupes.
76
77 Il est donc possible, en théorie, de l'utiliser avec ces outils, si
78 ceux-ci n'utilisent pas eux-même du code spécifique à un UserFolder
79 particulier.
80
81
82 5) Le futur de GRUF ?
83
84 GRUF3, qui est encore en phase de qualification, propose une nouvelle
85 API beaucoup plus intuitive. Nous avons aussi optimisé certaines
86 routines, notamment pour LDAP (LDAPUserFolder dispose en effet de
87 beaucoup d'optimisations spécifiques).
88
89 GRUF 3 est en phase finale de qualification auprès d'un annuaire de
90 90.000 utilisateurs ! ;)
91
92 La prochaîne étape dans GRUF sera la possibilité de restreindre des
93 rôles locaux : actuellement, Zope ne permet que d'en ajouter, jamais
94 d'en soustraire - alors que cela pourrait s'avérer bien pratique. Si
95 tout va bien, cela sera implémenté dans les prochaînes semaines.
96 C'est la notion de "BlackList".
97
98 Nous avons également plein d'idées pour rendre les interfaces
99 d'administration des utilisateurs/groupes, que ce soit côté ZMI ou
100 côté Plone, plus intuitives et agréables. Bref, le travail ne manque
101 pas !
102
103 D'ailleurs, n'oublions pas que GRUF est un composant OpenSource, et
104 que, à ce titre, tout le monde peut apporter son grain de sel : code,
105 idées, écrans, doc, traductions, etc...
106
107 Et quoi qu'il en soit, nous devons une fière chandèle à la communauté
108 Plone qui a testé intensivement GRUF, nous a aidé pour certaines
109 parties, nous a envoyé des patches et des idées... C'est là toute la
110 force d'une communauté soudée !
111