Martin Aspeli wrote:

2. I finally found the "+" view in container/browser, but all
    uses of it are as "/@@+/newitem.html".  I could have sworn
    I saw the "+" used w/o the "@@" prefix someplace but can't
    find it again.  Did I indeed imagine ever seeing

No, I've seen this too. As far as I understand, the @@ is optional, but useful to disambiguate views from other things. If you had an object in / called '+', /+ would find that, not the add view.

I finally found uses of "+" as well as "@+", so I wasn't crazy. I was confused because the "+" wasn't special-cased in the scattered traversal logic and because I first saw it in the persistent schemas component, which didn't seem to fit into anything going on.

I was also trying to understand the trailing '=' on those URLS, but couldn't search for just a '+' or '='. I've stepped thru all the traversal and form add/edit components and understand how it fits together now.

A few odd things though, the add and edit code looks written by two different people, with different styles and names. And in some places there is aggressive removal of leading '@@' without checking if there is an item by that name first, so that if you use the same name for two kinds of things, the view will always be found but not the item.

3. What happens if you register a utility or adapter with
    the -exact- same criteria including the same name?  Does
    a queryAdapter() lookup return the oldest or newest?
    Is that a legitimate way of overriding, other than
    using an overrides.zcml?

Did you try it?

Haven't had the time to set up the test case re several ZCML files and so forth - was hoping for an off-the-cuff answer, as I have a long list here of other, more novice, experiments to try to understand the boundary cases and ambiguous docs.


Zope3-users mailing list

Reply via email to