Recent changes
Wednesday November 04 2026
-
The se7enxweb extension catalogue Updated Markdown page
The 65 extensions the kernel's composer.json requires, grouped by purpose, with repository, license and documentation: the first place to look for ideas and examples.
-
The tools you need Updated Markdown page
The short list of tools for extension development with Exponential - a terminal, PHP 8, Composer 2, Git, a text editor, a browser with developer tools, xmllint and PHPUnit - with the command that checks each one.
-
What an extension is Updated Markdown page
A folder under extension/ that adds settings, templates, modules, datatypes, workflow events and more without touching the kernel, and does nothing until switched on.
-
Your first hour as a developer Updated Markdown page
A guided hour: see who sets a setting, change and undo it, find the template behind a page, read the debug output and a log, and run PHP with the kernel loaded.
-
Part 2: The builder: settings, templates and overrides Updated Markdown page
The second part of the book. Change how Exponential behaves and looks without PHP - settings and their scopes, templates, the design chain, overrides, view modes, fetch, classes, roles, workflows and cronjobs.
-
.ini.append.php files and keeping settings safe Updated Markdown page
Why override files are PHP, which settings files hold secrets, file modes, what never goes into version control or into an extension, and how to check that settings cannot be read from the web.
-
Building a site without writing code Updated Markdown page
A complete small site built with Part 2's tools only - a settings extension and a design extension, classes, overrides for full and line views, a menu in a cache-block, a members area - as an ordered plan with checks.
-
Caching and templates Updated Markdown page
The caches a template meets: compiled templates, the view cache, cache-block, override and design caches, HTTP and Velocity caches; what clears each automatically and how to clear it by hand.
-
Content classes for builders Updated Markdown page
Designing the content model - classes, attributes, datatypes, identifiers, object name patterns, containers - and how the model connects to templates, overrides and fetches, with rules that keep it maintainable.
-
Cronjobs for builders Updated Markdown page
What runs on a schedule - cronjob parts and scripts in cronjob.ini, runcronjobs.php, the Setup > Cronjobs page and the crontab lines - and how a builder adds an existing script to a part or schedules a part.
-
Debugging templates Updated Markdown page
Find why a template, an override or a variable does not do what you expect - used templates, path comments, template debug, the attribute operator, debug-log and timing points, and the error messages of the engine.
-
Settings that live in an extension Updated Markdown page
Keep a site's configuration in a settings extension under version control - the folder layout, global and per-siteaccess settings, moving existing settings in with exp:ini move-all, and what stays out (secrets).
-
Fetching content in templates Updated Markdown page
fetch() reads content in templates: a node, children, a subtree, counts, relations, with class and attribute filters, depth and sorting. Parameters from the kernel, examples rendered by the engine.
-
How INI settings work Updated Markdown page
The INI files that configure Exponential - files, blocks, variables, arrays and hashes, comments, the .ini.append.php form, how values from many files are merged, and the INI cache that must be cleared after a change.
-
Override conditions: class, node, section, view mode and more Updated Markdown page
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.
-
Sections, roles and access for builders Updated Markdown page
Who may see and do what - sections, object states, roles, policies, limitations and assignments - explained for builders, with a members-only area as a worked plan and the template operators that ask about access.
-
Settings in the administration Updated Markdown page
Setup > Ini settings shows every setting with its value in effect, the file it comes from and the whole override chain; compares siteaccesses; changes values safely with masked secrets. How a builder uses it.
-
Settings scopes and the order they win in Updated Markdown page
The places a settings file can live - default, extension, siteaccess, the per-site folders inside extensions, and the global override - the exact order they are read in, and how to choose the right one for a change.
-
Siteaccess settings Updated Markdown page
A siteaccess is one face of an installation - a public site, a language, the administration. How a request picks its siteaccess, which settings define one, and a complete commented example of a public siteaccess.
-
The template operators builders use most Updated Markdown page
A working set of about fifty template operators - escaping, strings, arrays, logic, numbers, dates, translation, URLs and settings - each with an example and the output the template engine produced.