Skip to content

TSTool / Plugin Reference / Overview


Introduction

This reference section of the documentation provides information about plugins.

The core TSTool software provides general functionality and "built-in" features, such as commands and datastores. A built-in feature generally meets the following criteria:

  • has been included in the core software for many years; therefore, it may be undesirable to change the software feature
  • is useful in Colorado, since TSTool was originally developed for the State of Colorado and continues to be maintained as part of OpenCDSS
  • has general applicability, such as general-purpose commands and datastores for federal data sources that provide data for the entire United States

However, as TSTool features have been added over time, it has become clear that not all features can or should be built into the core software product. Doing so would result in an overwhelming number of menus and tools and some features may be of interest to only a subset of TSTool users. Consequently, a "plugin" design has been implemented that allows features to be dynamically enabled based on software that is installed in addition to the core software. Plugins are suitable in the following cases:

  • plugin features are specific to a system, for example integrating with a specific database that is used by a relatively small number of users
  • plugin software is developed and maintained independent of the core TSTool software, including staff and financial resources independent of OpenCDSS support for the core product
  • plugin software has a large footprint such as many software files and dependencies
  • plugin features are experimental and MAY be incorporated into the core TSTool product at some point in the future

Plugins have technical challenges, which must be addressed by plugin developers and will continue to be considered by core product developers:

  • documentation for plugins is separate from the core product documentation and the core documentation does not link to plugin commands
  • plugin downloads and documentation are hosted by third parties
  • there is currently no "plugin registry" or TSTool software feature to notify TSTool users about plugin updates
  • plugin support and maintenance is provided by third parties, which may have costs
  • compatibility issues may arise as the core TSTool product is enhanced, which may limit plugin usability to certain TSTool versions (new TSTool features are planned to improve configuration and management of different plugin versions for different TSTool versions)

Plugin List

The following plugins are known to have been developed. Contact the appropriate entity for information about the plugins. This list will be expanded over time.

Available TSTool Plugins

Plugin Description Contact Email
Amazon Web Services Commands to integrate with AWS. Open Water Foundation
Kisters WISKI (KiWIS) web services Datastores and commands to integrate with the Kisters WISKI (KiWIS) system web services. Open Water Foundation
Synoptic data web services Datastore and commands to integrate with Synoptic Data web services. Open Water Foundation
TriLynx Systems NovaStar Datastores and commands to integrate with the TriLynx NovaStar system for environmental data and flood warning. TriLynx Systems
Zabbix web services Datastore and commands to integrate with Zabbix web services. Open Water Foundation

Plugin Installation and Configuration

The main TSTool software installation results in "installation files" and "user files". The "installation files" are located in a shared (system) location (typically C:\CDSS\TSTool-version on Windows) and the "user files" are located in a user's files (e.g., C:\Users\user\.tstool\NN, where NN is the major version, for example 14 for TSTool 14.6.0).

A plugins folder exists in the installation files and users files. Plugin software that is available (see previous section) can be installed in these folders and TSTool will automatically detect and load, resulting in one or more of the following:

  • plugin datastore features are enabled, such as interactive time series browsing in the Input/Query Options area of the main TSTool window, enabled if a proper datastore configuration file is created in the datastores folder
  • plugin commands in the Commands(Plugin) menu

It is generally recommended to install plugins and corresponding datastore configuration files in user files to allow for more flexibility and to avoid the need for administrator privileges. Plugins installed in user files apply to all TSTool versions for the major TSTool version whereas plugins installed in software installation files only apply to that version of TSTool.

Plugins generally consist of a plugin Java jar file, which contains various software modules and files. Additional dependencies are installed in the dep folder under the plugin. The providers of plugins will provide documentation that explains plugin installation and datastore configuration.

Plugin software are updated on a frequency that is independent of the core TSTool product, although some coordinated releases may be required if the plugin integration requirements change. In the future, a plugin manager tool may be added to the TSTool interface to help with notification about available software updates.