[Zope] Acquisition? Did I just lose my Zen?

Rik Hoekstra hoekstra@fswrul.fsw.leidenuniv.nl
Tue, 21 Sep 1999 15:04:50 +0200


> -----Original Message-----
> From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of
> Martijn Pieters
> Sent: Tuesday, September 21, 1999 1:54 PM
> To: zope@zope.org
> Subject: [Zope] Acquisition? Did I just lose my Zen?
>
>
> And I thougt I had it covered....
>
> I have the following structure:
>
> /
>    index_html    (checks a cookie, gives
>                   a frameset or a redirect
>                   to /noframes/home (frameset
>                   loads /home))
>    home          (content)
>    standard_html_header (together define my page
>    standard_html_footer  layout)
>
>    frames/     <- Framesets
>      standard_html_header (define a frameset that
>      standard_html_footer  loads the same URL minus
>      index_html            the /frames prefix)
>      nav                   (navigational frame)
>
>    noframes/   <- No framesets
>      standard_html_header (define a layout with
>      standard_html_footer  navigation in a table)
>      index_html
>
>
> All objects are either Folders or DTML Methods. So far so good,
> this works
> like charm. With acquisition, the home document can be viewed with and
> without a frameset. See for yourself at:
>
>   http://mj.antraciet.nl/
>
> But then I make another Folder, lets say Personal, and define a index_html
> in that Folder:
>
>   Personal/
>     index_html
>
> Calling http://mj.antraciet.nl/Personal/ works fine, but when I call
> http://mj.antraciet.nl/frames/Personal/ the same layout appears as the
> previous URL. De standard_html_header and -_footer from the root are being
> used, not the ones in the frames/ Folder! The same goes for noframes/.

> Now either I have to rethink my Zope Zen, or something is very wrong here.

Ah, so I was not mistaken! I have had this problem sometimes now, but could
not quite reproduce it when I needed to (I changed it in deep frustration).
Another example:

I have a folder

/

index_html

login/
  index_html

  userfolder/
     user1

somethingelse/
  stillsomethingelse/

Now calling a url like somethingelse/stillsomethingelse/login/
gives the index_html from login, as it should. But if I set security in the
userfolder under login to a role associated with user1, acquisition will not
work as (I) expected. User1 will authenticate against a straight url login/,
but it will not against somethingelse/stillsomethingelse/login/. User1
_will_ authenticate if he is in a userfolder in /

Does this mean that acquisition does not (always) work between objects that
are on a same level (if this means something in the ZODB)?

Rik