[Zope3-Users] Principal annotations
Gary Poster
gary at zope.com
Sat Mar 11 03:39:31 EST 2006
On Mar 11, 2006, at 3:14 AM, Thierry FLORAC wrote:
> On Thu, 2006-03-09 at 01:14 -0700, Shane Hathaway wrote:
>> Your idea of annotating InternalPrincipals rather than Principals
>> seems
>> to work, but I apparently did something wrong, because edited
>> annotations don't persist! I can save edits, but when I reload the
>> page, they're gone. I don't know why.
>
> As said in a previous (and un-replied :-( !) post a few days ago, I
> have
> the same kind of problem with an adapter using annotations : if I
> set my
> attributes using a "property" attribute, the setter is not called and
> modifications are lost when page is reloaded ; I have to call the
> setter
> directly (after modifying the interface, of course) from my adapter
> for
> modifications to be stored...
I haven't had time to read much or reply, so these may not be what
you and Shane are talking about, but I just saw this...
- yes, don't annotate principals. principal objects are not
persistent, and like the Zope 2 PAS are created and discarded within
a request. annotating internal principals is not recommended either:
it won't work with other plugin designs. Use principal annotations.
Make sure that the adapter providing IAnnotations for principals
returns the principal annotations. (I thought I had done this for
Zope 3, but maybe I just did it for some internal work...)
- Thierry, send me a link to your email and I'll try to look at it
(especially if it is short :-) ). It could be that you are not using
a persistent-aware data structure (PersistentDict or a BTree). We
successfully do the sort of thing you seem to be describing, so I
suspect some disconnect.
Gary
More information about the Zope3-users
mailing list