Versions Compared

Key

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

...

Expand
titleXperienCentral R42

XperienCentral R42

Release date: December 4, 2023


Note

Minimum Version Required for Upgrading to XperienCentral R42

Upgrading to XperienCentral R42 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 R42.


HTML
<br />

Check Configuration Files

See Check Configuration Files.

GraphQL API

The Jackson-core and Jackson-databind XML libraries used for XML serialization are now shipped and exposed by default using springmvc-servlet.xml. If any of your plugins uses one of these libraries, you can set the scope to provide and omit the version.

Spring MVC Upgrade

Spring MVC was upgraded from 3.2.18 to 5.3.30 in this release. If any of the controllers in your project directly or indirectly extend from nl.gx.webmanager.springmvc.controller.BaseWebmanagerController.java, you need to make a few adjustments to your code. Replace all instances of BindException with BindingResult in your controllers. The easiest way to do this is using search/replace in your IDE (case sensitive). Your import statements should still be valid because the package itself has not changed. It is also possible to do a global search/replace because BindException shouldn't be used outside of a Spring MVC controller.

For example:

Code Block
themeEclipse
@Override
public void onSubmit(HttpServletRequest request, HttpServletResponse response, Object command,
BindException errors, ModelAndView modelAndView) throws Exception
{ // your code here }

should be changed to

Code Block
themeEclipse
@Override
public void onSubmit(HttpServletRequest request, HttpServletResponse response, Object command,
BindingResult errors, ModelAndView modelAndView) throws Exception
{ // your code here }

If you experience any compilation errors or other problems, please don't hesitate to contact your GX Software consultant.

Notes for Reusables

If your project uses reusables, those might need to be upgraded as well. For each reusable that your project uses, check whether it contains any controllers that directly or indirectly extend from BaseWebmanagerController and also whether they contain any instances of BindException. If they do, check whether there already exists an XperienCentral R42 or higher compliant version for this reusable at Reusables Overview (login required). If your controllers do not extend from BaseWebmanagerController, simply replace all instances of BindException with BindingResult as explained in the first paragraph above. After doing so and verifying that your reusable still works in your environment, release a new version of the reusable and refer to it at Reusables Overview (login required). Please don't remove the old version, instead specify that the old version is specifically intended for XperienCentral versions R41 and lower and that the new version is intended for XperienCentral R42 and higher.

Updated Dependencies

The javax.servlet dependency has been updated to version 4.0.1. You need to update your reusables to use this version of the javax.servlet dependency. In versions R42 and higher, XperienCentral no longer supports Tomcat 8.x because it contains javax.servlet 3.1.

Removed Dependency

The dependency org.apache.commons.lang has been removed. Use org.apache.commons-lang3 instead.

Moved Dependencies

The Maven dependency org.apache.httpcomponents.httpclient has been moved to org.apache.httpcomponents.client5. Use your IDE or check Github (https://github.com/apache/httpcomponents-client/tree/master/httpclient5/src/main/java/org/apache/hc/client5/http and https://github.com/apache/httpcomponents-core/tree/master/httpcore5/src/main/java/org/apache/hc/core5 ) to find the current position of each class. See also the migration guide for more details at https://hc.apache.org/httpcomponents-client-5.2.x/migration-guide/index.html.

Apache Solr

When using a custom solrconfig.xml, update the lucene match Lucene Match version to 9.8.0: 

Code Block
themeEclipse
<luceneMatchVersion>9.8.0</luceneMatchVersion>

XperienCentral R42 has been updated to Apache Solr version 9. After upgrading XperienCentral, manually rebuild both the backend and frontend indexes.

Custom Indexable JCR Properties

When using custom indexable JCR properties when calling the JcrIndexPropertyService.addIndexedProperty method, you could experience issues when the values used in these properties exceed the limit of 256 characters. After upgrading, remove the custom property using the JcrIndexPropertyService.removeIndexedProperty method and re-add it to make sure the contents can be longer than 256 characters.




HTML
<br />

 


HTML
<br /><br /><br /><br /><br /><br /><br /><br />


...