July 9, 2010 in citrix, virtualization, xen by admin

Page edited by Stephen Turner

The following plugins have been written using the XenCenter Plugin specification to add a new tab inside XenCenter to access the console of Access Gateway, Net Scaler and Branch Repeater VMs:

Each of the plugins works in a similar way. A XenSearch in the plugin configuration xml toggles enablement of the plugin based on whether the correct tag is present on a selected running VM.

As an example, here is the Access Gateway configuration xml:

<?xml version="1.0" encoding="UTF-8"?>
  <XenCenterPlugin xmlns="http://www.citrix.com/XenCenter/Plugins/schema" version="2" plugin_version="1.0.0.0">
    <TabPage name="webui-tab" url="https://{$ip_address}:9001" search="967e62a3-45a0-4cc9-b7a7-de941ae754b1" />
    <MenuItem name="ui-menu-item" menu="vm" serialized="none" search="967e62a3-45a0-4cc9-b7a7-de941ae754b1">
      <Shell filename="https://{$ip_address}:9001" />
    </MenuItem>
    <MenuItem name="web-menu-item" menu="help" serialized="none">
      <Shell filename="http://citrix.com/accessgateway" />
    </MenuItem>
    <Search uuid="967e62a3-45a0-4cc9-b7a7-de941ae754b1" name="Access Gateway VPX" major_version="2" minor_version="0" show_expanded="yes">
    <Query>
      <QueryScope>
        <VM />
      </QueryScope>
      <GroupQuery type="And">
        <EnumPropertyQuery property="power_state" equals="yes" query="Running" />
        <StringListContainsQuery property="tags" query="Access Gateway VPX" contains="yes" />
      </GroupQuery>
    </Query>
  </Search>
</XenCenterPlugin>

Here are the resources and configuration files for each of the plugins:
NetScalerVPX.xcplugin.xml
NetScalerVPX.resx
BranchRepeaterVPX.xcplugin.xml
BranchRepeaterVPX.resx
AccessGatewayVPX.xcplugin.xml
AccessGatewayVPX.resx

Changes between revision 2 and revision 3:

 The following plugins have been written using the XenCenter Plugin specification to add a new tab inside XenCenter to access the console of Access Gateway, Net Scaler and Branch Repeater VMs:
 * [^AccessGatewayVPX.msi]
 * [^NetScalerVPX.msi]
 * [^BranchRepeaterVPX.msi]
  
 Each of the plugins works in a similar way. A XenSearch in the plugin configuration xml toggles enablement of the plugin based on whether the correct tag is present on a selected running VM.
  
 As an example, here is the Access Gateway configuration xml:
 {code}
 <?xml version="1.0" encoding="UTF-8"?>
  <XenCenterPlugin xmlns="http://www.citrix.com/XenCenter/Plugins/schema" version="2" plugin_version="1.0.0.0">
  <TabPage name="webui-tab" url="https://{$ip_address}:9001" search="967e62a3-45a0-4cc9-b7a7-de941ae754b1" />
  <MenuItem name="ui-menu-item" menu="vm" serialized="none" search="967e62a3-45a0-4cc9-b7a7-de941ae754b1">
  <Shell filename="https://{$ip_address}:9001" />
  </MenuItem>
  <MenuItem name="web-menu-item" menu="help" serialized="none">
  <Shell filename="http://citrix.com/accessgateway" />
  </MenuItem>
  <Search uuid="967e62a3-45a0-4cc9-b7a7-de941ae754b1" name="Access Gateway VPX" major_version="2" minor_version="0" show_expanded="yes">
  <Query>
  <QueryScope>
  <VM />
  </QueryScope>
  <GroupQuery type="And">
  <EnumPropertyQuery property="power_state" equals="yes" query="Running" />
  <StringListContainsQuery property="tags" query="Access Gateway VPX" contains="yes" />
  </GroupQuery>
  </Query>
  </Search>
 </XenCenterPlugin>
 {code}
 Here are the resources and configuration files for each of the plugins:
 [^NetScalerVPX.xcplugin.xml]
 [^NetScalerVPX.resx]
 [^BranchRepeaterVPX.xcplugin.xml]
 [^BranchRepeaterVPX.resx]
 [^AccessGatewayVPX.xcplugin.xml]
 [^AccessGatewayVPX.resx]