nextcloud / nextcloud/files_lock

UX review

Open
#141 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
39
Forks
10
Avg merge
1d 11h
Merged PRs (30d)
48

Description

File locking design review

25.04.2023:

Overall

  • Issue: Restoring a previous version while it is locked and being edited in textversion not possible when file is locked
  • If a file is locked by a person explicitly, it cannot be edited by the person itself in Text
    • Intention of the person was to make it non-collaborative
  • 2 different interactions:
    • one is personal locking (I don't want to make this collaborative)
    • another one is: text has locked this file (someone is working on this file)
Overview of the different scenarios -> ideal behavior
Lock State Action Behavior for lock owner ? Behavior for others
Locked by text (someone is working on this file) Open the fileOpen file ✅ Edit collaboratively ✅ Edit collaboratively
Alter file on the backend (e.g. restore a version, delete the file) Currently: blocked❌ n/a Currently: blocked- confirmation dialogue for person doing the action
- confirmation dialogue for person who has the tab open
- only acquire lock once someone makes a change?
- generally reduce the time that files are locked? Release lock after inactivity for x amount of time
- distinction between file which is open and file which is actively edited. inactive files are ok for deletion
- communicate with clients?
- Is file hasn't been autosaved for x mins, release lock
Upload from mobile/desktop clients Currently: blocked Currently: blocked
Locked by user Open file ❗ Edit alone ✅ Read only ✅ message that it is locked ❗ option to ask for access / break lock
Alter file on the backend (e.g. restore a version, delete the file) ✅ all allowedllowed ✅ ✅ Currently: blockedno actions allowed ✅
Upload from mobile/desktop clients all allowedallowed ✅

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the file-locking scenarios and the current behaviors listed in the issue, including Text editing, backend actions, and mobile or desktop uploads. Done would require an agreed UX and behavior for personal locks versus Text locks, including how owners, collaborators, and inactive files are handled.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.