- Staging and approval How a public body moves a change from development through test (staging) to production with Exponential - one code base per environment, settings variants with EXP_ENV, a copy of the data for testing, the checks to run…
- Supported PHP versions: 7.4 to 8.5 Which PHP versions Exponential 6 supports and how each is tested - PHP 7.4 as the oldest (8.0 for Velocity), 8.5 as the newest, the composer.json constraint, the CI jobs per version, the differences on 8.0, and what to…
- Themes and siteaccesses Which site uses which theme - SiteDesign, AdditionalSiteDesignList and StandardDesign per siteaccess, themes that build on other themes, one theme for several sites, and how to see the chain a siteaccess really uses.
- The REST API for integrators What the REST content API of ezprestapi offers an integration - the routes at v1 and v2, reading lists page by page, creating and removing content, the status codes to handle, the answer cache and the gaps (no update…
- With RAD: a workflow event The Workflow event wizard writes an event type that logs every publication: triggers and statuses, the generated class and templates, and the one method to fill in.
- Your first hour as a developer A guided hour: see who sets a setting, change and undo it, find the template behind a page, read the debug output and a log, and run PHP with the kernel loaded.
- The requirements checklist Every requirement a site package has to meet, in one checklist, each marked as enforced by the code or as a convention of the shipped 7x packages, with the file that checks it and what happens without it.
- Creators in the ecosystem The creators of the Exponential ecosystem - website and application creators, extension developers, designers, translators and writers, hosts and agencies, trainers - what each makes and where the help for each starts.
- How Exponential releases happen How a change travels from a pull request to a tagged Exponential release, why published tags never change, how version numbers count, which lines are supported, and where community members can help along the way.
- Required package.xml fields The package.xml fields the code refuses a package without, with the exact rules for the name, the version and type tokens, the vendor, the ezpublish and packaging elements, and the fields that are conventions of the…
- How security reports are handled What community members do when they find or hear of a security problem in Exponential - the private reporting path, what to include and leave out, what happens next, and how to behave in public channels until a fix is…
- Joining the ecosystem as a creator First steps for someone who wants to build with Exponential - a local installation from Git, the learning path for each kind of creator, the conventions to follow from day one, and where to show your first work.
- License and documents How a site package states its license, in the licence element of package.xml and in the documents/LICENCE file, how package.ini LicenseSettings turns a stored value into a named license with a link, and what the shipped…
- Changelog entries How to write the changelog of a site package, the changelog element of package.xml with one entry per release, what the creation wizard and ezpm write, what the package page shows, and how the package changelog relates…
- Publishing into the ecosystem How creators make their work part of the Exponential ecosystem - extensions, themes, site packages, documentation and translations - the publishing route for each, the licenses, and the difference between publishing…
- Moving from Exponential templates (.tpl) to Exponential Smarty templates (.stpl) Exponential renders Smarty 5 templates (.stpl) itself, next to .tpl - when to choose .stpl and when to stay with .tpl, what changes and what stays (operators, fetch, functions, overrides, caching, includes both ways…
- Version numbers The version fields of a site package, version number and release, the ezpublish product version, the version attribute of the package element and the version in index.xml, what each one is used for, how eZPackageVersion…
- Moving from Exponential templates (.tpl) to Twig templates (.twig) Exponential renders Twig 3 templates (.twig, .html.twig) itself, next to .tpl and .stpl - when to choose .twig, what changes and what stays (operators as filters and functions, fetch, template functions, includes…
- Thumbnails and screenshots The pictures of a site package, the thumbnail and image file lists in package.xml, where the files go in the archive, how the setup wizard chooses between a package's own thumbnail, the thumbnail_url of index.xml and…
- Converting templates between template engines The exp:template:convert command space converts templates between Exponential templates (.tpl), Smarty templates (.stpl) and Twig templates (.twig) in every direction - the six named commands, the general command, 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