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

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 license field, the Flex recipe endpoints and minimum stability - so you know…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/dxp-developers/reading-the-metapackage.md

On this page

Reading the metapackage

This page is for developers who want to know exactly what a DXP project installs and why. It walks through the two composer.json files that define a project: the metapackage se7enxweb/exponential-platform-dxp and the skeleton se7enxweb/exponential-platform-dxp-skeleton.

Contents

  1. Two files, two jobs
  2. The metapackage, section by section
  3. The skeleton, section by section
  4. Questions the files answer
  5. Reading them on your own project

Two files, two jobs

FilePackage typeJob
se7enxweb/exponential-platform-dxpmetapackageLists every package of the DXP. It has no code of its own.
se7enxweb/exponential-platform-dxp-skeletonprojectThe starting point of your project: requires the metapackage, sets up Flex, autoloading and scripts. After create-project it is your project's composer.json.

The metapackage, section by section

require. PHP >=8.3, ext-ctype and ext-iconv, then four groups:

  • the content packages (se7enxweb forks and upstream ibexa/* packages), grouped on What the DXP ships;
  • Symfony 7.4 components and bundles (symfony/framework-bundle, symfony/security-bundle, symfony/form, symfony/mailer, symfony/twig-bundle, symfony/webpack-encore-bundle and others);
  • Doctrine (doctrine/doctrine-bundle, doctrine/doctrine-migrations-bundle);
  • tooling bundles (lexik/jwt-authentication-bundle, overblog/graphiql-bundle, knplabs/knp-menu-bundle, friendsofsymfony/jsrouting-bundle, monolog/monolog, twig/extra-bundle).

Several content packages are required at a development branch (for example ~5.0.x-dev); the se7enxweb forks are required at tagged versions where one exists (se7enxweb/admin-ui ^5.0.5.0, se7enxweb/exponential-platform-dxp-core ^5.0.1.0).

conflict. Known bad versions that Composer must never install, for example doctrine/doctrine-bundle 2.6.3, lexik/jwt-authentication-bundle 2.12.0 || 2.18.0 and symfony/webpack-encore-bundle 1.14.0. Do not remove them in your project.

license. (GPL-2.0-or-later or proprietary) (Licensing).

extra.branch-alias. dev-master is aliased to 1.3.x-dev.

The skeleton, section by section

require. PHP >=8.3, the extensions ctype, iconv, gd, curl, json, xsl, xml, intl, mbstring, then se7enxweb/exponential-platform-dxp at dev-master, symfony/flex, symfony/runtime and nyholm/psr7. require-dev adds the Symfony debug bundle, stopwatch and web profiler.

config.allow-plugins. Only ibexa/post-install, symfony/flex and symfony/runtime may run as Composer plugins; every other plugin is refused ("*": false). Keep this list short in your project.

autoload. Your code lives under the App\ namespace in src/, tests under App\Tests\ in tests/.

scripts. After install and update, cache:clear and assets:install --symlink --relative run automatically.

extra.symfony.endpoint. Flex reads recipes from the ibexa/recipes index, from se7enxweb/sevenx-recipes and from the Flex defaults. The recipes write your configuration under config/ (sevenx-recipes).

minimum-stability and prefer-stable. The skeleton sets minimum-stability to dev and prefer-stable to false, because several packages are required at development branches. Before a production release, decide which packages you pin to tags in your own composer.json and commit composer.lock (Updating).

conflict. symfony/symfony is in conflict: install Symfony as separate components, never the monolith.

Questions the files answer

QuestionWhere to look
Is GraphQL included?ibexa/graphql in the metapackage: yes
Is a layouts editor included?Only se7enxweb/layouts-core: no editor
Which PHP version?"php": ">=8.3" in both files
Which Symfony version?The symfony/* requirements: ^7.4
Why does Composer refuse a version?The conflict section

Reading them on your own project

composer show se7enxweb/exponential-platform-dxp      # version installed and its requirements
composer depends ibexa/rest                           # who requires a package
composer why-not php 8.2                              # why an older PHP is refused
composer outdated "se7enxweb/*"                       # newer releases of the forks

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