SystemView Import and UUID

2007-07-18 Thread qcfireball

I am trying to do a SystemView Import, and have a UUID created if the node
does not already exist.  I use an XSLT to x-form my XML into the proper
SystemView, and include a node for jcr:uuid.  If this value is empty, the
JCR throws an exception.  If I remove the jcr:uuid node, the JCR imports the
XML without Exception.

My problem is that I don't want to maintain 2 XSLT's or have to post process
the XML to remove the jcr:uuid node.

Is there any way to import XML with the following jcr:uuid node value in the
imported XML?

sv:property sv:name=jcr:uuid sv:type=String
sv:value/
/sv:property
-- 
View this message in context: 
http://www.nabble.com/SystemView-Import-and-UUID-tf4102939.html#a11667706
Sent from the Jackrabbit - Dev mailing list archive at Nabble.com.



Re: [jira] Commented: (JCR-388) add support for RFC 3253 to the simple server

2007-07-18 Thread Julian Reschke

Angela Schreiber wrote:

but that's a different story isn't it? i was talking about the
compliance class (and the method set).


Probably. I just wanted to make sure that no time is spent on something 
that is broken in the spec...



RFC 3253 defines a separate behaviour for version-controlled 
collections.


I'm not completely sure what the issue is? A version controlled 
collection is a specific type of a regular version controlled 
resource, it just also records information about version controlled 
children...


what i meant:

http://www.webdav.org/deltav/protocol/rfc3253.html#version-controlled-collection.feature 


states the following:

As with any versionable resource, when a collection is put under 
version control, a version history resource is created to contain 
versions for that version-controlled collection. In order to preserve 
standard versioning semantics (a version of a collection should not be 
modifiable), a collection version only records information about the 
version-controlled bindings of that collection.


In order to cleanly separate a modification to the namespace from a 
modification to content or dead properties, a version of a collection 
has no members, but instead records in its 
DAV:version-controlled-binding-set property the binding name and version 
history resource of each version-controlled internal member of that 
collection.

[...]

A version-controlled collection has all the properties of a collection 
and of a version-controlled resource. In addition, the 
version-controlled-collection feature introduces the following REQUIRED 
property for a version-controlled collection.


14.1.1 DAV:eclipsed-set (computed)
[...]


Clarifying: the difference between a collection and a non-collection 
with respect to WebDAV versioning is that the version-controlled state 
of a collection *additionally* includes the binding-set (for the 
members), but not the members itself.



however: the patch provided by jeremi and modified by rob does
not distinguish between collections and non-collection resources.
in both cases the underlying repository Node is made 'versionable'.
consequently both collections and non-collections behave the
same way (i.e. like version-controlled resources), which is from my 
understanding not what the RFC defines. see quote above.


do i miss something?


Hm, probably I'm partly confused because I've grown up with RFC3253 
semantics, and haven't used collection versioning in JCR so far (the 
system I currently work on only can version leaf files + properties).


It seems the counterpart of a version controlled collection in WebDAV 
would be a JCR node where all children have 
OnParentVersionAction=IGNORE, meaning they are always version-controlled 
independently of the parent. I'm not sure whether anything else can be 
exposed in a RCF3253 compliant way.


We may have to ask Geoff for advice :-).

Best regards, Julian






[jira] Commented: (JCR-537) Failure to remove a versionable node

2007-07-18 Thread Shane Preater (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513577
 ] 

Shane Preater commented on JCR-537:
---

I am also seeing this error when trying to remove the version mixin from a node.

 Failure to remove a versionable node
 

 Key: JCR-537
 URL: https://issues.apache.org/jira/browse/JCR-537
 Project: Jackrabbit
  Issue Type: Bug
  Components: versioning
Affects Versions: 1.1
Reporter: Florent Guillaume
Assignee: Tobias Bocanegra
 Attachments: var.tgz


 This happens on current trunk.
 When running the following code on the attached jackrabbit repository,
 (sorry, Jython code, I trust the conversion to Java is trivial):
 from javax.jcr import SimpleCredentials
 from org.apache.jackrabbit.core import TransientRepository
 uuid = 83f6e473-3fe2-4584-9570-4e18a0cd6688
 repoconf = var/jackrabbit.xml
 repopath = var/jackrabbit
 credentials = SimpleCredentials(username, password)
 repository = TransientRepository(repoconf, repopath)
 session = repository.login(credentials, default)
 root = session.getRootNode()
 node = session.getNodeByUUID(uuid)
 node.remove()
 root.save()
 I get the following error:
 org.apache.jackrabbit.core.state.NoSuchItemStateException: 
 c147b847-8ba5-4fe9-a890-481586476510
 at 
 org.apache.jackrabbit.core.state.SharedItemStateManager.getNodeReferences(SharedItemStateManager.java:307)
 at 
 org.apache.jackrabbit.core.state.SharedItemStateManager.updateReferences(SharedItemStateManager.java:1046)
 at 
 org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:484)
 at 
 org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:687)
 at 
 org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:717)
 at 
 org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:316)
 at 
 org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:323)
 at 
 org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:292)
 at 
 org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:258)
 at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1209)
 ...
 javax.jcr.RepositoryException: javax.jcr.RepositoryException: /: unable to 
 update item.: c147b847-8ba5-4fe9-a890-481586476510: 
 c147b847-8ba5-4fe9-a890-481586476510
 The uuid I'm trying to delete is that of a document at path
   /workspaces/ecm:children/subfolder/ecm:children/ghtgh
 The uuid mentioned in the error is the one of its version history.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: [jira] Commented: (JCR-388) add support for RFC 3253 to the simple server

2007-07-18 Thread Angela Schreiber

hi

Clarifying: the difference between a collection and a non-collection 
with respect to WebDAV versioning is that the version-controlled state 
of a collection *additionally* includes the binding-set (for the 
members), but not the members itself.


jup... and that's currently missing.

Hm, probably I'm partly confused because I've grown up with RFC3253 
semantics, and haven't used collection versioning in JCR so far (the 
system I currently work on only can version leaf files + properties).


It seems the counterpart of a version controlled collection in WebDAV 
would be a JCR node where all children have 
OnParentVersionAction=IGNORE, meaning they are always version-controlled 
independently of the parent. I'm not sure whether anything else can be 
exposed in a RCF3253 compliant way.


here we go. the simple-server currently leaves it to the configuration
to decide which nodes are collections and which are not. potentially
any of them can be made versionable in jcr (and currently in dav as well).

i don't see a smart solution up to know. a simple one would probably
be to ignore the versioning stuff for the collections at all only
allow non-collections to be version-controlled resources. disregarding
whether the underlying node is mix:versionable or not.

leading to the question: will it cause problems if the dav-client
can 'see' dav VersionHistoryResources and VersionResources that
don't have a corresponding versionable dav resource? or would that
be an negligible inconsistency?

angela


Re: [jira] Commented: (JCR-388) add support for RFC 3253 to the simple server

2007-07-18 Thread Julian Reschke

Angela Schreiber wrote:
 ...

leading to the question: will it cause problems if the dav-client
can 'see' dav VersionHistoryResources and VersionResources that
don't have a corresponding versionable dav resource? or would that
be an negligible inconsistency?
...


That shouldn't be a problem, because it could also be cause of the VCR 
being removed, while versioning information was preserved.


Best regards, Julian