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. patch-resourceid.txt
        5 kB
        Manfred Baedke
      2. jcr1733-bindsupport.patch
        92 kB
        Manfred Baedke

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open In Progress In Progress
        10d 1h 29m 1 Julian Reschke 22/Sep/08 10:41
        In Progress In Progress Resolved Resolved
        7d 2h 51m 1 Julian Reschke 29/Sep/08 13:33
        Resolved Resolved Closed Closed
        69d 22h 35m 1 Jukka Zitting 08/Dec/08 11:09
        Jukka Zitting made changes -
        Workflow jira [ 12441937 ] no-reopen-closed, patch-avail [ 12468526 ]
        Jukka Zitting made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        angela made changes -
        Issue Type Task [ 3 ] New Feature [ 2 ]
        Fix Version/s 1.5 [ 12312920 ]
        Julian Reschke made changes -
        Status In Progress [ 3 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        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.
        Manfred Baedke made changes -
        Attachment jcr1733-bindsupport.patch [ 12391125 ]
        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)
        Manfred Baedke made changes -
        Attachment patch-bindsupport.txt [ 12391028 ]
        Manfred Baedke made changes -
        Attachment patch-bindsupport.txt [ 12391028 ]
        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 .
        Manfred Baedke made changes -
        Attachment patch-bindsupport.txt [ 12390924 ]
        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 -

        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.
        Manfred Baedke made changes -
        Attachment patch-bindsupport.txt [ 12390924 ]
        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.
        Manfred Baedke made changes -
        Attachment patch-rebind-unbind-resourceid.txt [ 12390621 ]
        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.
        Julian Reschke made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Manfred Baedke made changes -
        Attachment patch-rebind-unbind-resourceid.txt [ 12390621 ]
        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 -

        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...
        Manfred Baedke made changes -
        Attachment patch-resourceid.txt [ 12390282 ]
        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
        Manfred Baedke made changes -
        Attachment ci-resourceid.txt [ 12390273 ]
        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?
        Manfred Baedke made changes -
        Field Original Value New Value
        Attachment ci-resourceid.txt [ 12390273 ]
        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
        Julian Reschke created issue -

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development