Extension development
Building extensions step by step: structure, settings, modules, templates, classes and contributing back.
216 pages
- Extension development: the book (start here) A complete book on growing from user to builder, extension developer and theme developer with Exponential: finding ideas, building extensions with and without RAD tools, upgrading, forking ethically, releasing.
- Reading paths through the book Reading orders through the book for each role - curious user, builder, PHP developer, designer, application creator, upgrader, maintainer - with what you can do after each stage.
- Extending without forking Change how the kernel or someone else's extension behaves from your own extension - settings, template overrides, design order, handlers, events, module replacement - so their updates keep reaching you.
- Extension points at a glance Every way an extension plugs into Exponential on one page, grouped as the kernel's RAD catalogue groups them, with the registration mechanism of each and the chapter that explains it.
- How INI settings work The INI files that configure Exponential - files, blocks, variables, arrays and hashes, comments, the .ini.append.php form, how values from many files are merged, and the INI cache that must be cleared after a change.
- Part 1: From user to developer The first part of the extension development book. What an extension is, the tools you need, a development installation, and where to find existing extensions for ideas without breaking anyone's license.
- The extension directory layout Every folder and file name an extension can have, what the kernel does with it, which setting points the kernel there, and how many of the installed extensions use it - the map for the rest of Part 3.
- Themes are extensions Why an Exponential theme is packaged as an extension with a design folder, what that gives you over editing the kernel's design folders, and how a theme relates to designs, siteaccesses and the design chain.
- The RAD tools tour: Setup > RAD A tour of Setup > RAD: the catalogue of extension points and its filters, the survey, the health check, and how every wizard works, from fields to preview to create or download.
- Versioning rules What the numbers of an extension's version mean, the rule that the last position keeps counting (1.0.9 is followed by 1.0.10), when to raise a higher position, and how Composer reads the numbers.
- What an extension is A folder under extension/ that adds settings, templates, modules, datatypes, workflow events and more without touching the kernel, and does nothing until switched on.
- Why most of the changes are small Why an extension written years ago usually needs only small changes for Exponential 6: the extension system, class names and settings stayed, and the changes come from PHP and the browser.
- Choosing the next version number Look up what is already published before you pick a version - fetch the tags, sort them as versions, compare with GitHub releases and Packagist - so you never reuse a number, with the commands and the sorting trap.
- ezinfo.php: who made it and which version The ezinfo.php metadata file - class name, the static info() method, the keys the administration reads, how it is read after extension.xml, the PHP 8 bare-key trap with a real fix, and how to check it.
- eZINI: reading settings The eZINI methods an extension uses - instance(), variable(), hasVariable(), variableArray(), group(), hasSection() - with their signatures, what they return when a setting is missing, and the template operator ezini().
- Part 2: The builder: settings, templates and overrides The second part of the book. Change how Exponential behaves and looks without PHP - settings and their scopes, templates, the design chain, overrides, view modes, fetch, classes, roles, workflows and cronjobs.
- Settings scopes and the order they win in The places a settings file can live - default, extension, siteaccess, the per-site folders inside extensions, and the global override - the exact order they are read in, and how to choose the right one for a change.
- The anatomy of a design extension Every folder and file of a theme extension - templates, override templates, stylesheets, scripts, images, the settings that register it and its override rules - shown on the public sevenx_themes_simple theme.
- The ladder: user, builder, extension developer, theme developer Four steps from using Exponential to extending it - user, builder, extension developer, theme developer - what each one does, what each needs to know, and which part of this book teaches it.
- The upgrade checklist The whole job of bringing an old extension to Exponential 6 on one page: preparation, PHP, metadata, browser, administration, tests and release, each step with the chapter that explains it.
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