XenCenter Plug-in Development

 

XenCenter is the management console used with XenServer.  From XenCenter you can natively perform common operations such as starting, stopping and migrating a VM and administering the XenServer resource pool which hosts those VMs.  While these common operations are seemlessly handled, there are times when external operations are needed.  To address those scenarios, XenCenter implements a plugin architecture.

The XenCenter plugin capabilities allow you to add custom menu items or even whole tabs to the XenCenter window. You might do this as an ISV to integrate your own product with XenCenter, or as an end-user to integrate with your company's existing inventory management.  Plugins can be added which extend menu items, or which present entire user interfaces within the XenCenter tab structure.  When extending a menu, Microsoft PowerShell or a Windows executable are typically used.  Adding new tabs is typically accomplished with a web page, or other network service.

 XCMenuHellol

   

 

XenCenter Plugin Specification

The XenCenter plugin specification is available on GitHub at: https://github.com/xenserver/xencenter-samples/tree/master/docs 

Tutorials and Examples

The following samples demonstrate various ways in which a XenCenter plugin can be implemented.  All source is located on GitHub at: https://github.com/xenserver/xencenter-samples

In order to build these samples, you will minimally need Microsoft PowerShell 2.0 (or higher) and WiX 3.7 or higher along with the XenServer SDK.

 HelloWorld Example - PowerShell
 XenCenter Plugins - WebUI Tab Example
 MessageBoard Example - JavaScript

Parameter Management

XenCenter provides parameter sets to your plugin which describe the current selection in the XenCenter resource list. Working with parameters can be somewhat challenging. For more information, please consult the plugin specification, or see some examples on parameter handling

Community-contributed Plugins

Martin Zugec has authored a series of blogs which contain plugins to perform common tasks.

About XenServer

XenServer is the leading open source virtualization platform, powered by the Xen Project hypervisor and the XAPI toolstack. It is used in the world's largest clouds and enterprises.
 
Commercial support for XenServer is available from Citrix.