Knowledge Base

The Article Lifecycle and URLs

Draft, published, and archived — what each state means, how to move between them, and how article URLs are created and changed.

The three states

Every article is in exactly one state, shown as a chip in the editor's Status & lifecycle panel.

StateYour team's LibraryCustomer Help centerManage list
draftNoNoYes
publishedYesIf its audience allowsYes
archivedNoNoYes, under the Archived filter

A new article starts as a draft. Drafts are private working copies — they do not appear in the Library even to the person who wrote them, because the Library is a reading surface for finished work.

Who can see other people's drafts on the Manage list depends on permission: authors always see their own, and holders of Publish knowledge-base articles or Manage all knowledge-base articles see everyone's.

Moving between states

The buttons available depend on the current state. All of them require the Publish knowledge-base articles permission.

FromButtons
draftPublish, Archive
publishedUnpublish, Archive
archivedUnarchive only

Publish

Makes the article live. On first publish it also mints the URL slug and asks you to confirm it.

Each publish stamps a fresh Published date, so re-publishing an article updates when it was last made live.

Unpublish

Returns the article to draft. It disappears from the Library and the Help center immediately.

The slug is kept. This matters: the URL stays reserved to this article, so republishing later reuses the same address rather than minting a numbered variant. Links you have already shared start working again the moment you republish.

Archive

Retires the article. It leaves both reading surfaces and becomes read-only — the title, body, category, visibility and slug controls are all disabled. Only Unarchive is offered.

Archive is how you retire content, because there is no delete. That is deliberate: a URL you have published and shared should stop being listed, not start returning errors for everyone who bookmarked it.

Unarchive

Always returns the article to draft — never straight back to published.

This is a safety property worth relying on. Un-archiving something from two years ago cannot accidentally re-expose it to your customers; you get a draft, you review it, and you publish it deliberately if it still holds up.

Autosave and the save indicator

Title and body save automatically, shortly after you stop typing. Category and visibility changes save immediately.

The indicator beside the title reads:

It saysMeaning
SavedWritten to the server.
Saving...In flight.
Title requiredThe title is blank, so nothing is being saved.
Save failedThe last save did not go through.

URLs and slugs

Once an article is published, a URL panel appears in the editor rail showing its slug.

How the slug is made

At first publish, DevStride builds a slug from the title: lowercased, non-alphanumeric runs collapsed to hyphens, leading and trailing hyphens stripped, and capped at 120 characters.

"How to Reset a Forgotten Password!" → how-to-reset-a-forgotten-password

If the resulting slug is already taken in your organization, a numbered variant is used — -2, then -3, and so on. The first-publish confirmation tells you this before it happens:

This article will be published with the URL slug "how-to-reset-a-forgotten-password". If that slug is already taken, a numbered variant (e.g. "how-to-reset-a-forgotten-password-2") is used instead.

Slugs are unique per organization, not per category.

The slug is frozen after that

Renaming the article never changes its URL. This is the single most important thing about slugs. You can retitle an article freely — fix a typo, rephrase it, make it clearer — and every link anyone has shared keeps working.

Changing a URL deliberately

Click Change URL in the URL panel. This is available to Publish knowledge-base articles holders on any non-archived article.

  • Type the new slug. A preview shows what it will actually be saved as if your input needs cleaning up: Will be saved as your-new-slug.
  • Save slug commits it; Cancel discards.
  • Save is disabled for a no-op — typing Reset Password when the slug is already reset-password does not count as a change, because they clean up to the same thing.
  • If the slug is taken, the message appears inline and the form stays open with your text intact: KB slug "reset-password" is already in use in this organization.

A slug must be 1–120 characters of lowercase letters, digits, or hyphens, with no leading or trailing hyphen.

Live on your customer portal

Under the slug you may see:

Live on your customer portal

This appears only when the article is genuinely reachable by customers: published, visibility set to Portal, and no category above it marked Internal. It is the fastest way to confirm an article really is customer-facing — more reliable than reading the settings back one at a time, because it evaluates all of them together.

If it is missing on an article you meant to publish externally, work through Who can see an article.

What happens to a URL a reader is not allowed to see

The portal returns the same "not found" response for every case a customer cannot read: the article does not exist, is a draft, is archived, is internal, is inside an Internal category, or is not shared with their company.

They are deliberately indistinguishable. A message like "you do not have access to this article" would confirm the article exists and leak its subject through the URL.