A Mendix Studio Pro extension that visualizes the ontology of all domain models, entities, and their associations in your Mendix application.
- Visual Graph Representation: See all entities and their relationships displayed as an interactive graph
- Multi-Module Filtering: Select which modules to display with a convenient multi-select dropdown
- Marketplace Module Filtering: Marketplace modules are hidden by default to focus on your custom domain models
- Entity Details Panel: Click on any entity to view its attributes, associations, and generalizations
- Search Functionality: Quickly find entities by name or module
- Interactive Navigation: Pan, zoom, and drag entities to explore your domain model
- Color-Coded Modules: Each module is assigned a distinct color for easy identification
- Association Visualization:
- Solid lines for regular associations
- Dashed lines for reference sets (N:M relationships)
- Highlighted cross-module associations
Coming soon
- Mendix Studio Pro 11.3 or higher
- Node.js 18+ (for building)
- Download the latest zip release from the Releases page
- unzip the folder
- place the folder in your /extensions/ folder
-
Clone this repository:
git clone https://github.com/mauritsE/DomainModelOnthology.git cd DomainModelOnthology -
Install dependencies:
npm install
-
Build the extension:
npm run build
-
The built extension will be available in the
dist/folder asDomainModelOnthology.mxext -
Install the extension in Mendix Studio Pro
- Open your Mendix project in Studio Pro
- Go to View → Domain Model Ontology → Show Ontology Viewer
- A new tab will open displaying the ontology graph
| Control | Action |
|---|---|
| Click entity | Show entity details |
| Drag entity | Reposition entity node |
| Scroll wheel | Zoom in/out |
| Drag background | Pan the view |
| + / - buttons | Zoom in/out |
| Reset View | Reset zoom and pan to default |
| 🔄 Refresh | Reload data from the model |
- Click the Modules dropdown to select which modules to display
- Use quick-select buttons:
- All: Show all modules including marketplace
- Non-Marketplace: Show only your custom modules (default)
- None: Hide all modules
- Marketplace modules are marked with an "MP" badge
├── src/
│ ├── main/
│ │ └── index.ts # Extension entry point (menu registration)
│ ├── ui/
│ │ └── index.tsx # React UI component
│ └── manifest.json # Extension manifest
├── build-extension.mjs # Build script
├── package.json
└── tsconfig.json
# Type check and build
npm run build
# Watch mode (if available)
npm run watch- TypeScript - Type-safe development
- React 18 - UI components
- Mendix Extensions API - Integration with Studio Pro
- esbuild - Fast bundling
This extension uses the following Mendix Extensions APIs:
studioPro.ui.extensionMenu- Adding menu itemsstudioPro.ui.tabs- Opening custom tabsstudioPro.app.model.projects.getModules()- Fetching module liststudioPro.app.model.domainModels.getDomainModel()- Fetching domain model data
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with the Mendix Extensions API
- Inspired by the need to visualize complex domain model relationships