- GraphQL recipes: a blog, a mobile app, a static build, an AI agent Four common front ends on the GraphQL API, and live updates with webhooks and subscriptions, each with the queries that do the work and the settings that go with them. The queries were run against the demo content of…
- Host static sites on GitHub Pages with Exponential 6.0.15+ This guide shows how to put a free, fast, secure public copy of an Exponential site on GitHub Pages, while editors keep working in Exponential. The copy is static: plain HTML pages and files, no PHP and no database…
- Links, URL aliases, wildcards and search statistics This guide teaches the four pages of the administration interface that look after addresses: the link list (which external and internal links your content uses and whether they work), the global URL aliases (addresses…
- Maintenance mode: taking the site offline and bringing it back This guide teaches everything about maintenance mode in Exponential: what visitors, administrators and allowed addresses get while it is on, how to switch it on and off from the administration page Setup > Maintenance…
- Migrations: a first PHP migration, step by step In this tutorial you write two PHP migrations for a site: one creates a table exp_news_note with a first row, the other publishes a folder "News" below the content root and notes it in the table. You check them, look at…
- Migrations: changes to an installation, written once and applied everywhere This guide explains the migrations of the Exponential 6.0.15 kernel: a change to an installation (a table, content, a role, a setting) written once in a file under version control and applied to every installation of…
- Migrations: deploying to remote installations This page is the guide to deploying the migrations of one installation (for example beta) to one or many other installations (dev, stage, production, a group of production nodes) and running them there, all at once and…
- Migrations: engines and performance This page says on which database engines every part of the migration engine is tested, how the tests are run in a project and in CI, and what a run costs: the time and memory of 1,000 migrations, of a large data step…
- Migrations: generators and recording changes Writing a migration by hand is the exact way; recording it is the quick one. While a recording runs, every change you make in the administration, in the website sidebar or with a command is kept as a step of a YAML…
- Migrations: packages, deploys and long runs This page is the guide to migrations that run without anybody starting them by hand, and to runs that take long: the migrations a package ships, which run when it is installed; the run of the kickstarter; the run of a…
- Migrations: rollback and captions A migration run never leaves an installation without a way back. Before it writes, it takes a caption, a safe point of the database, the storage and the settings; when a migration fails, the run puts the installation…
- Migrations: SQL and settings This page is the guide to the migrations that change the database schema, rows and settings: the portable schema and data steps that every engine understands, SQL migration files with a file per engine, the sql step…
- Migrations: the migrations repository, commit, tag and push Every migration run leaves a record in git: a status file that says what an environment has applied, and the log of the run. After every run, the failed ones too, both are committed, the commit is tagged and pushed…
- Migrations: troubleshooting This page lists the messages the migration commands print, what each means and what to do. Messages that start with FAIL: are errors (the exit code is not 0); WARN lines are warnings, the command still passed. Every…
- Missing files and image aliases This guide shows how to find content whose files are gone from the storage: an image whose original is not in var//storage any more, a file or a media object whose upload was lost, and images whose aliases are missing…
- My drafts and my pending items This guide explains two pages of the administration dashboard: My drafts (/content/draft), the versions you started and have not published, and My pending items (/content/pendinglist), the versions you sent for…
- Notifications: architecture, extending and testing This guide is for developers. It explains how the notification system is built, how to add your own event type and handler (with a complete example that was run), how the mails are made and overridden, which settings…
- Notifications: running them, reading the status page and fixing problems This guide is for the administrator who keeps the notification system working: the person who sets up the cronjob, looks at the status page, tries a run safely and finds out why a mail did not come. By the end of it you…
- Object states: stages of your own for content, and who may do what in each This guide teaches everything about content object states in Exponential: what they are for, how state groups and states relate, how to create, translate, order and remove them in the administration, how content gets a…
- Operating a site: caches, cronjobs, backups and repairs This guide is for the person who keeps an Exponential site running, day to day. It takes you through the routine work of keeping it healthy: looking at the caches and clearing the right one, running cronjobs, switching…
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