The metadata extension definition for a user interface extension specifies where the extension appears in the vSphere Web Client GUI, and provides information about how the extension appears, including which Flex classes contain the actual GUI code.

Depending on the type of extension that you create for the vSphere Web Client, you must create different metadata definition for each extension, but all extension definitions share certain basic characteristics.

Extension Point

The extension point represents the specific location in the vSphere Web Client user interface where the extension appears. The vSphere Web Client SDK publishes a set of extension points that correspond to specific locations in the user interface.

Each extension definition must specify one of the provided extension points. The vSphere Web Client SDK provides several extension points for adding new data view extensions to the Virtual Infrastructure object workspaces. Each of these points corresponds to an existing top-level tab or second-level tab for a specific type of vSphere object. The SDK also provides extension points for other extensible GUI features, including the object navigator, Actions Framework, Related Objectscategorized object relations specifications, and home screen shortcuts.

You can nest extensions. An extension can define its own extension points, creating a multilevel structure of extensions. The Virtual Infrastructure object workspaces use a nested structure of extensions. For example, top-level tab screen extensions in an object workspace define extension points for second-level tab extensions, and second-level tab extensions define extension points for nested views or portlets.

Extension Object

The extension object is a data object that describes the properties of the extension. You must provide a specific type of extension object for each extension point. Rather than instantiating the actual extension object, your extension definition must use MXML or HTML to provide a description of the required object.

The extension objects associated with each extension point correspond to specific ActionScript classes in the vSphere Web Client SDK. The properties of the ActionScript class are used in the data object to specify things like labels and icons for the extension. In the cases of data views, actions, and certain extensions to the object navigator, you also use the extension object properties to specify the Flex or HTML classes that you created for those extensions.

Filtering Metadata

You can include filtering metadata in your extension definition. You can use filtering metadata to control when the user has access to a given extension. For example, you can filter an extension to appear only for certain types of objects, or when an object's property has a specific value. Filtering metadata is optional and not required for every extension definition.