As described
here, Eclipse components used in composite applications can consist of one or more features. Upon opening an application, the client does a number of checks to see if the features of an application have changed. For any feature, the client looks at the resource found at the feature's
provisioning URL if for the given
feature ID a version newer than the current
feature version is available. For instance, a version 1.1 would be considered as newer than version 1.0. Now, updating takes place only if the feature's
matching rule allows so. There are four different types of matching rules which are explained in the table below.
Feature ID
Defines the Eclipse ID for the required prerequisite feature.
Feature version
Defines the desired version number of the required feature.
Matching rule
Defines the version filtering algorithm used by the Eclipse update manager. It installs or updates the specified feature ID only if it finds one whose version compares to the specified version according to the matching rule specified.
Versions are specified using the format "major.minor.service qualifier." For example, a version of 4.0.1 has a major version of 4, a minor version of 0, and a service version of 1.
The following table lists the possible options to be used for matching rules:
Rule | Explanation |
|
|
The actual version must be an exact match to the specified version.
|
|
|
The actual version must be the same as the version specified or at a higher service level (major and minor version levels must equal the specified version).
Example: for version 1.0.0, the versions 1.0.0, 1.0.1, 1.0.2, 1.0.9, 1.0.35 would be equivalent.
|
|
|
The actual version must be the same as the version specified or at a higher service level or higher minor level (major level must equal the specified version).
Example: for version 1.0.0, the versions 1.2.0, 1.3.4, 1.12.0 would be compatible.
|
|
|
The actual version must be the same as the version specified or at a higher service level or higher minor or higher major level.
Example: for version 1.0.0, the versions 1.0.0, 1.0.1, 2.1.0, 3.2.8 would be greaterOrEqual.
|
Provisioning URL
Specifies the URL of the Eclipse Install/Update site where the client is to fetch this required feature. If not specified a default value will be supplied by the provisioning component on the client.
Setting the preferences
There are different ways to change the preferences of a feature. If these preferences are set in the feature.xml files contained in an update site, then any instance of such a feature would inherit the settings automatically upon provisioning. However, it is also possible to set these preferences for components hosted on a portal server and while working with composite applications in the CAE (composite application editor).