Understand your OpenDXP data model at a glance — interactive class diagrams, right inside the admin UI.
A bundle by PRinguin for OpenDXP. Turn your DataObject classes, Object Bricks, Field Collections and their relations into a clean, zoomable, exportable diagram — without ever leaving OpenDXP.
Features · How it works · Live example · Requirements · Get the bundle
ℹ️ This is a public overview repository. The source code is distributed privately to our customers. If the bundle looks like a fit, see Getting access and get in touch — we'll get you set up.
As an OpenDXP project grows, its data model does too. Dozens of classes, nested Object Bricks, Field Collections, localized fields and a web of relations quickly become hard to keep in your head. New team members struggle to onboard, architecture reviews turn into archaeology, and documentation is outdated the moment it's written.
The Data Model Visualizer solves this. It reads your live class definitions and renders them as a standard UML-style class diagram — always up to date, because it's generated directly from your running system. No manual diagramming, no external tools, no data ever leaving your server.
- 🧭 Native admin integration — adds a Data Model Visualizer entry under Extras. No separate app, no context switch.
- ✅ Granular class selection — individual checkboxes, full-text search, and select/deselect-all. Diagram your whole model or just the corner you care about.
- 🧱 Object Bricks — rendered as dedicated classes with a
<<objectbrick>>stereotype and composition arrows back to their owner. - 📦 Field Collections — rendered as dedicated classes with a
<<fieldcollection>>stereotype. - 🌍 Localized fields — clearly marked with an
<<i18n>>stereotype. - 🔗 Automatic relation mapping — detects
manyToMany,manyToOne,advancedManyToMany,reverseManyToManyand more, including allowed Asset/Document targets, with correct cardinalities. - 🔍 Zoom & pan —
Ctrl / Cmd + Mouse wheelor toolbar buttons for large models. - 📤 One-click export — download your diagram as SVG, PNG, or Markdown (Mermaid) for docs, wikis and pull requests.
- 🔒 Fully self-hosted — Mermaid.js is bundled and served locally. No external CDN at runtime, CSP-compliant (no inline JS), and no data leaves your infrastructure.
- Open Extras → Data Model Visualizer in the OpenDXP admin.
- Pick the classes you want to see — search, tick, or select all.
- Toggle Object Bricks and Field Collections on or off.
- Click Generate diagram. The bundle reads your live class definitions and renders them instantly.
- Zoom in, then export as SVG, PNG or Markdown.
The diagram is generated from your actual class definitions every time, so it's never out of date.
The bundle produces standard Mermaid class diagrams. Here is a representative example of what a small e-commerce model looks like once rendered (GitHub renders this natively):
---
title: Data Model Diagram
---
classDiagram
class Product {
+input sku
+localizedfields name <<i18n>>
+localizedfields description <<i18n>>
+numeric basePrice
+manyToOneRelation manufacturer
+manyToManyObjectRelation categories
+manyToManyRelation gallery
+objectbricks seoMetadata
+fieldcollections priceTiers
}
class Category {
+localizedfields title <<i18n>>
+input slug
+manyToManyObjectRelation products
}
class Manufacturer {
+input name
+input country
}
class Brick_SeoMetadata {
<<objectbrick>>
+input metaTitle
+textarea metaDescription
+input canonicalUrl
}
class FC_PriceTier {
<<fieldcollection>>
+numeric minQuantity
+numeric unitPrice
}
Product --> "1" Manufacturer
Product --> "*" Category
Product --> "*" Asset
Category --> "*" Product
Product *-- "0..*" Brick_SeoMetadata : objectbrick
Product *-- "0..*" FC_PriceTier : fieldcollection
Your real diagram reflects your classes, bricks, field collections and relations — automatically.
| Requirement | Version |
|---|---|
| OpenDXP | 1.x (Symfony 7.x) |
| PHP | 8.3 or 8.4 |
| Browser | Any modern evergreen browser (Chrome, Firefox, Edge, Safari) |
| Server access | Standard OpenDXP bundle installation via Composer or path repository |
Installation footprint: The bundle is lightweight. On install it fetches a single local copy of mermaid.min.js (or you can drop it in manually for fully offline installs). Everything else runs on your existing OpenDXP/Symfony stack — no additional services, databases or background workers required.
We love open source and we try to contribute to OpenDXP as much as possible. And we do offer free open source bundles for OpenDXP and Pimcore. However maintaining a bundle like this is expensive and therefor we need to compensate our efforts.
The bundle is distributed to licensed customers via a private GitHub repository. To evaluate or purchase it:
- Get in touch — email kontakt@pringuin.de or use the contact form at www.pringuin.com.
- Tell us a little about your setup: OpenDXP version, languages, expected volume, and which provider(s) you intend to use.
- We'll grant your GitHub account access to the private package repository and walk you through installation.
Pricing is on request — reach out and we'll put together an offer that fits your project.
Does any data leave my server? No. The bundle reads class definitions locally and renders everything in your browser using a locally served copy of Mermaid.js. There is no external CDN call at runtime and no telemetry.
Will it slow down my admin? No. Diagrams are generated on demand when you click Generate diagram — there is no background processing and no impact on editors or the frontend.
Can I use the diagrams in our documentation? Yes. Export as SVG or PNG for slides and wikis, or as Markdown (Mermaid source) to drop straight into a repository README or pull request.
Does it support Object Bricks and Field Collections? Yes — both are first-class citizens with their own stereotypes and composition arrows, and can be toggled on or off per diagram.
Which relation types are detected?
manyToOne, manyToMany (objects and object+asset), advancedManyToMany, reverseManyToMany, plus allowed Asset and Document targets, each with the correct cardinality.
Can it be customized? Yes. The Mermaid theme is configurable, and the relation-mapping logic can be extended for custom field types. Customization support is available as part of your engagement with us.
PRinguin GbR builds and maintains extensions and integrations for and websites with OpenDXP and Pimcore. Learn more at www.pringuin.de.
Independent community bundle for OpenDXP. Not affiliated with OpenDXP, Pimcore GmbH nor with the European Commission. "DeepL" and "eTranslation" are trademarks of their respective owners.
The bundle is licensed under GPL-3.0-or-later. See LICENSE.md.
