Your extension can add a new object collection node to the object navigator. You typically add an object collection node to the object navigator if you have introduced a new type of object to the vSphere environment, and you want to provide direct access to the instances of that object.

An object collection node extension represents an aggregation of object instances, such as data centers or hosts. When the user clicks an object collection node, the node can expand to show a list of all instances of that object in the vSphere environment.

When you create an object collection node, part of your extension definition must reference a relation extension. The vSphere Web Client uses data from the relation extension to populate the expandable list of object instances.

The following table lists the properties of the ObjectNavigatorNodeSpec data object that you must set to add an object collection node to the object navigator.

Property

Type

Description

<title>

string

A string that appears as the text label for the pointer node in the object navigator control. The string can be hard coded, or it can be a dynamic resource string included in your plug-in module.

<parentUid>

string

A string value that determines where the extension appears in the object navigator control. The value of <parentUid> property must match the extension id attribute of the parent category. The extension appears inside the category that you specify in the <parentUid> property. See Specifying the Object Navigator Page and Category.

Typically, most object collection nodes are found in the Inventory Lists category of the object navigator vCenter Server page. A best practice is to either add your object collection node to the Inventory Lists category, or to create a new category extension.

<navigationTargetUid>

string

A string value that specifies the global view, application, or object workspace that appears in the main workspace when the user clicks the pointer node. The value of the <navigationTargetUid> property must match the extension id attribute for the target view.

For an object collection node, a best practice is to set this value to an object collection data view. You can create an object collection data view by using the standard template when you create an object workspace for your custom object type.

<icon>

resource

The icon that appears for the pointer in the object navigator control. The value of the <icon> property typically references a dynamic resource in your plug-in module.

<isFocusable>

boolean

A Boolean value. If you set this value to true , when the user clicks the collection node, the object navigator control will slide to display a new page with an expandable list of every object in the collection.

<nodeObjectType>

string

A string that indicates the type of object collection the node represents. The value you specify in the <nodeObjectType> property must match the extension id of an ObjectRelationSetSpec that you create in a relation extension for your object.

The following example shows an extension definition for an object navigator extension that adds an object collection node for a custom object type called Rack. In the example, the Rack object collection node appears under the Inventory Lists category in the object navigator vCenter Server page.

The Rack object collection node extension references an object workspace collection data view with the identifier mySolution.myPlugin.Rack.objectCollectionView, and a relation extension with the identifier RackNodeCollection.

<extension id="mySolution.myPlugin.myRackCollectionNode">
  <extendedPoint>vise.navigator.nodespecs</extendedPoint>
  <object>
    <title>Rack</title>
    <icon>#{myPluginImages:Rack}</icon>
    <parentUid>vsphere.core.navigator.viInventoryLists</parentUid>
    <navigationTargetUid>mySolution.myPlugin.Rack.objectCollectionView</navigationTargetUid>
    <isFocusable>true</isFocusable>
    <nodeObjectType>RackNodeCollection</nodeObjectType>
  </object>
</extension>