hi julian
First step was to run the generic test suite Litmus (<http://www.webdav.org/neon/litmus/>), which currently reports a range of failures,
i let litmus run a couple of times in the past and send the commented results to the list: 1) initial litmus result. that post also explains, why PROPPATCH fails with the default setup: by default non-collection resources represent jcr nodes with nodetype nt:file. This nodetype does not allow to set random properties. http://www.mail-archive.com/jackrabbit-dev@incubator.apache.org/msg02792.html 2) a more recent test (after reworking the dav-library while getting rid of JDOM) http://www.mail-archive.com/jackrabbit-dev@incubator.apache.org/msg04037.html
some of which seem to be trivial (non wellformed request bodies not rejected with status 400),
brian originally posted findings resulting from litmus tests. at that time we decided, that we try to work around invalid xml within PROPFIND although this is not compliant with the RFC. if i'm not mistaken, there is still a 'todo' in the webdav-request impl class.
some not (such as If header evaluation problems,
this one i missed so far :)
PROPPATCH tests all failing).
see 1)
In the mid-term, I'd like to contribute to jcr-server, both in fixing compliance problems, but also in adding features (Redirect support? Property datatype support).
sounds good. there is couple of other things missing in the library, where you could contribute.
For now, what's the best way to start?
since there is almost no documentation except for things discussed within this mailing list, you may start looking at the code.
If I'm sure I found an actual problem in the code, should I open a bug report over at <http://issues.apache.org/jira/browse/JCR>, then try to provide a patch?
yes please.
Also, what are the current goals for jcr-server? Is it just a proof-of-concept, or is it supposed to become a fully compliant implementation of the applicable RFCs? Is it supposed to follow the changes in RFC2518bis as well?
at the very beginning the aim was to provide a 'simple' dav-view to a JSR170 compliant repository (that what we still call the 'simple server') as well as a webdav remoting for a JSR170 repository (the 'jcr-server'). the webdav library which does not have any dependencies to the jcr-api was just a side-effect of the efforts made for the server implementations... in the meantime we put some work into the library, to improve compliance with the various webdav RFCs. regarding compliance of the 2 implementations: a) jcr-server: since the aim of this impl is to provide remoting of the jsr170 api; compliance to dav-RFC is fine but not the primary goal. b) simple-server: compliance it definitely required. however, the supported feature-set is forced by the underlying repository. its not the dav-implementation that builts or govers the data storage. i guess, this has been the source of some misunderstanding in the past. currently the simple-server only implements compliance levels 1,2. jeremi planned to add additional functionality to the simple server. for further information regarding aims and current status of the jcr-server see the following posts: http://www.mail-archive.com/jackrabbit-dev%40incubator.apache.org/msg03658.html http://www.mail-archive.com/jackrabbit-dev%40incubator.apache.org/msg03693.html http://www.mail-archive.com/jackrabbit-dev@incubator.apache.org/msg03762.html kind regards angela