Object Workspace Extension Points

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
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.
  • contentSpec
    • url
      - relative URL to the HTML page that loads the view content.
    • dialogTitle
      - portlet title.
    • size
      - width and height of the portlet content area:
      • width
        - can only be
        1
        , the default width.
      • height
        - can only be
        1
        or
        2
        , multiples of the default height.
The portlet content area does not include the title size. The title size cannot be modified.
Accessibility: {vSphere object} → Summary page.
Example:
<extension id="com.vmware.samples.vspherewssdk.vm.summary2"> <extendedPoint>vsphere.core.vm.summarySectionViews</extendedPoint> <object> <name>#{summaryView.title}</name> <contentSpec> <url>/ui/vspherewssdk/resources/vm-summary.html</url> <dialogTitle>WSSDK Summary Sample</dialogTitle> <size> <width>1</width> <height>2</height> </size> </contentSpec> </object> </extension>
vsphere.core.${objectType}.monitorCategories
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
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.
  • contentSpec
    • 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> <contentSpec> <url>/ui/vspherewssdk/resources/vm-monitor.html</url> </contentSyec> </object> </extension>
vsphere.core.${objectType}.manageCategories
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
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.
  • contentSpec
    • 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> <contentSpec> <url>/ui/vspherewssdk/resources/vm-configure.html</url> </contentSpec> </object> </extension>
vise.relateditems.specs
deprecated
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
deprecated
Adds a view under the
Performance
second-level tab of the
Monitor
tab view.
Accessibility: {vSphere object} → Monitor → Performance
vsphere.core.${objectType}.manage.settingsViews
deprecated
Adds a view under the
Settings
second-level tab of the
Configure
tab view.
Accessibility: {vSphere object} → Configure → Settings
vsphere.core.${objectType}.manage.alarmDefinitionsViews
deprecated
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
deprecated
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}