Slide deck for an October 16, 2014 webinar about developing Magnolia Apps. Visit http://www.magnolia-cms.com/resources-directory/webinar-recordings.html for the recording of this webinar (and other webinars.)
Need more background information on
Magnolia 5 and Apps?
Watch the recording of the “Start Developing
Apps for Magnolia 5” webinar here:
Use the GoToWebinar control
When possible, we’ll answer questions
immediately via text.
We’ll repeat key questions at the end of
the webinar as well.
We may not be able to answer all
questions during the webinar.
HEAD OF USER EXPERIENCE @ MAGNOLIA
CHIEF INTEGRATION OFFICER @ MAGNOLIA
LIBERATED CONTENT APPS
Available since Magnolia 5.3
Key terms: Containers, ContentConnectors, itemIds...
Great, where should I start?
Here's your shot of Vaadin
Photo scout app
A content app displaying photos from Instagram, over their REST API
A content app displaying photos from Instagram
FROM PLAIN VAADIN...
Table / TreeTable
Item Item Item
GOOD ITEM IDs
Most simple unique representation of your content
e.g. workspace + uuid in Magnolia for JCR items, photo id in flickr,
path on a simple file-system
Don't build itemIds by concatenating strings, use a
typed POJO instead (eg. JcrItemId)
In challenging situations, you might need more than
e.g. browse flickr photos by album, in a tree
FINE, WHAT ABOUT
THE CONTENT CONNECTOR?
Photo Scout Container
Item Item Item
THE CONTENT CONNECTOR
Map arbitrary objects to three main representations:
a unique itemId
a Vaadin Item
a URL fragment
CONTENT CONNECTOR BENEFITS
Actions and Availability
Operate on one or multiple items
Sync selection with e.g. image preview capabilities
Bookmark content / Add to favorites
Integrate external content with other apps
e.g. Linking to an image from a page component (pages app)
HOOKING THE CONTAINER
Extend Magnolia's default ContentPresenters
ListPresenter, TreePresenter, ThumbnailPresenter
Configure these presenters to be used
Want to dive deeper?
* Want to see more code?
* Have I overlooked anything?
* Please do ask & let us know :)