Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New feature: implement locking via Lock API #51

Merged
merged 29 commits into from
Mar 2, 2022
Merged

New feature: implement locking via Lock API #51

merged 29 commits into from
Mar 2, 2022

Commits on Mar 2, 2022

  1. Introduced the Lock API in all storage interfaces

    The CS3API version is not implemented yet, only the xrootd one is complete.
    glpatcern committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    ac21c0f View commit details
    Browse the repository at this point in the history
  2. Refactoring: introduced a common storage interface module

    Also included some fixes and reworked the test suite
    to take into account the new common module
    glpatcern committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    e890142 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a12136a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4e5617b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1896475 View commit details
    Browse the repository at this point in the history
  6. Updated contributors

    glpatcern committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    ee3f6e9 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f8e500a View commit details
    Browse the repository at this point in the history
  8. Simplified code

    glpatcern committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    e4dc874 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2ea5dc0 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    caf2805 View commit details
    Browse the repository at this point in the history
  11. Refactoring

    glpatcern committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    821cd28 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    6cf96c1 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    ce2eca3 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    0e33090 View commit details
    Browse the repository at this point in the history
  15. Changed lock_id payload encoding

    Use a WebDAV-friendly prefix for the lock_id
    and use simple b64 encoding/decoding as opposed to a JWT
    glpatcern committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    e103d79 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    da5ac35 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    71f5219 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    57d79b4 View commit details
    Browse the repository at this point in the history
  19. Added support for a recovery path

    In case of failures or permission issues saving a file,
    an attempt is made to save a copy to a configured local storage
    in order to ease later recovery by service operations.
    Same process is performed by the bridge extension: fixes #39.
    glpatcern committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    258fd86 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    3d005df View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    940c501 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    f17fda3 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    0a69d97 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    9afafc4 View commit details
    Browse the repository at this point in the history
  25. Fixed responses following WOPI validator tests

    This includes several unrelated fixes on top of the lock-related APIs.
    In particular:
    - Save As operations (PutRelative) now respect UTF7 encoding,
      and always return a JSON response
    - Where required, the X-WOPI-ItemVersion header is present
    
    Remaining known issues:
    - The ItemVersion is based on mtime with a precision of 1 second
    - PutRelativeFile.RelativeNameConflictOverwriteFalse fails and
      crashes the WOPI validator suite
    glpatcern committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    065d161 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    6652b80 View commit details
    Browse the repository at this point in the history
  27. Updated index page

    glpatcern committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    b3888fc View commit details
    Browse the repository at this point in the history
  28. Homogenized doc headers

    glpatcern committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    61c5f19 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    5a208f1 View commit details
    Browse the repository at this point in the history