- E-mail preferences: categories, the mail gate and testing This guide is for developers who send mail from an extension or from kernel code. At the end your extension has a category of its own that people switch on and off on their preference page, a handler that reads your…
- Notifications: architecture, extending and testing This guide is for developers. It explains how the notification system is built, how to add your own event type and handler (with a complete example that was run), how the mails are made and overridden, which settings…
- Remote services and apps: drive the admin from scripts, apps and portals This guide is for developers who want to drive Exponential from scripts, apps or another front end. In about 20 minutes you call Exponential as an HTTP API from the shell and from Python, create a personal API token for…
- REST API v1 and v2: one extension This guide explains how Exponential 6.0.15 serves its REST content API: version 1 and version 2 come from one extension, ezprestapi (1.2.6 or later). It shows which URL answers at which version, how a client…
- Templates and design: change what a page looks like This guide is for site builders who want to change how pages look. You will find out which design your site uses, see which template file produced a piece of a page, change it with an override that you can undo, check…
- E-mail preferences and consent: the specification The reference of the e-mail preference system of Exponential 6.0.15: the classes, the tables, the settings, the flows, the decisions of the mail gate and the format of the links. Read it when you need an exact answer…
- Editorial style guide: help topics in Exponential Status: proposal, 18 October 2026. Basis: the help system plan (content model, access, workflow). The machine-checkable rules are checked by ./console exp:help:content check since 6.0.15 (help maintained as content).
- exp:user JSON output and exit codes The reference of the machine output of the exp:user commands: the schema exp-user/1, the keys every report has, the keys of each command, and the exit codes. Read it when a script, a CI job or a monitoring check reads…
- Help standards: what the help takes from DITA, IEC/IEEE 82079-1, ISO/IEC/IEEE 26514, ISO 3864-2, EPUB Accessibility and WCAG Status: 19 October 2026, updated 25 October 2026. Pull request #288 ("Help system plan, style guide and standards") announced this page as the third of its specifications, next to the plan and the style guide, but the…
- Personal trash can: functional requirements Why restoring folders from the shared trash is hard, and the requirements for a trash can per user.
- Plan: user manuals and help maintained inside Exponential Status: proposal, 18 October 2026; phase 1 (classes, tree, sections, states, roles, validator, web and context help in the help of the administration) implemented in 6.0.15, see help maintained as content; from 20…
- Specification: commands, cronjob parts and module views as classes This page is the reference for the runnable classes: since 2026-10-02 the code of every kernel command, cronjob part and module view lives in a class, and the old files remain as thin entry points with the same paths…
- Specification: continuous integration and the test suite (July to August 2026) This page describes the test suite of the root repository and the GitHub Actions workflow that runs it on PHP 8.1 to 8.5 on every change: what runs, how to run the same on your machine, and what each piece protects…
- Specification: database drivers and installers (SQLite, PostgreSQL, MySQL, Oracle) This page describes what changed in the database drivers, the schema handlers and the setup wizard from 16 to 30 September 2026 (plus the Oracle query cache work of 1-2 October), why it matters, and how to check it on…
- Specification: datatype and input hardening (27 September 2026) This page is the reference of what each kernel datatype and shared input helper refuses since 27 September 2026, and what it does instead. Read it if a form now shows a validation message where it used to accept a…
- Specification: Exponential Platform console command names This page lists the console command names of the Symfony based Exponential Platform (bin/console): the exponential: primary names, the old names that remain as aliases, and the options of the commands you use most. Read…
- Specification: Exponential Platform package map This page lists, for every repository of the Symfony based Exponential Platform, which se7enxweb Composer package replaces which upstream package, which PHP versions it accepts and its newest tag. Read it when you plan…
- Specification: expservices (remote services over ezjscore) This page is the reference for the expservices extension (version 0.1.0, introduced 2026-10-02): how a remote service is declared, called, protected and audited, its classes, settings and extension points. Read it if…
- Specification: extension metadata (ezinfo.php and extension.xml) This page is the reference for how an extension tells the system who it is: its name, version, license and website, as shown on Setup > About and used by the upgrade checks. Read it if you write or release an extension…
- Specification: INI override directories and placements This page is the reference for how eZINI finds and orders the files of one INI setting: the four scopes, the per-siteaccess directories inside extensions (added in January 2026, commits 124186d096 and fc1a2f0a91), the…
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