vSphere Web Client SDK 6.0 Release Notes

Updated on: 12 March 2015

vSphere Web Client SDK 6.0 | 12 MARCH 2015 | Build 2559419

Check for additions and updates to these release notes.

These release notes for vSphere 6.0 Web Client SDK describe the changes to vSphere Web Client extensions since vSphere version 5.5.

Distribution Kit

In previous releases, the vSphere Web Client SDK was packaged as two ZIP files:

  • vimclients-public-sdk.zip
  • serenity-client.zip

The vSphere Web Client SDK 6.0 is delivered as a single ZIP file:

  • vimclients-public-sdk-6.0.0.2559419.zip

When you extract the contents of the distribution kit, the vSphere Web Client SDK 6.0 contains the following directories:

  • docs - Additional SDK documentation, including:
    • Detailed information on features, samples, and tools. See the file Release-Notes.html
    • Setup guide, Tutorial, FAQs, and plug-in examples documentation
    • API reference documentation for the Flex and Java APIs
  • flex-samples - Flex plug-in examples
  • html-bridge - Documentation about the HTML bridge and HTML plug-ins examples
  • libs - Flex and Java libraries
  • plugin-packages - Plug-in packages for the vSphere Web Client
  • resources - Files used by build scripts.
  • tools - Plug-in for the Eclipse IDE, which allows you to create extensions for the vSphere Web Client.

To connect your Virgo server instance to a vCenter Server 6.0 instance, follow the instructions available in the vSphere Web Client SDK Setup document located in the docs SDK directory.

What's New

This release of the vSphere Web Client SDK includes the following new features:

HTML Bridge and Recent API Changes

An HTML bridge has been added to support plug-ins built with HTML and JavaScript instead of Flex. The vSphere Web Client now supports HTML-based extensions as well as Flex-based extensions. The new HTML bridge infrastructure integrates HTML and JavaScript UI code in the Web Client.

The HTML bridge was first introduced in version 5.5 Update 1, which was released in March 2014, to support developing HTML plug-ins for the vSphere Web Client 5.5.

The following APIs have been added to support the HTML bridge since version 5.5 Update 1:

  • New JavaScript APIs setDialogSize() and setDialogTitle() to modify size and title at runtime.
  • New XML attributes <dialogIcon> and <showCloseButton> for dialogs and summary portlets.
  • New JavaScript API openModalDialog() to open a modal dialog outside of the current view.
  • Fixed missing portlet.linkLabel resource, which is used for summary page portlets.
  • Fixed a potential Flash error when you try to quickly resize an HTML view.
  • Small change in web-platform.js to use location.href instead of location.search in getURLParameter.

You do not need to change existing, working code to use the HTML bridge. For instance, Location.search can be null for frameworks like Angular JS, so location.href becomes a safer alternative.

New Java APIs

After version 5.5 Update 1, the sessionKey method was added to the ServerInfo class. It represents the vCenter Server session ID.

New Flex APIs

The getDefaultChannelUri() method was added in ServiceUtil after 5.5 Update 2. See the proxy information below.

Additional New Features

The following additional features have been added since vSphere Web Client version 5.5:

  • Ant build-flex.xml scripts now copies the .properties files into the locales directory of the WAR file, next to the compiled resource .swf files. This allows the future compatibility with the Web Client HTML platform.
  • This release adds the Java compiler option target="1.6" source="1.6" in build-java.xml script files, allowing plug-in compatibility with JRE 1.6, which is used by the Web Client.
  • The samples now include use of a proxy with the [InjectableProxy] tag to define a global proxy instance.
  • The vpshere-client-sdk/libs/ folder now contains a copy of third party libraries: gson-2.0.jar, vim25.jar, and Spring libraries. You can easily reference these libraries from your sample projects instead of duplicating them in each project.

System Requirements

To create plug-in modules for the vSphere Web Client, your development environment must include the following items.

  • Eclipse IDE or SpringSource Tool Suite
  • Java JDK 1.7.0_17 or higher
  • Adobe Flash Builder 4.7
  • Flex SDK 4.6

For more details about how to set up your development environment, see the SDK file docs/SDK-Setup.html.

Known Issue

The following is a known issue for the vSphere Web Client SDK.

    The log files of the Virgo server are missing on Japanese OS installations.

    Workaround: To resolve this issue, you can try the following:

    1. Open the vSphereWebClient/configuration/serviceability.xml file with a Hex editor.

    2. Remove the first three invisible bytes (EF BB BF) and save the file.

    3. Restart the vSphere Web Client Service.

  • When you open a Flex component which overlap an HTML view, the view becomes invisible.
    When you open a Flex component, such as a menu or dialog, which overlaps an HTML view, the view is temporary hidden.

    Workaround: None.

  • If the target object was not previously displayed in another HTML view, the sendNavigationRequest API stops working.

Resolved Issues

The following issue was resolved in 5.5 Update 1:

  • The "Add Chassis" action in the chassisRackVSphere-ui sample was missing the package com.vmware.samples.chassisRackVSphere.model from the MANIFEST.MF file.

    This issue is resolved in this release.

  • Removed Java APIs from the package com.vmware.vise.search which were added by mistake in the 5.5 release.

Upgrading from Version 5.5

vSphere Web Client 6.0 works with vCenter Server version 5.5 and version 6.0, but you need to have access to a vCenter Server 6.0 instance to setup the vSphere Web Client SDK. See the registration steps described in the docs/SDK-Setup.html document.

Setup

Following is a list of the setup changes for the vSphere Web Client SDK since version 5.5:

  1. There is no longer a separate serenity-client.zip package containing the server and Web Client components for local development, everything is included in one SDK package.
  2. There are new registration steps (described in the docs/SDK-Setup.html file) for vCenter Server 6.0.
  3. Virgo was upgraded from 3.6 to 3.6.3. This should not affect your own setup.
  4. The vSphere Web Client SDK Tools Eclipse plug-in was updated to generate HTML projects.
  5. The vpshere-client-sdk/libs/ folder now contains a copy of 3rd party libraries (gson-2.0.jar, vim25.jar, Spring libraries) to make it easier to reference those libraries from sample projects instead of duplicating them in each project.

You can keep your current SDK 5.5 development environment, if you follow these steps:

  • Install the SDK files to a different location than the previous SDK.
  • Update the environment variable VSPHERE_SDK_HOME, and Eclipse variables VSPHERE_CLIENT_SDK (Flex and Java) to point to the new SDK location.
  • Install the update of vSphere Web Client SDK Tools located in tools/Eclipse plug-in site.
    Note: If you get an error while performing the software update, the workaround is to uninstall the update first by following these steps:
    1. Go to About Eclipse > Installation Details.
    2. From the list of of Installed Software, select vSphere Web Client SDK Tools.
    3. Click Uninstall.

Plug-in Packaging

To ensure that your plug-ins developed by using the new vSphere Web Client 6.0 APIs will be loaded only when running an instance of vSphere Web Client 6.0 or later, you must set the pluginPackage dependency on the vSphere Web Client platform to 6.0.0:

  <dependencies>
      <!-- dependency on the current vSphere Client version is required -->
      <pluginPackage id="com.vmware.vsphere.client" version="6.0.0" />
   </dependencies>

The registration process of the plug-in package as a vCenter Server extension is the same as with version 5.5.

Important Proxy Note

Warning: Flex plug-ins that define their own proxy class must use ServiceUtil.getDefaultChannelUri() as shown in the globalview sample below instead of hard-coding the channel URI. This ensures binary compatibility with version 6.0 which uses a reverse proxy (i.e. the internal proxy URL is http).

public class EchoServiceProxy extends BaseProxy {
   private static const SERVICE_NAME:String = "EchoService";

   public function EchoServiceProxy() {
      // channelUri uses the Web-ContextPath defined in MANIFEST.MF
      const channelUri:String = ServiceUtil.getDefaultChannelUri(GlobalviewModule.contextPath);
      super(SERVICE_NAME, channelUri);
   }

The ServiceUtil.getDefaultChannelUri method was added to the SDK in version 5.5.2.

Testing your Current plug-in

After upgrading to SDK 6.0 rebuild your plug-in and test it with the vSphere Web Client version 6.0. It will build exactly as before.

See more details in the doc/Release-Notes.html after you download the SDK.

Deprecation Summary

The following 5.1 APIs are marked as deprecated since 5.5 but still work in 6.0. However there is no guarantee that they will keep working in the next major release after 6.0.

  • com.vmware.ui.lists.ColumnSetContainer.
    We recommend to define column extensibility directly in plugin.xml as demonstrated in the chassis-app samples (docs/samples-doc/chassis-app.html).
  • Extension point vsphere.core.inventory.summaryViewTemplate.
    We recommend to define your summary view as a single view as shown in the chassisRackVSphere-ui (docs/samples-doc/chassis-app.html) sample, without separate portlets using summarySectionViews.
  • Dialogs and Wizards APIs.