Magnolia 5.4 reached end of life on November 15, 2018. This branch is no longer supported, see End-of-life policy.

Page tree
Skip to end of metadata
Go to start of metadata
Released on August 14, 2015

What has changed

Magnolia 5.4.1 delivers the following key fixes and enhancements:

  • Improved: When trying to delete a group or a role, the Security app checks whether the item has dependencies to other security items and lists them. If confirmed, the dependencies to the other items are removed.
  • Improved: Show component changes in the page editor. Display the yellow Modified status icon on components and areas that were edited.  
  • Improved: Added two new methods to cmsfn templating functions: cmsfn.localizedLinks() and cmsfn.isCurrentLocale(lang). See language switcher links in the travel demo.
  • Improved: Ability to export JCR configuration to YAML
  • Improved: A user with impaired eyesight is able to use Magnolia AdminCentral using screen reader such as JAWS.
  • Improved: Show versioning information in the user's language. 
  • Improved: Error- and Warning-Notification in Pulse are now displayed only once and to the correct users only.
  • Updated: Removed dependency on javax.mail.

  • Fixed: Adapted cache version handler to multisite cache configurations.

  • Fixed: Modality level property in YAML dialog definition is no more throwing ClassCastException.

  • Fixed: Audit logging for login events works again.
  • Fixed: Editing links in the rich text editor works again.
  • Fixed: Page unpublishing is no more breaking the workflow.
  • Fixed: MTE and STK now can be installed together. You can have both installed on the same instance.

An aggregated change log for 5.4.1 contains all the changes.

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

New translation bundles

With Magnolia 5.4.1 we introduce translation bundles. 

Translation bundles are Magnolia modules consisting of, and only of, translation files for several other Magnolia modules, in a given language. Each language has its own translation bundle.

Historically, translation files for every language were bundled with the module that used them. This led to issues where translations were at times incomplete, inconsistent, or outdated. We have now extracted them into a module-per-language structure, with the following goals:

  • Decouple the lifecycle of translations from the lifecycle of Magnolia and its modules. This means we can release modules faster and delay the translations. This also means that we can incrementally improve the translations without depending on the module being released.
  • Easier workflow for translators and developers. Earlier it was difficult for translators to find the files to translate. Developers had to get involved to provide the files and re-integrate them after the translation. It is now simpler to provide full access to a translation bundle Git repository to a translator.

How do they work?

Each translation bundle:

  • Contains translations for all modules in one language.
  • Is maintained and released individually so that translation work is independent of Magnolia's and its modules' lifecycles, as well as other language's.
  • Is a Magnolia module and has a module descriptor. This allows translators to indicate which modules, and optionally which versions of the modules, are translated.

English is master language

We treat English as our "master" language. This means English translation files will remain bundled with their respective modules. They are not in the translation bundles.

Updated modules

This release includes the following new module versions:

  • Activation 5.4.1
  • Admininterface Legacy 5.3
  • Advanced Cache 1.7.1
  • Cache 5.4.1
  • Categorization 2.4.1 
  • Commenting 2.3.1
  • Contacts 1.4.1
  • Content Dependencies 1.5.1
  • Content Translation Support 2.1.1
  • DAM 2.1.1
  • Demo Projects 0.6
  • Diff 1.7.1
  • Enterprise Edition 5.4.1
  • Form 2.3
  • Google Sitemap 2.3.1
  • Groovy 2.4.1
  • Imaging 3.2.1
  • In-place templating 2.4.1
  • Language Bundles 1.0
  • License 1.5.1
  • Magnolia 5.4.1
  • Mail 5.3
  • Multisite 1.2.1
  • Pages app 5.4.1
  • Personalization 1.2.1
  • RSS Aggregator  2.4.1 
  • Resources 2.4.1
  • Rest 1.1
  • Rest client 1.0.5
  • Scheduler 2.2.1
  • Site 1.0.1
  • Standard Templating Kit 2.9.1
  • Synchronization 1.6
  • Templating Samples 5.3
  • UI 5.4.1
  • Workflow 5.5.1
  • XA Activation (exchange-transactional) 2.3.1

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: Nils Breunese, Jozef Chocholacek, Arne Diekmann, Jordie Diepeveen,Rico Jansen, Marvin Kerkhoff, Diana Racho and Frank Sommer.

How to update from earlier versions

Important changes for Magnolia 5.2 and 5.3 users

Bundles

CE bundle

Modules that are no longer bundled:

  • Standard Templating Kit (STK)
  • Form
  • Public User Registration (PUR)
  • Device detection
  • Data module

EE bundle

  • 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 latest STK (2.9.1) to your bundle, along with its dependencies: 
    • magnolia-module-standard-templating-kit 2.9.1 (download)
    • magnolia-theme-pop 2.9.1 (download)
    • magnolia-demo-project 2.9.1 (download)
    • magnolia-dam-compatibility 2.1.1 (download)
    • magnolia-module-device-detection 1.1 (download)
    • magnolia-module-form 2.3 (download)
    • magnolia-module-public-user-registration 2.5 (download)
    • magnolia-module-data 2.3.5 (download) (See: Data module is no longer included)

      STK Dependecies
      <dependency>
        <groupId>info.magnolia</groupId>
        <artifactId>magnolia-module-standard-templating-kit</artifactId>
      </dependency>
      <dependency>
        <groupId>info.magnolia</groupId>
        <artifactId>magnolia-theme-pop</artifactId>
      </dependency>
      <dependency>
        <groupId>info.magnolia</groupId>
        <artifactId>magnolia-demo-project</artifactId>
      </dependency>
      <dependency>
        <groupId>info.magnolia.dam</groupId>
        <artifactId>magnolia-dam-compatibility</artifactId>
      </dependency>
      <dependency>
         <groupId>info.magnolia.devdect</groupId>
         <artifactId>magnolia-module-device-detection</artifactId>
      </dependency>
      <dependency>
         <groupId>info.magnolia</groupId>
         <artifactId>magnolia-module-public-user-registration</artifactId>
      </dependency>
      <dependency>
        <groupId>info.magnolia</groupId>
        <artifactId>magnolia-module-data</artifactId>
      </dependency>
  • Exclude the new travel demo (site-definition is unique on CE)
    • magnolia-travel-demo 0.6
    • magnolia-travel-tours 0.6
    • magnolia-travel-demo-marketing-tags 0.6

    • magnolia-travel-demo-multisite 0.6

    • magnolia-travel-demo-personalization 0.6

      Travel Demo Exclusions
      <dependency>
        <groupId>info.magnolia.eebundle</groupId>
        <artifactId>magnolia-enterprise-webapp</artifactId>
        <type>pom</type>
        <!-- declare the exclusion here -->
        <exclusions>
          <exclusion>
            <groupId>info.magnolia.demo</groupId>
            <artifactId>magnolia-travel-demo</artifactId>
          </exclusion>
          <exclusion>
            <groupId>info.magnolia.demo</groupId>
            <artifactId>magnolia-travel-tours</artifactId>
          </exclusion>
          <exclusion>
            <groupId>info.magnolia.eedemo</groupId>
            <artifactId>magnolia-travel-demo-marketing-tags</artifactId>
          </exclusion>
          <exclusion>
            <groupId>info.magnolia.eedemo</groupId>
            <artifactId>magnolia-travel-demo-multisite</artifactId>
          </exclusion>
          <exclusion>
            <groupId>info.magnolia.eedemo</groupId>
            <artifactId>magnolia-travel-demo-personalization</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

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>

magnolia.properties file

Add the following line:

magnolia.resources.dir = ${magnolia.home}

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

Allocate more JVM memory

Magnolia 5.4.1 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

Upgrade to ehcache 5.4.2

ehcache 5.4.1 which is included in Magnolia 5.4.1 has a bug  MGNLCACHE-121 - Getting issue details... STATUS . Upgrade to ehcache 5.4.2 immediately.

  • If you downloaded a ready-made bundle, replace the module JAR: magnolia-cache-ehcache-5.4.2.jar
  • If you have your own bundle, change the version number in your bundle's parent POM:

    Bundle parent pom.xml
    <dependency>
      <groupId>info.magnolia.cache</groupId>
      <artifactId>magnolia-cache-ehcache</artifactId>
      <version>5.4.2</version>
    </dependency>