Ordering Extensions

You can use the <precedingExtension> element to specify the order in which the vSphere Client renders the extensions in your plug-in module.

Within each <extension> element, you can specify a <precedingExtension> element that contains the ID of another extension that is to be rendered before the current extension. Setting the value of <precedingExtension> to NULL causes that extension to be rendered first.

If no <precedingExtension> value is specified, the extensions are rendered in the order they appear in the plugin.xml module manifest file. If you specify the same value for the <precedingExtension> element for several extensions, the extensions are rendered in the order in which they appear in the manifest.

The following XML fragment shows how the <precedingExtension> element might appear in the extension definitions in the plug-in module manifest file.

<extension id = "com.MyPluginPackage.MyPlugin.PerformanceView">
   <extendedPoint>vsphere.core.vm.views</extendedPoint>
   <precedingExtension>NULL</precedingExtension>
   ...(extension data)...
</extension>
 
<extension id = "com.MyPluginPackage.MyPlugin.UtilityView">
   <extendedPoint>vsphere.core.vm.views</extendedPoint>
   <precedingExtension>com.MyPluginPackage.MyPlugin.PerformanceView</precedingExtension>
   ...(extension data)...
</extension>

The <precedingExtension> elements in the example ensure that the PerformanceView extension is rendered first, followed by the UtilityView extension.