- Adding and removing extensions in a bundle How a bundle adds an extension (Composer, autoloads, caches, ActiveExtensions or the site package), how it leaves a required one out, the loading order, extension exports and their secret check, and a checklist for…
- Architecture overview The layers of an Exponential installation and what each is responsible for - servers, the kernel entry points, the domain classes, the libraries, the presentation layer, extensions, settings and var/ - with the…
- Arithmetic operators The 18 operators of eZTemplateArithmeticOperator (sum, sub, mul, div, mod, inc, dec, min, max, abs, ceil, floor, round, int, float, count, roman, rand) with their parameters, input, return value and examples rendered on…
- Attribute access How $a.b and $a[b] are resolved - arrays by key, objects through attributes(), hasAttribute() and attribute(), eZPersistentObject fields and function attributes, dynamic keys, numeric indexes, attributes after an…
- Brand and naming rules: Exponential, 7x and the Foundation How to write the names of the product, its family, the company 7x and the Exponential Foundation correctly; when the old name eZ Publish may appear; which code identifiers never change; with a Do and Don't table and a…
- By hand: the smallest extension in five minutes Three files make a complete extension - ezinfo.php, extension.xml and one settings file. Create them, check them, switch the extension on, see it in Setup > Extensions and see its setting win, then put it under Git.
- Checking what is already published Before choosing a version number, list the tags on the remote, the GitHub releases and the versions Packagist knows, because each can know something the others do not.
- Custom modules and views Build the screens of an application as module views - registering a module, ordered and unordered parameters, handling POST actions, returning a result, redirecting, errors, and the class-based form of a view.
- Database code for PHP 8 and every engine Bring an old extension's database code up to Exponential 6 - from mysql_* calls and MySQL-only SQL to eZDB, eZPersistentObject and .dba schema files that work on SQLite, PostgreSQL, MariaDB, MySQL, Oracle and MongoDB.
- eZHTTPTool: requests, sessions and redirects Read POST and GET variables, keep values in the session and redirect with eZHTTPTool - postVariable() with a fallback, sessionVariable(), redirect() - and the module redirects views prefer.
- Finding ideas on Packagist Packagist lists every package of the extension type: how to find them, read versions, requirements and licenses, and install one on a development installation.
- Graceful deploys How to ship changes to a live Exponential site without dropping visitors' requests or serving stale pages, what the one-command deploy does, and the rules a business should set for when and how changes go live.
- Include Splitting templates into parts with include: the design resource, passing parameters, what the included template sees, naming parts, and include versus node_view_gui and overrides.
- Installing, then and now: the files, the database, the virtual host What the Learning book's first chapter had you do by hand (unpack, create a database, write a virtual host, set up images and cron, read the ini files), and what each step is in Exponential 6.
- OEM product reseller How to sell your own product built on Exponential - a packaged solution, a hosted product, an appliance or image - under the OEM resale opportunity of the partner program, with the GPL duties of distributing it, how to…
- Packages (.ezpkg) and the package creator The other way to distribute: .ezpkg packages made with the package creator in the administration or ezpm.php - extension exports, content class exports, site styles - and when to use them next to Composer.
- Packages in the administration The administration pages that handle packages on an installed site - the package list and a package's page, import, install and uninstall, the package wizard, and ezupdate's package servers and fetch - with the policies…
- Quality gates and acceptance The checks Exponential already runs on every change (CI workflows, test suites, design and accessibility tests, CSP reports) and how to build your project's own quality gates and acceptance on top of them.
- RSS, Atom and OPML feeds for integrations Feeds as the simplest pull integration - exporting content as RSS 1.0, RSS 2.0, Atom, OPML or podcast feeds, importing other systems' RSS feeds by cronjob, how imported items are keyed, caching, cleanup, and the limits…
- Start CSP reporting on a public site Step by step - public siteaccesses get no Content Security Policy by default; switch one to report-only with Exponential's own report collector, so you learn what your design, content and embeds would need before…
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