Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.5
    • Component/s: jackrabbit-webdav
    • Labels:
      None

      Description

      I'm tempted to work on implementing the WebDAV BIND protocol, as currently defined in http://greenbytes.de/tech/webdav/draft-ietf-webdav-bind-20.html.

      This issue can be used to collect design proposals and track progress.

      1) DAV:resource-id live property

      This can be implemented in terms of the JCR UUID. However, we need to turn this one into a URI for WebDAV. If the JCR UUID happens to really use UUID syntax, we could use urn:uuid. Otherwise, it would probably useful to mint an HTTP URI, served by the WebDAV servlet. (note that the latter has the disadvantage that moving a node to a different server will affect its resource-id, in case that other server allows importing UUIDs).

      2) REBIND and UNBIND methods

      Same as MOVE and DELETE, with the excpetion of marshalling.

      3) DAV:parent-set property

      Either trivial (when node isn't shared), or needs to use the JCR 2.0 shared set functionality.

      4) BIND method

      Either trivial (when shareable nodes aren't supported), or needs to use the JCR 2.0 shared set functionality.

      5) Cycle detection in depth:infinity requests

      TBD

      1. jcr1733-bindsupport.patch
        92 kB
        Manfred Baedke
      2. patch-resourceid.txt
        5 kB
        Manfred Baedke

        Activity

        Hide
        Manfred Baedke added a comment -

        patch containing support for DAV:resource-id

        Show
        Manfred Baedke added a comment - patch containing support for DAV:resource-id
        Hide
        Julian Reschke added a comment -

        Looks good to me so far.

        Maybe we can re-use org.apache.jackrabbit.uuid.UUID for the UUID parsing?

        Show
        Julian Reschke added a comment - Looks good to me so far. Maybe we can re-use org.apache.jackrabbit.uuid.UUID for the UUID parsing?
        Hide
        Manfred Baedke added a comment -

        patch containing support for DAV:resource-id

        Show
        Manfred Baedke added a comment - patch containing support for DAV:resource-id
        Hide
        Julian Reschke added a comment -

        Looks good to me.

        I'll commit this soonish unless somebody can spot a problem with this little extension...

        Show
        Julian Reschke added a comment - Looks good to me. I'll commit this soonish unless somebody can spot a problem with this little extension...
        Hide
        Manfred Baedke added a comment -

        Contains support for the property DAV:resource-id and the methods REBIND and UNBIND (includes patch-resourceid.txt).

        Show
        Manfred Baedke added a comment - Contains support for the property DAV:resource-id and the methods REBIND and UNBIND (includes patch-resourceid.txt).
        Hide
        Julian Reschke added a comment -

        Applied first patch (DAV:resource-id) with revision 697767.

        Show
        Julian Reschke added a comment - Applied first patch (DAV:resource-id) with revision 697767.
        Hide
        Manfred Baedke added a comment -

        patch containing support for WebDAV binding extensions.

        Show
        Manfred Baedke added a comment - patch containing support for WebDAV binding extensions.
        Hide
        Manfred Baedke added a comment -

        The file patch-bindsupport.txt covers all five issues mentioned by Julian, together with the necessary changes to the OPTIONS method and the handling of the DAV header.
        It should be noted that DELETE may remove the wrong binding, which is a separate issue concerning jackrabbit-core.
        Cycle detection is not implemented at WebDAV level, since the current jackrabbit core does not allow cycles anyway.

        Show
        Manfred Baedke added a comment - The file patch-bindsupport.txt covers all five issues mentioned by Julian, together with the necessary changes to the OPTIONS method and the handling of the DAV header. It should be noted that DELETE may remove the wrong binding, which is a separate issue concerning jackrabbit-core. Cycle detection is not implemented at WebDAV level, since the current jackrabbit core does not allow cycles anyway.
        Hide
        Julian Reschke added a comment -

        The latest patch looks good to me so far (except one typo in pom.xml , I'd propose to apply it soonish (in the meantime more tests can be added).

        Show
        Julian Reschke added a comment - The latest patch looks good to me so far (except one typo in pom.xml , I'd propose to apply it soonish (in the meantime more tests can be added).
        Hide
        Manfred Baedke added a comment -

        Added client components and testcases.
        The test org.apache.jackrabbit.webdav.server.BindTest.testUnbind() currently fails due to the jackrabbit-core issue JCR-1773.

        Show
        Manfred Baedke added a comment - Added client components and testcases. The test org.apache.jackrabbit.webdav.server.BindTest.testUnbind() currently fails due to the jackrabbit-core issue JCR-1773 .
        Hide
        Manfred Baedke added a comment -

        removed changes from AbstractResource (belongs to JCR WebDAV, not Simple WebDAV)

        Show
        Manfred Baedke added a comment - removed changes from AbstractResource (belongs to JCR WebDAV, not Simple WebDAV)
        Hide
        Julian Reschke added a comment -

        Applied Manfred's patch (plus some minor changes to documentation) with revision 700097.

        Show
        Julian Reschke added a comment - Applied Manfred's patch (plus some minor changes to documentation) with revision 700097.

          People

          • Assignee:
            Julian Reschke
            Reporter:
            Julian Reschke
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development