- Release engineering How releases of Exponential and its extensions are made - the main branch and its 6.0.x-dev alias, where the kernel version lives, the extension release procedure with ezinfo.php and extension.xml, the file manifest…
- Scaling applications Grow an Exponential application from one server to many - measure first, caches and Velocity workers, the database, background work, search on Solr, shared storage and clustering, and what each step costs.
- Your partner page How to write the partner page every Exponential Partner gets on share.exponential.earth - structure, wording, references, contact, accessibility, upkeep - with a ready-to-fill template.
- How do I set up a members-only area? Put the pages in a section of their own, which visitors cannot read, and give a role with content/read limited to that section to the user group of the members.
- Caching in applications Cache an application's work correctly - which kernel caches exist, cache blocks for template output, caching computed data in PHP with eZClusterFileHandler and expiry, clearing on change, caches under Velocity's…
- Caching on the server How the server caches what an app reads - the REST answer cache (per user, GET and HEAD only, 600 seconds by default, refusals never cached), its settings and cache group, what this means for freshness after publishing…
- How do I add a user or a user group? In the Users tab, open the group the account belongs to, press Create new and choose User (or User group), fill in the name and the user account fields and publish; the new account gets the roles of its group.
- No inline CSS Why templates carry no style blocks and no style attributes, where the CSS goes instead, how to handle per-element values (percentages, colors from content, computed widths), and the one documented exception in the…
- Override by section Giving an area of the site its own templates with sections: section_identifier (portable) versus section id, combining with class rules, a section-specific stylesheet, and section classes on the body from the pagelayout.
- Roll a layout back Take a safety copy of a layout before you change it and put it back afterwards with exp:layouts - export, change, import with overwrite and publish, which purges the page cache. Worked through on the shared layout…
- Taking part in the roadmap How partners take part in where Exponential goes - what roadmap material is published, product roadmap requests from Silver, issues and pull requests, sponsor tiers with backlog influence, and how to make a request that…
- Testing your site's accessibility A practical accessibility test routine for an Exponential site - which pages to test, automatic checks, keyboard and screen reader passes, zoom and color, writing up findings, and keeping it tested after launch.
- Version numbers and immutable tags The two release rules every Exponential engineer must know - the last position of a version keeps counting (0.0.4.9 is followed by 0.0.4.10), and a published tag or release is never moved, deleted, re-cut or replaced…
- How do I move a user to another group, or put them in two groups? Move the user account like any other item to change its group; add a location in a second group to give the user the roles of both groups at once.
- Caching in the app Cache Exponential content in an app so it starts fast and saves data - what to cache, cache keys per user, version and language, freshness with dateModified and childrenCount, invalidation after writes, images, the API…
- Changelogs and upgrade notes Where Exponential records what changed and what an installation has to do about it - the changelog pages per version and per extension, the Added, Updated, Removed and Renamed sections, the upgrade notes in…
- Clustering and shared storage Run Exponential on several web servers - the cluster file handlers (eZFSFileHandler, eZDFSFileHandler) in file.ini, the DFS mount and its database, sessions, cron and queue workers, and how application code stays…
- Feature requests and sponsored features The ways a feature gets built for Exponential - a public request, your own pull request, paid development, a bounty or a sponsor tier - what each costs, what the sources say about sponsored features, and how to keep the…
- How do I see what a user may do? Open the account in the Users tab and read its Roles tab (every role from the user and its groups, with the limitation of each assignment) and its Policies tab (what those roles allow, module by module).
- No inline JavaScript Writing designs without inline script code: no script blocks with code, no on* handler attributes, no javascript: links; event delegation with data attributes, JSON configuration blocks, progressive enhancement, and 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