Skip to main content
Skip Navigation LinksHome Extending the Spotfire Platform Understanding the Spotfire Development Platform

©Spotfire 2008

Understanding the Spotfire Development Platform

The Spotfire platform can be extended programmatically. It provides concepts and APIs to solve analytic problems by adding custom capabilities.

Define the problem

Initially you may be confused by new Spotfire concepts, or the broad set of types in the API documentation. But remember, the API is there to solve an analytic problem, so first define the problem. What do you want to do?

Can the problem be solved by configuring the Spotfire application? If it can, this is usually a simple and straightforward procedure. Creating custom expressions, for instance, can be very rewarding, providing great analytic power already at a low time cost and often relatively low level of complexity.

If the problem can't be solved without some missing analytic capability, consider adding the functionality by extending the platform. Rather than lumping all logic and presentation together, add each piece of functionality in its proper location. The key to good Spotfire design is to break down the problem in functional units. As we will see shortly, each functional unit will correspond to an extension.

Outline the solution

It is a good start to consider the problem at a high abstraction level. Is new or configured visualizatons part of the solution? Should the user have access to new or configured panels? The basic design principle is to separate the presentation layer and its components from the underlying data.

Is there a need to perform data actions or even adding new data dynamically based on the existing data? It may be a time saver to explore the power of calculations, instead of implementing heavy duty data operations.

Is there a part of the problem concerning the loading and formatting of data? Then a simple data source extension should be considered part of, or possibly the whole, solution.

Create the Solution

The term solution directly translates to .NET's Solution concept: First create a Visual Studio® project; then add a Spotfire extension to the project for each functional unit required to solve the problem.

See also:
  • Architecture
    The Spotfire architecture is conceptually divided. The Automation APIs control Spotfire, and the Extension APIs enable developers to add functionality.
  • Infrastructure
    The infrastructure comprises client runtime and programming concepts not directly related to the features of Spotfire. Particularly the Document Model Framework must be mastered.
  • 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.