Extensions
A Spotfire extension is the smallest functional unit added to the platform. It is developed in Visual Studio® and is included in a Spotfire add-in, enabling versioning, licensing, deployment and loading. This topic describes the key concepts needed when you develop extensions adding custom capabilities to the Spotfire platform.
Extensions are bundled for loading into Spotfire in units called add-ins. Spotfire handles versioning, deploys and loads functionality as add-ins registering extensions. For detailed information on how to create extensions to Spotfire, see the Community.
A Spotfire add-in is implemented as a C# project in Visual Studio®. The design guidelines for Spotfire extensions prescribes that every add-in contains one class derived from the AddIn class. An add-in is basically defined by information provided when creating the project from the SDK template. The add-in project contains one or more extensions. Additional extensions can easily be added to the project at a later point in time, to build a new version.
Each extension is implemented in a set of classes, typically overriding
a base class defining a specific extension type. The add-in registrations are
made declaratively by overriding an extension type specific method,
Register[ExtensionType]()
. Each such method is passed a
registrar that allows the add-in to register the extension in the appropriate
registry in Spotfire. For instance, to register a new tool, the
RegisterTools(ToolRegistrar)
is overridden. A similar
procedure is used when licensing extensions.
An add-in can also register services that can be used by other add-ins. This provides a simple way for add-ins to provide extension points of their own.
A module is defined as qualified for loading in Spotfire if it has a
valid module definition file. It declares the add-in to the application by
defining the fully qualified type name for the
AddIn
class and the assembly name. It also declares a
unique project GUID and a strong name for the assembly. Combinations of these
uniquely identifies the project and the add-in. Extension assemblies must
therefore be signed with a strong name key using a strong name key file (.snk).
The extension project template contains a default key. You may replace this key
file with your own, but if you do, make sure to alter the module definition
file accordingly.
- Creating extensions to the Spotfire platform
The development procedure for creating extensions to Spotfire is outlined from template to deployment. - Building packages that work with the Web Player on Linux
When you develop extensions to be used with the Web Player service on a Linux computer, you must know this from the start and specify the intended platform when building your packages. The default when building packages is "Windows" so, if nothing else is specified, Windows packages will be built. - Extension artifacts
Extensions are compiled and packaged into Spotfire packages, .spk files, containing the dlls for the extension code and other resources as well as a module.xml file describing the metadata of the extension.
- Creating extensions to the Spotfire platform
The development procedure for creating extensions to Spotfire is outlined from template to deployment. - Building packages that work with the Web Player on Linux
When you develop extensions to be used with the Web Player service on a Linux computer, you must know this from the start and specify the intended platform when building your packages. The default when building packages is "Windows" so, if nothing else is specified, Windows packages will be built. - Extension artifacts
Extensions are compiled and packaged into Spotfire packages, .spk files, containing the dlls for the extension code and other resources as well as a module.xml file describing the metadata of the extension.