information:kb

Contributing to the Knowledge Base

Any vpsFree.cz member can contribute to the Knowledge Base. Below the login form, select “Log in with other services”, click vpsAdmin, and enter your vpsAdmin credentials.

Translations and page linking

Our Knowledge Base is available in two languages, English and Czech. We use our own plugin to link equivalent pages between the language versions. It marks translated pages with the <page>page name</page> tag. Pages with the same name are then linked to each other. Page names follow the English KB, which is the canonical version.

For example, the English page information:association is paired with the Czech page informace:sdruzeni. Add the following tag anywhere in the Czech page:

<page>information:association</page>

... page text ...

For consistency, always put this tag on the first line. The English KB is the canonical version, so its pages do not use the tag.

Media

All images and other data files are shared between both KBs. In other words, a file uploaded through one KB is also available to all other KB translations. When different language versions need different media, especially screenshots, put them in a directory named after the language code, such as en or cs.

Documenting vpsAdmin

Every instruction to perform an action in vpsAdmin, as well as every description of navigation, a menu entry, or a form, must be wrapped in a paired <vpsadmin-nav> tag. This also applies when an instruction only says to change a setting without explicitly naming a menu or form. Its id attribute contains the stable semantic identifier of that control. The visible text remains in English and must match the current WebUI labels.

For example:

<vpsadmin-nav id="member.public-keys.add">Edit profile → Public keys → Add public key</vpsadmin-nav>

Do not invent identifiers only in KB text. They must be part of the navigation contract. If the required identifier does not exist, or the WebUI is changing, follow the WebUI change documentation workflow.

vpsAdmin screenshots

Do not capture or upload vpsAdmin screenshots manually. They are generated reproducibly using Playwright scenarios, a development cluster, and prepared fixtures in vpsfree-kb-contracts. The repository maintains both Czech and English variants of every screenshot. Add or update a screenshot there, regenerate it, review it on the staging KB, and only then publish it.

Repository-managed articles

Some articles and their automated tests are maintained in the vpsfree-kb-contracts repository. They have a Source on GitHub entry in the page toolbar. The KB editor also displays a notice with links to the source text, automated test, and Contributing to the Knowledge Base guide. Manual edits to such an article in the KB are possible, but the automated test does not verify them. To make a verified change, update the linked repository as well.

If a managed article has already been edited directly in the KB, notify its maintainers. The next release will refuse to overwrite the edit until it is adopted or merged into the source text and verified again.

Maintainers

Each page can name one or more maintainers. A maintainer is responsible for keeping the page accurate and up to date.

Maintainers are informational: they show whom to contact with a question or an idea for improvement. Pages can still be edited directly. Manual changes to repository-managed pages are not verified by their automated tests. If you write a guide and have time to maintain it, please add yourself as a maintainer.

Our IRC bot regularly checks KB changes and announces them on IRC. If a maintainer has an IRC nick in their KB profile, the bot pings them when one of their pages changes.

Set page maintainers with the <maintainers> tag:

<maintainers>
aither
nick2 (first section)
nick3 (second section)
</maintainers>

The first word on each line is the maintainer's nick. It links to that maintainer's profile page in the users:<nick> namespace. Each maintainer has to create their own profile. Profiles use the <maintainer> tag:

<maintainer name="My name">
irc my_irc_nick
mail somebody@example.com
</maintainer>

Both irc and mail are optional. The IRC bot reads the maintainer's IRC nick from this profile and pings them when one of their pages changes.

information/kb.txt · Last modified: by aither