App descriptor
An app descriptor describes an app. The descriptor assigns the app a
name, icon and implementation class. The name of the app content node
must be unique as it is used to refer to the app across the system. This
means you cannot name your own app pages
since a
Pages app already exists.
This app descriptor is part of the Magnolia 6 UI framework. The fully
qualified class name is
If you work with the Magnolia 5 UI framework, see App descriptor for Magnolia 5 UI instead. |
Example descriptor
icon: icon-app
class: info.magnolia.ui.api.app.registry.ConfiguredAppDescriptor
appClass: info.magnolia.ui.framework.app.BaseApp
label: Base App
subApps:
Descriptor properties
Property | Description |
---|---|
|
required Node containing subapps. |
|
required Fully qualified name of the class that contains the app business logic. The class must implement the App interface. |
|
optional App name. If no value is specified, either the file name (without the
suffix |
|
optional, default is App descriptor class that reads the configuration. The class must implement the AppDescriptor interface. Use the fully qualified class name. Another possible value is
|
|
optional Connects the app to a
data source. For
this to work, you have to use the
|
|
optional, default is When |
|
optional CSS class that identifies an icon used for the app. See How to add SVG icons for apps. |
|
optional Text or message bundle key displayed on the app icon in the app launcher. |
|
optional Provisions the app to certain users. See Permissions. |
|
optional Name of a custom app theme. |
Permissions
The permission to use an app is granted in the permissions
configuration. The subnodes are roles. This allows you to provision the
app to certain users in your organization.
In the following example, the app is provisioned to the
travel-demo-editor
and travel-demo-publisher
roles. The property
names (editors
and publishers
) are arbitrary—you can use any name
you like. The value must be a valid role name.
appClass: info.magnolia.ui.framework.app.BaseApp
class: info.magnolia.ui.api.app.registry.ConfiguredAppDescriptor
icon: icon-app
label: Base App
permissions:
roles:
editors: travel-demo-editor
publishers: travel-demo-publisher