Page tree
Skip to end of metadata
Go to start of metadata

Magnolia CORE 5.5.4 delivers the following changes and improvements for authors and developers.

Changes for authors

Improved ZIP folder upload in the Assets app

When you upload a ZIP file to the Assets app, the name of the parent folder no longer has a .zip extension.

You can also omit the parent folder by selecting the Extract here option in the dialog.

The new Location field is defined at /modules/ui-framework/dialogs/importZip/form/tabs/import/fields/extractLocation. You can change the default value there if required. 

The assets are imported like this:

Extract into new folderExtract here

MGNLUI-4202

Fixed Pages app for Firefox 52 and Chrome 57 on hybrid devices

The issues causing limited editing capabilities when using the Pages App with the latest Mozilla Firefox 52 and Google Chrome 57 on hybrid devices have been fixed.

PAGES-126

Icons in tabs of sub apps instead of action names

To save space and increase readability, sub app tabs now display icons instead of labels. For example, instead of "EDIT /about" label we use a pencil icon followed by the path of the item. 

  

This change applies to the following apps: Pages, Assets, Contacts, Tours, Tour Categories, Personas, Segments, Sitemaps, Categories, Feeds, Resource Files, Groovy, Marketing Tags, Content Translation, and more.

MGNLUI-482

Publication improvements

Warning when deleting nodes with modified children

You are now warned before you delete a parent tree or page that has previously published and then modified subnodes.

This warning has been added to avoid the result of the following scenario: 

  1. Move a published subpage from one location to another location in a different subtree.
  2. Delete the parent page of the new location (or a higher level page).
  3. Publish the deletion of the parent page.

The result is an inconsistency between the pages in the author and public instances. On the public instance, the page still exists in the original location because the move was not taken into account. 
This is because the publication of deletions is only possible non-recursively. Parent pages are deleted but children are not handled.

A knock-on effect of this behaviour was that the child page could then no longer be removed by a normal author, because it did not exist in the author instance anymore.


MGNLUI-3242

Order of items in content apps stays correct upon publication

Previously, the order of items in content apps containing different node types (for instance folders and assets in the Assets app) changed when published. This led to a different order of nodes on the public instance compared to the author instance. This issue has been fixed.

MGNLACTIVATION-139

Archived tasks not displayed in the Pulse

Archived tasks are no longer displayed under the All Tasks tab of the Pulse.  Archived tasks are still stored in the repository and can be re-opened if necessary.

TASKMGMT-27

License information

The About app now provides more information about the status of the license. For example, you can now see if your license has expired, belongs to a different user or a different Magnolia version, or if the license is broken:

MGNLEE-421

Changes for developers

YAML for JCR bootstraps

You can now bootstrap JCR data with YAML files as an alternative to XML. Compared to XML, YAML bootstrapping offers better: 

  • Human readability
  • Editability
  • Diff and merge 

YAML export in apps and JCR Tools

The import and export commands used in many content apps (such as Pages app, Assets app, Contacts app, Categories app and so on) and in the JCR Tools app have been replaced and now support both XML and YAML.

The commands are defined in /modules/ui-admincentral/commands/default.

Filtering properties

You can now filter the results of the export action when exporting to either YAML or XML.

Filters are applied per JCR workspace.

By default, Magnolia now applies a filter to the configuration workspace (regardless of export format) to remove the following properties:  

  • jcr:createdjcr:createdByjcr:uuid
  • mgnl:activationStatusmgnl:createdmgnl:createdBymgnl:lastActivatedmgnl:lastActivatedBymgnl:lastModifiedmgnl:lastModifiedBy

(warning) Because of this new default filter, data exported from the configuration workspace is now slightly different when compared to exports from earlier Magnolia versions. 

You can reconfigure the default filter so that all the properties are still exported from the configuration workspace if you so require.

Ehcache 3 replaces Ehcache 2

The Magnolia Ehcache module has been updated to the 3.x line of Ehcache and brings all the important changes and improvements of this line such as full compatibility with javax.cache API (JSR-107), off-heap storage capabilities, a revamped API, persistence by default, improved performance over Ehcache 2.x and much more.

With this replacement, the following files are removed:

  • magnolia-cache-ehcache-5.5.3.jar
  • ehcache-2.10.0.jar

The following files are added:

  • magnolia-cache-ehcache3-5.5.4.jar
  • ehcache-api-3.3.0.jar
  • ehcache-impl-3.3.0.jar
  • offheap-store-2.3.2.jar
  • sizeof-0.3.0.jar
  • ehcache-core-3.3.0.jar
  • statistics-1.4.3.jar

MGNLCE-80MGNLCACHE-173

Blossom can be used together with personalization

You can now configure the BlossomFormDialogPresenter in the Blossom module using the formDialogPresenterClass property. This change enables component personalization with Blossom.

BLOSSOM-242

Security-related changes, updated third-party libraries, modules and dependencies

Apache Tika 1.14

Apache Tika has been updated to the latest stable release which is 1.14. Be aware that we also keep track of the versions of some of the transient third-party module dependencies of Tika and have also raised the version for some of them.

eTag HTTP hashed with SHA1

The values of the eTag HTTP header fields are now "hashed" using the SHA1 of what the previous value used to be.

MVCServlet moved

The MVCServlet  and its related classes were moved to a separate module. If you rely on legacy apps, you need to install the module magnolia-core-compatibility (5.5.4 or higher) and enable all disabled servlets at /server/filters/servlets with the Configuration app.

Download: magnolia-core-compatibility.jar


This release also comes with a number of other bug fixes and improvements. An aggregated changelog for 5.5.4 contains all the changes. 

This release is a recommended update for all users of Magnolia 5.

Updated modules

  • Activation 5.5.3
  • Blossom 3.1.4
  • Cache 5.5.4
  • Community Edition 5.5.4
  • Contacts 1.5
  • Content Dependencies 1.7
  • Content Translation Support 2.1.8
  • DAM 2.2.4
  • Enterprise Edition 5.5.4
  • Google Sitemap 2.4.3
  • Jcr Tools 1.1
  • Magnolia 5.5.4
  • Marketing Tags Manager 1.2.5
  • Pages 5.5.4
  • Personalization 1.4.4
  • Resources 2.5.3
  • Task Management 1.2.2
  • UI 5.5.4
  • Workflow 5.6.3

How to update from earlier versions

Updating to 5.5.x from any pre-5.5 version

  • (warning) Please be aware that depending on the number of versions in the version workspace, the update to 5.5.x from any version below 5.5 may take from 20 to 30 minutes since all of the versions have to migrate to a new structure.
  • Since the default JCR persistency layer in our bundles has changed to H2 Database Engine with the 5.5 release, please make sure that you keep the magnolia.repositories.jackrabbit.config property in the magnolia.properties file set to the database you used before updating. For example, for Derby set the property as follows:
    magnolia.repositories.jackrabbit.config=WEB-INF/config/repo-conf/jackrabbit-bundle-derby-search.xml

Generally, follow the standard update procedure.

Changes for 5.4.x users

The following changes apply only to the users running Magnolia 5.4 (major release) and maintenance releases 5.4.1 to 5.4.3.

magnolia.properties file

CE and EE users

Add the following lines in your magnolia.properties file. They configure a directory for loading file system resources and the file types Magnolia should observe in the classpath and reload on-change:

magnolia.resources.dir=${magnolia.home}
magnolia.resources.classpath.observation.pattern=.*\\.(ftl|yaml)$

If you had EE Pro 5.4.x or previous and are installing EE Pro 5.5.4

Due to component personalization bringing in new features to the page editor, you must replace the widgetset in the magnolia.properties file. Either replace or add (depending on the update path):

magnolia.ui.vaadin.widgetset=info.magnolia.widgetset.MagnoliaProWidgetSet

Derby vs. H2

If you used a previous version of Magnolia with an Apache Derby database, make sure you keep your magnolia.repositories.jackrabbit.config setting in your magnolia.properties file.

Magnolia bundles now ship with the following default setting:

magnolia.repositories.jackrabbit.config=WEB-INF/config/repo-conf/jackrabbit-bundle-h2-search.xml
This setting may not be compatible with your setup.

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.

Jackrabbit configuration

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 <SearchIndex> block.

<SearchIndex>
  <!-- more params here -->

  <!-- needed to highlight the searched term -->
  <param name="supportHighlighting" value="true"/>
  <!-- custom provider for getting an HTML excerpt in a query result with rep:excerpt() -->
  <param name="excerptProviderClass" value="info.magnolia.jackrabbit.lucene.SearchHTMLExcerpt"/>
</SearchIndex>

log4j.xml addition

Add the log configuration for org.reflections

...
 <category name="org.apache.jackrabbit">
    <priority value="WARN" />
  </category>
 <!-- Reflections library spoils logs with hundreds of harmless warnings; tries to look into native libs but none of its DefaultUrlTypes can handle them. -->
  <category name="org.reflections">
    <priority value="ERROR" />
  </category>
  <category name="com">
    <priority value="WARN" />
  </category>
...

How to update from Magnolia 5.2 and earlier

To update your project, follow the standard update procedure, then make the following changes:

  1. 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

  2. If you used the DAM: 
    • Replace DamManager with AssetProviderRegistry.
    • See DAM and the STK and DAM templating on how to use assets in your templates.
    • The DAM changes have no impact on the STK. There is no need to modify Freemarker scripts because the new DAM API is abstracted from STK.
  3. If you have a custom jBPM workflow:
    • In the info.magnolia.module.workflow.jbpm.JbpmWorkflowManager#completeWorkItem method, 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#getWorkItem method. It was used to complete a work item for human tasks. Furthermore, the wrapper we initialize only holds the mgnlData map.

    • The previously hardcoded mgnlData parameter is now configurable in /modules/workflow/commands/workflow/activate/activate/parameterMapName.

  4. If you have custom widgets or Vaadin add-ons:
    • Magnolia's default widgetset was relocated to info.magnolia.widgetset.MagnoliaWidgetSet.
    • Update your webapps's magnolia.properties file.
    • Otherwise Magnolia will automatically fall back to the new widgetset but will issue warnings during upgrade, and whenever a user logs in to Magnolia.

How to update from Magnolia 4.5 and earlier

Are you running on Magnolia 4.5 or earlier? It’s time to move to 5. Contact us for migration support and look at the migration process.

Known issues

Posting a comment does not work

Due to the removal of deprecated code, the Commenting module does not work. We will release a new version of it soon:  MGNLFORUM-296 - Getting issue details... STATUS .

The Show action in the Configuration app doesn't open the correct location

When selecting properties in a definition that are actually extended from another node in the config workspace, opening the definition in the Configuration app will not work correctly, as the underlying node/property doesn't exist. For example,

/.magnolia/admincentral#app:definitions-app:;app~site@subApps/browser/actions/addFolder/icon:treeview
points to config:/modules/site-app/apps/site/subApps/browser/actions/addFolder/icon
but all the actions are inherited from /modules/ui-admincentral/apps/configuration/subApps/browser via extends.

Allocate more JVM memory

Magnolia 5.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 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

Acknowledgments

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: Daniel Lipp, Tobias Mattsson, Diana Racho, Pierre Sandrin, Frank Sommer, Nicole Stutz, Mohan Sundararajan, Andreas Weder and Fadi Wissa.

  • No labels