Start with the right app type and get functionality out of the box

Magnolia's app framework provides ready-made app types. Choose the right type as a starting point for your own app. You may get required functionality with little effort. For example, if your app is very content centric then go with the content app type.

Content app

Content app is a specialized app type for managing structured content. The content app user interface consists of a browser subapp and one or more detail subapps. Content apps make it easy to enter items such as products or events. Many native Magnolia apps such as Tours and Contacts are content apps. Because this app style is used often, the framework provides convenience classes to make building a content app faster.

Benefits:

  • Quick, ready-made framework for managing any type of content.
  • Extensible. Add your own views, actions etc.
  • Works well with other apps. Allows you to choose content from other apps to create links and establish relationships.

Custom app

The content app type is very purpose driven. However, if you need to do something really different such as graphs or charts the content app framework is too rigid. Create a custom app instead. Custom app is also the right choice for doing something really simple such as displaying some system information or providing a simple configuration tool. While you can still configure a lot, you need to write custom app program code yourself.

Benefits:

  • Completely customizable. Read Developing an app to understand what Magnolia provides for custom app builders.
  • SmallAppLayout is a design pattern that works well for editing single things such as mail configuration and things you don't need to touch very often. Combined with the form builder, it allows you to configure a form-based UI. Minimal and focused, reducing complexity even beyond content apps. Configurable and flexible for many small tasks.
  • EmbeddedPageSubApp is a special type of subapp that allows you to embed an external UI using an iframe.


Mixing app types

To an extent, you can also mix and match these types. For example, the Feeds app is a content app but it has a special subapp that includes a custom view. The custom view borrows the small concept app and offers a small tool for configuring the frequency of the feed update.

Which app type do I choose?

I need toStart withI also needCustomize
Manage content    Content app    a custom editorDevelop a custom editor and plug it into the detail subapp.
a custom content viewDevelop a custom view and configure it in the workbench of the browser subapp.
a tool

Add a BaseSubApp . Build the UI using the form builder and wrap it in the SmallAppLayout .

an embedded iframe

Add an EmbeddedPageSubApp .

something custom

Add a BaseSubApp . Build your own view using any Vaadin component/layout.

Do something else

BaseApp

a tool

Add a BaseSubApp . Build the UI using the form builder and wrap it in the SmallAppLayout .

an embedded iframe

Add an EmbeddedPageSubApp .

something custom

Add a BaseSubApp . Build your own view using any Vaadin component/layout.

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels