On this page
The publish button is a small part of a much larger promise. When a reader opens a link, the page should be there. When an editor changes a draft, the public article should stay as it was. When a title improves, an old bookmark should still work.
These are not optional refinements. They are the conditions that make a journal dependable.
Separate the working copy from the public record
An editor needs room to think. That means being able to rewrite an introduction, replace an image, and reconsider a conclusion without broadcasting every intermediate change. The published article and its next draft are two versions of the same document, not one mutable blob with a status label.
| Action | Working copy | Public article |
|---|---|---|
| Save a draft | Updated | Unchanged |
| Publish | Preserved | Replaced atomically |
| Restore a revision | Restored | Unchanged |
| Unpublish | Preserved | Removed from discovery |
This separation also simplifies search. The index should only describe the public record. A word added to an unpublished paragraph should not suddenly reveal a new result.
Keep links meaningful
A title may change without its address changing. When an address must change, the old one should redirect to the new canonical location. Redirects need to be part of the publication transaction, rather than a task that someone remembers later.
with publication_transaction():
validate(article)
preserve_previous_address(article)
update_public_snapshot(article)
update_search_index(article)
The code is illustrative, but the order expresses an important relationship: the public page, its address, and the index are one coherent publication.
Test the ordinary path
Publish a story. Open it in a different browser. Find it through search. Change its draft. Verify that the reader still sees the previous version. Publish again. Follow the old URL. Finally, unpublish and check the index, feed, and direct route.
Dependability comes from testing the connections between features, not only the features themselves.
An editorial system earns trust by making those ordinary transitions uneventful.

