TIBCO Spotfire® C# Extensions Overview
Last updated:
7:37am Apr 10, 2017

Back to Extending Spotfire page

Introduction

The TIBCO Spotfire® platform can be extended with custom capabilities by adding Spotfire extensions. The Spotfire API provides a number of different types of extensions such as tools, UI panels, visualizations, panels, data sources, data transformations and much more. A Spotfire extension is the smallest functional unit added to the platform. It is developed in Microsoft Visual Studio® and is included in a Spotfire add-in, enabling versioning, licensing, deployment and loading.

This article describes the different extension types and the key concepts needed when you develop Spotfire extensions.

Getting started

API reference

The latest version of the Spotfire Analyst API Refence documentation can be accessed here:

Extension Types

This section gives an overview of the different extension types available in the Spotfire platform.

Custom Application and Visual Components

Custom Tool

A custom tool is a Spotfire extension type which is used to perform an action in a given context.  The context may for example be the Spotfire application itself, the document, or a particular visualization type. Two special kinds of tools are export tools and share tools.

Custom Panel

A custom panel is a general-purpose UI components in Spotfire that can be used to visualize contextual information, adding controls or other domain specific functionality.

Custom Visualization

The set of Spotfire visualizations can be extended. Custom visualizations that have been deployed in the Spotfire environment appear in the same places and behave in the same way as Spotfire visualizations.

Table Value Renderer

Table value renderers render values in table visualization columns. The most common scenario is to turn data values into images, which are rendered in the table cells. 

Custom Data Components

Custom Data Source

A custom data source is used to import data from any external data source into Spotfire’s in-memory data engine.

Custom Data Function

A data function is like a swiss-army-knife component when building applications in Spotfire. Data functions are similar to data sources, but are able to compute over multiple inputs from the document and output data to multiple places in the document. 

Note: is is possible to Register and Run Data Functions, to pass multiple inputs and outputs to TIBCO Enterprise Runtime for R, without having to create a custom data function. The most flexible way to call R scripts in Spotfire.

Custom Data Transformation

The transformations framework adds a layer between data reading and the creating of a data table, providing the means to modify the data before it is imported. A data transformation applies a rule or a function to the retrieved data to prepare it for analysis.

Custom Data Writer

A Data Writer exports data to a custom file format.

Custom Expression Functions

With custom expression functions, it is possible to extend the expression language used in custom expressions and calculated columns. A custom expression function is ether row-based, column-based or an aggregation method.

Note: it is possible to call TIBCO Enterprise Runtime for R directly from the Spotfire Expression Language, without having to create a custom expression function or employ data functions The simplest way to enhance your analysis with R scripts. 

Custom Fitting Model

Curve fitting is the process of calculating values from visualization coordinates and input parameters, to draw reference curves and points.

Custom Virtual Column

Creates a new column based on one or more existing columns plus Document Properties.

Custom Internal Components

Preference Object

Preferences Objects, also known as Configuration Sets, are collections of application attributes that can be shared by users and groups of users.

Custom License

With a Custom License, custom components can be enabled/disabled from the Spotfire Licensing dialog. Read more in the Licensiing Extensions section below.

Custom Node

Costom Nodes allows items to be added to the Spotfire Document Model and be serialized into the DXP file.

Custom Application Event Handler

A Custom Application Event Handler can monitor and react to application events.

 

Extensions, Add-ins and Packages

The Add-in Framework

A Spotfire extension is included in a Spotfire add-in, implemented as a C# project in Visual Studio®. A compiled project can be packaged into a Spotfire package for distribution and deployment to a Spotfire server. Learn more

Licensing Extensions

A Spotfire license controls access to a specific extension. Learn more.

32-bit and 64-bit Platforms

64-bit (x64) platform, as opposed to 32-bit (x86), is considered the default platform for TIBCO Spotfire. If the custom extension uses a third party native 32-bit DLL to run on a 64-bit platform, the 32-bit DLL must be executed in a separate 32-bit process. Learn more.

The Document Model Framework

When doing more complex extensions, including custom document nodes, properties, transactions, events and more, it is important to understand the Document Model Framework which provides the building blocks of a Spotfire document in a running instance of Spotfire. Learn more.