[Zope-CMF] Acquisition in CMF

Paul Winkler pw_lists@slinkp.com
Tue, 8 Oct 2002 13:44:00 -0700


Not a question - just some observations that will hopefully
clarify how acquisition works in CMF. I'm posting this
because I found it a bit mysterious until I did some
experiments. Comments on the below would be welcome.

Consider the URL:
http://myzope.host.name:8080/folderA/folderB/cmf_root/pf1/pf2/foo

where: 

  folderA and folderB are *parallel* folders in the zope root;

  cmf_root is my CMF Site (an instance of CMFDefault )
  inside folderA;

  pf1 is a portal folder in cmf_root;

  pf2 is a portal folder in pf1;

  and foo is to be determined.


In order to find foo, zope follows the normal acquisition rules
with one exception: the current skin's skinpath folders (in
portal_skins)  are searched, in the order given, 
*after* searching in cmf_root but *before* searching in cmf_root's
containers or the url context.

More concretely, zope will search for foo in:

1. the folder before it in the url (pf1).

2. pf1's containers  ("container before context") - 
   **stopping at the CMF site root**: 

   A) pf2
   B) cmf_root

3. The skin path.  e.g. if the current skin is "My Skin" and its
   skinpath is "custom, custom2, generic"  we would look in:

   A) cmf_root/custom
   B) cmf_root/custom2
   C) cmf_root/generic

4. The containers of the cmf site root:
   A)  folderA
   B)  zope root folder  ("/")


5. The context from the URL, which in this case is simply folderB.
  
 

--

Paul Winkler
"Welcome to Muppet Labs, where the future is made - today!"