Re: CPSDirectories

"sebastien.masson" <sebastien.masson-+4qp5d0/[email protected]>
Newsgroups gmane.comp.web.zope.cps.general.french
Message-ID <[email protected]>
>
>> mais j'aimerais également ajouter de quoi stocker des informations  
>> que le LDAP ne peut pas prendre en charge (comme le  
>> "last_login_time" par exemple).
>> J'ai bien essayé de m'inspirer de ce que propose CPSLDAPSetup, mais  
>> je ne m'en sors plus !
>>
>> Le site étant le résultat d'une migration d'une ancienne version,  
>> les workspaces des membres existent déjà, et j'ai utilisé un  
>> "logged_in" customisé pour simplement forcer la mise à jour de  
>> "last_login_time" dans tous les cas.
>> Là où je coince, c'est que j'aimerais bien stocker ces informations  
>> dans un ZODB directory, qui se retrouve mis en relation avec mon  
>> LDAP par le biais d'un MetaDirectory. Or, comme le backing ZODB est  
>> vide, il n'arrive pas à trouver les membres au niveau du  
>> MetaDirectory (je suppose que c'est normal, étant donné qu'il a un  
>> résultat depuis le backing LDAP mais que l'autre est vide).
>>
>> J'ai bien essayé de détruire le workspace d'un membre pour voir si  
>> les choses se mettaient en place à la connexion suivante, mais non.
>>
>> Existe-t-il un mécanisme permettant la "création automatique" des  
>> objets manquants dans les backings pour arriver au résultat escompté ?
>
>
> Oui, ou presque, c'est ce qui s'appelle une 'missing_entry'. Ça se  
> configure en ZMI sur le meta, onglet backings. C'est une expression  
> TALES qui doit fournir un dictionnaire qui représente l'entrée;  
> quelque chose du genre
>     python: {'last_login_time': None}
> devrait faire l'affaire.
>
C'est ce que j'ai mis, la même chose que dans l'exemple en fait.
Mais je n'étais pas sûr d'avoir bien saisi le fonctionnement : création 
de ce qui manque de façon réelle, ou retour de valeurs par défaut "pour 
faire comme si"', afin d'éviter d'avoir une erreur concernant des 
valeurs non définies ou quelque chose du genre.

> Ce système est mentionné dans CPSDirectory/doc/metadirectory.txt (ces  
> docs-là sont bien). C'est le cas d'utilisation typique (surtout si le  
> LDAP est alimenté par d'autres applications)
>
Je les ai lues avant de commencer (sinon, c'est un peu rude de commencer 
à créer des backings sans savoir à quoi ils servent !). Ce que j'essaye 
de faire, c'est proche de l'exemple donné mais sans le ZODB Backing pour 
les utilisateurs purement CPS :

Là où j'avais un doute (mais tu commences à le lever), c'était de savoir 
si toutes ces créations complémentaires se faisaient au moment de la 
création d'un nouvel utilisateur ou si le système "complétait" la 
structure tout seul, dès que des infos venant d'un backing ne 
correspondaient à aucun enregistrement équivalent.

Juste pour être sûr : à la base, on utilise un StackingDirectory si les 
backings ont le même schéma et un MetaDirectory si ce sont des schémas 
différents et qu'on a besoin de renommer ou retraiter des champs ?

> Normalement, la prochaine modification de l'entrée devrait la créer  
> dans le backing où elle manque (sinon tu as le droit de soumettre un  
> bug)
>
Je vais continuer à expériementer, maintenant que je peux (merci 
VMWare). On verra bien si l'illumination finit par se faire ou si c'est 
vraiment un bug ! Je n'aime pas crier au loup ...

> ---------
> Georges Racinet,   Nuxeo SAS
> Open Source Enterprise Content Management (ECM)
> Web: http://www.nuxeo.com/ and http://www.nuxeo.org/ - Tel: +33 1 40  
> 33 79 87
>
>
>
>

_______________________________________________
cps-users-fr 
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.