Magnolia 5.7 reached extended end of life on May 31, 2022. Support for this branch is limited, see End-of-life policy. Please note that to cover the extra maintenance effort, this EEoL period is a paid extension in the life of the branch. Customers who opt for the extended maintenance will need a new license key to run future versions of Magnolia 5.7. If you have any questions or to subscribe to the extended maintenance, please get in touch with your local contact at Magnolia.
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
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 to | Start with | I also need | Customize |
---|---|---|---|
Manage content | Content app | a custom editor | Develop a custom editor and plug it into the detail subapp. |
a custom content view | Develop 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. |