Introduction
Read more about all the Spotfire APIs and customization options in Extending Spotfire®.
Note that this article only covers changes made to the public APIs and SDK. Your use of any internal APIs or other internal implementation details is entirely at your own discretion and is not supported or warranted by Spotfire. For text area customizations, see Best Practices for Writing Custom JavaScript Code in Text Areas.
New Features
Export to PDF with the Spotfire C# API (7.12)
A prepared PDF report can be exported with the Spotfire C# API, which makes it possible to include exporting of PDF reports in custom workflows with C# extensions or IronPython scripts. Use Report.ExportToPdf(Stream) or Report.ExportToPdf(String) to export a PDF from the analysis. Enumerate reports using the Document.GetReports() method.
Export to PDF with the Spotfire JavaScript API (7.12)
A prepared PDF report can be exported with the Spotfire JavaScript API, so that you can take advantage of the PDF reporting capabilities of Spotfire in a web mashup environment.
In addition, there is an option in the JavaScript API to launch a dialog for exporting to PDF without having a prepared report. This option now has the same capabilities as when using the Spotfire clients:
- The dialog provides a preview.
- The exported visualizations use the visual theme in the analysis.
- The exported PDF is of a higher graphical quality.
Use Document.getReports() to enumerate existing reports and Document.exportReport() to export a report to PDF. Use Document.exportToPdf() to launch the export to PDF wizard.
API to render pages and visualizations to PNG images (7.12)
The Spotfire C# API has new capabilities when rendering pages and visualizations. The resulting PNG images use the visual theme, and the API includes settings to adjust the resolution as well as the visibility of visual attributes, such as annotations, axis labels, legend and title. This API is useful when creating export tools to support customized layouts or output formats. See Visual.RenderAsync() and Page.RenderAsync().
API to remove data operation (7.12)
The Data Table Source View API now lets you remove individual data sources or other operations, such as add columns operations or add rows operations.
API to maximize a visualization (7.12)
The Spotfire C# API now supports the ability to temporarily maximize a visualization, and then return to the previous page layout again.
API to set WMS layer username and password (7.12)
The Spotfire C# API now supports configuring a WMS layer with username and password.
REST API to run Automation Services jobs (7.13)
It is now possible to trigger execution of Automation Services jobs from an external application using the Automation Services REST API. A job can either be stored in the Spotfire Library or passed as an argument. The API uses an OAuth2 based authentication/authorization mechanism.
OAuth2 based authentication for the Web Service (SOAP) API (7.13)
The SOAP Web Services API now uses an OAuth2-based authentication/authorization mechanism. This means that the API client only needs to support a single authentication method that will work with any Spotfire Server authentication configuration.
Simplified workflow for building Spotfire C# extensions (7.13)
With this release comes an updated and simplified procedure for building C# extensions for Spotfire. The package building functionality is now integrated with Visual Studio®. Templates are provided so that the configuration needed for a third party developer is kept to a minimum. See Developer Documentation.
Spotfire distribution files (7.13)
With this release it is possible to ship a bundled solution, containing several Spotfire packages, as a single distribution file (.sdn). See Package Builder console parameter reference.
JavaScript API: New authentication mechanism support external/web authentication (7.14)
It is now possible to use the JavaScript API on a Spotfire Server that is configured with any external/web authentication mechanism. For example, you can now create mashups that uses .dxp files on TIBCO Cloud Spotfire.
API to insert data operations (7.14)
Using the Data Table Source View API it is now possible to add data operations (AddRowsOperation, AddColumnsOperation and DataTransformationOperation) to any location within the data table structure (SourceView).
Preferred aggregation method (10.0)
The Spotfire C# API allows for getting or setting the preferred aggregation method to be used by plot heuristics when creating aggregated expressions from a data column. See DataColumn.PreferredAggreationMethod and VisualizationPreferences.PreferredAggregationMethodForNumericColumns.
Default layers for map chart (10.0)
The Spotfire C# API now allows for loading the default layer, for example base map layer, TMS layer, or feature layer, when configuring a map chart. See MapChart.AutoConfigureLayers.
API to reload linked and/or stored data sources (10.1)
You can now reload individual data sources via the Spotfire C# API. This is useful, for example, when you want to add custom reload buttons in a text area to be used by Spotfire Consumer web client users. See DataOperation.Reload and Data Table Source View API.
Allow for empty values in custom row methods (10.1)
The Spotfire C# API now allows for empty values to be propagated to custom row method implementations. Empty values may, in many cases, have special meaning, and with this API addition, those cases can now be handled in a custom row method. See CustomDataMethods.CustomRowMethod.
API to configure the AutoCreateFilters property on a data table (10.1)
It is now possible, via the Spotfire C# API, to configure the AutoCreateFilters property on a data table. By setting the property to false (default is true) users get to manage filters manually, and they can decide whether they want to create filters for certain columns or not.
See:
- DataTable.AutoCreateFilters
- DataTableCollection.Add
- DocumentOpenSettings.AutoCreateFilters
- DataView.AutoCreateFilters
API to rename, copy and move items in the library (10.1)
The Spotfire C# API has been extended with additional Spotfire library management operations that make it possible to rename, copy, move and set metadata (description, keywords and properties) on library items. The operations can be called from custom extensions or from IronPython scripts. See LibraryManager.
Lookup Automation Services jobs via the API (10.1)
It is now possible to use the Spotfire C# API to browse for Automation Services jobs stored in the Spotfire library. This can be done directly from the LibraryManager class or using the
New runtime parameters for custom tasks in Automation Services (10.1)
The Automation Services API now provides the following runtime parameters for custom tasks:
- Information about which context a job is executed in, on the server or locally in the client. This enables custom tasks to execute differently depending on the context.
- File path to running job.
See TaskExecutionContext.
Updated Java User Directory API (10.1)
A new version of the Java User Directory API is released, which is easier to use and has extended functionality. The following capabilities have been added to the API, giving it the same options as the User Directory web service:
- Set display name and email address when creating users and groups.
- Update display name and email address for a user or group.
- Improved search for users and groups.
- Enable/disable a user.
- Lock/unlock a user.
New Filter Rows Transformation (10.1)
The Spotfire C# API now exposes FilterRowsTransformation, a transformation type that is used to filter out rows that do not match the given expression. In addition, the more generic
ExpressionTransformation now includes a where clause property. This API is useful when you want to add transformations to a data table using IronPython scripts or custom extensions.
Library API for SBDF file upload (10.2)
The new Library REST API lets external applications upload SBDF formatted data to the Spotfire library.
API for column header height in graphical table (10.2)
It is now possible to use the Spotfire C# API to configure the number of lines of text in the column header in a graphical table. See GraphicalTable.ColumnHeaderLineCount.
API to export data as comma-separated files (10.2)
The Spotfire C# API for exporting data files now supports .csv formats with values separated by commas or semicolons, in addition to tab separated files. See DataWriterTypeIdentifiers and TablePlot.ExportData.
Calling the REST and SOAP APIs on behalf of end users (10.3)
It is now possible to use an OAuth2 Authorization Code Grant flow with the Spotfire Server REST and SOAP APIs to make the API calls on behalf of end users.
API to expand or collapse the layer handler widget in a map chart (10.3)
It is now possible to use the Spotfire C# API to get and set the state (expanded or collapsed) of the layer handler widget in a map chart. See MapChart.LayerHandlerState.
Improved API to reload data tables (10.3)
The Spotfire C# API to reload data tables in an analysis has been redesigned for improved ease of use and robustness. For details, See the Deprecated and Removed Features section below.
Changes in Functionality
There are no changes in API related functionality between version 7.11 and version 10.3 of TIBCO Spotfire®.
Deprecated and Removed Features
Legacy SOAP Web Service API
The legacy SOAP Web Service API has been removed in 10.3. It is replaced by the OAuth 2.0 based SOAP Web Service API (introduced in 7.13). Instructions on how to migrate existing solutions can be found here.
The API User and Impersonator groups are no longer created during a fresh installation. On upgraded systems they remain but are renamed to "API User (obsolete)" and "Impersonator (obsolete)". They can be removed at will.
DataTable.Refresh and related methods
The following methods and properties in the C# API have been marked as obsolete (from 10.3) and will be removed in a future release: DataTable.Refresh, DataTable.IsRefreshable, DataTableCollection.Refresh, DataTableCollection.RefreshAll() andDataTableCollection.RefreshAsync().
Alternative methods are provided: DataTable.ReloadAllData, DataTable.ReloadLinkedData, DataTable.RefreshOnDemandData and corresponding methods in DataTableCollection.
Document.Export(PDFExportSettings)
The Document.Export(PDFExportSettings) in the C# API has been marked as obsolete (from 7.12) and will be removed in a future release. Use Report.ExportToPdf(Stream) or Report.ExportToPdf(String) to export a PDF from the analysis. Enumerate reports using the Document.GetReports() method.
Visual.Render and VisualContext.Render
The Visual.Render() and VisualContext.Render() methods in the C# API has been marked as obsolete and will be removed in a future release. Use Visual.RenderAsync() instead.
Java User Directory API
The existing Java User Directory API (com.spotfire.server.userdir) is deprecated (from 10.1) and will be removed in a future version. That API has been replaced by the new user directory API (com.spotfire.server.api.userdir.UserDirectory).
Java Information Services API
The following functions in the Information Services API are deprecated (from 10.1), and will not be available in a future version:
- MetadataItem.isTerminal(). Use attributes instead
- Public constructor MetadataItem(String, String). Use MetadataItem.Create(string, string) instead.
- Public constructor MetadataItem(String, String, boolean). Use MetadataItem.Create(string, string) instead.
The following Java functions in the Information Services API have been removed (10.1):
- MetadataItem.fromXML(Element)
- MetadataItem.ToXML(Element)
- JDBCTypeSettings.convertToExternal()
- JDBCTypeSettings.formatXML(Element)
- JDBCTypeSettings.parseXML(Element)
- JDBCContext.resolveTable(SourceTable)
Closed Issues
Version | Key | Summary |
---|---|---|
7.13 |
TS-51841 |
Only the first cursor got the correct formatting when using the API method DataValueCursor.CreateFormatted in a script. |
10.0 |
TS-49943 |
PDF export did not take custom visualization area size into account. |
10.0 |
TS-56737 |
'Maximize Visualization' did not exist in the toolbar of a custom visualization. |
10.0 |
TS-57015 |
Spotfire closed unexpectedly when loading document with a custom extension. Issues were due to illegal object to be deserialized. |
10.2 HF-001 |
TS-59319 |
There were occasional script errors in an analysis using compatibility versions of jQuery and jQuery UI. |
10.3 |
TSDK-654 |
There was no "MyExtensions" folder in the downloaded SDK folder. |
Recommended Comments
There are no comments to display.