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

Magnolia 5.4.11 delivers the following changes and enhancements:

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

Creating subsegments is no longer allowed

Previously you were able to create "subsegments" by placing one segment under another in the Segments app. This structure was misleading because Magnolia does not apply segments in a hierarchical way. Magnolia only applies the segment you select, not its parents.

To avoid potentially misleading segment structures, you can no longer add or move one segment under another. Magnolia warns you about subsegments during the update process. We recommend that you organize your segments using a flat list or folders.

Example: Registered user does not mean "Registered user from the United States". It means just "Registered user".

(error) Subsegments (not allowed)(tick) Flat list (allowed)(tick) Folders (allowed)

MGNLPN-325

Changes for developers

Improved performance in LDAP Connector

LDAP Connector module 1.8 implements new LDAP / Active Directory -specific methods  #getUsersWithGroup() and #getUsersWithRole() ) which retrieve users from LDAP faster. This performance improvement benefits sites that have a very large number of LDAP users.

Some changes in the module's API were necessary, for details please see the Clirr report of API Incompatibilities and API Changelog (Nexus login required).

Update your LDAP/AD properties files as follows:

  • info.magnolia.jaas.sp.ldap.resolver.OpenLDAPGroupResolver
    • Add the groupIdAttribute property.
    • Add the groupMembershipAttribute property.
    • Remove the groupId property (deprecated).
  • info.magnolia.jaas.sp.ldap.resolver.ADGroupResolver
    • Add the userMembershipAttribute property.
    • Add the groupIdAttribute property.
    • Add the groupMembershipAttribute property.
    • If your groups are managed in a different subtree than the users, add the groupSearchContext property together with the respective value.
    • Remove the groupId property (deprecated).
  • info.magnolia.jaas.sp.ldap.resolver.MagnoliaGroupResolver and info.magnolia.jaas.sp.ldap.resolver.MagnoliaRoleResolver

Cache added for LDAP

The LDAP/AD User Manager in LDAP Connector 1.8 now has a basic cache to avoid repeated calls to LDAP/AD. If Ehcache is used then the default configuration is automatically bootstrapped into /modules/cache/config/cacheFactory/caches/ldap-user-manager-cache. See Cache module documentation for configuration and use. 

MGNLLDAP-98

Other changes

  • Magnolia now resolves the time either to the user's preferred time zone or to system default. MGNLUI-4014
  • 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

  • In a multivalue field, the reordering (up and down) buttons are now hidden if you set the transfomerClass to DelegatingMultiValueFieldTransformer or one of its subclasses. This is because the multivalue field doesn't delegate reordering to an API that is common to all multivalue transformers. MGNLUI-4123
  • Removed the duplicate library cglib:cglib:2.2 from dependencies in favor of cglib:cglib-nodep:3.2.2. As a consequence, all definitions which use the i18n mechanism (templates, dialogs, actions) require the default constructor. TASKMGMT-26

This release also comes with a number of bug fixes and several security improvements. It is an important and recommended update for all Magnolia 5.4.x users.

An aggregated changelog for 5.4.11 contains all the changes.

Updated modules

This release includes the following new module versions:

  • Advance Cache 1.8.2
  • Cache 5.4.7
  • Community Edition 5.4.11
  • Contacts 1.4.2
  • Content Translation Support 2.1.6
  • DAM 2.1.8
  • Enterprise Edition 5.4.11
  • Form 2.3.8
  • Language bundles 1.0.9
  • LDAP 1.8
  • Magnolia 5.4.11
  • Marketing Tags Manager 1.2.4
  • Multisite 1.2.5
  • Pages 5.4.10
  • Personalization 1.3.2
  • SiteMesh 1.0.5
  • Soft Locking 2.5.2
  • Standard Templating Kit 2.9.6
  • Task Management 1.1.3
  • UI 5.4.11

How to update from earlier versions

Change for 5.4.x

The following change only applies to users running Magnolia 5.4 (major release) and maintenance releases 5.4.1 to 5.4.3.

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

Allocate more JVM memory

Magnolia 5.4.11 ee-bundle may require you to allocate more memory to 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 value 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.11 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 work around this issue complete the upgrade before installing the Processed Resources app.

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: Andreas Antener, Vikas Attiguppa, Adrien Berthou, Nils Breunese, Soisik Froger, Shubha Gowda, Daniel Kasmeroglu, Marvin Kerkhoff, Daniel Lipp, Michiel Meeuwissen, Benny Menzel, Teresa Miyar, Matthias Müller, Matteo Pelucco, Diana Racho, Frank Sommer, Richard Unger, David Wartel, Tom Wespi.

  • No labels