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
<pluginPackage>
ElementThe
<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
<dependencies>
ElementThe
<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
<bundlesOrder>
ElementThe
<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.