Versions Compared

Key

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

...

Expand
titleXperienCentral 10.22.0

XperienCentral 10.22.0

See also the XperienCentral 10.22 Changelog for information on the issues that have been fixed and other product improvements.

DependencyManager

In XperienCentral 10.22.0, the DependencyManager implementation has been changed. This has an impact for plugins that use the DependencyManager object in their Activator class with package name org.apache.felix.dependencymanager. In XperienCentral versions prior to 10.22.0, the library DependencyManager version 3.0.0 and DependencyManager Compat 3.0.0 were available. In XperienCentral 10.22 and higher, the Compat library has been removed.

If the Compat library class org.apache.felix.dependencymanager.DependencyManager was present, it was used as a compatibility version for the DependencyManger 3.0.0 (non Compat). All DependencyManager object implementations in plugin Activators where the version of Compat is used will no longer work in XperienCentral versions 10.22.0 and later. In the locations where this variant is used, you must refactor to the DependencyManager 3.0.0/4.4.1 (org.apache.felix.dm.DependencyManager) (non Compat) variant. 

For project plugins the refactoring should be straightforward when upgrading to XperienCentral 10.22 or higher. For plugins that must be deployed on all XperienCentral versions (reusables), a fix is available and implemented in the reusable Utility Services (version 1.6.2).

You must refactor your plugins or resuables in the following cases:

Project Plugins 

If your Activator uses the DependencyManager object with package name org.apache.felix.dependencymanager, change this to org.apache.felix.dm and replace the createService() method with createComponent(). The Service class is no longer available. If your Activator overrides the init() method, refactor this to override the start method and retrieve the DependencyManager object from the ComponentBundleActivatorBase class.

Reusable Plugins 

The same situation applies as above, except you need to add an extra subclass in the Activator class in order to be compatible with XperienCentral versions 10.22.0 higher. If the reusable already uses the Utility Services dependency, you can use the com.gxwebmanager.solutions.wmsutilityservices.osgi.CompatibleActivatorBase in your Activator class. If not, you can add the dependency or copy the class to your own plugin, however, this is not recommended. Also add the  org.apache.felix.dm.*;version="[3.0,5.0)" import package to your pom.xml maven-bundle-plugin. This will ensure that the old 3.0.0 and new 4.4.1 DependencyManager version can be used by your reusable.

If your Activator class uses the createServiceDependency method to add a Service to the DependencyManager (in REST cases for example), your you must refactor this implementation to use the addServiceDependency method from the CompatibleActivatorBase class.

If your Activator class does not use a DependencyManager object and the Activator class extends from the XperienCentral ComponentBundleActivatorBase class, no refactoring is required. You may need to build your plugin against the XperienCentral 10.22 or newer version.


Note

The required changes described above should be sufficient to make your plugins compatible with XperienCentral 10.22.0 and higher. In some cases, however, this may not be sufficient and further refactoring may be needed. Contact your GX consultant if you have any questions or are unable to get your plugins to work.


Custom Facets

Two facets for the keywords field have been added in this release. In order to be able to uniquely identify a facet, changes have been made that affect custom made facet components. The following changes must be made in your project code:

  • In the interface SearchFacetComponentDefinition, the method getIdentifier() has been added. Every class implementing this interface must therefore add this method. The identifier should be a unique string identifying the facet.
  • The constructor of the class SimpleSearchFacetComponentDefinition has been changed. It now includes a parameter for the unique identifier. The new signature is:

    SimpleSearchFacetComponentDefinition(String identifier, String widgetId, Class<?> valuesType, List<String> path, int priority, Map<Locale, String> titles, int position, Map<String, String> properties

    All references to this constructor should be changed.
  • For projects that define their own Dojo FacetWidget (those that extend \wmpgui\widgets\advancedsearch\facet\FacetWidget.js) there are some more changes that you have to make:
    • FacetWidget now has an extra member for the facet identifier. This is accessible in widgets that FacetWidget with the method getFacetIdentifier(). Also, the constructor for has been changed to:

      FacetWidget(fieldIdentifier, facetTitle, facetProperties, facetIdentifier)

    • If you define a FacetQuery in your custom facet widget, the constructor for this object is extended with a parameter for the facet identifier. The constructor is now:

      FacetQuery(fieldIdentifier, facetIdentifier, facetParameters, valueCountQueries, valuesFilter, valuesLimit)

    • If you define FacetDefinition objects in your custom widget code, the constructor has been changed to:

      FacetDefinition(fieldIdentifier, name, properties, facetIdentifier, FacetWidget)

Other Changes


  • The formvalidation.js file in the wmpformpresentation plugin has been changed and needs to be updated when overruled in a custom presentation.
  • The Is Used In widget can now recognize custom media items. You do need to make some modifications to your code, however. See Custom Media Items and the Is Used In Widget.

 

 

 

 


...

Expand
titleGX WebManager 9

GX WebManager 9.18.x, 9.19.x and 9.20.x to XperienCentral 10.x.x


  • The "javax.servlet:servlet" artifact name has been changed to "javax.servlet:servlet-api". This may require changes to dependencies in WCB pom.xml files. However, most (if not all) WCBs "inherit" this setting from XperienCentral and won't require changes. NOTE: From 10.9.0 the 3.0 servlet API is supported, so see below for 10.9.0 related changes to  support this version of the servlet API.  
  • Create pages as a display on page for page sections and the image, download, flash and multimedia and configure these special pages at "Website configuration" -> "Special pages".
  • Choose a page part that will display page sections that do not yet have a page section label assigned and configure it as such by checking the "Show page sections without label" checkbox at "Design templates" -> "Page parts". Make sure this page part is visible on the page section display on page configured in the previous step. Also see Online Help in XperienCentral.
  • Rebuild the search index
  • Update customized wmasolrsearch configuration
  • Presentation: Update xslStyleSheet.jspf in the "website" folder of your custom presentation WCB to check for "mode=incontext" instead of "mode=preview". This is needed for Read Access to work on the backend.
  • Tweak presentations to work seamlessly with Inline Editing. For more on this, see section 3 "Preparing  presentation WCBs for use with the Inline Editor" below.
  • From GX WebManager 10.1 XperienCentral, Interactive Forms has become integral part of the platform. As a result, the Interactive Forms bundles are not upgraded automatically, and therefore, all Interactive Forms bundles with the version 2.x.y need to be stopped and uninstalled manually.


Optional

changes:

Changes

-
  • It is suggested
to
  • that you disable adds in the incontext mode of XperienCentral.
-
  • Remove or update maximum platform version in pom.xml. Note that as of GX WebManager 10 XperienCentral
 
  • this property is no longer honored as the GX WebManager 10 XperienCentral API will remain backwards
 
  • compatible with GX WebManager 9.
-
  • If a WCB uses dependency manager
api
  • API directly it should switch to the new dependency manager 3 API
-
  • Updating icons for Custom Media Items may be preferred; existing icons may typically not fit that
 
  • well in the new UI. Deleting them and falling back to the default may be a valid solution in many
 
  • cases. New sizes are 20x20 and 180x180 with Sprite support. Icons for Elements will probably need
 
  • to be updated as well.
-
  • Make sure empty content items have a non-zero size (in mode=incontext) in order to be able to
 
  • doubleclick on it in the Inline Editor. The same goes for elements.
-
  • The menu has been reordered and target menu settings in WCB component definitions are now ignored.
 
  • In order to place a menu item in a specific category, use
 
  • "PanelComponentDefinitionImpl.setMenuCategory()" to set the category to one of the constants
 
  • defined in PanelComponentDefinition.



GX WebManager Versions older than 9.18.0 to XperienCentral 10.x.x

When upgrading from a version older than GX WebManager 9.18.0, it is strongly advised to upgrade to

GX WebManager 9.20.x before performing an upgrade to GX WebManager 10.x XperienCentral.

...