Help for DXP Developers
Develop for Exponential Platform DXP: the Symfony distribution, its admin UI, REST and GraphQL, and how it differs from Exponential 6.
56 pages
Start here
Read these pages in this order.
- DXP Developers: start here Where Symfony developers who build on Exponential Platform DXP start. What the DXP is and is not, which pag...
- Migrations The start of everything about migrations in Exponential 6.0.15 - schema and content changes written once as...
- Coming from Doctrine Migrations For developers who know Doctrine Migrations from Symfony projects - every Doctrine command and class mapped...
- Coming from the Kaliop migration bundle For developers who used the Kaliop eZ Migration Bundle (ezmigrationbundle) on eZ Platform and Ibexa project...
- Migrations: frequently asked questions Short answers to the questions people ask about migrations in Exponential 6.0.15 - what they are for, how t...
- Exponential migrations for Doctrine users For developers who know Doctrine Migrations from the DXP and now work on an Exponential 6 site - what is th...
Good to know
-
Exponential migrations for Doctrine users
For developers who know Doctrine Migrations from the DXP and now work on an Exponential 6 site - what is the same, what differs (content as well as schema, captions, commit, tag and push, environments, the…
-
Migrations
The start of everything about migrations in Exponential 6.0.15 - schema and content changes written once as files under version control and applied to every installation of a site in the same order, with a caption…
-
Coming from Doctrine Migrations
For developers who know Doctrine Migrations from Symfony projects - every Doctrine command and class mapped to its Exponential 6 counterpart, what Exponential adds (captions, commit, tag and push, environments…
-
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…
-
Deploying with migrations: CI/CD and GitHub Actions
Run migrations as part of every deploy - the order of the steps, a complete GitHub Actions workflow that checks pull requests and deploys over SSH, the exit codes a pipeline acts on, the installation lock, and runs…
-
Migrations: frequently asked questions
Short answers to the questions people ask about migrations in Exponential 6.0.15 - what they are for, how they differ from upgrades and site moves, how runs, captions, rollback, environments, teams, CI, engines…
Search by topic
Each button lists the pages of one topic for DXP Developers.
Key pages
All pages for DXP Developers- What Exponential Platform DXP is The DXP in one page for developers - its architecture, the single Symfony kernel, the entry points, the packages it is made of, who maint...
- What the DXP ships and what it does not The definitive list of what Exponential Platform DXP installs, read from the metapackage's requirements, and what it does not include - n...
- Choosing DXP, Legacy, Nexus or Exponential 6 A decision guide for developers - which product of the Exponential family fits a project, with the questions to ask, a comparison table r...
- Reading the metapackage A walk through the composer.json of se7enxweb/exponential-platform-dxp and of the skeleton - what each requirement is for, the conflicts,...
- The se7enxweb forks and replace Why a DXP project installs se7enxweb packages under upstream names, how Composer's replace makes third-party bundles keep working, how to...
- PHP, Symfony and Node.js versions The versions a DXP project needs - PHP 8.3 or newer with its extensions and ini settings, Symfony 7.4, Composer 2, Node.js 20 and Yarn 1....
- Installing with the skeleton Step by step from an empty folder to a running DXP project - create-project or git clone, environment, database, install command, permiss...
- Environment variables Every environment variable the DXP skeleton's guide documents - application, database (MySQL, PostgreSQL, SQLite), JWT, search engine, HT...
- Databases: MySQL, MariaDB, PostgreSQL and SQLite Which databases a DXP project runs on, how to create each one with the right character set, which to choose for development and productio...
- SQLite for development Run a DXP project on SQLite with no database server - the DSN, the synchronous messenger transport, the install, file permissions, the tw...
Related audiences
Free documentation: use it to help yourself and others
This help is free documentation, licensed under the GNU Free Documentation License 1.3 or later. You may use it, share it and improve it:
- Study it Read any page as often as you like, for any purpose.
- Copy it and share it Give pages to other users, on paper or as files. Keep the copyright notice, the license notice and a copy of the license with every copy.
- Translate, adapt and improve it Share your version under the same license, with the original notices and a note of what you changed.
- Cite it Refer to a page by its title and its address in the help, or its file in the doc directory.
- Contribute fixes back Use "Edit on GitHub" on any page. Changes are accepted under the same license, so they stay free for everyone.
Exponential Copyright © 1998-2026 Exponential Foundation and 7x