Resource Files app
We take the unified resource handling story further in Magnolia 5.4.3. The Resource Files app now displays all resource files (CSS, JS, YAML, FreeMarker) from all origins (JCR, file system, classpath). You can browse all resource files known to the Magnolia instance in one place.
In the Resource Files app you can create, upload, delete and edit JCR resource files. The edit action also allows you to hot fix classpath and file system resources, which is a much-liked legacy feature. The Resource Files app takes over all duties of the current Templates app (in-place templating) so we can remove the Templates app.
JCR templates move to the
To make all resource files available in one place we move your template scripts (.ftl) from the
templates JCR workspace to the
resources workspace. A migration script moves the templates automatically during the system update.
We move template scripts only if:
- The template is enabled (Enable template box is checked in the Templates app) and
- You indicated that the template should be overridden during an update (Automatic update box is checked in the Templates app) and
- There is no identical template elsewhere in the file system or classpath.
What you need to do:
- If the migration succeeds you don't need to do anything. Your templates are now available in the Resource Files app. The old Templates app has been removed.
- If the migration fails you will see an error message during the update. No templates are moved. They are still available in the old Templates app, stored in the
templatesworkspace. The migration failed because it found an existing hot-fixed template in the
resourcesworkspace that was different from the template it tried to move. You need to remove the hot fix and make the template script part of your permanent deployment in the file system or the classpath.
templates workspace was typically used for two purposes:
- Creating ad hoc template scripts for testing and experimenting.
- Overriding template scripts from other resource origins (classpath or file system) in order to make hot fixes in production.
You can do both of these use cases in the new Resource Files app and the resources workspace. No functionality is lost.
What's next for resources?
Next step in the resources story is processed resources. The user community passionately supports Magnolia-processed resources so we keep this feature in the product:
- Magnolia 5.4.4 will bring back the old Resources app so that you can work with your existing processed resources.
- In a future release we will support processed resources in the new Resource Files app and the new
If you use processed resources today, we recommend that you wait for Magnolia 5.4.4.
Magnolia 5.4.3 resolves 22 issues in the travel demo such as:
- New video component. You can use video files from the Magnolia DAM or embed from the Web.
- New carousel component.
- New social sharing component that integrates with the AddToAny sharing service.
- Apps are provisioned to demo users so that users only see apps relevant to their roles.
- Responsive columns. Editors can change the column layout on a page.
- Image variations create appropriately sized images for the device and browser.
- HTML5 input fields in forms. Useful for email for example.
- Fixed the broken layout when adding an image to a text & image or teaser.
We now know why Magnolia installation hangs on some MacBooks. The embedded Derby database opens many file handles and may run over the maximum limit set by the system.
We have addressed this issue by:
- Warning the user if the file limit is set too low
- Documenting the issue and solutions
- Evaluating H2 database as a replacement for Derby
With this release we provide new pre-configured Magnolia bundles. The aim is to provide a good starting point whether you are evaluating Magnolia or developing your own project.
magnolia-community-webapp. Use this as a base for your project.
magnolia-enterprise-pro-demo-bundleincludes Magnolia Enterprise Pro, MTE, travel demo and Tomcat. Good package for evaluating the latest stuff.
magnolia-enterprise-pro-stk-bundleincludes Magnolia Enterprise Pro, STK and the old demo project. When you continue to work with the STK.
magnolia‑enterprise‑standard‑demo‑webappincludes Magnolia Enterprise Standard, MTE and the travel demo. For EE Standard users.
See Bundles and webapps for a complete list.
Publication with Java updates 1.7.0_85 and 1.8.0_65
Java updates 1.7.0_85 and 1.8.0_65 introduced strict validation of HTTP header field values. Colon (:) is no longer an allowed character, as specified in HTTP 1.1. This change broke the publishing action in Magnolia since we pass a message header that contains
Symptom: You see the following error when you publish content in Magnolia running on Java 1.7.0_85 / 1.8.0_65 or later.
Upgrade to Magnolia 5.4.3 to fix the issue or downgrade your Java virtual machine as a temporary workaround.
Bootstrapping content into cluster nodes
A new property
magnolia.repositories.jackrabbit.cluster.master identifies a Magnolia instance as a cluster master node. During installation and update Magnolia bootstraps content only into master nodes. This ensures that other (replica) nodes installed later don't override already bootstrapped content.
Example: Public instance A is defined as a cluster master node. The instance starts and creates a clustered
forum workspace and bootstraps some content such as rules of conduct. Second public instance B is defined as a replica node. It starts moments later but does not bootstrap the same workspace again.
Usage: Add the new property to your
magnolia.properties file and set its value:
truedefines the instance as a master node. Content is bootstrapped.
falsedefines the instance as a replica node. Content is not bootstrapped.
Always define the
cluster.master properties together as shown above if any of your workspaces are clustered.
An aggregated change log for 5.4.3 contains all the changes.
Should I update?
If you use JCR resources heavily we recommend that you wait for Magnolia 5.4.4. Magnolia 5.4.3 does not yet supply all the features for JCR resources that Magnolia 5.3.x did. For example, the Resource Files app does not support processed resources.
Apart from this limitation, this release is a recommended update for all users of Magnolia 5.
This release includes the following new module versions:
- Activation 5.4.2
- Cache 5.4.3
- Content Dependencies 1.6.1
- Community Edition 5.4.3
- DAM 2.1.2
- Demo 0.8
- Enterprise Edition 5.4.3
- Forms 2.3.2
- Google Sitemap 2.3.2
- Imaging 3.2.3
- In-place templating 2.4.2
- Magnolia 5.4.3
- Magnolia Templating Essentials 0.7
- Multisite 1.2.2
- Observation 2.0.4
- Pages 5.4.2
- Personalization 1.2.2
- Resources 2.4.2
- Site 1.0.3
- SiteMesh 1.0.1
- Standard Templating Kit 2.9.2
- UI 5.4.3
- XA Activation (exchange-transactional) 2.3.2
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: Adrian Andermatt, Casper Biever, Jordie Diepeveen, Rory Gibson, Fabrizio Giustina, Stefan Jahn, Rico Jansen, Chris Jennings, Marvin Kerkhoff, Markus Koller, Mathias Lin, Adi De Masi, Pietro Pagani, Avinash Palayadi, Sigurd Rolfes, Erich Ruf, Christian Schroeder, Frank Sommer, Bence Vass, Edgar Vonk, Thomas Weckert, Tom Wespi, Stef Te Winkel and Gediminas Zalys.
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
If you had STK installed
If you continue to work with STK, use the new
magnolia-enterprise-pro-stk-bundle as a basis for your project. It includes Enterprise Pro, STK and the old demo project. You get all STK functionality out of the box. Exclude the demo-project if it's in your way.
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
Add the following line:
Add the log configuration for org.reflections
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
STK theme resources are displayed twice
STK theme resources are displayed twice: once with file extension from the classpath or file system and second time without file extension from the JCR
resources workspace. The extension-less JCR resources are merely displayed, Magnolia does not load them with the new loading cascade introduced in Magnolia 5.4.
We recommend that you use the
/.resources servlet path to reference non-processed resources. If you do this you can delete the extension-less duplicates from the
MGNLRES-181 - Getting issue details... STATUS
Allocate more JVM memory
Magnolia 5.4.2 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 512M. Try a higher amount such as 1024M. We are working on uncovering the root cause for the increased memory need.
See: Java out of memory
Faulty Enterprise product descriptor
magnolia-module-enterprise 5.4.3 contains a faulty product descriptor file
pddescriptor.xml. This file normally contains information such as version, edition and build number which you can view in the About Magnolia app. The faulty product descriptor file contains variables instead of actual data.
Symptom: You cannot register your license. You see a "License is empty" error message when entering the license key.
This issue impacts you only if you have a custom Enterprise Edition webapp based on
magnolia-community-webapp and it contains
Please fix your builds accordingly:
In a custom-built webapp
Download a patch JAR and place it into the
WEB-INF/lib folders of your webapps:
- EE Standard: magnolia-enterprise-standard-product-descriptor-5.4.3.jar
- EE Pro: magnolia-enterprise-pro-product-descriptor.jar (EE pro version)
In a .pom file
To adapt the build files of your custom bundle, add the following snippet to the
<dependencies> section of the .pom file of your webapp:
- EE Standard:
<dependency> <groupId>info.magnolia.eebundle</groupId> <artifactId>magnolia-enterprise-standard-product-descriptor</artifactId> <version>5.4.3</version> </dependency>
- EE Pro:
<dependency> <groupId>info.magnolia.eebundle</groupId> <artifactId>magnolia-enterprise-pro-product-descriptor</artifactId> <version>5.4.3</version> </dependency>
Upgrade to demo 0.8.1
demo 0.8 which is included in Magnolia 5.4.3 has a few small bugs. Upgrade to demo 0.8.1 is recommended.
- If you downloaded a ready-made bundle, replace the module JARs:
- magnolia-travel-demo-0.8.1.jar and magnolia-travel-tours-0.8.1.jar for the CE bundles.
- magnolia-travel-demo-0.8.1.jar, magnolia-travel-tours-0.8.1.jar, magnolia-travel-demo-personalization-0.8.1.jar and magnolia-travel-demo-marketing-tags-0.8.1.jar for EE standard bundles.
- magnolia-travel-demo-0.8.1.jar, magnolia-travel-tours-0.8.1.jar, magnolia-travel-demo-personalization-0.8.1.jar, magnolia-travel-demo-marketing-tags-0.8.1.jar and magnolia-travel-demo-multisite-0.8.1.jar for EE pro bundles.
If you have your own bundle, change the version number in your bundle's parent POM:
<dependency> <groupId>info.magnolia.demo</groupId> <artifactId>magnolia-travel-demo</artifactId> <version>0.8.1</version> </dependency>
<dependency> <groupId>info.magnolia.demo</groupId> <artifactId>magnolia-travel-tours</artifactId> <version>0.8.1</version> </dependency>
<dependency> <groupId>info.magnolia.eedemo</groupId> <artifactId>magnolia-travel-demo-personalization</artifactId> <version>0.8.1</version> </dependency>
<dependency> <groupId>info.magnolia.eedemo</groupId> <artifactId>magnolia-travel-demo-marketing-tags</artifactId> <version>0.8.1</version> </dependency>
<dependency> <groupId>info.magnolia.eedemo</groupId> <artifactId>magnolia-travel-demo-multisite</artifactId> <version>0.8.1</version> </dependency>