On Thursday 03 March 2005 1:06 am, Dario Lopez-Kästen wrote:
Tres Seaver wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Jay Zeemer wrote: | Greetings all, | I am in the process of examining Zope for some possible applications. | Currently I am having an issue with Zope being a bit to smart. I have | a directory \Dir1\ and under it I have 2 subdirectories \Dir1\SubA\ and | \Dir1\SubB\. The problem I am having is I can go to \Dir1\SubA\SubB\ | and gain access to things that are in \Dir1\SubB\, I need to be able to | block sibling level inheritance. Is this possible in Zope?? Or are | there any other ways to block this with out creating a SubB object in
\Dir1\SubA\ ??
The "sibling inheritance" you are describing is Zope's "acquisition". Folders derive from Acquisition.Implicit, which means they are willing to acquire any "non-private" name from their parents.
To prevent this behavior, place SubA with a Folder-like object which derives instead from Acquisition.Explicit.
I'd need this too. Would I be making a correct assumption when stating that no such folderish product, such as a "aq-blocking Folder", exists yet, but it has to be written (ie by me or anyonelse needing this functionality)?
Thanks.
I don't know of something like this existing and even more I don't know why you would really want it. Eventually you will understand how and why acquisition works and then you would have a fair bit of work to do to change the stuff back. Zope is not publishing any object that the person viewing the site would not normally have access to so it is not security issue. What you probably need to do is read the zope book and read about how acquisition works. You can use it to make apps a lot faster and save yourself a lot of work by learning how to use it. Acquisition is a major reason that I use zope in the first place and have been using it for about 4 years now.