
The Definitions app is the single place to find loaded by Magnolia through the Registry API.
The app displays active definitions from all sources - JCR and YAML - and origins - classpath, JCR and file system.
Light development in Magnolia and the app provides an overview of . At a glance, back and front-end developers can see the definition sources.
In the Definitions app users :
The app also shows definition decorations and configuration errors.

Definition types
The app includes all definitions that are bound to a
Registry
(for example
TemplateDefinitionRegistry
).
Searching and filtering definitions
The column headers offer numerous options to allow you to quickly find what you are looking for. The following filters are available:
Example:
- Title: Image
- Type: templates

Viewing definitions
Example: File-based textImage
component in the MTK module.

Accessing definitions
Dedicated actions allow you to access a definition for editing in either the Resource files or Configuration app:
- Show in Resources app displays for file-based definitions. The action opens the file in read only mode in the Resource files app. You can choose to hotfix the definition in the app or edit it on the file system.
Example: textImage
component definition from the Travel demo in the Definitions and Resources apps.


- Show in Configuration app displays for JCR-based definitions. The action opens the definition in the Configuration app where you can edit the definition in the JCR.
Example: login
component definition from the Public User Registration module in the Definitions and Configuration apps.


Decorated definitions
Decorated definitions are marked in the Decorated column. The Show definition decorators action opens the Applied definition decorators popup which shows the source file and the decorated path of each decorator. Click
to access the source file in the Resource files app.
Example: home
template from the Travel Demo (DX Core version).

Definition errors
The app makes it easy to find problematic definitions:
- In the Problems tab all problematic definitions display:
The app also shows deprecated definitions:
- Deprecated classes used by any definition.
- Deprecated or non-existing templates used by block definitions.
- Deprecated or non-existing page template definitions referenced from site definitions.
- Deprecated or non-existing theme definitions referenced from site definitions.
- Template references:
- Deprecated or non-existing dialogs.
- Deprecated or non-existing component definitions used in page definitions.
- Non-existing template script paths.
- Configured but non-existing renderer.
Configuration
The app is based on the content app framework at /src/main/resources/definitions-app/apps/definitions-app.yaml
.
The app requires NO additional configuration and it is NOT advisable to make any changes to the configuration file.
Click here to see configuration
appClass: info.magnolia.ui.contentapp.ContentApp
icon: icon-definitions-app
class: info.magnolia.ui.contentapp.ContentAppDescriptor
theme: definitions-app
subApps:
overview:
subAppClass: info.magnolia.ui.contentapp.browser.BrowserSubApp
class: info.magnolia.ui.contentapp.browser.BrowserSubAppDescriptor
contentConnector:
implementationClass: info.magnolia.definitions.app.overview.DefinitionsContentConnector
class: info.magnolia.ui.vaadin.integration.contentconnector.ContentConnectorDefinition
workbench:
contentTools:
definitionsTools:
class: info.magnolia.definitions.app.overview.toolbar.FilterToolbarDefinition
contentViews:
- name: views
implementationClass: info.magnolia.definitions.app.overview.tree.DefinitionsTreePresenter
class: info.magnolia.ui.workbench.tree.TreePresenterDefinition
columns:
- name: title
expandRatio: 1
class: info.magnolia.ui.workbench.column.definition.PropertyColumnDefinition
sortable: false
- name: value
expandRatio: 1
class: info.magnolia.ui.workbench.column.definition.PropertyColumnDefinition
sortable: false
- name: type
expandRatio: 1
class: info.magnolia.ui.workbench.column.definition.PropertyColumnDefinition
sortable: false
- name: module
expandRatio: 1
class: info.magnolia.ui.workbench.column.definition.PropertyColumnDefinition
sortable: false
- name: origin
expandRatio: 1
class: info.magnolia.ui.workbench.column.definition.PropertyColumnDefinition
sortable: false
actions:
showFile:
class: info.magnolia.definitions.app.overview.actions.OpenDefinitionActionDefinition
implementationClass: info.magnolia.definitions.app.overview.actions.OpenResourceDefinitionAction
appName: resources
subAppId: detail
icon: icon-resource-files-app
showConfig:
class: info.magnolia.definitions.app.overview.actions.OpenDefinitionActionDefinition
appName: configuration
subAppId: browser
icon: icon-configuration-app
actionbar:
sections:
group:
availability:
rules:
IsDefinitionGroupRule:
implementationClass: info.magnolia.definitions.app.overview.availability.IsDefinitionGroupRule
file:
groups:
default:
items:
- name: showFile
availability:
rules:
IsFileDefinitionRule:
implementationClass: info.magnolia.definitions.app.overview.availability.IsFileBasedDefinitionRule
config:
groups:
default:
items:
- name: showConfig
availability:
rules:
IsConfigDefinitionRule:
implementationClass: info.magnolia.definitions.app.overview.availability.IsJcrConfigWorkspaceDefinitionRule
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))