- Images and image variations How Exponential stores images and makes variations (aliases) - the shipped aliases, adding your own in image.ini, using them in templates, responsive images, converters, quality and clearing generated variations.
- Marketing kit for resellers What a reseller's marketing kit contains and where each piece comes from - positioning, a one-page offer, feature highlights, the license statement, logos you may use, screenshots from your own installation, a demo…
- Menu and tree operators The kernel operators that build navigation - treemenu (a menu that unfolds along the current path), content_structure_tree (a nested tree of nodes) and topmenu (the admin tabs from menu.ini) - with every parameter, the…
- Opening a partner support ticket How partners open support tickets that get solved quickly - what to check first, what information to include, how to describe the environment safely without secrets or customer data, a ticket template and what to do…
- Print stylesheets Making pages print well: print rules in your stylesheet or a separate print file, what to hide, link URLs, page breaks, colors, and the print view mode the kernel offers.
- REST API v1 and v2 for applications Use and extend the REST content API - the ezprestapi routes at v1 and v2, authentication with OAuth2 or personal API keys, permissions, curl examples, configuration in rest.ini, and adding your own REST provider.
- Running a demo site Give people a live preview of a theme - options for hosting a demo, keeping it current with each release, resetting it automatically, and keeping it safe when the public can look at (or log in to) it.
- Scheduled tasks: cronjobs The Exponential counterpart of Laravel's scheduler, Symfony Scheduler, Celery beat, whenever and Spring's @Scheduled - cronjob parts in cronjob.ini run by runcronjobs.php from the system crontab, the shipped parts the…
- Security in PHP code The security rules for PHP code in Exponential in one place - validate input, cast numbers, escape SQL and output by context, protect POSTs with the form token, check permissions in every entry point, redirect safely…
- Separating the administration For public bodies that want the editing interface out of the public's reach - giving the administration siteaccess its own host, restricting it by network, VPN or a second authentication, request rules for system URLs…
- Set log retention Step by step - give Exponential's kernel logs an age limit with MaxAgeDays per log (404, security and CSP have one already), schedule pruning with the logs cronjob part, and check with a dry run.
- Set up environment-specific settings Step by step - name each machine's environment with EXP_ENV in config.env.php and keep the settings that differ (mail transport, debug output, the admin badge) in variant files, so a test copy never mails citizens and…
- Testing a Composer install before publishing Install your theme into a throwaway Exponential installation through a Composer path or vcs repository before you submit it to Packagist, and check the folder name, the files and the rendered page.
- The persistent variable, inside How $persistent_variable travels from a node view template to the pagelayout - the kernel sets it to false, reads it back from the root namespace after rendering, stores it in content_info and in the content view cache…
- The robust principle WCAG principle 4, robust, for a public body running Exponential - name, role and value for every control, status messages, valid structured markup, and how admin4's ARIA patterns and the rich text pipeline help your…
- Turn on search statistics Task for administrators: record what visitors search for on a public siteaccess (LogSearchStats), read Setup > Search statistics, and reset the phrases on a schedule because they can contain personal data.
- Users, groups and roles in the example Sections, user groups and role definitions for the club portal, done step by step, with the settings (default user group, policies that skip the check) and what to check today.
- Velocity persistent workers How Exponential Velocity runs PHP - the parent, the warm-up, the zygote and the persistent worker pool, how the pool is sized and when a worker is replaced, what is reset between requests and what is not, which user…
- Writing through expservices Create, update and remove content from an app with the expservices node services - POST with a token and no form token, expnode::create with class, attributes as JSON and language, expnode::update which publishes a new…
- How do I change the order of sub items? In the Ordering tab of the parent, choose Sort by and Sort order and click Set; with Sort by Priority, enter a number for each sub item and click Update priorities.
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