- Extension and theme bundles How to resell extensions and themes for Exponential as bundles - your own work, project extensions and third-party ones - with the license check for each part, business models that respect the GPL, what a bundle must…
- eZSys and eZExtension Paths and the environment with eZSys (varDirectory, cacheDirectory, serverURL, isShellExecution) and active extensions with eZExtension (activeExtensions, expandedPathList, getHandlerClass).
- Git hooks and make targets The local checks of the Exponential repository - the pre-commit, commit-msg and pre-push hooks in .githooks/, every make target from make check to make lint80-all, the file manifest share/filelist.md5, and the commit…
- Modernizing ezinfo.php and extension.xml Bring an old extension's ezinfo.php and extension.xml up to date - quoted keys, a readable name, the release version, the license, the website and credit for included software - and check what the about page shows.
- module.php reference: views, parameters and functions Every key of a module definition - $Module, $ViewList entries (script, functions, params, unordered_params, actions, navigation part, ui context) and $FunctionList with limitations - with the kernel code that reads each…
- Operators in expressions How operators are written and evaluated - the pipe form and the call form, what the input value is in each, chaining, nesting operators as parameters, attributes after an operator, operators inside function parameters…
- Override conditions: class, node, section, view mode and more Every Match key an override can use - for full views, for node_view_gui lists and embeds, and for fields drawn with attribute_view_gui - taken from the kernel code that sets them, with examples and combination rules.
- Policy functions and access checks Protect a module: policy functions and limitations in module.php, views that require them, eZUser::hasAccessTo() with its yes, no and limited answers, and granting through roles.
- Section (legacy) Reading the old section function found in older templates (loop, sequence, show, section-else, namespaced variables like $Item:item) and converting it to foreach, if and def.
- Share Exponential (share.exponential.earth) The community portal: forums for extensions and developers, tutorials, books, code standards, blogs and chat channels, and how to cite what you use there.
- Template resolution: designs and overrides How Exponential decides which template file renders a view - the design chain of a siteaccess, extension designs, the design: resource, override.ini rules matched by class, node, section or view mode - compared with…
- Testing before a release What to run before you tag: lint on the oldest and newest PHP, the extension's tests, metadata checks, a clean install from the repository with Composer, and every feature by hand - a tag cannot be corrected.
- The request lifecycle What happens between a browser request and the response in Exponential, step by step - maintenance and repair hooks, autoload, the kernel constructor, siteaccess matching, URL translation, access checks, the module run…
- The REST API as a data interface For developers and administrators who consider the Exponential REST API (v1 and v2, extension ezprestapi) as a machine interface to datasets: what it returns as JSON, how authentication and permissions work, and what to…
- The setup wizard, then and now The twelve pages of the Learning book's setup wizard, matched to the pages of the Exponential 6 wizard, with what changed (database choices, site packages, siteaccess methods) and the commands that skip the wizard.
- Your first request Make the first authenticated call to the REST content API of Exponential - check that the API answers, send a credential, read node 2 at v1 and v2, and reproduce the call from Kotlin, Swift and JavaScript.
- Annotated tags Tag releases with annotated tags (git tag -a) that carry a message, an author and a date; how to write the message, check the tag before pushing, and push only that tag.
- Announcing a release Tell the people who use your extension about a release - the GitHub release itself, share.exponential.earth, the project page on projects.exponential.earth, ezpedia - what to write, and what to leave out.
- Auditing your public design with WCAG-EM For public bodies that must evaluate their own site - how to run an evaluation of a site built with Exponential following the W3C WCAG-EM methodology, choosing a sample from Exponential's templates, classes and…
- By hand: a fetch function Give templates fetch( 'hello', 'newest', ... ): register a module folder, write function_definition.php and the collection class, and call it from a template, verified.
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