...
Table of Contents | ||
---|---|---|
|
...
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.
...