In order to build Open MCT from source there are a number of prerequisites that you must have installed in your development environment. With the build prerequisites installed, Open MCT can be downloaded and built using the steps at right. Starting with an empty directory, these steps will check out Open MCT from github, build it, and run a local web server.
gitat a command prompt. If it’s not currently installed, you can download a git client from https://git-scm.com/downloads
1Clone the source code
2Install development Dependencies
3Run a local development server
A new API is currently under development that will deprecate much of the documentation and tutorials below, however Open MCT will remain compatible with the currently documented API. An updated set of tutorials is being developed with the new API, and progress on this task can be followed in the associated pull request. Any code in this branch should be considered experimental, and we welcome any feedback.
Differences between the two APIs include a move away from a declarative system of JSON configuration files towards an imperative system based on function calls. Developers will be able to extend and build on Open MCT by making direct function calls to a public API. Open MCT is also being refactored to minimize the dependencies that using Open MCT imposes on developers, such as the current requirement to use Angular JS.
Broadly speaking, there are two types of telemetry sources that you might want to integrate with: Those that provide real-time streaming data, and those that provide historical data. The nature of the connections used to receive telemetry data (such as via HTTP request, or WebSockets) is not prescribed by Open MCT, nor is the format of the telemetry, and developers are encouraged to use the method that best suits their needs.
A tutorial is provided that gives an example of writing a telemetry provider and integrating with a real-time telemetry source. An example is also available that demonstrates integration with an historical data source.
Open MCT can be extended to provide new ways of visualizing and interacting with data, while offering a consistent user experience. Plugins may utilize Open MCT's provided extension points to define new:
This list is not exhaustive; the full list of extension points available is in the Developer's Guide. Tutorials are available that demonstrate how to create a new visualization, how to create a new interactive form, and how to integrate with data sources.
The visualization example shows an important use case: If necessary or useful data visualizations are not provided by Open MCT already, then these may be built as plugins instead. Using this extension mechanism, you could also incorporate third party visualization libraries. The second example shows how to add new views and user interactions. This allows developers to provide new ways for users to interact with the system, and with data.