Magnolia 5.4 makes development easier and faster. New developers are productive sooner because there is less to learn. Front-end developers can get more done without having to know Java. Back-end developers benefit from unified resource loading and file-based configuration.
Magnolia Templating Essentials
Magnolia Templating Essentials (MTE) is a new minimal set of reusable templates. It is quicker to learn than the Standard Templating Kit and requires fewer skills.
MTE is aimed at the increasing number of front-end developers who looked for something leaner and less time-consuming than the STK. The STK works well if you have taken the time to learn it. However, it is too different from the way websites are prototyped and conceptualized today. As front-end Web technologies evolved, the STK started to feel too big with its many examples and tight coupling.
MTE is front-end framework agnostic, which means you can integrate it with any modern framework such as Bootstrap or Foundation. This makes Magnolia a better choice for campaign sites and Bootstrap-based sites.
We recommend that you start new projects with the MTE. However, If you are productive with the STK then keep using it. Magnolia will continue to maintain the STK but will not actively develop it further.
Resources of all kinds can now be placed in a file-system directory, creating a so-called light module. In concert with YAML configuration files and unified resource loading, this enables light development: a new development style which does not require Java skills or a Java development environment.
Light development is designed to work seamlessly with standard Java-based Magnolia development. You can use a mixture of light development and Java development as appropriate for your team and project.
Configuration by YAML file
You can now configure most everyday items such as templates, dialogs and apps in YAML. YAML is a simple text file format that provides a practical alternative to JCR-based configuration.
Example: Component template in YAML
Since YAML is just text you can use your favorite text editor or IDE to edit configuration. Text files are easier to share and compare for changes. This helps big developer teams. JCR-based configuration is cumbersome when you work together with many people. You sometimes forget to export configuration to XML, and merging and comparing XML markup is just not user friendly.
File-based configuration is loaded anew at every system startup; there are no bootstraps or version handlers. The run-time configuration is a merge of configuration that can come from the repository or YAML files. JCR configuration can override file configuration, giving you the option to hot fix and publish urgent items. A new Configuration app that shows the total configuration from all sources is in beta testing phase at the Magnolia Forge (concept, code, issues).
- Hello Magnolia - an easy tutorial where you create YAML-based template in one hour.
- YAML - learn the file format and its usage in Magnolia.
- Blog: Resources and configuration by file
Unified resource loading
An updated Resource Files app shows which resource Magnolia currently uses. With this improvement we hope to end the confusion about where a resource comes from. Unified resource loading helps new developers get onboard with Magnolia faster and makes working in a variety of deployment scenarios ranging from a remote production instance down to your own IDE .
New travel demo
A bright new demo takes you around the world. Magnolia Travels is the website for a fictional travel agency. This business scenario helps showcase the benefits of Magnolia. The demo illustrates important Magnolia features such as publishing, user roles, a multilanguage website and a multilanguage author interface, multiple sites with content re-use across the sites, marketing tags and more - all in a modern, attractive, responsively resizing website. Content for the website is managed both in the traditional pages hierarchy and as a content pool in the new Tours content app.
For developers, the demo sources provide a best-practice example of the new Magnolia Templating Essentials (MTE), YAML configuration and resource loading.
If you want to have a look at Magnolia 5.4 on our public available demo server:
- Author instance: demoauthor.magnolia-cms.com (username: superuser, password: superuser)
- Public instance: demopublic.magnolia-cms.com
Marketing campaigns take a lot of planning and collaboration. You need to put together many pieces of different types of content: pages, assets and resources. A new Campaign Publisher app lets digital marketing teams gather all the content for a given campaign, send it through a review cycle, and publish it as a whole.
You no longer have to publish each resource separately. The app will keep track of them. The module provides a status for each campaign and a way to review each included resource.
Dynamic Page Caching add-on
Dynamic page caching (DPC) is a new cache module that allows you to cache static content on a dynamic page. Until now you had to exclude dynamic pages from cache. This meant that a dynamic page had to be rendered on every request. With the new Dynamic Page Caching module you can choose to cache static content on a page and render dynamic components per request.
DPC and Variant caching are available as separate add-ons. If you do content personalization and think you would benefit from dynamic page caching, contact Magnolia .
Personalization in Enterprise Edition Standard
We want more customers to do personalized content delivery. The Personalization module is now also available with Enterprise Edition Standard, not only Enterprise Edition Pro. Now is a good time to start experimenting with personalized content.
An aggregated change log for 5.4 contains all the changes.
This release is a recommended update for all users of Magnolia 5.
This release includes the following new module versions:
- Cache 5.4
- Categorization 2.4
- Commenting 2.3
- Contacts 1.4
- Content Dependencies 1.5
- Content Translation Support 2.1
- DAM 2.1
- Demo 0.5
- Enterprise Edition 5.4
- Google Analytics 1.3
- Google Sitemap 2.3
- Groovy 2.4
- Imaging 3.2
- In-place templating 2.4
- License 1.5
- Magnolia 5.4
- Magnolia Templating Essentials 0.5
- Multisite 1.2
- Pages 5.4
- Personalization 1.2
- RSS Aggregator 2.4
- Resources 2.4
- Site URLs 1.0
- SiteMesh 1.0
- Soft Locking 2.5
- Standard Templating Kit 2.9
- Templating Samples 5.3
- UI 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: Brad Balmer, Stefan Baur, Jennifer Brehm, Juan Egea, Hugo Ferreira, Florian Fuchs, Jan Christian Haddorp, Sang Ngo Huu, Marvin Kerkhoff, Chunhua Liu, Sirik Loosman, Steven McDermott, Benoit Olbrechts, Michael Rauch, Frank Sommer, Ricardo Ulate, Ricardo Ulate, Richard Unger,Edgar Vonk and Samuel Zihlmann.
How to update from earlier versions
- Generally: Follow the standard update procedure.
- Please check Important changes for Magnolia 5.2 and 5.3 users
- Please check how to update from Magnolia 5.2 and earlier if required
- Please check how to update from Magnolia 4.5 and earlier if required
Important changes for Magnolia 5.2 and 5.3 users
Modules that are no longer bundled:
- Standard Templating Kit (STK)
- Public User Registration (PUR)
- Device detection
- Data module
- Personalization is now an EE Standard feature. Previously it was available only in EE Pro. See: Editions and licenses
- Performance features Advanced cache and Dynamic caching are EE Pro features.
Data module is no longer included
Starting with Magnolia 5.4, the Data module is no longer included. The Data module was originally developed to manage structured data such as contacts or products. Content apps, introduced in Magnolia 5.0, effectively replace the Data module. Content apps provide a more modern approach for managing any structured content item.
We removed the Data module and its
data workspace from the product in Magnolia 5.4. When you migrate from Magnolia 4.5 to Magnolia 5.x, replace custom data types with content apps.
If you had STK installed
Standard Templating Kit (STK) is not included in this release. Read MTE and STK to learn if the new Magnolia Templating Essentials (MTE) is an option for you.
To keep working with the STK:
- Bring back the latest STK (2.9) to your bundle, along with its dependencies:
- Exclude the new travel demo (site-definition is unique on CE)
In order to enable getting an HTML excerpt in a query result, you should update the configuration files of your Jackrabbit instances. Add the two
<param/> directives within your
magnolia.properties and log4j.xml
Double-check magnolia.properties and log4j.xml for latest changes.
Before updating to the latest workflow version it is strongly advised to make sure that all publication workflows are completed. There have been several updates to the BPMN process which will most likely break with the old, uncompleted processes.
If you have a custom jBPM workflow
The processes used in Magnolia 5.3 have been adopted to support the scheduling of tasks in Pulse. If you have changes in the processes, you will need to update those accordingly.
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
How to update from Magnolia 4.5 and earlier
Magnolia 5.4 ee-bundle may require you to allocate more memory the Java Virtual Machine (JVM). If you see a
java.lang.OutOfMemoryError in the startup log or the system stops responding during installation, increase the Java heap size. The default maximum heap size is 1024M. Try a higher amount. We are working on uncovering the root cause for the increased memory need.
See: Java out of memory
Magnolia Data Module 2.3.5 cannot be installed because of optional dependencies declared Magnolia Language Modules. The language modules require data 2.3.6 which does not exist.
STK vs. Travel Demo
It is not possible to run both STK and the new Travel Demo at the same time. Make sure you don't install both.
Pages app - user with read-only permissions
When opening a pages app with user who has read-only permissions on website, pages app will show popup with error message. This is a known issue, see PAGES-18 - Getting issue details... STATUS . Workaround is just to close the error message and continue working as usually. The issue will be fixed in 5.4.1.