- Announcing end of life What an end-of-life announcement for a theme says - the date, what stops, what stays available, the successor or ways forward, and how to reach paying customers - with a text to adapt.
- Cache tags, cache blocks and clearing caches The caches an extension author meets: ids and tags of ezcache.php and exp:cache, what to clear after which change, cache-block in templates, and clearing an object's view cache from PHP.
- Case study: small PHP 8 fixes across many extensions How this project brought more than twenty extensions to PHP 8.0 through 8.5 in October 2026 - the same few fixes again and again, one commit and one release per extension, and how the work was checked.
- Create a section for restricted content Step by step - create a section such as "Internal", put existing content into it with Assign content, and give only the right staff read access, so visitors never see it.
- Dates, numbers and currency per language How each language version of an Exponential site writes dates, times, numbers and amounts (from the locale file of the siteaccess), how to check and adjust a locale, and the known limits (one time zone per siteaccess, a…
- Dates, numbers and l10n Showing dates, times, numbers and prices in the visitor's locale with l10n (time, shorttime, date, shortdate, datetime, shortdatetime, currency, clean_currency, number), custom formats with datetime, the time element…
- Deploy a PHP change Step by step - ship a PHP class, operator or settings change with one command, exp:velocity deploy, after a dry run for the change record - autoloads, INI caches, the right PHP-FPM, Velocity, then the page caches in the…
- Downloading the wizard's result as a zip Use Download as zip in the design extension wizard to get a theme skeleton without writing to the server - when it is the better choice, what the archive contains, and what to do when the button is missing.
- Export audit records about a person Step by step - for an access request, export every audit record made by or about one user (pseudonymized ones included) with exp:audit export --subject-user, review it for other people's data, and hand it over.
- Forms and CSRF protection How forms work in Exponential for developers used to form components, form requests and CSRF middleware - templates that write the form, module actions that read it, eZHTTPTool for input, ezformtoken's automatic token…
- How do I choose which notifications I get? My notification settings lists the items you follow, sets how often the mail comes (at once, daily, weekly or monthly) and which collaboration messages mail you; My e-mail preferences decides which optional e-mail you…
- Images in a design The two kinds of images a designer handles: design images (logos, icons, backgrounds) found with ezimage and ezdesign, and content images uploaded by editors and shown in aliases; how to link each, quoting, and alt text.
- Information collection forms and privacy For public bodies collecting data through web forms - what Exponential stores per submission, who may read and export it, the audit records of exports and removals, the absence of automatic retention, and the consent…
- Language switchers and addresses per language Give each language its own address (path, host or host prefix), redirect the start page to the visitor's language, and build a language switcher with TranslationSA and the language_switcher operator.
- Names and trademarks Name your themes and services without borrowing other people's names - "a theme for Exponential" rather than "Exponential theme", the product family's names, the old product name only as history, and checking a name…
- Naming and brand rules for partners How partners name the product, the organizations and their own partnership correctly in websites, proposals, contracts and social media - Exponential, 7x, the Exponential Foundation, the old name only as history - with…
- Persistent objects and your own tables Your extension's own table through eZPersistentObject: definition(), create, store, fetch, lists with conditions and limits, count, remove, template attributes, transactions.
- Publish the disclosure log Task for site builders and editors: set up the public disclosure log (a class for entries without requester data, a folder per year, a list view, a feed) and publish the first entry.
- Right-to-left accessibility For public bodies that publish in Arabic, Hebrew, Persian, Urdu or other right-to-left languages - how Exponential sets direction and language in the administration and in content, how names are isolated, and what your…
- Role operators The 7 operators of eZTemplateRoleOperator (has_role, has_role_id, has_any_role, has_role_by_user, has_role_by_user_id, has_policy, has_policy_by_user) - what they check, why the piped input is ignored, why they are not…
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