Skip to main content
Skip Navigation LinksHome Extending the Spotfire Platform Developing on the Spotfire Platform

©Spotfire 2008

Developing on the Spotfire Platform

A Spotfire extension is the smallest functional unit added to the platform. It is developed in Visual Studio® and is included in a Spotfire AddIn, enabling versioning, licensing, deployment and loading.

Overview

Required software: Spotfire SDK
The SDK provides required Spotfire developer resources: the Spotfire Extension Project Template, development assemblies, example projects, and the Package Builder application wrapping the extensions for deployment.

To create Spotfire extensions, use the Spotfire Extension Template and reuse code from the SDK examples. The Spotfire extension concepts and the recommended procedure to create an extension are described below.

Concepts

A Spotfire extension is typically implemented as a C# project in Visual Studio® using the Spotfire Extension Project Template. An extension project contains at least the following:

  • One or more extensions
    Each extension is implemented in a set of classes, typically overriding a base class defining an specific extension type. Additional extensions can easily be added to the project.
    The extensions in a project are bundled for loading into Spotfire by an AddIn unit.
  • One class derived from the AddIn class
    The AddIn is defined using information you provide when creating the project from the SDK template. Spotfire, deploys, version handles and loads functionality as AddIns.
    The Spotfire Extension Project Template assumes that only one Add-In implementation is available in your project. This is in accordance with design guidelines for Spotfire Extensions.
  • One The Module Definition File
    A module is defined as qualified for loading in Spotfire if it has a valid modules.xml file. It declares the Add-In to the application. This file defines 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 AddIn.
  • Strong name key file (.snk)
    Extension assemblies must be signed with a strong name key. 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.