All Solution Menu extensions that you create use a common extension point in the vSphere Web Client extension framework, called vsphere.core.menus.solutionMenus. The extension definition must provide an extension object of type
com.vmware.actionsfw.ActionMenuItemSpec.
The ActionMenuItemSpec object represents the new solution menu nested in an object’s action menu. In the solution menu object, you define an array of additional
ActionMenuItemSpec objects to represent actions, nested menus, and separators.
ActionMenuItemSpec Extension Object Properties for a Nested Solution Menu lists the properties of the
ActionMenuItemSpec object that you must set for your nested solution menu extension.
Important If you omit the <metadata> element for extension filtering in your Solution Menu extension definition, your Solution Menu is shown for all vSphere objects. Use the
<metadata> element in your Solution Menu extension definition to ensure that your Solution Menu appears only for the correct type of vSphere or custom objects.
Example 7-3, on page 71, shows an example Solution Menu extension definition. In the example, the extension adds a nested solution menu to the action menu for VirtualMachine objects.
You can add items to a nested solution menu by using the <children> property in your Solution Menu extension’s
ActionMenuItemSpec object. In the
<children> property, you can add one or more additional
ActionMenuItemSpec objects to represent each item.
Example 7-4, on page 72, shows an example of a nested solution menu with two action items as child objects.
To add an action to your nested solution menu, you create a child ActionMenuItemSpec object with the properties listed in
ActionMenuItemSpec Child Object Properties for a Nested Sub-Menu. For menus nested to another level, you must omit the
<type> property and include a
<children> property.
Example 7-5, on page 73, shows an example solution menu that adds a Solution Menu extension for VirtualMachine objects. The nested solution menu includes a subordinate nested menu called “Configuration” with two actions, a separator, and an additional action.
The ActionPriorityGroup object defines the priority order for the actions in the action menu, and the target object type. The actions listed first in your extension definition appear at the top of the action menu and to the right side of the actions toolbar. You can promote a maximum of five actions on the actions toolbar.
ActionPriorityGroup Extension Object Properties lists the properties of the
ActionPriorityGroup object that you must set in your Prioritization extension.
Example: Prioritizing Items in the Chassis Action Menu shows an example Prioritization action that sets the display priority for actions in the default actions menu for a custom object called a Chassis.
To change how actions are prioritized in the global actions menu, you must create a Prioritization extension at the extension point vmware.prioritization.listActions. Your extension must provide a data object of type
com.vmware.vsphere.client.prioritization.ActionPriorityGroup.
The ActionPriorityGroup object defines the priority order for the actions in the global actions toolbar, which is the toolbar that appears to the left of the context toolbar. The actions listed first in your extension definition appear farthest left in the global actions toolbar.
Table 7-7, on page 75, lists the properties of the
ActionPriorityGroup object that you must set in your Prioritization extension.
Example: Prioritizing Items Added to Global Actions Toolbar for Chassis Objects shows an example Prioritization action that sets the display priority for actions in the default actions menu for a custom object called a Chassis.