[Zope] Re: Is there a "Virtual Folder" Product??

Dieter Maurer dieter@handshake.de
Tue, 31 Jul 2001 20:53:29 +0200 (CEST)


Philipp Robbel writes:
> I hope I interpreted your "if they come to me" correctly and I have
> attached a plain text file with the two newsgroup post's contents.
Outlook WebAccess seems to aim at communication with Windows people
only:

   Your attached "plain text" messages were wrapped in
   an "application/ms-tnef" part.
   My (Linux) mail reader does not understand this
   proprietary Microsoft format....

   I decoded in the dark and see, besides lots of uninterpretable
   binary data, there have been your text messages....

Usually, I refuse to handle Microsoft proprietary formats....

> When I type in the following URL into the browser:
>    http://server/root/german/research/ProjectOne
> I get the english standard_html_header along with ProjectOne's index_html.
>  
> Is there a way to modify your great product so that ProjectOne's index_html <dtml-var standard_html_header/footer> 
> get the german's standard_html_header/footer?
This may be possible but it is an order of magnitude more work
than the current MFolder and it will be much slower.

  The current MFolder uses Zope's acquisition to make the mirrored
  content available in the corresponding folders.

  Acquisition uses "Containment before Context" to look up
  names. This ensures that (in your example) the German objects
  are found by a web request in the German area unless
  the targeted object is not there. Then the object
  in the mirrored folder is found.

  However, the "Containment" of an english object is the
  english folder (while the context contains the german folder,
  if accessed via this way). Therefore, if an english
  object references a name, it is preferable found in the
  english hierarchy and only if not found there, the
  german context is searched.

To change this behavior, it would be necessary to implement
your own name lookup.

> I'm using a breadcrumb system on my page that currently uses obj.absolute_url() to add the links.
> The absolute_url() that the Aims Document accessed via http://server/deutsch/research/Aims returns is
> still http://server/english/research/Aims (the physical place).
I discovered this fact only recently, too:

  The "absolute" in "absolute_url" indicates, that the
  URL is independent of the access context, based solely
  on its physical location.

If you need the breakcrumbs only in a kind of management
interface (what I expect), you can use "URLPATH1" (maybe
URLPATH0) as starting point, as in this case the object's
URL is strongly related to the request URL.



Dieter