Skip to main content
Skip Navigation LinksHome  Extending the Spotfire Platform

©Spotfire 2011

Extending the Spotfire 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 Analysis? 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 it by extending the platform by creating 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. 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 into functional units. As we will see shortly, each functional unit will correspond to an extension of a specific type. The extensions can then, but do not have to, be deployed in a single platform add-in.

Outline the solution

Solutions may combine extensions on different levels

Consider the problem in terms of the available extension types, as indicated in the graphic. Is new or configured visualizatons part of the solution? Should the end user interact with 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 purpose of the TIBCO Spotfire product stack is to provide visual and computational analytics in one platform.
  • 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.
  • Creating Extensions to the Spotfire Platform
    A Spotfire solution to a complex problem may require a design with several specialized extensions. Still, a single extension based on an SDK example project will often do. The examples are fully functional solutions to common problems, and there are many ways to combine them.
  • Common Tasks and Idioms
    This section combines a class hierarchy overview with introductions to commonly used classes and, by way of example, the recommended coding idioms.