jExperience 3.3.0

January 9, 2024

jExperience 3.3.0 is a new major of the product, it requires the use of jCustomer 2.4.0 and Jahia 8.1.3.0. Please review upgrade instructions for both jExperience and jCustomer carefully.

Changelog Notes

Improvements

  • Introduced compatibility with jCustomer 2.0.0 and JSON Schemas
  • Updated the personalized content GraphQL API to be compatible with personalized lists
  • Enabled customization of the jExperience action menu in jContent
  • Introduced new GraphQL nodes for jExperience configuration (getContextServerPublicUrls, getModuleVersion, getContextServerCookieName)
  • Created a new version of wem.js relying on Apache Unomi web tracker. As part of this new version we removed functions that were not used by jExperience codebase: loadContent(), extends(), _createElementFromHTML(), _loadScript(), sendAjaxFormEvent()
  • Introduced support for multi-domains using jExperience proxy and updated the module default configuration to use the new configuration parameter. More details about the configuration are available in this page on the Academy: https://academy.jahia.com/documentation/system-administrator/jexperience/2.x-and-3.x/installing-and-configuring-jexperience/installing-elasticsearch-jcustomer-and-jexperience#properties-to-configure-in-the-jexperience-settings-file 
  • Introduced an extension point to intercept requests going through jExperience proxy (for example to encrypt data on the fly)
  • Introduced a mechanism to prevent crawlers/robots to generate events or profiles
  • Improved documentation of the asExperience GraphQL node
  • To prevent accidental upgrade to the next major version of JExperience, introduced a mechanism to prevent this action until a configuration parameter is removed
  • Removed consents from rules screen
  • Removed unnecessary dependency to Apache Tika
  • Improved documentation in configuration files
  • Update label for j:nodename with Jahia login (user node name)

Bugfixes

  • Updated the timeout for the asynchronous HTTP client from 1.5 to 30s (to be consistent with the Admin HTTP client)
  • Fixed an issue preventing readonly profile property from being properly displayed in a profile page
  • Fixed updating wemfallback when doing web.dissablewem() or web.enablewem()
  • Fixed an issue that could lead to NullPointerException in search form rule 
  • Prevented potential wiring issue in jexperience caused by cyclic dependencies
  • Fixed issue preventing a site user from login-in when using site administration, page composer or jahia-dashboard links
  • Allow the use of the persona panel even if deactivateJSExecution parameter is set
  • Fixed an issue resulting in personalization events sent when using preview mode 
  • Fixed alert on campaign page
  • Fixed an issue with fallback logic with client side rendering personalization
  • Fixed an exception in segment count when date is invalid
  • Fixed an issue preventing creation of a page visit goal under a new page label
  • Fixed an issue with the file picker in the goal creation page
  • Don’t force user language for jcr session in jExperience admin panels

Change of scope & deprecations

  • Deploying custom bundles inside jCustomer / Apachhe Unomi is not supported anymore by Jahia organization. Groovy actions can usually serve as a cheaper and simpler alternative.

As a reminder:

  • Extending jExperience conditions is not supported
  • Direct integrations from jCustomer to Mailchimp and Salesforce are not supported, Stackconnect can be used to integrate with these solutions tools
  • Consent management capabilities are not supported and will be removed from the UI soon.