Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section
Column
width50%

Content app

Include Page
_What is a content app
_What is a content app

Completely customizable

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.
Column
width50%

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 to understand what Magnolia provides for custom app builders.
  • Javadoc
    className0info.magnolia.ui.vaadin.layout.SmallAppLayout
    renderTypeasynchronous
     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.
  • Javadoc
    className0info.magnolia.ui.framework.app.embedded.EmbeddedPageSubApp
    renderTypeasynchronous
     is a special type of subapp that allows you to embed an external UI using an iframe.
Column

 


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.

...

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

Javadoc
className0info.magnolia.ui.framework.app.BaseSubApp
renderTypeasynchronous
. Build the UI using the form builder and wrap it in the
Javadoc
className0info.magnolia.ui.vaadin.layout.SmallAppLayout
renderTypeasynchronous
.

an embedded iframe

Add an

Javadoc
className0info.magnolia.ui.framework.app.embedded.EmbeddedPageSubApp
renderTypeasynchronous
.

something custom

Add a

Javadoc
className0info.magnolia.ui.framework.app.BaseSubApp
renderTypeasynchronous
. Build your own view using any Vaadin component/layout.

Do something else

Javadoc
className0info.magnolia.ui.framework.app.BaseApp
renderTypeasynchronous

a tool

Add a

Javadoc
className0info.magnolia.ui.framework.app.BaseSubApp
renderTypeasynchronous
. Build the UI using the form builder and wrap it in the
Javadoc
className0info.magnolia.ui.vaadin.layout.SmallAppLayout
renderTypeasynchronous
.

an embedded iframe

Add an

Javadoc
className0info.magnolia.ui.framework.app.embedded.EmbeddedPageSubApp
renderTypeasynchronous
.

something custom

Add a

Javadoc
className0info.magnolia.ui.framework.app.BaseSubApp
renderTypeasynchronous
. Build your own view using any Vaadin component/layout.