nextcloud / nextcloud/richdocuments
Notify Collabora around changed document metadata
Open
Nobody has claimed this yet.
1. to develop
enhancement
- Dominant language
- JavaScript
- Stars
- 453
- Forks
- 147
- Avg merge
- 14h 54m
- Merged PRs (30d)
- 83
Description
Problem
Users might still interact with a file in different ways where this could lead to problems while it is currently being edited with Collabora.
Lock ownership changes
- File owners can unlock a locked file manually / A user switches from Collabora to edit locally
- File should be saved
- Existing editing sessions should be switched to read only
- The users should be notified about that and why this happend
- If a file is saved outside
- read only should update
Access permissions change
- Access is revoked (either full or just write access)
- Collabora should stop editing, notify the user and offer to download the file if changes were made, there is no way we can save this back to Nextcloud then
- File was deleted
- Not sure what the best approach here would be, notify the user at least and offer download or saving to another location
Implementation ideas
Neither of this is part of the WOPI standard.
- Post messages are not suitable (except for the edit locally option) as there is no open Collabora user session in the other cases
- Regular polling of checkFileInfo, would need some extra handling to detect/store the reason for later fetching of Collabora
- Endpoint to notify Collabora about a change
- Might have larger overhead if we need to find matching file ids to know which Collabora documents we need to notify
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file or test entry point is named. Start by reviewing the WOPI checkFileInfo flow and the listed lock, permission, and deletion cases; define the notification and recovery behavior for each case before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100