Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 3 KB

README.md

File metadata and controls

66 lines (47 loc) · 3 KB

XenCenter Plug-in Development

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 Menu Hello World

XenCenter Plug-in Specification

XenCenter Plug-in Specification Guide contains the complete specification for developing XenCenter plug-ins.

Tutorials and Examples

The following samples demonstrate various ways in which a XenCenter plug-in can be implemented.

To build the sample plug-in installers

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

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.

Parameter Management

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.

Community-contributed Plug-ins

Martin Zugec has authored a series of blogs which contain plug-ins to perform common tasks.