- CI and reproducing a red check The continuous integration of the Exponential repository from a PHP developer's side - the Quality, PHPUnit, Performance and CI health workflows, what blocks, how a pull request is tested, and the local command for each…
- Configuration under version control For public-sector IT teams that must control and trace every change to a live site. How to keep Exponential's code and settings in version control, lock the administration against settings changes with…
- Content Security Policy for public sites For public bodies - what Exponential's Content Security Policy does, how it is shipped (report-only on the administration, off on public sites), where violation reports go, and why enforcing it is worth the effort for a…
- Exponential Projects (projects.exponential.earth) Exponential Projects, the forge that replaced projects.ez.no: thousands of projects by type, how to read an entry, and how to reuse what you find without breaking copyright.
- Exporting content For public bodies that hand content to a records system, an archive or a new platform - the export routes Exponential offers (content object packages, PDF export, the REST API, RSS, form and account CSVs, audit exports)…
- Exporting content as CSV, JSON or XML How to turn content held in Exponential (registers, lists of service points, directories kept as content objects) into open data files: the xrowextract Export tab and its commands, the kernel's exp:ezcsvexport, and the…
- eZTemplate from PHP Render templates from PHP with eZTemplate - factory(), setVariable(), fetch('design:...'), hasErrors() - in module views, cronjobs and mail, and how template operators and functions are registered.
- FAQ: integrations and APIs Answers to the integration questions public bodies ask about Exponential - the REST API, personal API keys, OAuth, RSS feeds, remote services, exports, single sign-on, maps and search - with what exists and what would…
- Functions versus operators The two kinds of named things in the template language compared - template functions are tags that write output and control the template, operators compute values - with their registration arrays, the methods each PHP…
- Getting data into templates: fetch functions and operators Where a framework passes view models from the controller, Exponential templates can also pull data themselves - fetch functions declared in function_definition.php, template operators for formatting, and variables set…
- Header menu by command line Add a page to the header menu with ./console exp:ini - see where the list is set, preview the change with --dry-run, write it, clear the caches. Real output from Exponential 6.0.15+.
- Installation problems, then and now The two problems the Learning book's first chapter troubleshoots (PHP memory limit, PHP as CGI) and how they look in Exponential 6, with where to look first.
- JavaScript library upgrades (jQuery 4, no YUI) Bring a theme's JavaScript up to date with the libraries Exponential ships - jQuery 4.0.0 with Migrate and jQuery UI 1.14.2 through ezjscore, YUI removed - what to search for, what to replace, and how to test.
- Kernel, lib and extensions: the layering The dependency rules between lib/, kernel/classes, kernel/private, the module controllers, the designs and extensions - which layer may call which, where the rules are not met yet, how names show which layer code…
- Logic operators The 13 operators of eZTemplateLogicOperator (eq, ne, lt, gt, le, ge, and, or, not, null, true, false, choose), including the count rule of lt/gt/le/ge that compares strings by length, with examples rendered on a…
- Mail categories and opt-in For public bodies sending optional e-mail - Exponential's essential and optional mail categories, why optional ones are off until a person turns them on, double opt-in for newsletters and offers, adding your own…
- Modernizing composer.json Give an old extension a composer.json that installs it into Exponential 6, or bring an old one up to date - PHP constraint, installer, license, authors and support - with the change expchangeclass made for PHP 8.0.
- Open formats and data portability In which formats Exponential stores and exports content, settings and files, which of them are open and documented, and how to keep your own content in formats another system can read.
- Registering the design: DesignExtensions[] The one setting that makes the template system look into a theme extension's design folder - design.ini [ExtensionSettings] DesignExtensions[] - how to write it, how to check that it works, and what goes wrong without…
- Reviewing other people's work How to review a pull request to an Exponential extension usefully - what to check in order (purpose, safety, behavior, tests, style), how to try it locally, and how to write comments that help.
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