jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jukka Zitting <jukka.zitt...@gmail.com>
Subject Re: generating identifiers
Date Sat, 26 May 2012 22:40:27 GMT

On Sat, May 26, 2012 at 11:25 AM, Julian Reschke <julian.reschke@gmx.de> 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.


Jukka Zitting

View raw message