- Deprecating a setting or a template Step by step - rename a theme setting while still reading the old name, replace a template while keeping an include of the old one, and remove both later - with the changelog entries for each step.
- Digest operators crc32, md5 and rot13 from eZTemplateDigestOperator, plus sha1, which the class offers but which only works after another digest operator has loaded it; what they are for in templates and what not, with examples rendered…
- ezjscore server functions reference The settings of an ezjscore server function block, the call address and answer, the ezjscore/call policy, the server functions the kernel ships, and the JavaScript clients.
- File checksums (share/filelist.md5) When a theme ships share/filelist.md5, the administration's file consistency check compares installed files against it; how to refresh the checksums in the same release, and what happens when you forget.
- Keyboard and focus For developers, designers and staff who rely on the keyboard - what keyboard support the admin4 administration provides (skip link, tabs, tree, menus, drag alternative), the keys users can learn, and the rules for…
- Single sign-on and social login What Exponential offers for single sign-on - the SingleSignOnHandlerArray hook, social login as an OAuth 2.0 client in sevenx_authentication_2fa, putting a SAML or OpenID Connect proxy in front of the site - and what it…
- The packer What ezjscore's packer does with your stylesheets and scripts: merging, minifying, rewriting url() paths, naming the packed file after its sources and their time, where the file is stored, and the settings that control…
- Wash and escaping Why and how every printed value is escaped with wash: the xhtml, email, javascript and pdf modes, what does not need wash (rich text output, URL operators), escaping in attributes, JSON for scripts, and the mistakes…
- Workflows and triggers: hooks on content operations Where a framework developer writes model observers, post-save signals, state machines or process managers, Exponential offers workflows - event types run before or after operations such as publish and checkout, attached…
- Write a console command A task guide for a command line tool in an extension - the command class extending Exponential\Runnable\Command, the entry file, options and help, siteaccess and database, output and exit codes, the @description tag…
- Ajax with ezjscore server functions Answer ajax calls with an ezjscore server function: settings, a class of static functions, the call address and its JSON envelope, Exp.io, policies, POST and the form token.
- Authentication and sessions How Exponential knows who is asking, for developers used to Symfony security firewalls, Laravel guards, Django auth and Devise - users as content objects, the anonymous user, login handlers, sessions and their handlers…
- Breaking changes and the next major version When a theme change forces users to act - removed templates or settings, a raised minimum version, a redesign - group it, move a higher version position deliberately, write an upgrade guide, and keep the previous line…
- Captions and media For public bodies that publish video and audio - what Exponential's media datatype renders (HTML5 video and audio among older plugin types, with autoplay, loop and controls options, but no caption track), and how to…
- Case study: the layouts editor on jQuery 4 How the layouts editor, a single-page application with jQuery 2.2.4 and jQuery UI 1.10.4 in its bundle, moved to the admin's jQuery 4: the plan, the removed calls, the renamed globals, the test by use.
- Data map and content Reading the fields of a content object in templates - data_map, has_content, content, the raw data_text and data_int, and attribute_view_gui - proven field by field on a real article on a development installation…
- ezformtoken and CSRF protection How ezformtoken protects every POST of a signed-in user against request forgery - the token in forms and the page head, the X-CSRF-Token header, the 403 refusal - and what your extension does.
- Manual and dynamic collections The items of a List or Grid block come from a collection - hand-picked (manual) or a query on the content tree (dynamic, query types Exponential and Topics). How to switch, what the dynamic options are, and how the same…
- Maps and embedded content For public bodies showing locations, videos and other embedded services - what the ezgmaplocation extension does (a location datatype using Google Maps), the privacy effect of maps and embeds from other services, and…
- Personal API keys for tools Use personal API keys (expk_) for development builds, tests, kiosks, back ends and internal tools around an app - getting one, scopes, lifetimes, the rate limit, rotation and revocation, the audit events - and why a key…
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