The Spotfire architecture is conceptually divided. The Automation APIs control Spotfire, and the Extension APIs enable developers to add functionality.
Namespaces
The Spotfire namespaces define the Automation and Extension APIs.
They are distributed over three top-level namespaces:
- The Spotfire.Dxp.Application namespace groups
the Spotfire functionality handling the application logic and
visual parts, foremost the Document, but it also provides
hooks for additional analytic capabilities.
- The Spotfire.Dxp.Data namespace groups all
classes holding and handling data structures, foremost the DataManager.
- The Spotfire.Dxp.Framework namespace provides
the building blocks of the Document, but is also contains classes
for licensing, persisting and preferences.
See also:
-
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.
- Spotfire API
Reference
The detailed API documentation lists the APIs from the namespace
perspective.
Automation API
The state and behavior of Spotfire is controlled via the Automation
API. Virtually every action available to the end user can be
automated, like opening a file, setting a filter range, applying
a custom tool, and saving a file. Nevertheless, Spotfire is
primarily automated when adding new functionality.
The AnalysisApplication class is the entry point to the class
hierarchy:
See also concepts and classes:
-
Application
The AnalysisApplication represents a running Spotfire instance. It has methods to open and save a document, and provides access to application level services and tools.
-
Document
The Document orders runtime objects into an object graph. It provides access to all nodes in the application.
-
Data
Data is represented as a set of tables in the DataManager. It is similar to a relational database, but is cached in memory and optimized for speed. Relations between tables are explicitly defined.
-
Filters
Filters are used to select subsets of rows in tables. There is usually one filter per column. The Filter Panel uses a defined set of filters called a filtering scheme, but several filtering schemes may coexist.
-
Pages
Pages contain visuals and panels. A visual displays a particular view of the data, while a panel manipulates the state of data.
Extension API
There is a well defined extension mechanism enabling you to add
custom capabilities to Spotfire. The extension procedure is
straightforward:
- Break down the problem and determine the appropriate extension
points.
- Register an extension for each point.
- Implement the base classes tied to the respective extension
points.
See also:
-
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.
-
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.