The XenCenter plug-in 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. Plug-ins 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.
XenCenter Plug-in Specification Guide contains the complete specification for developing XenCenter plug-ins.
The following samples demonstrate various ways in which a XenCenter plug-in can be implemented.
The best way to distribute your XenCenter plug-in is to package it into a single
.msi
(Windows Installer) file. Using a Windows Installer allows you to make
sure the plug-in is being installed into the correct place (by checking the
XenCenter InstallDir
registry key), and it also allows versioning. A newer version
will automatically uninstall the old version and then install the new one.
To compile an installer for each of the plug-in samples ensure your system has
- PowerShell 3.0 or higher
- WiX 3.7 or higher
Then open a Visual Studio Command Prompt in the root of this repo, navigate to the folder of each sample and run the corresponding make file. For example, to compile an installer for the Web UI Tab plug-in:
cd WebUI
make.cmd
The result is output in the subfolder _build
of each sample.
XenCenter provides parameter sets to your plug-in which describe the current selection in the XenCenter resource list. Working with parameters can be somewhat challenging, therefore we recommend you consult the plug-in specification for more information.
Martin Zugec has authored a series of blogs which contain plug-ins to perform common tasks.