- Ten pitfalls for framework developers The ten mistakes developers from Symfony, Laravel, Django, Rails and similar frameworks make most often in their first Exponential project, each with the symptom, the cause and the fix - from unescaped template output…
- Testing strategy How Exponential is tested and how to test your own changes - the layers from syntax checks and static analysis to DB-less PHPUnit suites, database tests, live-installation tests, design and quality tests, benchmarks and…
- Your own design extension Set up a small design extension (here "mysite") next to a theme, activate it in the right order, and override any template of the theme or of Layouts without touching their files. Every step tested on a copy of the Fit…
- How do I disable or unlock a user account? Setup > Check user accounts lists every account with its state; tick accounts and click Disable the ticked accounts, Enable the ticked accounts or Unlock the ticked accounts; one user's Account settings do the same for…
- A header menu that follows the tree The template way to a dynamic header menu - override main_menu.tpl in your design extension so the menu lists the children of the site root by class, then publish a folder and watch it appear. Tested code, settings and…
- Bundle checklists The short checklists of the bundler pages in one place - before you build, the build, the artifact, first boot, the installed site, licenses, the release, after the release - each item linking to the page that explains…
- Checklists for framework developers Four checklists for developers coming from other frameworks - evaluating Exponential for a project, setting up a development environment, reviewing a first module before it is merged, and taking an application live…
- Continuous integration for extensions Set up CI for an extension the way the kernel does it - GitHub Actions jobs for PHP syntax on every supported version, PHPUnit, static analysis, commit message checks, least privileges, and testing against the…
- DB-less tests and test suites How the PHPUnit configuration of Exponential is organized - the bootstrap, the suites in phpunit.xml, the excluded groups, the PHPUnit version per PHP version - and how to write and run tests that need no database, plus…
- Design tokens Building a design on tokens (CSS custom properties) for color, space, size, radius and fonts: naming, a starter token set with light and dark values, using tokens in rules, and the admin4 token rules as a model.
- Export form responses to CSV For editors who process forms - download a form's submissions as a CSV file from Setup > Collected information, open it correctly, and handle the file as the personal data it is.
- Full view The full view, the template of a content page: what it receives ($node, $view_parameters, $language_code), a complete article example, the one h1, sub-items with paging, handing values to the pagelayout, caching rules…
- Hide notices automatically on a date Step by step - let editors give each notice a hide date and have Exponential's hide.php cronjob hide it when the date has passed, by adding a date attribute to the class and configuring content.ini [HideSettings].
- Images in REST answers What an ezimage field looks like in a REST answer (the path of the original file, without alternative text), how to turn it into a URL, why the original is the wrong size for a phone, how to get the alternative text and…
- Inside the core: content classes, workflows, notifications, information collection, search A map of the kernel classes behind the concepts of the earlier chapters: content classes and objects, workflows and triggers, notifications, information collection and search, with where each lives now.
- Integration go-live checklist The checklist for taking an Exponential integration live - readiness, the initial load, switching schedules and hooks on, monitoring, the first runs, rollback, and the first days of hypercare - with the commands for…
- Overriding kernel operators Changing what a kernel or template-library operator does from an extension, the way extension ezurlmultisite does for ezurl - subclass the class that owns the name, register the subclass for all of its names, drop the…
- Referrals and leads How leads and referrals work in the Exponential Partner Program as published - customer project referrals from Professional, lead priority by level, lead referral commissions of 10% for cold and 20% for hot leads - and…
- Reseller FAQ Short answers to the questions resellers of Exponential-based offers ask most - licenses and what you may charge, partner levels and prices, commissions, white label and OEM, service levels, naming, demos…
- Sending newsletters safely Send newsletters without surprises - test with the file transport, switch to SMTP or sendmail, the sender domain, the mail queue cronjobs, aborting a send, the archive, and a pre-send checklist.
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