you're right. these fields are used to store their values in groups and
roles directory.

the option "write ignore storage" is checked for the schemas used in member
(meta, stacking and ldap) directory.

On 5/18/07, Olivier Grisel <[EMAIL PROTECTED]> wrote:

Nicolas Clain a écrit :
> Hi,
>
> I use CPSLDAPSetup with CPS-3.4.4 python-2.4.4 and Zope-2.9.7-final.
>
> When I want to create a new member in member's directory i got an error
> => "KeyError: 'cpsGroups'
>
> I check the code, and i know why there is this bug:
> 1) when MetaStorageAdapter's _setData method is called, the method
> _setDataDoProcess do the correct stuff with cpsRoles and cpsGroups
fields.
> 2) after that, the StackingStorageAdapter's _setData method is called.
> This time the _setDataDoProcess is called again, but the fields
> cpsGroups and cpsRoles are not in data dictionary anymore. Then we have
> an error with "value = data[field_id]" when field_id is cpsRoles or
> cpsGroups.
>
> Which is the best solution ? I guess a simple test is not enough ?

As far as I remember,the cpsGroups / cpsRoles fields of the members
directory
are computed to read / store their values from the groups and roles
directory
directly.

So in my opinion not having cpsGroups and cpsRoles are not in data
dictionary at
the stacking directory level can be normal (though I am not 100% sure
as  I
don't have a working CPS installation with at hand now). Please check the
schemas that are used by the members directory to check that the "write
ignore
storage" options are checked on the computed fields.

--
Olivier

_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel




--
Nicolas Clain
_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel

Reply via email to