locomotivecms / engine

A platform to create, publish and edit sites
http://www.locomotivecms.com
Other
2.32k stars 625 forks source link

Multi user (concurrent) CMS editing #1367

Open dotsi opened 4 years ago

dotsi commented 4 years ago

Right now there is no functionality to support multi user editing trough the CMS. The biggest issue are global sections because they are sent on every save of any page. This way when someone edits the global header section on the homepage and saves it someone else could be editing an entirely different page and when they save they overwrite changes made to the header in the mean time.

It is understandable that you can overwrite a single page or a content entry if you edit it at the same time as someone else. But it becomes a problem when saving any page can overwrite changes made elsewhere. It is hard to understand and accept for users of the CMS.

An easy fix for this could be just not submitting the global sections on every save if they have not been altered. Just submit them if they have been edited.

The next step in making Locomotive more robust for concurrent editing would be to implement checks for saving pages and content entries that fetch the updated_at attribute before save and compare it to the one fetched when the form was first loaded. If they don't match the user should be alerted that the content has changed while they were editing and they should decide if they want to overwrite or cancel saving.