[Zope] zopeNewbie Article on Acquisition

Jeffrey N. Shelton shelton@custommachine.com
Sat, 27 Nov 1999 10:54:23 -0500


Thank you for your comments, Shalabh!

I have tried to incorporate your suggestions into the article at
http://weblogs.userland.com/zopeNewbies/breadcrumbs/acquisition/.

> I have seen acquisition in Zope and only Zope. If the concept is used
> elsewhere too a few references would be useful here.
>
> 2. Just after you present the two example urls:
> ---snip-------
> http://www.mydomain.com/blizzard/warm_cabin/drink
> or
> http://www.mydomain.com/blizzard/abandoned_highway/drink
> ---end-snip--
> The reader could be confused about _where_ is the 'drink' defined ? Are
> the two drinks above refering to the same object ? etc.
> These questions are answered in the diagram, although a little later.
> There is a small detour comparing 'inheritance path' and 'acquision
> path' which I feel should be presented elsewhere.
>
> 3. Probably an addition of a folder in the example would be useful. All
> folders in the example have `drink` defined. A folder may not define
> `drink` itself, but it may get defined due to acquisition:
> http://www.mydomain.com/blizzard/middle_of_nowhere
> would acquire drink="Hot Coffee" from blizzard.
>
> 4. The way I look at it there's one more thing to acquisition:
> Like you said, the url:
> http://www.mydomain.com/blizzard/warm_cabin/drink
> has nothing to do with the structure of objects in the database. Well -
> not directly but the structure does define what urls would valid and
> what would not. In the url above the reason why we _can_ put warm_cabin
> under blizzard is because warm_cabin is a folder of root and has been
> `acquired` by blizzard. To make it clearer:
> Say there was a folder under warm_cabin called cosy_chair.
> The url:
> http://www.mydomain.com/blizzard/cosy_chair
> would be invalid, because cosy_chair is undefined when we traverse this
> path.
> However the following would be valid:
> http://www.mydomain.com/blizzard/warm_cabin/cosy_chair
> and even the following is valid:
> http://www.mydomain.com/warm_cabin/blizzard/cosy_chair
>
> The importance of the path in the url cannot be understated.
> Another way to look at this is to traverse the url path from left to
> right. Each object keeps adding to a 'gobal_namespace' its own namespace
> which may also overwrite already existing names in the
> 'global_namespace'.
>
> Thanks,
> Shalabh