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

Magnolia 5.4.7 delivers a number of improvements and bug fixes for authors and developers.

Adding a new page is now faster and more straightforward. You can make new page templates available to authors immediately. The display of times and dates in the user’s own time zone rather than in the host server’s time means that creation and modification times displayed in apps are more relevant for users. Our German-speaking authors will find that the translation of the interface has reached a point where working in the translated version is comfortable.

Light module support continues to evolve for developers. You can now create a basic module descriptor in YAML and define module dependencies. Magnolia has improved the performance of detecting changes in YAML definition files and translation files.

Changes for authors

Setting a time zone in your user profile

You can now set your time zone in your user profile. The time zone set in your user preferences is used to display all dates and times in apps such as Pages and Assets.

You must log out and log back in again to see the updated time zone information in Magnolia.

Magnolia continues to record events such as page creation using the host server time. The recorded time is converted and displayed in the user's preferred time zone.

MGNLUI-2695

Page creation streamlined 

The steps for adding a new page and editing page properties have been merged. When you add a page, you go directly to enter the page properties.

When you save changes, the information entered in both dialogs is saved. If you click Cancel, the page is not created.

To edit the page properties at a later time you can access the Page properties dialog as before. 

PAGES-61MTE-85

German language coverage of Magnolia extended

The main modules of Magnolia are now translated into German. A German speaking editor can comfortably work in Magnolia in their own language.

LANG-49

Make all templates available immediately

You can add a new property enableAll or a new node enableAllWithRenderType in a site definition. This makes new page templates immediately available to editors in the Pages app and removes a common stumbling block in learning and using Magnolia templating. You do not need to specifically make new page templates available anymore.

The enableAll property, if set to true, makes sure that all page templates are available to the site:

The enableAllWithRenderType node enables all page templates with a specific render type:

Node nameValue

 travel

 

 templates

 

 availability

 

  templates

 

 enableAllWithRenderType

 

 freemarker

freemarker

 jsp

jsp
 

MGNLSITE-64

Changes for developers

Module dependencies in light modules

Light modules now support module dependencies in new YAML module descriptor files.

Example: Light module module descriptor

/my-templates/module.yaml
version: 1.0
displayName: My Templates Module
dependencies:
  core:
    version: 5.4.7
  rendering: 
    version: 5.4.7
  # other modules
  myApps:
    version: 1.1
    optional: true

MAGNOLIA-6503

Edits to YAML files are detected faster

Magnolia now detects your edits to YAML files faster. When you edit a YAML file such as a template definition or dialog definition, the edit is applied upon the next definition query. Edits to included YAML files (via the !include tag) will also trigger the definition update. 

MAGNOLIA-6451MAGNOLIA-6623

Default workspace in JCR browser is website

When you open the JCR app, the default workspace is now website (not config). 

You can change the default in /modules/jcr-browser-app/apps/jcr-browser/subApps/browser/contentConnector/workspace.  

MGNLUI-3747

Changes to translation files are seen by Magnolia instantly

Any change made to a translation file (.properties), stored in the /<moduleName>/i18n/ directory, is applied and visible instantly. You no longer need to reload i18n files in the Dev Tools app.

MAGNOLIA-6643

Deprecations

Config Info app deprecated

The Config Info app is deprecated from version 5.4.7 onwards. Server configuration and virtual URI mappings have moved to the About Magnolia app

MGNLUI-3866

AbstractFieldFactory constructor deprecated

Since Magnolia 5.4.2, FieldFactory implementations have been expected to inject both UiContext and I18NAuthoringSupport to support default values and other field attributes in a consistent manner. Magnolia has now aligned injected dependencies for most common FieldFactories in UI, Pages and DAM and the pre-existing constructors are deprecated. 

MGNLUI-3758

Bug fixes

  • An asterisk indicating a required field and the locale such as (en) are displayed even when a long field label is truncated. MGNLUI-3157 
  • Users managed in an external repository such as LDAP get correct notifications for messages and tasks in Pulse. MAGNOLIA-6647
  • Nested components are indexed for search: Magnolia’s default JCR indexing configuration now supports nested structures such as /page/area/component/area/component and not only /page/area/component/MAGNOLIA-6666 

  • Rich text links to assets in the Tours app are now resolved correctly. If your content app has rich text fields, you link to DAM assets and then render the rich text content on your website, you need to do the same fix. See the example in TourServices.javaMGNLDEMO-159
  • NPE error is no longer logged when a user adds a favorite. MGNLUI-2981
  • Starting cache flush policies no longer produces an injection error when using modules (inside the flush policies) which have not started yet. As of Cache module 5.4.5, policies are started only after all modules have started. MGNLCACHE-135
  • The diff functionality now finds and strips IE conditional comments which used to produce an empty or incorrect view in some cases. MGNLDIFF-88

An aggregated change log for 5.4.7 contains all the changes.

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

Updated modules

This release includes the following new module versions: 

  • Advanced Cache 1.7.4
  • Cache 5.4.5
  • Community Edition 5.4.7
  • DAM 2.1.5
  • Demo 0.12
  • Diff 1.7.2
  • Enterprise Edition 5.4.7
  • Lang 1.0.5
  • Log tools 1.0.1
  • Magnolia 5.4.7
  • Magnolia Standard Templating Kit 2.9.5 
  • Magnolia Templating Essentials 0.11
  • Pages 5.4.6
  • Personalization 1.2.5
  • Site 1.0.7
  • SiteMesh 1.0.3
  • UI 5.4.7

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: Natascha Desmarais, Jordie Diepeveen, Florian Fuchs, Grégory Joseph, Michael Kaiser, Daniel Lipp, Michiel Meeuwissen, Benoit Olbrechts, Vivian Steller and Tom Wespi.

How to update from earlier versions

Changes from 5.4.x 

magnolia.properties file

Add the following lines:

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

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 is 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

Allocate more JVM memory

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

Processed Resources app conflict

If you upgrade to Magnolia 5.4.7 from 5.4.2 or earlier then you will experience UUID conflict if you try to also install the new Processed Resources app during the upgrade.

java.lang.RuntimeException: Error importing config.modules.processed-resources-app.dialogs: a node with uuid a53f308a-0d6a-4bb9-a5f8-6f11ff68504d already exists!

To workaround this issue complete the upgrade before installing the Processed Resources app.