[Parsed-XML-Dev] Re: [Zope-dev] ParsedXML in Zclass methods loses permissions on Zope restart

Karl Anderson kra@monkey.org
30 Oct 2001 15:37:25 -0800


Martijn Faassen <faassen@vet.uu.nl> writes:

> Brad Clements wrote:
> > I'm still casting around for a suggestion on where I can go to fix this.
> > 
> > I have a ParsedXML object in the methods list of a ZClass Product.
> > 
> > The "Access Contents Information" Permission Mapping always get's reset to "blank" in 
> > the ParsedXML object when Zope restarts.
> > 
> > Is this a problem with ZClasses, or with ParsedXML? 
> 
> Taking a look at ParsedXML, it looks like it just does a very simple
> permission definition, so it doesn't *look* like there's something
> wrong there.
> 
> What it sounds like is that something that should be persistent isn't
> for some reason. Either an object attribute is changed without 
> the permission mechanism being informed of the change, or it's 
> for some reason an attribute on a nonpersistent is changed. This at least
> would explain why the permission mapping magically goes away..

I don't understand the situation very well, but Martijn's explanation
sounds familiar.  Remember, there's only one persistent Zope object in
a ParsedXML instance, and that's the document proxy object.  All of
the proxy subobjects are transient, and that includes proxy documents
that are navigated to from proxy subobjects.  I.E. if "app.foo.PXML"
is the ParsedXML instance, then setting Zope attributes on
"app.foo.PXML.firstChild()" and "app.foo.PXML.firstChild.parentNode()"
won't persist.  Same goes if you traverse to these nodes via the
web-exposed URLs of these methods.  Perhaps you're trying to persist
changes to Zope attributes on those nodes?

-- 
Karl Anderson      kra@monkey.org           http://www.monkey.org/~kra/