Stop Sign for Craft CMS

Free · Craft CMS 5

Two people in one entry. Somebody gets asked before they save.

Craft already knows when a colleague has the same entry open — it shows a 26px avatar in the corner and nothing else. Nothing stands between the save button and the save, slideouts get no conflict signal at all, your own second tab is invisible, and the record is deleted after sixty seconds. Stop Sign fills exactly those gaps, and leaves Craft's avatars where they are.

Stop Sign

Impossible to miss, and in the way at the right moment

The banner names who else is in the entry and whether they have typed. Click Save while they are there and Stop Sign asks first — with a fresh check, not the banner's ten-second-old state, and in the same words, so nobody learns to ignore one of them.

A Craft CMS entry editor with a red Stop Sign banner above the Title field reading 'Dana Reyes is editing this right now. If you both save, one of you loses the work.', with Dana's initials on the right
The same entry editor dimmed behind a small 'Hold on' dialog repeating 'Dana Reyes is editing this right now. If you both save, one of you loses the work.', with Go back and Save anyway buttons
The entries index with an entry open in a slideout editor, showing the same red Stop Sign banner naming Dana Reyes at the top of the slideout
The Stop Sign utility listing who is open in what right now, tiles counting warned, saved anyway, went back, reloaded and took over, and a table of recent collisions with editor, other person, kind and outcome

Screenshots from a live install, not mockups.

Features

Every surface reads from one verdict, built on the server — the banner, the guard, the lock and the history can never disagree with each other.

A banner that names names

Red when somebody else has typed, amber when they only have it open, blue when it is your own other tab. Updated every ten seconds from a heartbeat that is one upsert and one indexed read.

A question before the save

Craft has no guard at all between the save button and the save. Stop Sign checks again at the moment of saving — on full-page editors, in slideouts and on ⌘S — and records whether the author went back or saved anyway.

Changed underneath you

If the entry was saved while you had it open, you are told who saved it and when — including in slideouts, where Craft's own reload prompt never appears. Your own save never trips it.

Your own second tab

Craft's activity check always excludes the current user, so two of your own windows can overwrite each other silently. Stop Sign keys presence per tab and warns you like anybody else.

Soft locks, off by default

Per section or everywhere. The second editor opens read-only through Craft's own permission check. A lock always expires, can always be taken over by someone who could edit the entry, and is settled by a unique index rather than a race.

A history that outlives the entry

Every collision with what each person chose, so you can tell whether the warning is still being read or has become wallpaper. Kept after the entry is deleted, pruned on a schedule you set.

Fails open, everywhere

A collision warning is a courtesy; an outage is not. Every lock check, guard and badge is wrapped so that a failure lets the author through, and nothing ever runs for a visitor.

text
Stop Sign endpoint unreachable     →  the save goes through
Lock check throws                  →  the save goes through
resave/entries, queue jobs         →  never locked
Visitor's front-end form           →  never locked
Open editor left all weekend       →  session still expires (dontExtendSession)

Front-end assets                   →  none
Outbound requests                  →  none
Runtime dependencies               →  none

Frequently Asked Questions

The questions that come up before putting something between an editor and the save button.

Install it before the next lost afternoon

Free, no editions, no licence key, no configuration. Install it and the next time two people open the same entry, both of them find out.