cortezaproject / corteza

Low-code platform
https://cortezaproject.org
Apache License 2.0
1.46k stars 340 forks source link

Add support for resource locking [PlanID: 2023.3/9/0.6] #487

Open darh opened 1 year ago

darh commented 1 year ago

Goal

We need to improve UX when there are multiple people working on the same part of the system at the same time. Currently we don't have much in place and having multiple people work on the system at the same time can be stressful.

Resource locking enables low-code app configurators to lock specific resources when they want to edit them such as a workflow and a series of related modules.

For now, locks should only occur on administration-like screens and potentially turned off all together in production. For now, locks will only be for non-read operations (namely edit, delete, and undelete).

Considerations

To implement

Back-end

On the back-end, we need

Front-end

On the front-end, we need

Additional nice to have

Active user indication

When viewing some page (TBD which exactly -- could be only admin pages or both public and admin) provide a list of users that are active (on the system and) on the resource. We can utilise web sockets to figure out who is viewing what and who is actively interacting with the page/resource.

Web sockets to update resources

Currently, when someone updates a module (or similar) the changes are not reflected through other open instances (other employees, your other tabs). This makes development a bit frustrating since you need to constantly refresh your page in order to see the most up-to-date state.

github-actions[bot] commented 1 year ago

Stale issue message

github-actions[bot] commented 1 year ago

Stale issue message

github-actions[bot] commented 11 months ago

Stale issue message