XML Elements of the Plug-In Package Manifest File

The plug-in package manifest file specifies general information about the plug-in package, the deployment order for the plug-in modules in the package, and any dependencies for the plug-in package.

XML Elements in the Manifest File

The metadata in the manifest file follows a specific XML schema. The
<pluginPackage>
root element encapsulates the entire plug-in package manifest. The
<pluginPackage>
element can contain the
<dependencies>
element and the
<bundlesOrder>
element.
The following example shows an example of a
plugin-package.xml
manifest file. The source code that corresponds with this manifest file is available in the HTML sample in the SDK, at
html-client-sdk/vsphere-ui/plugin-packages/
.
<pluginPackage id = "com.MyCompany.myPackage" version="1.0.0" type="html" name="My Plugin Name" description="Demo package version 1" vendor="My Company" iconUri="assets/packageIcon.png"> <dependencies> <pluginPackage id = "com.vmware.vsphere.client" version="6.7.0" /> <pluginPackage id = "com.vmware.vsphere.client.html" version="6.7.0" /> </dependencies> <bundlesOrder> <bundle id="com.mySolution.myUI" /> <bundle id="com.mySolution.myService" /> </bundlesOrder> </pluginPackage>

<pluginPackage>
Element

The
<pluginPackage>
element is the root element of any plug-in package manifest file. The following attributes of the
<pluginPackage>
contain information about the entire plug-in package.
Attribute Name
Description
id
The unique package identifier that you define. A best practice is to use namespace notation, such as
com.myCompany.MyPluginID
. Must match the vCenter Server extension key.
version
A dot-separated string containing the plug-in version number, such as
1.0.0
. Must match the vCenter Server extension version.
type
Must be
html
.
description
A short description of the plug-in.
vendor
The name of the plug-in vendor.
iconUri
The URI of an icon to represent the package. The location is specified relative to the manifest file.

<dependencies>
Element

The
<dependencies>
element defines any dependencies upon other packages. In the
<dependencies>
element, you specify each specific package dependency with a
<pluginPackage>
element. Each
<pluginPackage>
element in the
<dependencies>
element must have the following attributes.
Attribute Name
Description
id
The unique identifier of the package that your package depends on.
version
The version number of the package that your package depends on.
match
The version matching policy. Possible values are
equal
,
greaterThan
,
lessThan
,
greaterOrEqual
, or
lessOrEqual
. The
match
attribute is optional and defaults to
greaterOrEqual
if omitted.
If your
vSphere Client
plug-in depends on packages with specific versions and might not be compatible with later versions of these packages, make sure that you define correctly the dependencies by using the
match
parameter. Otherwise, your plug-in package will not work and might cause errors.
For example, you can use the following lines in the manifest file of your plug-in package to define the minimum and maximum supported versions of the
vSphere Client
:
... <dependencies> <pluginPackage id="com.vmware.vsphere.client" version="6.7.0" match=“greaterOrEqual" /> <pluginPackage id="com.vmware.vsphere.client.html" version=“6.7.0" match=“greaterOrEqual" /> </dependencies> ...
If your plug-in package is only compatible with a specific version of the
vSphere Client
, you must use the
equal
value of the
match
attribute to specify the version. This ensures that when the
vSphere Client
is upgraded, your plug-in package will not be deployed, and will not cause any compatibility errors for your users.

<bundlesOrder>
Element

The
<bundlesOrder>
element specifies the order in which locally hosted plug-in modules are deployed to the
vSphere Client
. A best practice is to deploy the service plug-in modules first, because the user interface plug-in modules might import those services.
You specify each plug-in module using a
<bundle>
element inside the
<bundlesOrder>
element. The
id
attribute of the
<bundle>
element contains the unique identifier of the plug-in module. The value of the
id
attribute must match the
Bundle-SymbolicName
specified in the plug-in module
MANIFEST.MF
file included in the WAR bundle.
Plug-in modules in the package that are not explicitly specified in the
<bundlesOrder>
list are still deployed, but in an undefined order.