Skip to the content
Documentation
Manuals

Build with Exponential: why, which product, first steps

The "Build with Exponential" page of exponential.earth, checked against the software - why build on it (simple, stable, upgradable), what you get out of the box, the product family as the repositories describe it.

  • Topic type: Concept
  • For: Visitors Administrators Developers Designers Application creators Website creators
  • doc.help.project.build-with-exponential
  • Last changed
  • JSON
On this page

The website's Build with Exponential page explains why to build websites and applications on Exponential, which member of the product family to choose, and how to get from a download to a first published page. This page follows it, in this help's words, and checks every claim against the software in this repository. Where the two disagree, this page follows the repository and says so in a note.

Why build on it

The website gives three reasons. Each is visible in the software:

Simple by design

Everything rests on one content model that you can learn in an afternoon:

  • content classes define the shape of your content (an article has a title, an intro, a body, an image);
  • content objects hold the content itself, with versions and translations;
  • the content tree arranges it, and the address of a page follows the tree, readable and predictable.

There is no build step between a change to a template and the page that shows it.

Stable by default

Caches are built into the kernel and managed for you; you clear them selectively or all at once, from Setup > Cache management in the administration or from the command line. Within the 6.0 line an upgrade is new code, one database update file for your database engine, and clearing caches (Upgrading, 11.6).

Upgradable for the long term

Every release is tagged, and every change is recorded in the 6.0.15 changelog and in backwards-compatibility notes under doc/eng-us/bc/. Because the license is the GNU GPL version 2 or later, you can fork, self-host and upgrade on your own schedule; no vendor can lock you in.

What you get out of the box

The website's list, each with where to read more in this help:

FeatureRead
Content modeling with content classes and datatypesEditing content
Several sites, languages or audiences from one installation (siteaccesses)Languages
Role-based permissions down to single objectsAccounts and sign-in
Built-in full-text search, with other search engines as plug-insSearching
Workflows for approval and scheduled publishingPublishing and versions
A REST API and JSON views for headless usethe README
An extension API: modules, datatypes, template operators, workflow events and moreExtensions
Cluster-ready file storagethe installation book
Static cache for the fastest pagesthe installation book
Translation into any number of languagesLanguages

The product family

The website presents Exponential as a family of products that share a lineage. The repositories of the se7enxweb organization describe each one as follows; the full account, with sources, is on Who is the Exponential Foundation?.

ProductWhat it is, according to its repositoryChoose it when
Exponential 6 (this software)The CMS, framework and shop kernel, with its own template language and administrationYou want the full CMS on PHP alone, with or without a database server
Exponential BasicA small, simple CMS from an older, separate line of the code base, for learning, personal use and small sitesYou want something small to learn with
Exponential PlatformA CMS on the Symfony framework from the last free version of that platform, without Exponential 6You run that Symfony platform and want to stay on it
Exponential Platform LegacyThe Symfony platform with a full copy of Exponential 6 next to it (two kernels)You keep an Exponential 6 site and want Symfony beside it
Exponential Platform NexusThe Symfony platform with Exponential 6, a layouts editor and a complete demo media siteYou want a complete site with layouts and demo content fast
Exponential Platform DXPA Symfony-only digital experience platform with REST and GraphQL, without Exponential 6You start a new Symfony project with no legacy kernel

Note: where the website and the repositories differ The website's build page describes some products differently from their repositories. It calls Exponential Basic a pre-configured distribution of Exponential CMS, while its repository describes a separate, older line of the code base. It describes Platform Legacy as a migration package of compatibility shims and migration tools, while its repository describes a dual-kernel distribution. It describes Nexus as a headless-first edition reached by an extension install, with a JavaScript frontend bridge and event and AI pipelines, and the DXP as a set of Exponential extensions, while their repositories describe Symfony distributions (Nexus with Exponential 6 and the layouts editor; the DXP without the legacy kernel). This help follows the repositories. Read each product's own README before you choose.

For moving an existing site onto any of them, see the migration hub.

From download to first page

The website's five steps, with the details from this help:

  1. Download. Get the latest stable release from GitHub releases, or clone the repository so that later updates are a git pull away. The project recommends Git clones for building websites (Develop with Git; Getting the code).
  2. Install. Put the files in your web server's document root, or serve them with Velocity, open the site in a browser and follow the setup wizard: database, administrator account, site and languages (The setup wizard; other ways in Choosing an install method).
  3. Model your content. In the administration, open the content classes and define the kinds of content you need. The website's advice holds: start with two or three classes and add more as you learn what the project needs; attributes and classes can be added later without migrating content.
  4. Build your design. Create a design folder (best inside your own extension), add templates and stylesheets, and point your siteaccess at it. Override only the templates you need; never edit the core's own, so your work survives upgrades (Exponential: frequently asked questions).
  5. Publish. Create content in the tree, publish it now or later, add an approval workflow if your team needs one (Publishing and versions), and warm the caches.

The console

Exponential 6.0.15 adds bin/php/console (with the shortcut ./console in the root of the installation), which runs every command-line script under one name. The commands the website shows, checked against console list:

php bin/php/console list                        # every command
php bin/php/console exp:ezcache --clear-all     # clear all caches
php bin/php/console exp:preload --apply                 # warm the page caches and report broken links
php bin/php/console exp:updatesearchindex       # rebuild the search index
php bin/php/console exp:ezpgenerateautoloads -e # regenerate the class autoload arrays of the extensions

Run them as the user that owns the files, in the root of the installation. list prints every command with a one-line description and the script it runs (exp:preload runs bin/php/preload.php, for example); the options are those of that script.

Get help, give back

Stuck? Getting support. If Exponential saves you time or earns you money, the website asks you to give something back: sponsor the work, contribute code or documentation, or tell others about it (Give and donate, Contribute to the project).

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. Start with Partners: start here and How to apply.

Was this helpful?

Only your answer is kept, not who you are.

Something wrong on this page? Report an error