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

Magnolia CORE 5.5.2 delivers the following changes and improvements:

Changes for authors

Fixed erratic scrolling in trees

Actions such as adding nodes and properties in trees and editing property values in-place caused the tree to scroll back to the top. The user lost focus and had to scroll back to the item they were editing. This erratic scrolling behavior is now fixed. The tree now maintains position when an action is completed.

The scrolling issues affected recent versions of Chrome, Opera and Firefox 49+.

MGNLUI-4084

Personalize pages and components at the same time

Page and component personalization are no longer mutually exclusive. You can now personalize a page and its components at the same time to create detailed personalization scenarios. The feature is disabled by default but you can enable it in personalization-components module configuration. Component personalization is an EE Pro feature.

MGNLPN-362, MGNLPN-363

Changes for developers

Report JIRA issues directly from Magnolia

The new Report an issue subapp in the About Magnolia app allows developers to report JIRA issues directly from Magnolia.

MGNLEE-475

Browser cache is disabled only in the developer mode

The default browser cache policy introduced in the previous release now applies only to the developer mode in the author instance, which improves the overall user experience.

MGNLCACHE-164, MGNLCACHE-12

Default app group and hiding apps in the App launcher

In App launcher layout configuration, you can now define a default group for new apps. You can also specify which apps you don't want to appear in the App launcher.

MGNLUI-4127

Other changes

  • Fixed the version workspaces migration issue for those Magnolia 5.4.x users who intend to update to the 5.5 branch. MAGNOLIA-6933
  • Only Resolved bulk-action tasks can be archived in the publication workflow. MGNLUI-3903
  • The default values of the URIPrefix properties in /server/URI2RepositoryMapping/mappings/ now all come with a trailing slash, for example /contacts/ instead of just /contacts , to prevent URI mapping conflicts for root-level pages having the same name as the URI prefix. CNTCTSAPP-98, MGNLPN-252, MGNLGS-120
  • Fixed an issue where double-clicking the Edit icon on the component or area bar in the Page editor opened two instances of the Edit dialog. If you are using a custom implementation for /modules/pages/apps/pages/subApps/detail/actions/editElement , be aware that the content change event also has to be sent on the Cancel action of the dialog. PAGES-116

  • Since this release visitorCookies are httpOnly by default and can be made even more secure by adding the secure property in the VisitorDetectorFilter . MGNLPN-250
     

This release also comes with a number of bug fixes and security improvements. An aggregated changelog for 5.5.2 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: 

  • Cache 5.5.2
  • Categorization 2.5.2
  • Community Edition 5.5.2
  • Contacts 1.4.2
  • DAM 2.2.2
  • Demo Projects 1.1.2
  • Enterprise Edition 5.5.2
  • Google Sitemap 2.4.2
  • Groovy 2.5.2
  • Jackrabbit Backup 2.1.2
  • Magnolia 5.5.2
  • Mail 5.4.2
  • Pages 5.5.2
  • Personalization 1.4.2
  • Resources 2.5.2
  • RSS Aggregator 2.5.2
  • Scheduler 2.3.1
  • Site 1.1.1
  • Soft Locking 2.6.2
  • Standard Templating Kit 3.0.2
  • Templating Essentials 1.1.2
  • Tools 1.8.1
  • UI 5.5.2
  • Workflow 5.6.1

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

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

Links to tours don't work if you access demo over a correctly configured domain

In 5.5.1 we removed a fallback mechanism checking if the handle prefix had been prepended incorrectly in a request with the complete path to the item (MAGNOLIA-6882). This however entails that on production instances running under registered domain names, not on a test or development server accessible via localhost, such handle prefixes can no longer form a part of the toURI parameter in a module's virtualURIMapping setting. On a production instance please be sure to have the prefixes removed from the parameter. 

This unfortunately affects also the travel demo in our 5.5.1 and 5.5.2 bundles. With handle prefixes travel and sportstation present in the toURI parameter, the links to the tours in the travel demo are inaccessible on demo.magnolia-cms.com or any other registered domain, and the following changes are necessary:

forward:/travel/tour?tour=$1    >   forward:/tour?tour=$1

forward:/sportstation/tour?tour=$1    >   forward:/tour?tour=$1

A development deployment under localhost is not affected. MGNLDEMO-204.

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

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: Vikas Attiguppa, Mariusz Chruscielewski, Shubha Gowda, Michiel Meeuwissen, Teresa Miyar, Matteo Pelucco, Frank Sommer and Tom Wespi.

  • No labels

1 Comment

  1. It might be worth noting that the change to the artifact ID of the servlet API jar can break existing modules.

    MAGNOLIA-6913 - Getting issue details... STATUS  upgrades to Servlets 3.0 which includes the name change from servlet-api to javax.servlet-api. Any modules created via the Maven archetype which have then had the version element removed (to allow management via the parent POM) will include this reference which, having been renamed, will leave the module without a version for servlet-api.

    Quick fix:

    Every module POM that contains the dependency:

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <scope>provided</scope>
    </dependency>

    Should be edited to include:

      <artifactId>javax.servlet-api</artifactId>