Magnolia 5.6 reached end of life on June 25, 2020. This branch is no longer supported, see End-of-life policy.
On this page we provide the information you should be aware of when upgrading to Magnolia 5.6.x from any previous and currently supported version (see also the End-of-Life policy). Before commencing with the upgrade, please read:
If you are you migrating from Magnolia 4.4/4.5, please have a look at the migration documentation first. You may also contact us for migration support.
Please note that depending on the number of versions in the version
workspace, the upgrade to 5.6.x from any version below may take from 20 to 30 minutes since all of the versions have to migrate to a new structure.
WEB-INF/lib
folder of your old Magnolia instances with new JARs from the bundle.index
folder under each workspace directory: repositories/magnolia/workspaces/<workspace>/index
. Indexes are recreated on startup, which might take a while depending on the size of your repository.magnolia.properties
files, compare the changes to the file in the new bundle. Properties may have been added and removed.If you are upgrading from a pre-5.6 branch to the 5.6 branch, please follow the steps below to make sure that your custom modules are compatible with the UI in the 5.6 branch. The first Magnolia release in this branch uses Vaadin 8.1.5 (see Vaadin 8.1.5 release notes and API docs).
TextField
).Change the vaadin-server
dependency from
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-server</artifactId>
<version>7.7.6</version>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-compatibility-server</artifactId>
<version>8.0.0</version>
</dependency>
vaadin-compatibility-server
vaadin-compatibility-client
vaadin-compatibility-client-compiled
vaadin-compatibility-shared
vaadin-compatibility-themes
To be able to use the new Vaadin 8 features, add also the following dependency:
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-server</artifactId>
<version>8.0.0</version>
</dependency>
Please see also the links in the Further reading section for additional information on upgrading from Vaadin 7 to Vaadin 8.
Normally, you won't need to do this since you have a Magnolia running for you. However, in case you are demoing your module as a custom Vaadin application, then you have to include Vaadin7WidgetSet
:
@Widgetset("com.vaadin.v7.Vaadin7WidgetSet")
,Or do it in your GW[i]T configuration file by adding <inherits name="com.vaadin.v7.Vaadin7WidgetSet" />
.
If you had Enterprise Edition Pro 5.4.x or previous and are installing Enterprise Edition Pro 5.6.x, you have to replace the widget set in the magnolia.properties
file due to component personalization bringing in new features to the page editor. Either replace or add (depending on the update path):
magnolia.ui.vaadin.widgetset=info.magnolia.widgetset.MagnoliaProWidgetSet
MagnoliaWidgetSet
:magnolia.ui.vaadin.widgetset=info.magnolia.widgetset.MagnoliaWidgetSet
Following the release of Magnolia 5.5.7, Magnolia 5.6.x allows you optionally to define third-party dependencies in a different way. Previously, dependency management information about third-party modules was defined in the parent poms of magnolia.main
and magnolia.ui
. You may now use a software BOM (Bill of materials) project instead. The project can then be imported in all modules. This ensures that the versions of the third-party modules are the same.
To use a BOM in your project, include the following code snippet in the dependency management section of the parent poms and adjust the version number accordingly:
<dependencyManagement> <dependencies> <dependency> <groupId>info.magnolia.boms</groupId> <artifactId>magnolia-external-dependencies</artifactId> <version>5.6</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
The default JCR persistency layer in Magnolia 5.6 is H2, which is reflected in the following setting of the magnolia.repositories.jackrabbit.config
property in the magnolia.properties
file:
magnolia.repositories.jackrabbit.config=WEB-INF/config/repo-conf/jackrabbit-bundle-h2-search.xml
magnolia.repositories.jackrabbit.config
setting. For Apache Derby, for example this would be: magnolia.repositories.jackrabbit.config=WEB-INF/config/repo-conf/jackrabbit-bundle-derby-search.xml n your magnolia.properties file.
Standard Templating Kit (STK) was deprecated on September 15, 2017, reaching the end of life on December 31, 2018. The replacement for STK is the Magnolia Templating Kit (MTK), first released with Magnolia 5.4 on July 3, 2015. MTK is quicker to learn than STK and requires fewer skills. MTK is aimed at the increasing number of front-end developers who looked for something leaner and less time-consuming. MTE is front-end framework agnostic, which means you can integrate it with any modern framework such as Bootstrap or Foundation.
Since the release of Magnolia 5.6 we no longer produce preconfigured bundles and webapps with the STK based demo. If you still rely on the STK, see how to add STK to your bundle.
Check your magnolia.properties
file for the presence of the following lines which 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)$
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>
TODO: update after MAGNOLIA-6794
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> ...
Magnolia 5.6 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
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.
For other known issues please this the Known issues page.