If multiple users are creating content simultaneously, they do not see the other user's content until the CMS is refreshed #12589
Replies: 3 comments
-
I've migrated this from an issue, as it warrants deeper discussion. This would be a new feature, but could be considered alongside the new backoffice build, to explore introducing more server-to-client RPCs. The other key area would be providing notification/feedback when another user is editing the same document, to prevent accidental overwriting (I think a package exists/existed to do something in this space). I don't think multiple editors a la Google docs would ever be in scope or even desirable, but providing deeper insight into other editors activities would be valuable. The initial issue could be resolved by refreshing the content tree on save/publish, but that would be a partial resolution as would still rely on user action rather than a server push. Pinging some of the backoffice team for visibility @iOvergaard @lssweatherhead @kjac |
Beta Was this translation helpful? Give feedback.
-
Also note there's been a longer discussion around this already: |
Beta Was this translation helpful? Give feedback.
-
Thanks for the ping @nathanwoulfe I agree in that it would be awesome to make a better UX for content editors in this area! So what is at play here? Two users are creating pages independently of each other A few problems:
Two users are editing the same page at the same time Another thing is presenting each content node with a hash or "etag" in the request, which you then return to the server on the Utilizing both would allow the users to know firsthand if the content was updated and allow the server to validate and ask if you want to overwrite or keep the old version. Maybe even opening the diff tool (just throwing out ideas here). Would also make sure that in the edge case where content is updated through a management API and the client at the same time, the same validation occurs for every input. sequenceDiagram
actor user
participant client
participant server
user->>client: Clicks on a content node
client->>server: Requests content JSON
server->>client: JSON w/ `etag` header
user->>client: Save & Publish
client->>server: Issues `PostSave` request with same `etag`header
loop Validation
server->>server: Regenerates `etag` value and validates `etag` header against that
end
server->>client: 201 OK or 400 Bad Request
client->>user: Notifies if the content was published or edited by someone else
I agree with the sentiment that we should not build another Google Docs with floating cursors (although it is awesome and something we use to great extent at HQ). But it feels like something like the two solutions above could be useful. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Which exact Umbraco version are you using? For example: 9.0.1 - don't just write v9
9.5.1
Bug summary
If new pages are being created by another user at the same time then these are not visible until I refresh my session.
This came to light by the Navigation on the website changing order and displaying pages that the other CMS user was not seeing in Umbraco.
Specifics
https://app-parmenion-cms-qa.azurewebsites.net/umbraco#/content/content/edit/1134 is an example url but it affects all pages.
Steps to reproduce
Expected result / actual result
EXPECTED RESULT - As each CMS user Saves and Publishes their own changes they should also see the new content populate that has been created by the other user
ACTUAL RESULT - The user will only see the CMS update with their newly created pages until they manually refresh their page. This has led to several instances this week where users have complained that they cannot see their colleagues work when they have been creating Article pages alongside each other as Content Creators and resulted in much confusion, even though the url's etc are the same.
Beta Was this translation helpful? Give feedback.
All reactions