Skip to content

Help file format ​

Format of the hand-maintained help files (help/docs.<profile>.json). Each file holds the online help for one profile, keyed by the schema's x-sidedoc field id. The build publishes them as docs.<profile>.json next to the profile schema. The editor shows four levels: tooltip (hover), short (under the field), extended (help panel) and details (help panel, opened on request).

Source: help/help.schema.json in the schemas repository. scripts/lint_help.py validates every help file against it. How to write good help: see Writing help texts.

File ​

json
{
  "$schema": "./help.schema.json",
  "title": "Datasheet help",
  "x-sidedoc-help": {
    "general": {
      "title": {
        "en": "..."
      },
      "short": {
        "en": "..."
      },
      "extended": {
        "en": "..."
      }
    },
    "fieldsById": {
      "ds:f00100": {
        "label": "Title",
        "path": "title",
        "tooltip": {
          "en": "..."
        },
        "short": {
          "en": "..."
        },
        "extended": {
          "en": "..."
        },
        "details": {
          "examples": [
            {
              "value": "..."
            }
          ],
          "notes": {
            "en": "..."
          },
          "seeAlso": [
            {
              "url": "https://...",
              "label": {
                "en": "..."
              }
            }
          ]
        }
      }
    }
  }
}

Top level ​

KeyValueMeaning
$schemastring
$idstringPublished URL of this help file.
titlestring
descriptionstring
x-sidedoc-help (required)object

x-sidedoc-help ​

KeyValueMeaning
generalobjectHelp shown when no field is selected.
fieldsById (required)objectHelp per field, keyed by x-sidedoc id (for example ds:f00100).

general holds title, short and extended, each a LangMap.

LangMap ​

Text per language. Keys are the editor languages; an empty string means not written yet. The editor falls back to English.

Keys: en, nl, fr, de. Values: text.

FieldHelp ​

KeyValueMeaning
labelstringField label, copied from the schema by the build. Do not edit: change the schema instead.
pathstringDotted property path in the document, copied from the schema by the build. Do not edit.
tooltipLangMapLevel 1. One line shown on hover or focus of the (?) icon. No full stop needed.
shortLangMapLevel 2. What to fill in, shown under the field. One or two sentences.
extendedLangMapLevel 3. Why the field matters and how to fill it in well. Shown in the help panel. Must add something to the short text, not repeat it.
detailsDetails

Details ​

Level 4. Shown in the help panel under 'More', closed by default. Examples, notes and links. Facts that follow from the schema (cardinality, vocabulary, format, mappings) are added by the editor and the docs generator; do not write them here.

KeyValueMeaning
examplesarray of Example
notesLangMapExtra guidance: edge cases, common mistakes, conventions. Plain text; blank lines separate paragraphs.
seeAlsoarray of Link
mappingarray of objectsGenerated by the build from rdf-targets/. Do not edit.

Example ​

KeyValueMeaning
value (required)string or number or boolean or object or arrayThe example value as a user would type it. A string, or a JSON value for structured fields.
langstringShow this example only in this editor language. Omit for language-neutral examples.
qualityone of good, badMark counter-examples as bad; the editor labels them 'Avoid'.
noteLangMapWhy this is a good (or bad) example.
KeyValueMeaning
url (required)string
labelLangMap
noteLangMapOne line on what the link is, for example which version.