Versions Compared

Key

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

...

Table of Contents
maxLevel2

 

...

XperienCentral 10.22.0

...


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 ?).

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 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.



  • The formvalidation.js file in the wmpformpresentation plugin has been changed and needs to be updated when overruled in a custom presentation.

...