Each vSphere object type’s object workspace provides a set of extension points. Each extension point corresponds to a specific data view, such as the Summary tab view or the Configure tab view. Every object workspace extension point requires a data object of type com.vmware.ui.views.ViewSpec.

Most object workspace extension points follow the format vsphere.core.${objectType}.${view}. The ${objectType} placeholder corresponds to the type of vSphere object, and the ${view} placeholder corresponds to the specific view. For example, the extension point vsphere.core.cluster.manageViews is the extension point for the Configure tab view for Cluster objects. The following names are valid ${objectType} values.

cluster: ClusterComputeResource object

datacenter: Datacenter object

dscluster: StoragePod object

dvs: DistributedVirtualSwitch object

dvPortgroup: DistributedVirtualPortgroup object

folder: Folder object

host: HostSystem object

hp: HostProfile object

network: Network object

resourcePool: ResourcePool object

datastore: Datastore object

vApp: VirtualApp object

vm: VirtualMachine object

template: Virtual Machine template object

vsphere.core.${objectType}.summarySectionViews.html

Flex Client

HTML Client

Compatibility

no

yes

Adds an HTML portlet to the Summary tab view.

Requires a data object of type ViewSpec with available properties:

name - user-visible name of the global view.

icon - (optional) 18x18 portlet icon resource ID.

componentClass

url - relative URL to the HTML page that loads the view content.

dialogTitle - portlet title.

dialogSize - portlet width and height.

Accessibility: {vSphere object} → Summary page.

Example:

<extension id="com.vmware.samples.vspherewssdk.vm.summary2">
   <extendedPoint>vsphere.core.vm.summarySectionViews.html</extendedPoint>
   <object>
      <name>#{summaryView.title}</name>
      <componentClass className="com.vmware.vsphere.client.htmlbridge.HtmlView">
         <object>
            <root>
               <url>/vsphere-client/vspherewssdk/resources/vm-summary.html</url>
               <dialogTitle>WSSDK Summary Sample</dialogTitle>
               <dialogSize>440,400</dialogSize>
            </root>
         </object>
      </componentClass>
   </object>
</extension>

vsphere.core.${objectType}.summarySectionViews

Flex Client

HTML Client

Compatibility

yes

yes

Adds a Flex portlet to the Summary tab view.

Requires a data object of type ViewSpec with available properties:

name - user-visible name of the global view.

componentClass

url - relative URL to the HTML page that loads the view content.

dialogTitle - portlet title.

dialogSize - portlet width and height.

dialogIcon - (optional) 18x18 portlet icon resource ID.

Accessibility: {vSphere object} → Summary page.

Example:

<extension id="com.vmware.samples.vspherewssdk.vm.summary">
   <extendedPoint>vsphere.core.vm.summarySectionViews</extendedPoint>
   <object>
      <name>#{summaryView.title}</name>
      <componentClass
  className="com.vmware.samples.wssdkui.views.VsphereWsSdkVmMonitorView"/>
   </object>
</extension>

vsphere.core.${objectType}.monitorCategories

Flex Client

HTML Client

Compatibility

no

yes

Adds a sub-view category to the Monitor tab view.

Requires a data object of type CategorySpec with available properties:

label - user-visible name of the Monitor view category.

Accessibility: {vSphere object} → Monitor page

Example:

<extension id="com.vmware.samples.vspherewssdk.vm.monitor.category">
   <extendedPoint>vsphere.core.vm.monitorCategories</extendedPoint>
   <object>
      <label>WSSDK Category</label>
   </object>
</extension>

vsphere.core.${objectType}.monitorViews

Flex Client

HTML Client

Compatibility

yes

yes

Adds a sub-view to the Monitor tab view.

Requires a data object of type ViewSpec with available properties:

name - user-visible name of the Monitor view.

categoryUid - (optional) ID of the category this Monitor view belongs to.

componentClass

url - relative URL to the HTML page that loads the view content.

Accessibility: {vSphere object} → Monitor page

Example:

<extension id="com.vmware.samples.vspherewssdk.vm.monitor">
   <extendedPoint>vsphere.core.vm.monitorViews</extendedPoint>
   <object>
      <name>Monitor view</name>
      <categoryUid>com.vmware.samples.vspherewssdk.vm.monitor.category</categoryUid>
      <componentClass className="com.vmware.vsphere.client.htmlbridge.HtmlView">
         <object>
            <root>
               <url>/vsphere-client/vspherewssdk/resources/vm-monitor.html</url>
            </root>
         </object>
      </componentClass>
   </object>
</extension>

vsphere.core.${objectType}.manageCategories

Flex Client

HTML Client

Compatibility

no

yes

Adds a sub-view category to the Configure tab view.

Requires a data object of type CategorySpec with available properties:

label - user-visible name of the Configure view category.

Accessibility: {vSphere object} → Configure page

Example:

<extension id="com.vmware.samples.vspherewssdk.vm.manage.category">
   <extendedPoint>vsphere.core.vm.manageCategories</extendedPoint>
   <object>
      <label>WSSDK Category</label>
   </object>
</extension>

vsphere.core.${objectType}.manageViews

Flex Client

HTML Client

Compatibility

yes

yes

Adds a sub-view to the Configure tab view.

Requires a data object of type ViewSpec with available properties:

name - user-visible name of the Configure view.

categoryUid - (optional) ID of the category this Configure view belongs to.

componentClass

url - relative URL to the HTML page that loads the view content.

Accessibility: {vSphere object} → Configure page

Example:

<extension id="com.vmware.samples.vspherewssdk.vm.manage">
   <extendedPoint>vsphere.core.vm.manageViews</extendedPoint>
   <object>
      <name>Configure view</name>
      <categoryUid>com.vmware.samples.vspherewssdk.vm.manage.category</categoryUid>
      <componentClass className="com.vmware.vsphere.client.htmlbridge.HtmlView">
         <object>
            <root>
               <url>/vsphere-client/vspherewssdk/resources/vm-configure.html</url>
            </root>
         </object>
      </componentClass>
   </object>
</extension>

vise.relateditems.specs

Flex Client

HTML Client

Compatibility

yes

yes

Creates a new relation between object types, either vSphere objects or custom objects

Requires a data object of type ObjectRelationSetSpec with available properties:

type - vSphere/Custom object type.

relationViewId - ID of a view that can display object relations.

conditionalProperty - (optional) property name to introduce additional constraints on the object type for a relation.

Note: To test for "false" use the negation operator "!" in front of the property name.

relationSpecs

id - relation ID

label - user-visible label of the relation.

icon - 18x18 relation icon resource ID.

listViewId - ID of a view that can display relation items.

relation - (optional) property name wrapped into a RelationalConstraint.

inverseRelation - (optional) property name used to check if an object applies to the relation.

conditionalProperty - (optional) property name wrapped into a PropertyConstraint.

Note: To test for "false" use the negation operator "!" in front of the property name.

targetType - (optional) target type name used in any kind of Constraint.

constraint - (optional) general constraint used in case of relations that cannot be expressed in terms of targetType, relation and conditionalProperty

Accessibility: {vSphere object} → {related object type} in case of single relation; {vSphere object} → More objects in case of multiple relations.

Example:

<extension id="com.vmware.samples.relateditems.specs.host">
   <extendedPoint>vise.relateditems.specs</extendedPoint>
   <object>
      <type>HostSystem</type>
      <relationsViewId>vsphere.core.host.related</relationsViewId>
      <relationSpecs>
         <com.vmware.ui.relateditems.model.RelationSpec>
            <id>chassisForHost</id>
            <icon>#{chassis}</icon>
            <label>Chassis relation</label>
            <relation>chassis</relation>
            <targetType>samples:ChassisB</targetType>
            <listViewId>com.vmware.samples.chassisb.list</listViewId>
         </com.vmware.ui.relateditems.model.RelationSpec>
      </relationSpecs>
   </object>
</extension>

vsphere.core.${objectType}.monitor.performanceViews

Flex Client

HTML Client

Compatibility

yes

yes (depre-cated)

Adds a view under the Performance second-level tab of the Monitor tab view.

Accessibility: {vSphere object} → Monitor → Performance

vsphere.core.${objectType}.manage.settingsViews

Flex Client

HTML Client

Compatibility

yes

yes (depre-cated)

Adds a view under the Settings second-level tab of the Configure tab view.

Accessibility: {vSphere object} → Configure → Settings

vsphere.core.${objectType}.manage.alarmDefinitionsViews

Flex Client

HTML Client

Compatibility

yes

yes (depre-cated)

Adds a view to the Alarm Definitions element in the Issues second-level tab of the Configure tab view.

Accessibility: {vSphere object} → Monitor → Alarm Definitions

vsphere.core.${objectType}.list.columns

Flex Client

HTML Client

Compatibility

yes

yes (depre-cated)

Creates a new column in the list of vSphere objects of type ${objectType} in the object workspace.

Requires a data object of type com.vmware.ui.lists.ColumnSetContainer.

Note: Only the XML representation is supported.

Accessibility: {vSphere object list}