Andreas Hartmann wrote:

At the moment we don't have this repository abstraction, we just
operate on sources.

exactly, and it would be a mistake to expose storage details in the API. who cares if nodes are stored as folders or attributes internally?

But anyway, IMO the leaf/branch issue on the repository side is not
related to the Creator interface. The Creator is related to the site
structure, not to the internal representation of the files. The user
doesn't care whether a document is stored as a child file/node of
another document, she cares whether it is a child in the site structure
(which are entirely different things in the Lenya core, though they can
be related in specific publications).

+1 and even on the site, it is silly to restrict it, because that means if you change your mind and want to add child nodes to a leaf node, you have to start over. which is exactly why we have never used it.

Imagine you have a tree-like site structure and a flat-file storage.
The parent-child relations are managed by the SiteManager component.
So it doesn't make sense to use a leaf/branch concept on the file system
(storage), but the SiteManager has to know the difference between a leaf
and a branch. At the moment, there is no such concept. If we introduce
it, we're restricted to trees again (what about topic maps etc.?).

-1 for introducing it

But if someone uses the underscore instead of the slash to separate
parents from children, the Creator has no chance to interfere:

  /foo_leaf
  /foo_leaf_bar <- allowed by the creator

it is wrong to infer structure from the URI space. URI are opaque:

http://www.w3.org/2001/tag/2002/0508-intro#URI-meaning

If you want to create a section that can't have children (for instance
a "contact" section), you can't use the URL space tree for this
purpose.

why would you restrict that? sounds like a solution looking for a problem. an API that tries to second-guess users is destined to fail.

This means that the above contract is a restriction - it restricts
the parent-child relation to the slash-separated URL space. I just
wanted to illustrate that such a contract is very specific, even
if it does look general on the first glance.

IMO the most reasonable way to use the leaf/branch concept is to add
it to the SiteManager, which would mean a restriction tree structures.

-1 based on the grounds above

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to