You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

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.

App descriptor is part of the Magnolia 6 UI framework. The fully qualified class name is info.magnolia.ui.api.app.registry.ConfiguredAppDescriptor.

If you work with the Magnolia 5 UI framework, see App descriptor for Magnolia 5 UI instead.

Example app descriptor

icon: icon-app
class: info.magnolia.ui.api.app.registry.ConfiguredAppDescriptor
appClass: info.magnolia.ui.framework.app.BaseApp
label: Base App
subApps:

App descriptor properties

subApps

required

Node containing subapps.

appClass

required

Fully qualified name of the Java class that contains the app business logic. The class must implement the App interface.

name

optional

App name. If no value is specified, either the file name (without the suffix .yaml) or the JCR node name will be used.

class

optional, default is info.magnolia.ui.api.app.registry.ConfiguredAppDescriptor

App descriptor class that reads the configuration. The class must implement the AppDescriptor interface. Use the fully qualified class name.

Another possible value is info.magnolia.ui.contentapp.configuration.ContentAppDescriptor.

datasource

optional

Connects the app to a data source. For this to work, you have to use the info.magnolia.ui.contentapp.configuration.ContentAppDescriptor class.

enabled

optional, default is true

Enables or disables the app.

icon

optional

Name of an SVG app icon. See How to add SVG icons for apps.

label

optional

Label displayed on the app icon in the app launcher.

theme

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
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels