With Magnolia 5.3 we move from platform delivery to feature delivery. The platform is now mature and solid so we can ship new features that add value for users. This release is a recommended update for all users of Magnolia 5.x.
Personalization adapts content to the visitor according to his or her personal preferences, needs and capabilities. A personalized website is more relevant and engaging than a static non-personalized site. It turns push to pull: a visitor indicates their interest and the website pushes matching content.
Magnolia's new personalization feature is based on page variants. Variants are alternative content that replace the original content in personalized delivery. You can target page variants to visitor according to traits such as country, date, or new vs. returning. Dedicated apps support creating segments and personas and impersonating visitors.
- Learn how personalization works.
- Do the hands-on exercise in My first personalized campaign.
- Create your own traits with Creating custom traits.
Tasks are better than messages for collaboration. Anyone who uses email knows the problem: you don't know who took ownership of the job or where the work currently stands. Messages don't have a status or assignee. Finding out what is going on requires a lot of messaging between the recipients.
With Magnolia 5.3 we start using tasks to track the publishing workflow. A task has an assignee and a status. They are displayed in the Pulse. When an editor publishes a page, Magnolia sends a task to the publishers group. Any publisher can assign the task to himself. The task is now removed from other recipients queue but they can still see who the current assignee is and where the work stands. This enhancement adds visibility into the publishing process. At a technical level, we take advantage of the jBPM user task feature.
The content you manage in Magnolia is typically stored in the JCR repository but it doesn't have to be. With Magnolia 5.3, we decouple content management from the storage location. A content connector defines where the content is stored. With a custom content connector you can store content in a database, cloud storage or a Web service. Users can still manage the content in a familiar content app. They don't have to leave Magnolia.
All native Magnolia JCR content apps in community and enterprise editions are updated to use the new content connector automatically. You need to migrate your own custom JCR content apps. Add the
ContentAppMigrationTask to your module version handler.
Magnolia 5.3 introduces an improved DAM API. The rewritten API is simpler and more basic, making it easier to understand and extend. It is also generic in the sense that it is not coupled to the JCR anymore. You should be able to integrate external asset providers and other systems. Although not yet implemented, it will be possible to plug in external asset providers such as Flickr, YouTube or a file systems, and integrate the DAM with WebDav and CMIS.
- DAM module is now split into submodules. The API resides in its own module and the JCR implementation in another.
DamManager. See and for how to use assets in your templates.
Assetsupport folders. This makes navigating the asset hierarchy via the API easier.
- Industry standard media types replace Magnolia own media type configurations.
- Easier to extend the API and create your own asset providers for external systems.
A new DAM Preview module creates thumbnail previews for PDF and video assets. The thumbnail image displays the first page of a PDF or the first frame of a video, making it easier to choose assets at a glance. The module is an optional add-on to the DAM. The previews are generated by the Imaging module. A configurable image provider renders the images for the newly supported asset formats.
Delegating property transformers
Two new field transformers -
DelegatingCompositeFieldTransformer - allow you to nest fields. For example, you can create a switchable field that contains a composite field. The new transformers delegate the responsibility of storing field values to the parent field. They also support i18n. Examples to come.
A new Tags Manager app is a central place for managing marketing tags or third-party code snippets. The app allows you to create tags and insert them on pages. Tags typically collect analytics information such as how many visitors view the page and how long they stay. Tags can also integrate third-party content such as social media on your site or insert ad campaigns.
Keyboard support in dialogs:
- ESC closes a dialog.
ENTER submits a dialog or triggers the default action such as go to the selected tab.
- New tabs: Tasks and Messages
- Task flow, assigning a task to yourself
Alerts and notifications:
- Adhere to visual design guidelines, more subtle
- Buttons are now all green. The default button always looks the same. Hovering on a default button keeps the colors readable.
- Element in focus has a border (in all dialogs, not only alerts and notifications)
- Notify if the action takes long
- Notify on success and failure in Pulse
- First step in improving visibility to background events
- The number of selected items is now indicated in views.
- Number of items to be deleted is mentioned in delete confirmation alert.
- When you close an app, the app launcher is displayed rather than the previous app in the stack.
Other noteworthy changes:
- Updated to Jackrabbit 2.8.0.
- Updated to Guava 16.
- Updated to Commons Compress 1.8.1. This library is used to zip content. The update fixes an issue with non-ASCII characters.
- Added scheduled publishing that works with updated Workflow module 5.4.
- Added a way for a servlet to self-map so that mapping can be shared with other components.
- Added support for more than one action availability rule, yielding more fine-grained control.
- Made it easier to edit favorites. The new Edit favorites action is always visible.
- Added marketing tags. to the template prototype to render
- Bypassed cache for personalized pages.
- Added a new field for asset name that is different from the asset node name.
- Migrated the Content Translation Support module to Magnolia 5.
- Fix a personalization issue where variants of existing/bootstrapped pages could not be previewed on the public instance.
Complete change log
The complete change log for 5.3 contains all the changes.
This release includes the following new module versions:
- Activation 5.2.5
- Backup 1.5.1
- Cache 5.2.4
- Categorization 2.3
- Contacts 1.3
- Content Dependencies 1.4
- Content Translation Support 2.0
- DAM 2.0
- Data 2.3
- Diff 1.6
- Enterprise Edition 5.3
- Forum 3.4
- Google Sitemap 2.1
- Groovy 2.3
- Imaging 3.1
- In-place Templating 2.3
- Magnolia 5.3
- Marketing Tags Manager 1.0
- Multisite 1.1
- Personalization 1.0
- Public User Registration 2.3
- Resources 2.3
- RSS Aggregator 2.3
- Scheduler 2.1.2
- Standard Templating Kit 2.8
- Task Management 1.0
- Templating Samples 5.2.1
- UI 5.3
- WebLogic 2.0
- Workflow 5.4
The Magnolia team would also like to thank everyone who reported issues, contributed patches, or simply commented on issues for this release. Your continued interest helps us make Magnolia better. Special thanks go to: Rainer Blumenthal, Dean Pullen, Matt Dertinger, Richard Unger, David Nyffenegger, Joerg Von Frantzius, Christian Hamm, Thomas Comiotto, Tom Geissendoerfer, Jozef Chocholacek, Marc Champion, Maja, and Markus Grieder.
How to update from Magnolia 4.5 and earlier
How to update from Magnolia 5.2 and earlier
To update your project, follow the standard update procedure, then make the following changes:
- Update your content apps with the content app upgrade task. It automatically takes care of the following:
Using the content connector.
Updating configuration of availability rules and default rule classes
Updating selected action definitions with node-type based availability
- If you used the DAM:
- If you have a custom jBPM workflow:
- In the
info.magnolia.module.workflow.jbpm.JbpmWorkflowManager#completeWorkItemmethod, checking for present parameters is obsolete and refers to publication related workitems. The method is no longer used for completing a workitem in the new human task context. It is still valid in the context of completing service tasks, however.
Stop using the
info.magnolia.module.workflow.jbpm.JbpmWorkflowManager#getWorkItemmethod. It was used to complete a work item for human tasks. Furthermore, the wrapper we initialize only holds the
The previously hardcoded
mgnlDataparameter is now configurable in
- In the
- If you have custom widgets or Vaadin add-ons:
- Magnolia's default widgetset was relocated to
- Update your webapps's
- Otherwise Magnolia will automatically fall back to the new widgetset but will issue warnings during upgrade, and whenever a user logs in to Magnolia.
- Magnolia's default widgetset was relocated to
Issues specific to this release:
- Oracle WebLogic 12c conflict with Bouncy Castle library
- Oracle WebLogic and IBM WebSphere deployment issue with jBPM 6
- MGNLUI-3001 - Getting issue details... STATUS
See also: Other known issues.
Released on June 23, 2014