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

🔒 Support file locking on clients #21914

Closed
8 tasks
Tracked by #7
tobiasKaminsky opened this issue Jul 20, 2020 · 9 comments
Closed
8 tasks
Tracked by #7

🔒 Support file locking on clients #21914

tobiasKaminsky opened this issue Jul 20, 2020 · 9 comments
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap client: 💻 desktop client: 🤖🍏 mobile overview
Milestone

Comments

@tobiasKaminsky
Copy link
Member

tobiasKaminsky commented Jul 20, 2020

  • Find one, best two maintainer for https://github.com/nextcloud/files_lock
  • Clarify "feature complete" state of the files_lock app (e.g. )
    • Special case (2 types of lock?)
      • Open file in web (e.g.) collabora online
      • Automatically lock file for all clients
      • Clients then only offer editing online
    • Admin/owner-unlock for user-locked files?
    • Clarify/Implement potential webUI if not covered by the files_lock app
    • Get and incorporate design feedback by @nimishavijay / @jancborchardt
    • Show in activity of this file who locked the file
  • Deliver API infos to client team for Android, Desktop, iOS (with @tobiasKaminsky / @skjnldsv) @skjnldsv to align with @tobiasKaminsky

Current state

This can also be shown on mobile/desktop(?), of course only when having internet connection.

@daita is this already available via webdav?


Clients issue: nextcloud/files-clients#2

@er-vin
Copy link
Member

er-vin commented Jul 20, 2020

Will need some more information to make that actionable on the desktop side. What are we trying to do? Just show an indicator that the file is locked? Or are we talking about something more?

@tobiasKaminsky
Copy link
Member Author

On mobile I would show some sort of info that this file should only be used collaborative or wait until lock is reset.
On Desktop I fear that there is not much possible, beside a lock.

But let us clarify this in detail once we want to tackle this.
There are quite a lot other and older client feature parity issue.

@OhSoGood
Copy link

+1000 for this feature. Without it, nextcloud is useless for a group except using it purely via the web.
Any idea of a time frame? We currently have to call each other via social network to know who is opening a give file, and people are so much frustrated that they wish to throw away NC and switch to google.

@lonargrren
Copy link

+1
this curent version of file locking is so frustrating. I can lock a file but it doesn't avoid modification by other people if they use a desktop client or the do not refresh the web page.
This is a Mandatory feature for an application such as Nextcloud !
Thanks to Nextcloud developers is you should upgrade this feature.

@ArtificialOwl
Copy link
Member

It is available on webdav, are you sure your client can still erase a file that is locked using the files_lock app ?

@fuco809
Copy link

fuco809 commented Oct 11, 2021

can the client side filelocking support be integrated with the new more instantly "notify_push" app, which syncs files faster ? https://github.com/nextcloud/notify_push

@AndyScherzinger AndyScherzinger added the 0. Needs triage Pending check for reproducibility or if it fits our roadmap label Oct 18, 2021
@AndyScherzinger AndyScherzinger changed the title Support file locking on client 🔒 Support file locking on clients Oct 18, 2021
@juliusknorr
Copy link
Member

Some additional Office related ideas that came up in discussion with Collabora:

  • LibreOffice/Collabora on the desktop create a '.~lock.ORIGINALFILENAME#' file if someone opens the file locally
    • We potentially could detect that on the client side and lock the file then automatically or ask if the user wants to lock
  • If there would be a way to expose the lock status to the filesystem or somehow on the sync client, Collabora would be interested in integrating that in order to warn the user if a file is opened even though being locked
    • They had the idea to just put some kind of hidden file next to it or in the Nextcloud root which contains additional details about the lock
    • Ideally we could also offer a direct way to just open the file in the browser then, as a first step with a internal file link, as a second one maybe with opening a direct editing session directly (which would already be available through the file manager integration context menu)

@RickStinson
Copy link

Hi,
a distributed file locking feature is nessecary for business. i work for a CSP and we are currently working with gladinet which supports that in this way:

1.) User 1 is open file-A
2.) File is locked for the whole system (you can see in admin panel all opened/locked files)
3.) User 2 is open file-B
-> User 2 will get a Notification "files is locked by user 1" and the file is opened readonly.
4.) User 1 is closing file-A
5.) Distributed locks is removed.

When a user just close his notebook, the lock automatically disapears after x hours.
When a user open his notebook again, the user will be informed that the lock is lock, and if he lock the file again.
= this is are a really nice and necessary feature for business use cases.

Technically:

  • The Windows Desktop Client has to monitor the open files in windows and send the lock request to the NC Server
  • on NC Server side there should be a distributed lock table in the DB
  • The Windows Client has to check before open a file if there are any locks ( the open the file RW or R)
  • The Same for Webclients, DAV or App (maybe there is enough to not allow locked/opend files)

BTW, in gladinet we have a "whitelist" for files with support for distributed locking, because this locking is - more or less - only necessary for MS/Libre Office Files:

Apply lock only to following process (lower case): winword.exe;excel.exe;powerpnt.exe;

Which means, distributed locks are only captable to the processes above.

@solracsf
Copy link
Member

solracsf commented May 5, 2022

Can be closed, as nextcloud/desktop#4382 is merged and released?
Also nextcloud/files_lock#54

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap client: 💻 desktop client: 🤖🍏 mobile overview
Projects
None yet
Development

No branches or pull requests