On 5.8.14 12:56 , Torgeir Veimo wrote:
Two questions: Is there any technical reason jcr clients can't use the
name[index] name pattern, similar to oak internal?
The only reason I see is that there didn't seem to be much of a need so
far. That's probably also why OAK-203 is still open.
When importing content from jackrabbit which contains content with
SNS, what't the recommended approach to edit such nodes? Now I'm
getting exceptions like
How do you import that content? It is recommended to go through the
upgrade functionality of oak-run. See
https://github.com/apache/jackrabbit-oak/tree/trunk/oak-run.
Michael
20:38:35,833 ERROR services.RepositoryAdminService.addProperty() -
line 331 [127.0.0.1] - unable to add property;
javax.jcr.PathNotFoundException: /nen:content[2]
at
org.apache.jackrabbit.oak.jcr.session.SessionContext.getOakPathOrThrowNotFound(SessionContext.java:358)
at
org.apache.jackrabbit.oak.jcr.version.VersionManagerImpl.getOakPathOrThrowNotFound(VersionManagerImpl.java:248)
at
org.apache.jackrabbit.oak.jcr.version.VersionManagerImpl.access$000(VersionManagerImpl.java:53)
Is it expected that all content imported from jackrabbit is to fixup
all existing node names to avoid SNS and avoid using the name[index]
name pattern, before such content can be modified in oak?
On 5 August 2014 17:13, Michael Dürig <[email protected]> wrote:
On 5.8.14 2:56 , Torgeir Veimo wrote:
So since that issue is unresolved, I assume I have to add the index
manually. If I then use a naming scheme like name[index], I get an
exception;
javax.jcr.RepositoryException: Cannot create a new node using a name
including an index
AFAIR you currently can't do that through the JCR API with Oak. This is only
supported on Oak's internal interfaces: "the underlying oak-core and
microkernel -level SNS nodes simply used the "name[index]" naming pattern
with no extra semantics associated with it." [1]. We added this so Oak can
cope with e.g. node type definitions, which make use of SNSs.
Michael
[1] https://issues.apache.org/jira/browse/OAK-203