Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Guides: the learning path

This page is the table of contents of the guides. Read it if you are new to Exponential, or if you know the system and want the shortest way to one result.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/guides/README.md

On this page

Guides: the learning path

This page is the table of contents of the guides. Read it if you are new to Exponential, or if you know the system and want the shortest way to one result.

Warning

.htaccess slows down every request. When .htaccess files are enabled (AllowOverride anything but None), let alone used, Apache looks for them and reads and evaluates them on every request, in every directory of the path, and page loading times go up drastically (measured). The only real fix is to switch the feature off for the virtual host: AllowOverride None in the HTTPS virtual host, and the rules in the virtual host's own configuration as mod_rewrite rules. That is far faster in production speed tests and well worth the time it takes to optimize a production configuration. Switch over right away: copy the rules of the example HTTPS virtual host into your virtual host (with the static cache, also staticcache_offload.conf), set AllowOverride None, run apachectl configtest, reload Apache and test the site. The same rules for other servers: nginx, LiteSpeed, Caddy, IIS, Velocity (built in); where virtual host rules go in a control panel: Plesk, cPanel, DirectAdmin, ISPConfig. On LiteSpeed or OpenLiteSpeed, the server's own page cache can also answer anonymous visitors and crawlers without PHP: Page caching with LiteSpeed and OpenLiteSpeed.

A guide is a tutorial. You follow it from top to bottom and need no prior knowledge. At the end you have a working result: an installed site, a published page, a changed template, a site behind a real web server, a cache cleared on purpose. Every step is a command or a click path, with the output to expect. Where a topic needs more depth, the guide links to the feature page, the specification or the upgrade note.

In short

  • Start with Getting started. Ten to fifteen minutes gives you an installed site, a login and a first template change.
  • Then pick your road below: editors, site builders, developers or operators.
  • Stuck on a word? The glossary explains every term in one line and links to the page that teaches it.
  • Want to know why something is the way it is? The history tells the story month by month.

Check your setup in two minutes

These commands only read. Run them from the root of the installation (the directory with console, index.php and settings/). Add --allow-root-user to a command that refuses to run as root.

./console --version

Expected: the first line reads console (Exponential) 6.0.15stable. Below it are the version, the build, the number of extensions, the web server and the PHP version, and at the end the line Written by the Exponential Foundation and 7x (se7enx.com).

./console list exp

Expected: the list of commands of the exp: family, one line each (exp:cache, exp:install, exp:ini, exp:maintenance, exp:velocity and many more). ./console help <command> explains any one of them.

./console exp:cache clear --all --dry-run --allow-root-user

Expected: the list of caches that a real clear would empty, ending in a line that starts with DRY RUN PASS and names the number of caches. Nothing is cleared.

./console exp:maintenance status --allow-root-user

Expected: the line Maintenance is off. on a normal site.

If the first command fails, you are not in the installation root, or PHP is missing. Getting started says what is needed.

The guides

Read them in this order the first time. Each one also stands on its own.

GuideYou finish withTime
Getting startedAn installed site, the administrator login, a first page, a first template change10 to 15 minutes
The content model and editing contentA content class, an object, the sub-items table, the trash, a content job30 minutes
Templates and designThe design you use, the template that wrote a piece of a page, an override you can undo, the admin4 design15 minutes
Converting templates between template enginesOne template or a whole design converted between Exponential templates (.tpl) and Smarty templates (.stpl) with exp:template:convert: every option, the output and exit codes, the marker that keeps hand edits, the override settings, the same from PHP15 minutes, plus the reference
The three template engines compared.tpl, .stpl and .twig side by side: what each is, which to choose, mixing them in one design, converting between them10 minutes
Twig templates: a first .twig, step by stepAn override rule that points at a .twig, the node's attributes, operators, a translation, a fetch, a loop, a condition and an include30 minutes
Twig templatesHow a .twig is found and rendered, setup, variables and write-back, operators, fetch, loops, functions and includes, translations, caching, errors, Velocity and the limits15 minutes, plus the reference
Twig templates: operators and fetch functionsFilter or function, the prefix exp_, the operators that run in PHP, fetch(), settings and translations, the helpers the converter writes15 minutes
Twig templates: operator referenceThe operators of the kernel, the template library and the standard extensions with their filter and function forms and inputreference
Twig templates: template functions and tagsThe *_view_gui functions, block functions as tags, the exp tags, includes between engines, Twig's own tagsreference
Twig templates: cachingThe cache layers, {% expcacheblock %} and its parameters, the whole page in one block with a fresh user menu, compiled templates15 minutes
Twig templates: performance (Speed)What makes .twig fast, cached and uncached pages measured on Apache and Velocity with their load, the performance guard, measuring your own pages20 minutes
Twig templates: the converter and porting a designtpl-to-twig and twig-to-tpl with real output, what each construct becomes, files changed by hand, notes, checking20 minutes
Twig templates: migrating a designA design moved to .twig: a siteaccess of its own, converted, checked, compared page by page, kept in step1 hour plus the checks
Twig templates: troubleshooting and FAQThe messages with their cause and fix, a change that does not show, Twig not found, the questions asked mostreference
Twig templates: writing operators and functionsAn operator and a template function of your own that work in .tpl, .stpl and .twig20 minutes
Twig templates: security and escapingThe sandbox and its lists, what it refuses, escaping with wash, autoescape, what a template can reach15 minutes
Writing Twig-native templates for ExponentialTemplate inheritance together with override rules, include, embed and expinclude, macros, filters, functions and tests, autoescape and |raw, whitespace control, the sandbox, the variables each template sees30 minutes
Twig templates: recipesA page layout, a line view, a layouts block, a mail template, cache blocks per role and per user, a form with the form token, texts with a count, images in an aliasreference
Debugging Twig templatesErrors found before a page does, the message in the page read line by line, template path comments, the debug bar, the Twig profile, Twig's debug mode, a change that does not show20 minutes
Twig templates in your editorSyntax highlighting and file endings, what an editor's Twig checks cannot know, exp:template:check in the editor, formatting, snippets15 minutes
Twig templates: versions, upgrades and compatibilityWhich Twig runs on which PHP and what Composer installs, Twig missing, upgrading Twig, PHP and Exponential, Velocity15 minutes
Speed of the three template enginesTwig, Smarty and Exponential templates measured cached, uncached and with the debug output, with the conditions of every run, where a request spends its time, what is in progress, and how to repeat it20 minutes
Checking template syntaxexp:template:check for .tpl, .stpl and .twig: targets, levels, output formats, baselines, CI and hooks, every rule (reference)15 minutes, plus the reference
Smarty templates: a first .stpl, step by stepA siteaccess of your own, a folder page rendered by Smarty through an override rule, with variables, operators, a fetch with paging, a loop, a .stpl and a .tpl include and a value handed to the pagelayout40 minutes
Smarty templatesSmarty 5 checked, a first .stpl on a page through an override rule, variables, objects, includes, loops, template functions and blocks understood, the caches and the errors read; with operators and fetch functions and the converter and porting a design15 minutes, plus the reference
Smarty templates: operator referenceEvery operator of the installation and its extensions with its .stpl form, whether it needs exp_, how it takes its input and an examplereference
Smarty templates: template functions and blocksEvery bridged function and block, the exp* tags and blocks with their parameters and namespaces, Smarty's own tags that matterreference
Smarty templates: caching and performanceEvery cache a .stpl page meets, {expcacheblock} keys and expiry, a whole page cached with the visitor's parts kept fresh, what expires what, pages measured20 minutes
Smarty templates: performance (Speed)Why .stpl pages are faster than .tpl and how they got there: the first slow version profiled, every fix with its reason, the numbers on Apache and Velocity, the whole page in one cache block with per-visitor placeholders, honest measuring, a checklist and the pitfalls30 minutes
Smarty templates: migrating a designA design moved from .tpl to .stpl: planned, converted, its notes read, every page compared with the original, the differences fixed, the two kept in step1 hour plus the checks
Smarty templates: troubleshooting and FAQEvery message of the bridge and of Smarty with its cause and fix, the problems without a message, the questions asked mostreference
Smarty templates: writing operators and functionsAn input operator, a param operator and a template function of your own that work in .tpl and .stpl, registered and tested30 minutes
Smarty templates: security and escapingwash against Smarty's escape and raw, values from visitors printed safely, what Smarty can reach, the form token, what never goes into a cache block, a review checklist15 minutes
ExtensionsAn extension found, installed, switched on and configured; one of your own built and released45 minutes
The Extensions pageExtensions activated, deactivated and put in order in one list, the changes reviewed with their risks and applied, the written and the real loading order told apart10 minutes
Documenting an extensionREADME.md and INSTALL.md on top of the extension, every other page as Markdown (.md) in its doc/, in English; the pages in the help center with order, titles and context help; an old plain-text document turned into Markdown20 minutes
DeployingThe site served by Apache with PHP-FPM, by Velocity or by FrankenPHP, with HTTPS30 minutes
Setting up .htaccess and config.php from the console.htaccess and config.php copied from their templates with a backup and no silent overwrite, a config.php setting read, set and removed without an editor, the files compared with the new templates after an upgrade10 minutes
Operating a siteThe right caches cleared, cronjobs running, static cache and preload on, a backup, a checklist30 minutes
System informationWhich server answered and how it runs PHP, the health checks read and acted on, the overview cards understood, a masked report downloaded for support, the same from the command line15 minutes
CachesEvery cache read in its group with what it holds, its size and when it was last cleared, one cache, a group or all cleared with the confirmation that names what goes, Velocity's response cache and restart understood, the same from a shell15 minutes
BenchmarkingPages measured cached and rendered, Apache against Velocity, a code change and a deploy checked for regressions, the CI performance check understood30 minutes
CronjobsEvery part and script seen, a part and one script run and followed from the browser, the crontab lines installed, the logs read, the usual problems solved30 minutes
Preloading cachesA site warmed from Setup > Preload and from the shell, a dry run read, a run followed and its broken links and image aliases read, the cron line installed, the address of a siteaccess checked15 minutes
Host static sites on GitHub Pages with Exponential 6.0.15+A free public copy of a site: a target set up, a build, a dry run, a preview below the repository's path, the link check, the push to a Pages branch, the commands in CI20 minutes
Static publishing: repositories and credentialsThe target's folder as its git repository, one commit and tag per publish, a token or deploy key that never reaches a command line or log, waiting pushes sent again20 minutes
Static publishing: history and rollbackThe publishes of a target, and an earlier one back online as a new commit and tag, the history kept10 minutes
Static publishing: dynamic featuresWhat a static copy cannot do and its fallbacks, the search index and page, the form endpoint, redirect pages, publishing on content publish and on a schedule20 minutes
Static publishing: SSH deploy keysA key for one repository made by Exponential, its private half in the secret store, its public half on the git host10 minutes
Static publishing: an overview for administratorsTargets, builds, publishes, history and triggers; what an installation needs; a checklist for switching it on10 minutes
Static publishing: custom domains and DNSA copy at your own domain: CNAME, the DNS records, the DNS check, HTTPS15 minutes
Static publishing: CI and GitHub ActionsThe commands in a CI job, the Pages workflow explained line by line, the starter template20 minutes
Static publishing: troubleshootingSymptoms of settings, builds, pushes and GitHub Pages, with cause and fix10 minutes
Static publishing: limits and GitHub termsThe size limits checked before each push, a smaller build, which sites belong on GitHub Pages10 minutes
Static publishing for multisite installationsOne target per siteaccess and language, shared credentials, policies per target15 minutes
Static publishing on Windows and clustersgit, paths and line endings on Windows, building on one cluster node, Velocity10 minutes
From static cache to static publishingThe two features compared, which to use, moving a site over15 minutes
Develop in public, publish freeTutorial: the code in a public repository, content in Exponential, the copy on GitHub Pages, publishing by itself30 minutes
A static blog with ExponentialTutorial: posts, paging, search and new posts published by themselves30 minutes
A static documentation siteTutorial: search, sitemap, redirects from old addresses, a link check, publishing with every release30 minutes
From an existing static HTML site to Exponential and back to staticTutorial: design and content moved in, old .html addresses redirected, the same address kept60 minutes
User management from the consoleAccounts listed, inspected, created, changed, disabled, enabled and removed with exp:user; passwords reset without one on a command line; registrations approved; the same in scripts with --format=json20 minutes
Page caching with LiteSpeed and OpenLiteSpeedThe page cache of a LiteSpeed or OpenLiteSpeed server switched on for anonymous visitors and crawlers without a plugin, from .htaccess, the virtual host or a control panel; a hit seen in the headers, a signed-in request seen never to be one, pages purged, the usual problems solved20 minutes
WorkflowsAn approval before publishing set up with its trigger, every waiting process read in words on Setup > Workflow processes, the workflow cronjob checked, a stuck process cancelled safely, the triggers and workflow groups read and a group removed knowing what goes with it30 minutes
Maintenance modeThe site taken offline for a window with a message, an expected end and testers let through, the preview checked, the site brought back from the page and from a shell, the usual lock-outs solved20 minutes
Security and auditThe hardening checked, roles that give only what is needed, the audit trail read, debug output for your address only30 minutes
Two-step sign-inA code from an authenticator app or by e-mail after the password: set up by a user, turned on or required by the owner, a lost phone handled, social login buttons15 minutes
PasskeysA passkey added, named and removed on My account, a sign-in with the button or the browser's autofill, a lost device handled; the settings, the table and how a passkey is checked15 minutes
Verify it's youThe question before sensitive actions: the five groups and their rules, content switched on under Setup, a rule added for an extension's view, what happens to the request, where it is never asked15 minutes
The settings pageWhere every INI value comes from read on Setup > Ini settings with its override chain, a setting found in every file, two siteaccesses compared, a value changed and seen in effect on PHP-FPM and Velocity, secrets kept masked20 minutes
RSS feedsEvery export and import read on the redesigned RSS page with its address, sources, items and last run, the import cronjob checked, a feed removed knowing what it means for its readers20 minutes
View count statisticsPage views counted from the access logs for one site, for siteaccesses with logs of their own and for many siteaccesses in one log; why the cronjob was rebuilt for multi-site use, a dry run read, rotation, robots and the upgrade from the earlier cronjob20 minutes
Class groupsEvery class group read with its classes and objects, what removing a group would remove known before it is ticked, a group removed safely15 minutes
DatatypesEvery datatype of the kernel and the extensions read with its provider, class and flags, how much of the content uses it, one datatype with its templates, classes and nodes, and content whose datatype nothing registers found and repaired15 minutes
SectionsSections understood and seen on the redesigned pages, one created, content assigned to it, a role limited to it, a template overridden for it, an unused one removed, the usual problems solved30 minutes
Roles, policies and unactivated usersEvery role read with what it gives and to whom, its policies as sentences, a role built with limited policies and put in order by drag and drop, assigned to a group, and unfinished registrations activated, mailed again or removed25 minutes
Approving new editor accountsThe approval of new editor accounts set up or checked with adduserapproval.php, an editor's new account followed from the request to the mail with its link, approved and denied in the administration, the refused move and the audit records read, who approves what changed in the workflow event15 minutes
The administration design switchThe designs a user may choose for their own session set up, an installed or extension design added with its fallback chain, the switch tool in every offered design, uiswitch/design given to a role, the switch tested and the usual problems solved20 minutes
PackagesEvery repository and package read on Setup > Packages with its install state, size and dependencies, the installer's own packages recognised, a package downloaded in the classic or the JSON format, an upload validated before it is accepted, a package installed in the background or as drafts, a package removed knowing what goes20 minutes
Classic menusWhether Design > Menus (classic) matters for your siteaccess or Layouts does, the four arrangements and what each lists, five recipes with their exact lines, classic menus drawn from templates of your own20 minutes
SessionsWho signed in recently and who is signed in now, the session handler understood, sessions searched, sorted and removed safely without signing yourself out15 minutes
Your devices and sessionsEvery device signed in to an account read with its browser, place and sign-in method, one device or all others signed out for good, the e-mail about a new device turned off or on, a user signed out everywhere by an administrator10 minutes
BookmarksYour bookmarks read grouped by folder with their state, found, ordered and paged, moved between folders by selecting or dragging, a folder renamed and removed knowing what happens to what is inside, the usual problems solved15 minutes
Versions of an objectThe versions of an item read by status, translation and creator, two compared, a new draft made from an old one in the translation chosen, versions removed knowing what stays, who sees what15 minutes
My drafts and my pending itemsYour drafts found by translation, class and age and removed one by one, by selection or when old, your pending versions read with what holds them, the versions waiting for your approval opened10 minutes
Collected informationThe forms that collected found and sorted, their collections read and exported as CSV, collections removed after an export, the usual problems solved15 minutes
PDF exportsA PDF made of a part of the content tree, generated once or on the fly, downloaded and regenerated from the list, its form filled in without errors, an export removed knowing which file goes with it15 minutes
Links, URL aliases, wildcards and search statisticsBroken and unchecked links found with the objects that use them, links marked by hand, a global alias and a wildcard created and tried, the search phrases that find nothing read, the usual problems solved30 minutes
URL maps: import, export and undoA file of old addresses previewed row by row and imported as one batch, an import undone from the history, the URL map exported, the redirects with a query listed and removed15 minutes
Object statesA state group with its states, ordered and translated, content moved between states one by one and by subtree, roles that read, edit and set states by stage, a review workflow, the usual problems solved30 minutes
Changing ownersThe owner of one object and of a subtree changed from the administration after a preview, the same on the command line with --dry-run, the extension's guides found10 minutes
Notifications: running them and fixing problemsThe notification cronjob set up, the status page read, a run tried without sending mail, the usual problems solved30 minutes
Notifications: architecture, extending and testingA custom event type and handler that mail an address, a test that keeps mail in files45 minutes
E-mail preferences: setting them up and running themThe footer and links set up, the status page read, a request to stop mail, an export and an erasure handled, the gate tested without sending30 minutes
E-mail preferences: categories, the mail gate and testingA category of your own with a handler for older data, mail through the gate, a test that keeps mail in files30 minutes
Content languagesA language added with the searchable picker, shown by a siteaccess through SiteLanguageList, content translated into it, content moved out of a wrong language, a language removed without losing anything30 minutes
Remote services and appsServices called from the shell and from Python, a personal API token, a portal front end20 minutes
Personal API keysA key made on the site with only the scopes it needs, REST called with it from curl and Python, a key rotated and revoked; as an administrator: keys allowed for a role, every key seen and revoked, the audit read20 minutes
A front end on the GraphQL API, step by stepThe GraphQL API switched on in one command, a key for a front end, a Next.js, Nuxt, Astro, HTML or Expo project generated from the site's schema, its queries stored and cached, the mutations switched on20 minutes
GraphQL recipesA blog or news front end, a mobile app, a static build and an AI agent on the GraphQL API, with queries proven on the demo content15 minutes
REST API v1 and v2: one extensionWhich URL answers at v1 and v2 from the one ezprestapi extension, a client authenticated with OAuth2 or a key, the API called with curl, rest.ini read, an installation moved off the deprecated ezprestapiprovider20 minutes
UpgradingAn installation of 4.x, 5.x or an earlier 6.0.x moved to the current 6.0 line, and checked20 minutes for a small site
Upgrading with the consoleThe state of every upgrade step read, a dry run, the upgrade applied with a backup in one call, a failure resumed, drift found, the same from a pipeline15 minutes
Contributing to expcomponentsA fix to one of the kernel's libraries (the fork of the Zeta Components) cloned, tested on every supported PHP version, committed with its ChangeLog entry and offered as a pull request; how releases, versions and upstream syncs work30 minutes, then the fix
Upgrade steps for extensionsA table, a column and a default row of an extension made upgrade steps, registered, tested fresh, old, twice and half applied30 minutes
The upgrade checkThe files and the database compared with the release on Setup > Upgrade check, every kind of finding read and dealt with, the report downloaded, the same check run from a shell15 minutes
MigrationsWhat a migration is and when to use one, the life cycle from writing to pushing, where files live, order, environments, the record, transactions, the lock, every default and switch15 minutes
Migrations: a first PHP migration, step by stepTwo PHP migrations generated, filled in, checked, simulated, run, recorded, one taken back with its down(), a failure restored from its caption20 minutes
PHP migrationsThe class, plan(), up(), down() and detect(), the context, references, transactions, failure, maintenance mode, events, extensions, testsreference
YAML migration stepsThe kernel's step types: content in several languages, locations, versions; identifiers, workflows, which steps undo themselves, a step type of your ownreference
Migrations: SQL and settingsTables, columns, indexes and rows on every engine, SQL files per engine and for MongoDB, what is not transactional, INI migrations and settings steps with their backupsreference
Migrations: rollback and captionsThe captions of a run, their reuse, the automatic restore after a failure, a run, one migration or any caption taken back by hand15 minutes
Migrations: the migrations repositoryThe status file and run log, the site or a separate repository, one run one commit and tag, failed pushes and the cronjob part migrationpush10 minutes
Migrations: generators and recording changesYour own changes or every change of the site recorded as the steps of a migration, at the kernel's operation level and without personal data; the commands, Setup > Migrations > Recording, the events and the steps they become15 minutes
Migrations: packages, deploys and long runsThe migrations a package ships and when they run, the kickstarter's run, exp:velocity deploy --migrate, runs in parts and paced, PHP migrations in batches with a checkpoint, runs in the queue of expqueue15 minutes
Migrations: deploying to remote installationsexp:migration:deploy to one or many remotes at once and in sync: remotes and credentials by name, ssh, sftp, rsync, FTP, preflight and verification on all, all-or-nothing switch and rollback, status and history15 minutes
Migrations: engines and performanceOn which engines every family of the migration engine is tested (SQLite, MySQL/MariaDB, PostgreSQL, MongoDB), how to run the matrix and how CI does, the time and memory of 1,000 migrations, a large data step and a long run with checkpoints10 minutes
Migrations: troubleshootingEvery message of the migration commands, what it means and what to doreference
Migrations in the help centerThe hub: 25 recipes (tables, classes, content in bulk, roles, settings, testing, CI and deploy), pages per audience, the FAQ and troubleshooting by symptomreference
Missing files and image aliasesFiles missing from the storage and stale image aliases found below a node with the target "Missing files" of the broken relations, each row read and resolved after a preview (regenerated, restored, uploaded again, its reference removed or marked for review), the same from a shell with a dry run first15 minutes
Finding an error by its referenceThe log lines of a failed request found from the ERR- reference its error page showed, the rest of the request and the audit of that minute read, the same from a shell, without exposing personal data10 minutes

Road 1: editors

You write and manage content in the administration interface.

  1. Getting started: sections 4 to 6 (see the site, first login, first content).
  2. The content model and editing content: classes, objects, the online editor, the sub-items table, multi-node edit, the trash, content jobs.
  3. Depth, when you need it:

Road 2: site builders

You shape how the site looks and which extensions it uses.

  1. Getting started: section 7 (first template change, by click path and by file).
  2. The content model and editing content: the model your templates render.
  3. Templates and design: find the template, override it, check it, switch the admin design. Depth:
  4. Extensions: find, install, switch on and configure an extension. Depth:

Road 3: developers

You write extensions, templates with logic, commands and integrations.

  1. Getting started, then the settings tool: exp:ini.
  2. Extensions, section 6 and 7: build an extension by hand or with the RAD wizards, and release it. Its documentation: Documenting an extension (README.md and INSTALL.md on top, the rest as Markdown in doc/). Extension points (RAD): RAD tools, the extension points, the extension surface, RAD security.
  3. Commands, cronjobs and module views as classes: Commands, cronjob parts and module views and the specification; Console.
  4. Metadata and services: Remote services and apps (the guide), Personal API keys (REST with a key), Extension metadata, Backend services over ezjscore.
  5. Notifications: architecture, extending and testing, the specification, the INI reference, the commands. E-mail preferences: categories, the mail gate and testing, the specification, the commands, the law checklist.
  6. Tests and compatibility: Continuous integration, PHP 8 support. The kernel's libraries (ezc* classes): Exponential Components and Contributing to expcomponents. Changes to a site's database and content in code: Migrations, starting with the tutorial, then PHP migrations and the file format.
  7. Bridges to the Symfony platform: Legacy bridge, the platform repositories.

Road 4: operators

You run the installation: servers, caches, backups, upgrades, security.

  1. Getting started, then Deploying and Operating a site.
  2. Install on purpose: Install in one command, Kickstarter for repeatable installs, .htaccess and config.php from the console, SQLite, MongoDB.
  3. The web server: Velocity web server, its control panel, HTTPS certificates, engines compared, FrankenPHP.
  4. Caches and speed: cache control, HTTP caching, SQL query cache, static cache, preload, benchmark, the guide Benchmarking and, on LiteSpeed or OpenLiteSpeed, Page caching with LiteSpeed and OpenLiteSpeed.
  5. Keep it healthy: notifications (the cronjob, the status page, troubleshooting), e-mail preferences (the footer, consent, suppression, retention), maintenance mode, repair from the browser, file consistency check, missing files and image aliases, cronjobs, the log viewer and finding an error by its reference, workflows and their waiting processes, audit trail.
  6. Security: Security and audit (the guide), User management from the console, Two-step sign-in, Passkeys, Verify it's you, Security defaults of September 2026, the August 2026 patches, the 6.0.13 hardening.
  7. Upgrading: follow Upgrading; read the 6.0.15 changelog, then the behaviour changes of July and August, 16 to 30 September and October, in that order. A site's own changes arrive as migrations: Migrations, rollback and captions, the migrations repository.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

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