Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
top
top
This topic provides information about things you need to check and extra tasks you may need to perform when upgrading your XperienCentral installation to a specific version. The modifications per version are not cumulative which means that you need to apply the changes for all versions between your current version and the one you are upgrading to. For example, if you upgrade from XperienCentral R28 to R32, you need to apply the changes described in this topic for all versions from R29 up to and including R32. For general upgrade information, see Upgrading a Linux Installation or Upgrading a Windows Installation.

...

Expand
titleXperienCentral R39

XperienCentral R39

Release date: April 6, 2023


Note

Minimum Version Required for Upgrading to XperienCentral R39

Upgrading to XperienCentral R39 requires a minimum version of R26. If you are upgrading from XperienCentral R25 or lower, you must first upgrade to R26 and then upgrade to XperienCentral R39.


Check Configuration Files

See Check Configuration Files.

Filename Changes

The following files have been modified in this version of XperienCentral. If you have custom code that references the following files by name, you must modify your code to pick up these changes.

<xperiencentral-root>/webmanager-wcbs/webmanager-interactive-forms/wmpformpresentation/src/main/resources/presentationtype/static/wmpformpresentation/js/plugin/:

  • jquery-ui-1.13.1.min.css is now jquery-ui-1.13.2.min.css
  • jquery-ui-1.12.1.min.js is now jquery-ui-1.13.2.min.js
  • jquery-form-4.2.0.js is now jquery.form-4.3.0.patched.js

<xperiencentral-root>/webmanager/webmanager-webapps/webmanager-backend-webapp/src/main/webapp/js/library/jquery/:

  • jquery.form.js is now jquery.form-4.3.0.patched.js
  • jquery-3.5.1.min.js is now jquery-3.6.1.min.js
  • jquery-ui-1.13.1.min.js is now jquery-ui-1.13.2.min.js

Angular and CSS Styling

Beginning in XperienCentral R39.0, GX Software recommends that you prevent Angular panels from rendering inline CSS styling. You should configure your Content Security Policy to block this. In Angular version 12, the so called "critical CSS" is rendered inline by default. This can be changed easily by setting the inlineCritical option in your build to false. For more information see [https://0xdbe.github.io/AngularSecurity-DisableInlineCriticalCSS/].

Java Min/Max Version

In XperienCentral R39, Java 17 is the minimum and maximum supported version.

Password Requirements

The password strength requirements have been modified in XperienCentral R39. A password must now contain 12 or more characters. While existing passwords will still work after upgrading to R39, GX Software recommends that you encourage your users to change their password after upgrading.

Remove the XML Parser Plugin

After upgrading to XperienCentral R39, you should manually remove the "GX WebManager - XML Parser" plugin to avoid errors in the log. See Plugins Management Console.

The wmedit: button tag

The wmedit:button tag in JSPs now has a required id attribute. Any custom functionality that uses this tag should be updated to provide a unique ID value.

Content Security Policy configuration

A Content Security Policy is used to let the user’s user's browser know from which location resources , like Javascript or CSS , can be loaded. XperienCentral now supports the configuration of a CSP within XperienCentral itself.  Configuration Configuration takes places via the Content Security Configuration panel, found in the main menu under Application Tools.

Disabling the Content Security Policy Filter

The filter that adds both the CSP header and the nonces (if applicable) can be bypassed when starting XperienCentral. This can be used if the CSP is configured on Apache HTTPD for example or when you are accidentally locked out of XperienCentral due to a CSP misconfiguration.

For more information on Content Security Policy configuration see https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP

Changes in xslStyleSheet

In R39, an extra XSL template for wm-hostname-prefix has been added added in xslStyleSheet.jspf. If you use a custom implementation of this file, make sure to add this extra template to the stylesheet.


Code Block
themeEclipse
<xsl:template match="wm-hostname-prefix" name="wm-hostname-prefix">
   <xsl:choose>
      <xsl:when test="count(/root/system/headers/header[name = 'x-forwarded-prefix']) > 0">
         <xsl:value-of disable-output-escaping="yes"select="/root/system/headers/header[name = 'x-forwarded-prefix']/value"/>
      </xsl:when>
      <xsl:when test="count(/root/system/headers/header[name = 'X-Forwarded-Prefix']) > 0">
         <xsl:value-of disable-output-escaping="yes" select="/root/system/headers/header[name = 'X-Forwarded-Prefix']/value"/>
      </xsl:when>
   </xsl:choose>
</xsl:template>



...

Expand
titleXperienCentral R36

XperienCentral R36

Release date: June 15, 2022


Note

Minimum Version Required for Upgrading to XperienCentral R36

Upgrading to XperienCentral R36 requires a minimum version of R26. If you are upgrading from XperienCentral R25 or lower, you must first upgrade to R26 and then upgrade to XperienCentral R36.


Check Configuration Files

See Check Configuration Files.

SEO Updates

In R35 and earlier, the application_settings.friendly_url_extension setting was used to determine whether a URL is friendly. In R36 and higher, it's possible to leave the friendly URL extension empty which calculates friendly URLs without extensions. This means that the way that a URL is checked for being friendly has been changed. A new setting has been introduced in the startup_settings section of the General tab of the Setup Tool: seo_path. The value in this field is used to determine if a URL is friendly or not. For example, assume that Apache is not configured to remove /web/ from a URL. In that case a friendly URL in versions R35 or earlier would be /web/home.htm. In versions R36 and higher, it would be /web/seo/myweb.htm.

To make sure this works as intended check the following settings in the Setup tool:

website_settings.friendly_url_prefix

In R35, the default value was /${startup_settings.context}. When Apache is not used to remove the /web/ prefix, this setting should be updated to

/${startup_settings.context}/${startup_settings.seo_path}

If Apache is used, this field is usually empty and can be left as is.

startup_settings.seo_path

The value of this field should be set to seo by default. If this field is not present in the startup_settings.xml check with your hosting provider if a different startup_config.xml is used than the one shipped with the deploy of XperienCentral. In that case, the following line should be added:

<entry name="seo_path" value=$(webmanager seopath)" />

Please also make sure that all changes in settings.xml have been applied.

context_static

The setting application_settings.context_static has been removed in XperienCentral R36. You must modify any custom code that uses this setting to use application_settings.static_files_url instead.

Changes to Apache

A minor change needs to be done to the vhost configuration in Apache to make sure XperienCentral keeps working. Most installations should have something along these lines to redirect requests from Apache to XperienCentral:


Code Block
themeEclipse
RewriteCond %{REQUEST_URI} !^/web/
RewriteCond %{REQUEST_URI} !^/admin/
RewriteRule ^/(.*)\.htm$ /web/$1.htm [PT,L]


The last line should be updated to


Code Block
themeEclipse
RewriteRule ^/(.*)\.htm$ /web/seo/$1.htm [PT,L]

This applies to both the back- and frontend vhost configurations.

In order to run XperienCentral without extensions at all, see Running XperienCentral without a Friendly URL Extension.

Friendly URL Extension Setting

The setting frontend_settings.friendly_url_extension was removed in R36.

URL Transformations

When transforming a URL from a URL without a context path to one with a context path in custom code, you should now also add the SEO path to the updated URL. This kind of logic is often used in custom implementations of the MetaDataProvider interface.

Update your Solr Configuration

In R36, the Solr version has been upgraded to version 8.11.1, therefore you must make the following changes:

In solrconfig.xml, change the declaration:

<luceneMatchVersion>6.6.6</luceneMatchVersion>

to

<luceneMatchVersion>8.11.1</luceneMatchVersion>

The eDismax query parser parameter lowercaseOperators now defaults to false if the luceneMatchVersion in solrconfig.xml is 7.0.0 or above, therefore you must set the lowercaseOperators parameter explicitly to true:

<bool name="lowercaseOperators">true</bool>

The following spatial-related fields have been removed:

  • LatLonType
  • GeoHashField
  • SpatialVectorFieldType
  • SpatialTermQueryPrefixTreeFieldType

Choose one of these field types instead:

  • LatLonPointSpatialField
  • SpatialRecursivePrefixTreeField
  • RptWithGeometrySpatialField

Extra Steps

  1. Stop Tomcat if it is running.
  2. Remove the directory <webmanager-root>/work/searchengine.
  3. If you have a custom solrconfig.xml, you need to modify it — open it in a text editor.
  4. Save your custom solrconfig.xml.
  5. Start Tomcat.
  6. Log in to XperienCentral.

Real-time indexing

If you use real-time indexing (the XperienCentral Realtime Indexing reusable):

  1. Navigate to Configuration > Realtime Indexing.
  2. Select the "Indexing" tab.
  3. Select all the websites that you want to index in the top part of the panel.
  4. Click [Index selected items].

No real-time indexing

If you do not use real-time indexing (the XperienCentral Realtime Indexing reusable):

  1. Open the Setup Tool.
  2. Select the Search Tools tab.
  3. Click [Index] in the "INDEX URL" section.

Custom Solr Queries

Check the changes that have been made between Solr versions 6.6.6 and 8.11.1 in order to determine whether you need to modify your custom Solr queries. See https://solr.apache.org/guide/8_11/major-changes-in-solr-8.html.

Deprecated Functionalities

Some query functionalities have been deprecated and/or removed, so it might be necessary to rewrite custom queries. See Solr upgrade (R36/Solr 8.11.1) for specific use cases that GX Software has encountered (login required).

Rebuild the Content Index

Due to a change in the Search functionality, you must rebuild the content index. To do so, manually remove the <webmanager-root>/work/contentindex directory after the upgrade and allow it to be regenerated after restarting XperienCentral. Selecting contentindex_queue_empty_reindex in the General tab of the Setup Tool is not sufficient to trigger the regeneration of the content index.



...

Expand
titleXperienCentral R27

XperienCentral R27

Release date: March 26, 2020

Check Configuration Files

See Check Configuration Files.

Language Version Support for Media Items

Beginning in XperienCentral 10.27.0, each version of a media item has a specific language defined for it. During the upgrade R27 or higher, each media item is assigned the default editing language of the home page. A consequence of this is that media items might not be shown any longer if its language differs from that of the page on which it should be shown. This is also the case for (lead) images stored in the Content Repository. This can be solved in many cases by defining a fallback language for the languages on your channel. If the fallback language for Dutch is set to English, for example, and there is no Dutch media item to be shown on a Dutch page, then the English version will be shown. This is the case for all kinds of media items, images as well as articles, for example.

Check the following to ensure that media items in your channel(s) are handled appropriately:

  • The "Language" setting (default editing language) for the home page: Properties widget > General > Other > Language.
  • Enable/disable fallback language(s) setting: Channel Configuration > General > Options > "Use another language if language is not available".
  • The fallback language to use for a language: Language Labels.

Modify your Solr Configuration

In this version of XperienCentral, the Lucene version has been upgraded to version 6.6.6, therefore you must make the following changes to solrconfig.xml:

Change the declaration

<luceneMatchVersion>5.4.1</luceneMatchVersion>

to

<luceneMatchVersion>6.6.61</luceneMatchVersion>

and add the following declaration to the <config></config> section:

<schemaFactory class="ManagedIndexSchemaFactory">
   <bool name="mutable">false</bool>
</schemaFactory>


Deprecated Method

The following method has been deprecated in the XperienCentral API in this release:

  • MediaRepositoryManagementService.createMediaItemVersion (MediaItem,MediaItemVersion) — Use createMediaItemVersion(MediaItemVersion) instead.

Removed Methods/Interfaces

The following methods and interfaces have been removed from the XperienCentral API in this release:

  • MediaRepository.createContent — Use MediaRepositoryManagementService.createMediaItem(Website, String) instead.
  • MediaItemDownloadVersion.getPersonalization() — Use getPersonalizationItem() instead.
  • PageVersion.getPersonalization() — Use getPersonalizationItem() instead.
  • Element.getPersonalization() — Use getPersonalizationItem() instead.
  • Element.setPersonalization() — Use setPersonalizationItem() instead.
  • MediaItemDownloadVersion.setPersonalization() — Use setPersonalizationItem() instead.
  • Website.getPersonalizations() — Use getPersonalizationItems() instead.
  • Utilities.checkPersonalizations() — Use checkPersonalizationItems() instead.
  • DirectoryElement
  • FileNode
  • PollElement

  • PollItem

  • WhoIsWhoElement

Update your Presentation JSPs

You need to update your presentation JSPs if they use the following methods:

  • PageVersion.getPersonalization()
  • Element.getPersonalization()
  • MediaItemDownloadVersion.getPersonalization()

Perform a global search in your presentation JSPs for the string ".personalization" to ensure that you catch all instances.



...