1. Introduction

This documentation describes the extensibility options of pure::variants, a software variant management system. It is part of the pure::variants Extensibility SDK, which provides sample extensions for pure::variants and also API documentation for interfacing with pure::variants from various programming languages.

The manual is available in online help inside the installed product as well as in printable PDF format. Get the PDF here.

The architecture of pure::variants as a client/server application (see picture below) with an Eclipse-based user interface provides a number of place and techniques for building extensions.


The user interface can be extended using the standard mechanisms provided by the Eclipse platform, called extension points. Beside the already in a standard Eclipse existing extension points (for adding menu items, providing toolbar buttons, etc.) pure::variants provides also new extension points which provide an easy way to add new functionality to pure::variants e.g. for model import/export, element type specific wizards and editors, new editor views.

A second layer for extensibility is the core Java API which provides most non-user interface related functionality. This API can be used to interface with pure::variants from other Java-based applications, which are not built on top of the Eclipse platform.

It is also possible (but not advisable) to directly connect to the server using the SOAP protocol interface. In most cases one should rely on the Java API for handling the communication.

The core functionality itself is realized in a separate application which provides a similar platform independent extension interface as it is available in Eclipse but supports also platform specific extensibility mechanisms such as shared libraries and COM/OLE interfaces.

All afore mentioned extensibility options are (depending on the concrete configuration) available for all pure::variants Editions. The Integration Edition also provides the option to integrate the pure::variants core components in own binary applications.

As in the introduction mentioned the SDK feature is provided with an API documentation and corresponding sample extensions. For each part of this documentation a reference to a sample extension is given if there is one. Installing such a sample is very easy:

Choose in the eclipse workbench File -> New -> Example... -> Variant Management SDK. Below this category two example wizards can be chosen:

The "Extensibility Example Plugins" - wizard and the "Extensibility Example Projects" - wizard. To install a project (plugin) select the desired wizard and press next. A list of all example projects (plugins) is shown. Check the projects you wish to install and press finish.

To run the examples start an eclipse runtime workbench. See chapter PDE Guide->Getting Started->Basic Plug-in Tutorial->Running a plug-in in the Eclipse help.