Here is an example of a main subapp inside a helloworld app. Create subapp configuration under the subApps folder.

Node nameValue

 
modules

 

 
ui-helloworld-app

 

 
apps

 

 
helloworld

 

 
subApps

 

 
main

 

 
class

info.magnolia.ui.api.app.registry.ConfiguredSubAppDescriptor

 
label

Hello!

 
subAppClass

info.magnolia.ui.app.helloworld.main.HelloWorldMainSubApp

Properties:

<subapp name>

required

Subapp node name. This is the internal ID of the subapp. Used to reference the subapp for example in URL fragments.

class

required, default is info.magnolia.ui.api.app.registry.ConfiguredSubAppDescriptor

Subapp descriptor class that reads the configuration. The class must implement the

$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") SubAppDescriptor
 interface. Examples of such classes are
$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") ConfiguredSubAppDescriptor
 and 
$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") ConfiguredContentSubAppDescriptor
. Use the fully-qualified name of the class.

closable

optional, default is true

Whether the subapp can be closed. When set to false no close icon (X) is displayed.

icon

optional

CSS class that identifies an icon font used on the app tab. For available names see Icons.

label

optional

Text or message bundle key. Displayed in the subapp tab.

subAppClass

required

Subapp business logic class. The class must implement the 

$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") SubApp
 interface which displays the subapp to the user in a tab.

(warning) The order in which you configure subapps is important. The first subapp will be the default subapp. It is started first.

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))