hi brian
can you explain why WebdavServlet doesn't implement PROPPATCH?
i did not express myself clearly... apparently... let me try again:
- simple WebdavServlet does support PROPPATCH, as it does any method required by dav-compliance classes 1 and 2.
- so does the JcrWebdavServlet, which in addition also handles extensions to webdav (deltaV, ordering collections, search, observation) in order to cover the jcr api. the documentation mentioned describes the functionality provided by that servlet (and related classes).
PROPPATCH with the simple servlet:
- the reason why PROPPATCH results in 405 is only because the simple dav resource (DavResourceImpl), that gets the call for set or removal of a property does not allow for it.
- and its for lack of time only, that the resource factory in the simple package (responsible for the DavResourceImpl) is created during init of the servlet can neither be configured nor reset...
PROPATCH with the jcr-server-servlet:
- JCR Properties are not reflected by a webdav properties, however represent a separate non-collection resource.
- webdav properties mentioned in the document reflect additional (state?) information of the repository items. name (P/N), value (P), type (P), nodetype (N), mixin-types (N). some of those can be modified by PROPPATCH (e.g. value, mixin-types), some are unmodifiable (name, primary nodetype).
i tried to PROPGET some of the JCR properties listed in section 2.3.6 of the doc, like jcr:name, but i got 404s for them. looking through the code, it looks like DavResourceImpl only sets the standard set of DAV: properties but none of the JCR ones. is that true, or did i miss something?
see above. the documentation describes the functionality of the jcr-server-servlet (as the title insinuates).
is this simply because the implementation is not complete, or do you not
plan to support PROPPATCH in general?
oh no!
how would you otherwise implement remote JCR property setting?
see above... jcr properties are separate resources not webdav properties. so adding jcr properties with PUT, modifying the value with PROPPATCH on the value/values-property present on the resource. at least this is what we planned...
but please note, that the simple servlet is a different story...
lack of PROPPATCH (and a design that precludes me from adding it myself) would be a definite dealbreaker for me using jackrabbit for my WebDAV server, and that would suck, cos i really like jackrabbit. so i hope i'm just misunderstanding something, which is often the case :)
hopefully i could resolve your doubts... or at least clarify a few things. your feedback and input is welcome.
regards angela
