Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

The help system for extensions

Putting an extension's documentation into the admin help: README.md and INSTALL.md on top, Markdown in doc/, shown while the extension is active (ExtensionDocDirs for an inactive one), front matter and audience ids…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-8-reference/help-system-for-extensions.md

On this page

The help system for extensions

Part 8, reference 32. The administration's help center shows the documentation of the kernel and of every active extension. This page collects the settings and file conventions in one place. The explanation is in Documenting your extension, the tutorial in Help pages for your extension, by hand, and the full description in The help system and its specification.

Serving your doc folder

WhereWhat
extension/myext/README.md, INSTALL.mdon top of the extension; also CHANGELOG*, LICENSE*, USAGE*, COPYING* (ExtensionTopFiles[])
extension/myext/doc/every other page, as Markdown (.md), in English; doc/README.md or doc/index.md is the start page

While the extension is active ([IndexSettings] ActiveExtensionDocs=enabled, the default), the help serves the Git-tracked files of both places, with page ids ext/myext/<path below doc>. Untracked files are not shown. Plain-text pages (.txt, .rst, a README without a suffix) of older extensions still show, as plain text. To show the pages of an extension that is not active, name it in the installation's settings/exphelp.ini.append.php:

[IndexSettings]
ExtensionDocDirs[]=myext

The convention, with a tree and a converted example: Documenting an extension.

Front matter

---
title: My extension: settings
audience: developer, admin
category: development
order: 10
summary: One sentence, at most 220 characters.
keywords: myext, settings
type: help
---
# My extension: settings
KeyMeaning
titlethe page title (quote it if it contains a colon followed by a space)
audienceone or more audience ids, comma separated
categoryone category id
orderthe position among its siblings
summaryshown in lists and search; cut at 220 characters
keywordsextra search words
typehelp, or one of the documentation types (reference, bc, install, specification ...)
featured: trueput the page on the dashboard
hidden: trueserve it, but keep it out of lists and search

Audience ids (exphelp.ini [AudienceSettings] Audiences[]): editor, admin, developer, user, project-manager, sales-marketing, partner, advocate, designer, hosting, app-creator, website-creator, supporter, sponsor.

Folders

A folder's README.md is its index page: its title and order are the folder's in the navigation. Link every page from its folder's README, so nothing is orphaned.

Context help

The header's help button opens help for the current page:

[ContextHelp]
Map[myext]=ext/myext/README.md
Map[myext/settings]=ext/myext/settings.md#clearing-the-cache
Providers[]=myExtHelpContextProvider

Keys are module, module/view, or with a design prefix (admin4l:myext/settings). A provider implements expHelpContextProviderInterface (kernel/classes/help/exphelpcontextproviderinterface.php): helpContext( $module, $view, $design ) returns "path[#anchor]" or null.

Writing rules the help enforces

  • Markdown only: raw HTML is escaped.
  • Relative links must point at files that exist; anchors at headings that exist.
  • Images in the same folder tree.

Checking

./console exp:exphelp check

reports broken links, missing anchors and front matter problems, with errors and warnings. Run it before every release of your documentation.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x