open-dxp / opendxp
Content & Product Management Framework (CMS/PIM)
Requires
- php: ~8.3.0 || ~8.4.0
- composer-runtime-api: ^2.0
- ext-curl: *
- ext-dom: *
- ext-exif: *
- ext-fileinfo: *
- ext-gd: *
- ext-iconv: *
- ext-intl: *
- ext-json: *
- ext-mbstring: *
- ext-pdo: *
- ext-pdo_mysql: *
- ext-simplexml: *
- ext-zip: *
- ext-zlib: *
- composer/ca-bundle: ^1.2
- defuse/php-encryption: ^2.2.0
- doctrine/annotations: ^1.13.1 || ^2.0
- doctrine/dbal: ^3.8
- doctrine/doctrine-bundle: ^2.6.3
- doctrine/doctrine-migrations-bundle: ^3.2.2
- doctrine/inflector: ^2.0.2
- doctrine/orm: ^2.15 || ^3.0
- doctrine/persistence: ^3.0.3
- egulias/email-validator: ^3.0 || ^4.0
- endroid/qr-code: ^4 || ^5.1
- friendsofsymfony/jsrouting-bundle: ^3.6
- guzzlehttp/guzzle: ^7.8
- http-interop/http-factory-guzzle: ^1.0.0
- knplabs/knp-paginator-bundle: ^6.0.0
- league/csv: ^9.11
- league/flysystem: ^3.12.0
- league/flysystem-bundle: ^3.3.0
- league/html-to-markdown: ^5.1
- matthiasmullie/minify: ^1.3
- monolog/monolog: ^3.2.0
- mpratt/embera: ^2.0.14
- myclabs/deep-copy: ^1.13.4
- neitanod/forceutf8: ^2.0.4
- nesbot/carbon: ^3.8.4
- onnov/detect-encoding: ^2.0
- open-dxp/admin-bundle: ^1.0
- pear/net_url2: ^2.2
- presta/sitemap-bundle: ^3.3 || ^4.1
- sabre/dav: ^4.1.2
- scheb/2fa-bundle: ^6.0 || ^7.5
- scheb/2fa-google-authenticator: ^6.0 || ^7.5
- spatie/image-optimizer: ^1.6.2
- symfony-cmf/routing-bundle: ^3.0
- symfony/cache: ^7.4
- symfony/config: ^7.4
- symfony/console: ^7.4
- symfony/contracts: ^3.2
- symfony/debug-bundle: ^7.4
- symfony/dependency-injection: ^7.4
- symfony/doctrine-bridge: ^7.4
- symfony/doctrine-messenger: ^7.4
- symfony/dom-crawler: ~6.4.0 || ^7.4
- symfony/error-handler: ^7.4
- symfony/event-dispatcher: ^7.4
- symfony/expression-language: ^7.4
- symfony/filesystem: ^7.4
- symfony/finder: ^7.4
- symfony/framework-bundle: ^7.4
- symfony/html-sanitizer: ^7.4
- symfony/http-foundation: ^7.4
- symfony/http-kernel: ^7.4
- symfony/lock: ^7.4
- symfony/mailer: ^7.4
- symfony/messenger: ^7.4
- symfony/mime: ^7.4
- symfony/monolog-bundle: ^3.8
- symfony/options-resolver: ^7.4
- symfony/password-hasher: ^7.4
- symfony/process: ^7.4
- symfony/property-access: ^7.4
- symfony/rate-limiter: ^7.4
- symfony/routing: ^7.4
- symfony/security-bundle: ^7.4
- symfony/security-core: ^7.4
- symfony/security-http: ^7.4
- symfony/serializer: ^7.4
- symfony/string: ^7.4
- symfony/translation: ^7.4
- symfony/twig-bridge: ^7.4
- symfony/twig-bundle: ^7.4
- symfony/uid: ^7.4
- symfony/validator: ^7.4
- symfony/var-dumper: ^7.4
- symfony/var-exporter: ^7.4
- symfony/web-profiler-bundle: ^7.4
- symfony/webpack-encore-bundle: ^1.17 || ^2.0
- symfony/workflow: ^7.4
- symfony/yaml: ^7.4
- tijsverkoyen/css-to-inline-styles: ^2.2.3
- twig/extra-bundle: ^3.4.0
- twig/string-extra: ^3.3.5
- twig/twig: ^3.21.1
- umpirsky/country-list: ^2.0.6
Requires (Dev)
- behat/gherkin: 4.12.0
- chrome-php/chrome: ^1.4.0
- codeception/codeception: ^5.3.5
- codeception/module-asserts: ^3.2
- codeception/module-symfony: ^3.8
- codeception/stub: ^4.3
- composer/composer: *
- ergebnis/phpstan-rules: ^2.9
- gotenberg/gotenberg-php: ^2.4
- phpstan/phpstan: 2.1.33
- phpstan/phpstan-symfony: ^2.0.9
- phpunit/phpunit: ^10.5
- symfony/dotenv: ^7.4
- symfony/runtime: ^7.4
- webmozarts/console-parallelization: ^2.1
Suggests
- ext-imagick: ^3.4.0
- ext-redis: *
- ext-sockets: *
- chrome-php/chrome: ^1.4.0 - Optional for Documents Page Previews when requiring gotenberg-php v2, but required if you opt for gotenberg-php v1
- elasticsearch/elasticsearch: Required for Elastic Search service
- gotenberg/gotenberg-php: ^2.4 - Required for generating pdf via Gotenberg in assets preview (LibreOffice), page preview, version diff and web2print
- phpdocumentor/reflection-docblock: ^5.2 - Required for OpenDXP Generic Execution Engine Bundle
- symfony/dotenv: ^7.4 - Required for loading environment vars from .env files
- symfony/property-info: ^7.4 - Required for OpenDXP Generic Execution Engine Bundle
- webmozarts/console-parallelization: ^2.1 - Required for parallelization of console commands
Conflicts
- sabre/dav: 4.2.2
- symfony/symfony: *
- thecodingmachine/safe: <2.0
README
Open Source Data & Digital Experience Platform
Disclaimer
OpenDXP is a community-driven fork based on the Pimcore® Community Edition (GPLv3).
OpenDXP is independent and maintained by its community and contributors. It is not affiliated with, endorsed by, or sponsored by Pimcore GmbH.
Original credits: Pimcore GmbH
OpenDXP is based on the Pimcore® Community Edition and remains licensed under GPLv3.
Open source platform combining PIM · DAM · Headless CMS · Composable Commerce
API-first, built on Symfony — 100% open source, community-driven.
Core FrameworkInstallation, configuration and the complete API reference for the OpenDXP platform. Browse Documentation → |
Core BundlesOfficial bundles extending the core: Search, Marketing, Data Hub and more. Browse Documentation → |
Feature BundlesEmpowering feature bundles: FormBuilder, Headless, E-Commerce and many more. Browse Documentation → |
Core Features and Highlights
OpenDXP provides a codebase that enables:
Simultaneous Data Modeling and UI Configuration
OpenDXP supports defining data structures (e.g., MDM/PIM) and configuring editorial UIs in parallel. Unstructured web content can be handled via templates; structured data can be managed with a graphical class editor. Data is persisted by the application according to the project's configuration.
Flexible Framework and Extensibility
OpenDXP uses the Symfony framework. Functionality can be extended via Symfony components and custom bundles. APIs allow integration with various frontend stacks.
Combined Functional Areas
The application includes functionality for MDM/PIM, DAM, and Web‑CMS within the same codebase. Depending on solution architecture, this setup can reduce additional integration work (e.g., separate APIs, import/export, synchronization).
Administration Interface
The administration interface is provided by the admin-bundle and available for editorial workflows. Configuration options can be adjusted to align UI behavior with project requirements.
Getting Started
Three commands to install a working skeleton application:
COMPOSER_MEMORY_LIMIT=-1 composer create-project open-dxp/skeleton ./my-project
cd ./my-project
./vendor/bin/opendxp-install
Resources
| Documentation | Full platform & bundle docs |
| Issue Tracker | Report bugs or request features |
| Discussions | Community support |
| Upgrade Notes | Get started with OpenDXP 1.0 |
| Testing with AI (Claude) | Write, run and fix tests with Claude Code |
Contributing
Bug fixes: open a pull request including a step-by-step description to reproduce the problem. Security vulnerabilities: see our security policy.
Supported Versions
Support of a minor version of OpenDXP packages ends with the release of the next minor version.
Upstream Origin & Version Transparency
This project is a fork of the Pimcore® Community Edition (9246a42 / v11.5.13), which is © Pimcore GmbH and licensed under GPLv3.
License
Licensed under the GNU General Public License v3.0 (GPLv3). For details, please see LICENSE.md.
Copyright
© Pimcore GmbH
© 2026 OpenDXP Contributors — GPLv3
Trademarks
Pimcore® is a registered trademark of Pimcore GmbH. Any use of the Pimcore® mark in this repository is purely descriptive to identify the original upstream project.
Contact
For inquiries, suggestions, or contributions, feel free to reach us at contact@opendxp.io.
About
OpenDXP is a community-driven project initiated by DACHCOM.DIGITAL (Rheineck, Switzerland) and maintained by its community and contributors. OpenDXP is independent and not affiliated with Pimcore GmbH.
The project’s purpose is to preserve and maintain a GPLv3‑licensed codebase for community use.
It is not positioned as a competitor to products or services of Pimcore GmbH and does not purport to replace or supersede any Pimcore offering.
