Coming from Exponential 6
This page is for developers who know Exponential 6 (INI settings, .tpl templates, extensions) and start a project on
the DXP. It maps what you know to what you will meet, and helps you decide whether an existing site should move.
Contents
Should the site move?
Exponential 6 is the maintained line, not a dead end ("Legacy" only means the kernel beside a Symfony platform, Knowing the product family). Move a site to the DXP when the team wants Symfony, Twig and Doctrine, or needs what the DXP's APIs offer in that stack. Stay on Exponential 6 when the site relies on its kernel features that the DXP does not ship: the shop, workflows such as approval or waiting until a date, Exponential Layouts, Exponential Velocity (What the DXP ships and what it does not).
The translation table
| Exponential 6 | DXP | Read |
|---|---|---|
| Content class, class attribute | Content type, field definition | Content, content types and locations |
| Content object, object attribute | Content item, field | same |
| Node | Location | same |
| Datatype | Field type | The field types it ships |
settings/*.ini, .ini.append.php | YAML under config/packages/ | The project directory layout |
Siteaccess in site.ini | ibexa.siteaccess and ibexa.system.<scope> | Siteaccesses |
Design chain ([DesignSettings]) | Design engine: designs of ordered themes | Twig and the design engine |
.tpl templates, override.ini | Twig templates, content view configuration | Twig functions |
attribute_view_gui | ibexa_render_field | same |
fetch( 'content', 'node', ... ) | Repository services in PHP, or a content query field | Content, content types and locations |
Image aliases in image.ini | Image variations in YAML | Image variations |
| Extension | Symfony bundle, or code in src/ | |
| Module and view | Controller and route | |
| Cronjob parts | ibexa:cron:run, console commands | Cron |
bin/php/ezcache.php | bin/console cache:clear and the pool commands | Application cache |
| Roles and policies | Roles and policies (same idea) | |
| The admin designs | /adminui/ | The admin UI |
Chapter 16 of the installation guide shows the opposite direction in detail (YAML to INI, Twig to TPL), which reads just as well as a dictionary (16.6.5, 16.6.6).
Habits to keep and habits to change
Keep: thinking in content types first; using roles instead of code for access; overriding templates instead of copying them; clearing only the cache that needs clearing.
Change: configuration is compiled into the Symfony container, so any YAML change needs cache:clear; services are
injected, not fetched from a global; assets are built with Encore, not packed at runtime.
Running both
The legacy bridge runs the Exponential 6 kernel inside a Symfony platform on one database, so editors can keep the legacy administration while a Twig front end grows. It is not part of the DXP: use Exponential Platform Legacy or a Nexus line that includes the legacy kernel (Legacy bridge, Choosing).
Related pages
- Developers: the extension development book
- Choosing DXP, Legacy, Nexus or Exponential 6
- Legacy bridge
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
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.