Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: DEV-1375, unlink the H2 database link

...

The default JCR persistency layer in Magnolia 5.6 is the H2 database, which is reflected in the following setting of the magnolia.repositories.jackrabbit.config property in the magnolia.properties file:

...

The 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 with Magnolia 5.4 on 4 on July 3, 2015. MTK is quicker to learn than STK and requires fewer skills.

...

  • Remove both the activation modules.
  • Add If you do not currently use transactional activation, add all modules from the magnolia-publishing-parent to  (See Publishing module) to your bundle, either manually as pre-built jars or as dependencies.
  • If you currently use transactional activation to manage multiple public instances, add the modules from the magnolia-publishing-transactional-parent (See Publishing Transactional module) reactor. 
  • Check that after the upgrade the subscribers were correctly migrated from /server/activation to /modules/publishing-core/config/receivers.
  • (warning) Rewrite your custom activation commands to be compatible with the modules of the new publishing module pack.

...

  • Remove all the publishing JARs from the ../WEB-INF/lib folders of your author and public instances. Add the activation JAR files in their place.
  • Exclude the publishing dependencies from the POM and add the old activation dependencies.

See also Publishing and activation.

Tags vs marketing tags

The introduction of content tagging in Magnolia 5.6 has had an effect on node type and workspace names:

  • Any marketing tag, used by the Marketing Tags app, is a marketing-tag node type and is stored in the marketing-tags workspace.
  • Any content tag, used by the Tags app, is a tag node type and is stored in the tags workspace.

The magnolia.properties file

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:

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

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.

...

languagexml
  • Code Block
    languagexml
    titleexclusion example....
    collapsetrue
    <dependency>
        <groupId>info.magnolia.eebundle</groupId>
        <artifactId>magnolia-enterprise-pro-demo-webapp</artifactId>       
        <version>${magnoliaBundleVersion}</version>
        <type>pom</type>
      

...

  •   <!-- 

...

  • declare 

...

  • the exclusions here -->
        <exclusions>
     

...

  •  

...

  •  

...

  •  

...

  •  

...

  •  

...

  •  

...

  •  

...

  • <exclusion>
      

...

  •  

...

  •  

...

  •   

...

  •  

...

  •  

...

  •  

...

  •  

...

  •  

...

  •  <groupId>info.magnolia.publishing</groupId>
                <artifactId>magnolia-publishing-core</artifactId>
            </exclusion>
            <exclusion> 
                 <groupId>info.magnolia.publishing</groupId> 
                 <artifactId>magnolia-publishing-transactional-core</artifactId>              
            </exclusion>
            <exclusion>
                <groupId>info.magnolia.publishing</groupId>
                <artifactId>magnolia-publishing-sender</artifactId>
            </exclusion>
            <exclusion> 
                 <groupId>info.magnolia.publishing</groupId>
                 <artifactId>magnolia-publishing-transactional-sender</artifactId> 
            </exclusion>
            <exclusion> 
                  <groupId>info.magnolia.publishing</groupId>
                  <artifactId>magnolia-publishing-receiver</artifactId> 
            </exclusion>
            <exclusion>
                <groupId>info.magnolia.publishing</groupId>
                <artifactId>magnolia-publishing-transactional-receiver</artifactId>
             </exclusion>
             <exclusion>
                 <groupId>info.magnolia.publishing</groupId>
                 <artifactId>magnolia-publishing-app</artifactId>
             </exclusion>
             <exclusion>
                 <groupId>info.magnolia.publishing</groupId>
                 <artifactId>magnolia-publishing-transactional-app</artifactId>
             </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>info.magnolia.activation</groupId>
        <artifactId>magnolia-module-activation</artifactId>
    </dependency>
    <dependency>
        <groupId>info.magnolia</groupId>
        <artifactId>magnolia-module-exchange-transactional</artifactId>
    </dependency> 

See also Publishing and activation.

Tags vs marketing tags

The introduction of content tagging in Magnolia 5.6 has had an effect on node type and workspace names:

  • Any marketing tag, used by the Marketing Tags app, is a marketing-tag node type and is stored in the marketing-tags workspace.
  • Any content tag, used by the Tags app, is a tag node type and is stored in the tags workspace.

The magnolia.properties file

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:

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

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.

Code Block
languagexml
<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>

log4j2.xml update

Apache Log4j 2 is an upgrade to Log4j that brings in significant improvements for logging configurations. If you currently have a customized log4j config you must migrate your log4j configuration.

  1. Choose an approach for migration.
    • Start with the new log4j2.xml that Magnolia provides and customize it to your needs.
    • Or take you current configuration file and follow the official guide.
  2. Update your magnolia.properties (log4j.config) to point to the new file.

    Tip

    We recommend the new file be called log4j2.xml to avoid confusion.

  3. Do a basic library check:

    • Make sure you don't have log4j-1.2.17.jar or similar in WEB-INF/lib anymore.
    • There should be only:
      • log4j-api-2.8.2.jar
      • log4j-core-2.8.2.jar
      • log4j-slf4j-impl-2.8.2.jar (the slf4j implementation is now provided by Log4j 2)

        Warning

        Make sure you don't have slf4j-log4j12-1.7.7.jar. Having both installed leads to unpredictable behavior.

  4. If in doubt about your config, you may set the level of Log4j's status-logger to debug as follows:

    Code Block
    languagexml
    <Configuration status="DEBUG">
      ...

ClientErrorInterceptor not available

Since ClientErrorInterceptor does not exist in RESTeasy 3, its capabilities were removed from our client implementation, the REST client module. If you have been relying on such objects, you have to handle it in a different way.

Refine parent pom - when updating to Magnolia 5.6.3 or higher

Please be aware that the version numbers for the Magnolia main and UI projects are not in sync with the version number of the bundles starting with release 5.6.3.

If you are updating from an earlier version:
Projects based on an older maven archetype may not build correctly starting with Magnolia 5.6.3 - because the version of the Magnolia main modules is not the same as the Magnolia bundle anymore. If you experience a problem, please update your project parent pom

log4j2.xml update

Apache Log4j 2 is an upgrade to Log4j that brings in significant improvements for logging configurations. If you currently have a customized log4j config you must migrate your log4j configuration.

  1. Choose an approach for migration.
    • Start with the new log4j2.xml that Magnolia provides and customize it to your needs.
    • Or take you current configuration file and follow the official guide.
  2. Update your magnolia.properties (log4j.config) to point to the new file.

    Tip

    We recommend the new file be called log4j2.xml to avoid confusion.

  3. Do a basic library check:

    • Make sure you don't have log4j-1.2.17.jar or similar in WEB-INF/lib anymore.
    • There should be only:
      • log4j-api
      • log4j-core
      • log4j-slf4j-impl (the slf4j implementation is now provided by Log4j 2)

        Warning

        Make sure you don't have slf4j-log4j12-1.7.7.jar. Having both installed leads to unpredictable behavior.

  4. If in doubt about your config, you may set the level of Log4j's status-logger to debug as follows:

    Code Block
    languagexml
    <Configuration status="DEBUG">
      ...

ClientErrorInterceptor not available

Since ClientErrorInterceptor does not exist in RESTeasy 3, its capabilities were removed from our client implementation, the REST client module. If you have been relying on such objects, you have to handle it in a different way.

Anchor
anc-known-issues
anc-known-issues

...

When you click the Export button in a content app or from the JCR tools Tools app, the XML opens directly in the browser, replacing the AdminCentral instead of showing the usual Download dialog from the browser. (warning) This issue only affects the upgrades to Magnolia 5.6.6.

...