open-dxp/opendxp
OpenDXP is an open-source digital experience platform built on PHP and Symfony. It provides flexible tools and APIs for managing content, product data, digital assets, and customer experiences, making it easier to build and integrate modern web applications.
Architecture fit
OpenDXP is not a Laravel package in any conventional sense — it is a full-stack digital experience platform (PIM + DAM + headless CMS + commerce) that expects to be the application. Under the hood it is a Symfony/Doctrine PHP platform with its own admin UI, its own data modeling layer, and a required backing stack (MySQL/MariaDB, Redis, a search engine such as Elasticsearch/OpenSearch, queue workers, and object storage/CDN for assets). It is also the community fork lineage of Pimcore, which means the architecture, extension model (bundles, class definitions, workflows), and operational shape are inherited from that ecosystem rather than designed for Laravel.
For a Laravel product this means: do not plan to composer require this into an existing Laravel app. Treat it as an adjacent service you integrate with over HTTP (REST/GraphQL/Datahub-style APIs, webhooks), with Laravel remaining the system of record for transactional and domain data.
Integration feasibility
Feasible, but only at the edge:
Technical risk
Key questions to resolve before scoping
Stack fit
Laravel stays the application: checkout, accounts, orders, pricing rules, auth. OpenDXP owns product content and enrichment, media/DAM, translations, and marketing/CMS surfaces. The contract between them is HTTP + events only.
Migration path
Compatibility
Pin PHP and the platform version explicitly; run OpenDXP in its own container image with its own CI. On the Laravel side, lock the API contract with recorded fixtures and schema snapshot tests so upstream drift fails the build rather than production. Do not attempt to share Composer dependencies across the boundary.
Sequencing
License gate → Docker PoC → API contract tests → cache/fallback layer → observability (latency, error rate, cache hit ratio, webhook lag) → content migration → legacy decommission. Each phase independently shippable and independently abandonable.
Maintenance
Two runtimes, two upgrade cadences, two skill sets. OpenDXP majors will track Symfony LTS; expect an annual upgrade that is not trivial (data model and bundle compatibility). You are also maintaining a fork relationship — monitoring upstream, evaluating patches, and deciding when to merge. Budget a standing 10–15% of one engineer's time for platform upkeep alone.
Support
Community-scale support at ~104 stars. Expect GitHub issues and a chat channel, no SLA, and few consultants. Internal SME coverage is mandatory; a single-person dependency here is an outage waiting to happen. If a commercial support option exists in the ecosystem, price it — it may be the cheapest risk reduction available.
Scaling
OpenDXP is resource-hungry by design: PHP-FPM tier, worker tier for async jobs, search cluster, Redis, and object storage. Scale the API tier horizontally behind a load balancer; keep workers separate so long-running imports don't starve request handling. On the Laravel side, the scaling problem becomes cache design — payload sizes and API rate limits, not the Laravel app, will set your ceiling.
Failure modes
Ramp-up
A competent Laravel developer reaches productivity against the API in roughly 4–6 weeks (auth, pagination, caching, webhooks, asset handling). Real platform expertise — data modeling, class definitions, workflows, custom bundles, upgrade mechanics — is a 3–6 month curve and is Symfony-shaped, not Laravel-shaped. Staff accordingly: one platform engineer who owns OpenDXP, one Laravel engineer who owns the integration layer and its contract tests. Do not assume the Laravel team can absorb platform ownership on top of existing delivery commitments.
How can I help you explore Laravel packages today?