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 1 to 2 hours since all of the versions have to migrated 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.
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.16
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
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.
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.
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>
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>
...
To update your project, follow the standard update procedure, then make the following changes:
- 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
- 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.
- 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
.
- 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.
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.