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

Added the possibility to collaborate on forms #1417

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

hamza221
Copy link
Contributor

This is the first iteration, real-time collaboration is not yet set
Signed-off-by: hamza221 [email protected]

@hamza221
Copy link
Contributor Author

Version3000Date20221127191108 This migration should be run before testing these changes
Navigate to /server and run php occ migrations:migrate 3000Date20221127191108

@susnux susnux added enhancement New feature or request 2. developing Work in progress feature: 📑 form creation labels Feb 6, 2023
@susnux susnux marked this pull request as draft October 21, 2023 22:40
@susnux
Copy link
Collaborator

susnux commented Mar 23, 2024

I am not really sure here. First I agree that concurrent editing is not on the schedule and out of scope.

But I rather think we should change the editing a bit:

  1. check user has edit permissions
  2. acquire edit lock on server (needed to prevent collisions)
  3. submit changes
  4. release lock

This would required two columns I think (locked_by and locked_since).
The locked_by defines the current user holding the lock (null if not locked) and locked_since is used to release the lock after a defined IDLE time to not deadlock editing (e.g. 5 minutes without activity).

What do you think? Also cc @Chartman123

@Chartman123
Copy link
Collaborator

Yes, some kind of locking would be necessary. I'd just use locked_until instead of locked_since but in the end it's the same. Instead of using a timeout for locking we could also implement a method to manually unlock a form (perhaps only for the owner?)

@susnux
Copy link
Collaborator

susnux commented Mar 29, 2024

Instead of using a timeout for locking we could also implement a method to manually unlock a form (perhaps only for the owner?)

I think we need the timeout, but could do both. Otherwise we might end up in a lot of situations where the owner is needed to unlock.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2. developing Work in progress enhancement New feature or request feature: 📑 form creation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants