vSphere HTML Client SDK Extension Points

This page lists the public extension points that can be used by either Flex or HTML plugins.

Differences between the HTML and Flex clients:

Extensions to vSphere objects' views

Replace ${objectType} by one of the following values to extend existing vSphere objects' views:
cluster, datacenter, dscluster, dvs, dvPortgroup, folder, host, hp, network, resourcePool, datastore, vApp, vm, template.

Sdk Extension point name Extension object class Description
5.1 vsphere.core.${objectType}.summarySectionViews ViewSpec Add a portlet in the Summary tab view.
See the chassisA and vsphere-wssdk samples.
5.1 vsphere.core.${objectType}.monitorViews ViewSpec Add an entry in the Monitor tab view's TOC (HTML client), or add a sub-tab (Flex client).
See the vsphere-wssdk sample.
5.1 vsphere.core.${objectType}.monitor.performanceViews
Deprecated in 6.5.
ViewSpec Add a view in the Monitor > Performance sub-tab view
5.1 vsphere.core.${objectType}.manageViews ViewSpec Add an entry in the Configure tab view's TOC
5.1 vsphere.core.${objectType}.manage.settingsViews ViewSpec Add an entry in the Configure tab view's TOC
5.1 vsphere.core.${objectType}.manage.alarmDefinitionsViews
Deprecated in 6.5.
ViewSpec Add a view in the Configure > Alarm Definitions sub-tab view
5.1 vsphere.core.${objectType}.list.columns ColumnSetContainer Add a new column in a list of vSphere objects
See the chassisA and chassisB samples

General UI extensions

The following extensions can be used for any objects or are global to the plugin.

Sdk Extension point name Extension object class Description
5.1 vise.actions.sets ActionSpec Add a set of actions which will appear in default menus
See the chassisA and chassisB samples
5.5 vsphere.core.menus.solutionMenus ActionMenuItemSpec Define a custom menu containing actions, submenus and separators.
See the chassisA and chassisB samples
5.5 vsphere.core.objectTypes ObjectTypeSpec Declare some UI info (icon, names) associated with a custom object type defined by the plugin.
See the chassisA and chassisB samples
5.5 vmware.prioritization.actions
Not supported in HTML plugins.
ActionPriorityGroup Promote actions in object menus and display them in the object list's toolbar.
5.5 vmware.prioritization.listActions ActionPriorityGroup Define "global" actions added to a list toolbar's left-hand side (i.e. actions that don't need any object context)
5.1 vise.global.views GlobalViewSpec Add a standalone view in the main area (i.e. not related to objects)
See the globalview sample
5.1 vise.home.shortcuts ShortcutSpec Add a shortcut to the Home Screen, pointing to any other extension
See the globalview sample
5.1 vise.inventory.representationspecs ObjectRepresentationSpec Define one or more new icon and label sets for an object collection node in the Object Navigator, along with the conditions under which the icon and label sets appear.
See the chassisB samples
5.1 vise.navigator.nodespecs ObjectNavigatorNodeSpec Add a category, or pointer node extension to the left-hand side navigator
See the globalview and chassis samples
5.1 vise.relateditems.specs ObjectRelationSetSpec Create a new relation between objects
See the chassisB samples
5.5 vise.dispose.namespace.inclusions Define a list of namespaces to include with the Dispose Manager, i.e. all types starting with those namespaces will be garbage-collected.

Extension templates

Extension templates allow to make the UI consistent with the rest of vSphere Client when adding custom objects. Instantiating a template creates a set of standard extension points at runtime, so that you don't have to add them manually to your plugin.xml. Templates use a namespace variable, like com.vmware.samples.chassis to represent a custom chassis objects; in the lists below replace ${namespace} with the namespace of your choice.

Sdk Extension templateId Extension points created Description
5.1 vsphere.core.inventory.objectViewTemplate See below Creates the object workspace (right hand side) for custom objects
See the chassisA and chassisB samples
5.1 vsphere.core.inventorylist.objectCollectionTemplate ${namespace}.views Creates the objects collection node in the inventory
See the chassisA and chassisB samples

Extension points created by objectViewTemplate

Note: the following extension points are created at runtime for a particular namespace, but the views and tabs won't be visible unless you use these extension points explicitly!

Sdk Extension point name Extension object class Description
5.1 ${namespace}.gettingStartedViews ViewSpec Add views under the Getting Started tab
5.1 ${namespace}.summaryViews ViewSpec Add views under the Summary tab view (used by the summaryViewTemplate)
5.1 ${namespace}.monitorViews ViewSpec Add an entry in the Monitor tab view's TOC (HTML client), or add a sub-tab (Flex client)
5.1 ${namespace}.monitor.issuesViews
Deprecated in 6.5.
ViewSpec Add a view to list issues under Monitor > Issues
5.1 ${namespace}.monitor.performanceViews
Deprecated in 6.5.
ViewSpec Add views under the Monitor > Performance sub-tab
5.1 ${namespace}.monitor.performance.overviewViews ViewSpec Add a view under Monitor > Performance > Overview
5.1 ${namespace}.monitor.performance.advancedViews ViewSpec Add a view under Monitor > Performance > Advanced
5.1 ${namespace}.monitor.taskViews
Deprecated in 6.5.
ViewSpec Add views under the Monitor > Tasks sub-tab
5.1 ${namespace}.monitor.eventsViews
Deprecated in 6.5.
ViewSpec Add views under the Monitor > Events sub-tab
5.1 ${namespace}.manageViews ViewSpec Add an entry in the Configure tab view's TOC
5.1 ${namespace}.manage.settingsViews ViewSpec Add an entry in the Configure tab view's TOC
5.1 ${namespace}.manage.alarmDefinitionsViews
Deprecated in 6.5.
ViewSpec Add a view in the Configure > Alarm Definitions sub-tab view
5.1 ${namespace}.manage.tagsViews
Deprecated in 6.5.
ViewSpec Add a view in the Configure > Tags sub-tab view
5.1 ${namespace}.manage.permissionViews ViewSpec Add a view in the Configure > Permissions sub-tab view
5.1 ${namespace}.list.columns ColumnSetContainer Add a new column in a list of objects

See also: Getting Started with HTML Client SDK - Eclipse Setup - FAQ - Java API - Javascript API - Tutorial