How this wiki is edited and published
Articles live in Django with an editorial status, a source list, a reviewer and a revision log. Nothing reaches /wiki/ without passing those gates.
🎯 For Editors and reviewers
- Move an article from draft to published
- Keep revision history and source dates
- Use honest translation fallback
This page is deliberately about the machinery behind the page you are reading. If an article here is wrong, this is how it gets corrected — and why the correction leaves a trace.
🔹 One source of truth
An article exists exactly once: as a KBArticle record in the Tvijo Django backend. The public page at /wiki/<slug>/ is rendered from that record. There is no second copy in a frontend repository to drift out of sync.
That gives us one place to answer:
- who wrote it,
- who reviewed it and when,
- which sources it cites,
- what it looked like before the last edit,
- which languages it actually has.
🔹 The four editorial states
| State | Meaning | Public? |
|---|---|---|
| Draft | Being written; sources may be missing | No |
| In review | Content complete, waiting for a human check | No |
| Published | Checked, dated, listed in the sitemap | Yes |
| Archived | Removed from the wiki, kept for history | No |
"Public" is not a single checkbox. The public renderer requires published status, the published flag and a publication date — three conditions that a draft cannot accidentally satisfy.
Editors work in the Django admin:
- edit the Markdown and see the rendered HTML update;
- attach sources with a URL, a publisher and the date each was checked;
- link the article to product capabilities (for example "install the extension");
- preview the public page (staff-only) before publishing;
- publish, archive or send back to review as a bulk action.
📚 Revision history
Every save that changes content writes the previous state to a revision row: title, excerpt, body, sources, translations and status, plus an optional change note and the user who made the edit.
That detail matters. A history that stores only the new state cannot answer "what did the article say before this edit?". Ours stores the old one, so rollback is a read, not an archaeology project.
🔗 Translations and honest fallback
The base language is English. Ukrainian and Russian live in a translation record next to the article. When a translation is missing:
- the page shows the English original;
- a notice says the page is not translated yet;
- the canonical link points to the English page;
- the page is marked
noindexso a half-translated URL does not compete with the original in search; hreflangalternates are emitted only for languages that really exist.
The alternative — showing machine text and calling it a translation — is worse for the reader and for search engines.
🔗 Canonical addresses
- English article:
/wiki/<slug>/ - Ukrainian:
/wiki/uk/<slug>/ - Russian:
/wiki/ru/<slug>/ - Topic:
/wiki/c/<topic>/ - Machine surfaces:
/wiki/sitemap.xml,/wiki/articles.json
Older static addresses under /wiki/ are redirected where a mapping exists; unknown ones return a 404 page with navigation instead of a blank screen.
🔹 What an editor must do before publishing
- Every factual claim has a source in the list, with a URL and a check date.
- Product behaviour was observed on the running system, not copied from a marketing page.
- Anything not verified is marked as unverified, experimental or planned — never phrased as working.
- No internal hostnames, keys, customer data or private logs.
- The reviewer's name and the check date are recorded.
🚧 When this does NOT work
- You need a same-hour correction. Publishing is a human action; there is no autopublish from a document.
- You want to publish without sources. The admin does not stop you, but the editorial rule does, and the review step exists for exactly that.
- You need translated text today. Fallback is honest but not a translation; a real one needs an editor.
➡️ Next
- Sources and verification — what "checked" means here.
- Running a pilot — the same discipline applied to a team.
- Glossary — the terms used across this wiki.
Sources
Each source was opened by a human on the date shown. Product behaviour is described from this deployment, not from marketing material.
🔗 Article connections
Open the full knowledge graph ↗Next steps
Related reading
Verify a Tvijo claim in five minutes
A repeatable recipe: check the page, the index, the sitemap, the receipt and the code — and know when the honest answer is “not verified”.
Workspace and agentsConnections, backlinks and the knowledge graph
How the “Article connections” block is built, what each group means, and how an editor links two articles without a second content store.
EditorialSources, dates and what “verified” means
A checked date is the date a human opened the source. Documentation, code and a runtime test are three different levels of evidence — and we label them.
EditorialGlossary
The words this wiki uses in a specific sense: task, route, receipt, ledger, uncertain, work copy, capability.
💬 Comments