Open the same page in two editor tabs. Change the heading in one. Change the introduction in the other. Save both.
Which change should survive?
Both seems like a reasonable answer. You edited different things.
But if each tab saves its entire copy of the page, the second save can put the old heading back. The tab remembers an earlier version and has no idea you’ve done more work elsewhere.
Our site editor handles this by sending only the fields you changed and checking whether those particular fields have changed since you opened the draft.
An old copy can still contain a useful edit
Say both tabs start with the same draft. The first saves a new heading. The second now holds an older version of the page, but its change to the introduction is still useful.
The editor keeps a revision number for the draft and records when each field last changed. That lets it check the introduction separately from the heading. If nobody else changed the introduction, it can add that edit to the current draft and preserve the new heading.
If both tabs changed the heading to different things, the editor stops the second save and returns the current and proposed wording for review. It rejects the whole save, so it doesn’t quietly keep some edits and discard others.
If both tabs happen to propose the same wording, there’s no disagreement to resolve.
What if both saves arrive together?
Checking the revision is only useful if another save can’t slip in between the check and the write.
Our editor uses a lock for each page: one save finishes its check and write before the next begins. The second request then sees what the first actually saved.
We tested simultaneous saves in both situations. Changes to different fields survived together. Competing changes to the same field produced one successful save and one conflict.
There’s a limit to what we merge
The article body counts as one field. Two tabs editing different paragraphs of that body will still conflict. This is a small site editor, and we haven’t built the paragraph-level collaboration you’d expect in a shared document tool.
For independent fields, though, there’s enough information to do better than “last save wins.” An old tab can contribute its edit without bringing the whole old page along with it.