Hi, On Sat, May 26, 2012 at 11:25 AM, Julian Reschke <[email protected]> wrote: > For the purpose of generating identifiers, all ancestors up to the next > referenceable node need to be traversable, und that node's jcr:uuid needs to > be readable (otherwise we can't compute consistent identifiers).
IIRC we only need to generate an identifier for a non-referenceable node (i.e. one without it's own jcr:uuid) when the Node.getIdentifier() method is called on it. Assuming we adopt the kind of readable/traversable split as suggested in my earlier email, that non-referenceable node can only be readable (a requirement for getIdentifier() to be callable) if all it's ancestors are traversable. The need to be able to read the referenceable ancestor's jcr:uuid property could well be covered by making the jcr:uuid property implicitly readable for all traversable nodes, regardless of other access controls. > Maybe we should consider pushing down identifier generation and lookup one > level deeper? We can do that, but I'd first like to explore the options for doing this above the Oak API or in a separate plugin module (deeper is not the only option here). I'd like to keep the Oak API as clean and simple as possible while still enabling all the functionality we need for JCR and other needs. BR, Jukka Zitting
