MCWS Plugin for Open MCT is a package that allows Open MCT to use MCWS (Mission Control Web Services) as a telemetry and persistence provider.
Open Mission Control Technologies, or Open MCT, is a next-generation web-based mission control and situational awareness framework, for visualization of data on desktop and mobile devices. Open MCT is developed at NASA Ames Research Center in Silicon Valley, in collaboration with NASA AMMOS and the Jet Propulsion Laboratory, California Institute of Technology (under its contract with NASA, 80NM0018D0004).
Follow instructions to install the Open MCT Build Tool (requires access request). The MCWS Plugin is then included and customized in build tool configuration.
- Add the plugin Example:
mct plugins add openmct-mcws-plugin --options '{"mcwsUrl": "<mcws_url>", "namespaces": [{"key": "my-instance", "name": "Shared", "url": "<shared_persistence_url>"}, {"key": "my-instance", "name": "Users", "url": "<user_persistence_url>", "userNamespace": true}]}'- Configure Open MCT Example:
mct plugins configure openmct.plugins.DisplayLayout --options '{"showAsView": ["summary-widget", "vista.packetSummaryEvents", "vista.dataProducts", "vista.packets", "vista.frameSummary", "vista.frameWatch"]}'
mct plugins configure openmct.plugins.Filters --options '["vista.alarmsView", "vista.chanTableGroup", "vista.commandEventsView", "vista.messagesView", "vista.evrView"]'- Build Open MCT Example:
mct buildTo deploy to Tomcat, package the built instance folder as a WAR; see Tomcat Web Application Deployments.
- Specify a pre-configured recipe to build (from the openmct-build directory) Example:
mct build --recipe recipes/mcws/prod.yaml --instance prod-instanceExample prod.yaml
# yaml-language-server: $schema=../../src/assets/openmct-configuration-schema.json
# Builds Open MCT for MCWS without dev plugins enabled. Requires an MCWS server to connect to.
openmct:
version: latest
plugins:
- openmct.plugins.Snow # Theme: 'Snow', 'Espresso' or 'Maelstrom'
- openmct.plugins.ObjectMigration
- openmct.plugins.ClearData:
options:
- ['table', 'telemetry.plot.overlay', 'telemetry.plot.stacked', 'vista.packetSummaryEvents', 'vista.dataProducts', 'vista.packets', 'vista.frameSummary', 'vista.frameWatch', 'vista.chanTableGroup']
- indicator: false
- openmct.plugins.DisplayLayout:
options:
showAsView:
- summary-widget
- vista.packetSummaryEvents
- vista.dataProducts
- vista.packets
- vista.frameSummary
- vista.frameWatch
- openmct.plugins.Filters:
options:
- - vista.alarmsView
- telemetry.plot.overlay
- table
- vista.chanTableGroup
- vista.commandEventsView
- vista.messagesView
- vista.evrView
- openmct.plugins.UTCTimeSystem
- openmct.plugins.Notebook
- openmct.plugins.Clock:
options:
useClockIndicator: false
- openmct.plugins.DefaultRootName:
options: ['VISTA']
- openmct-mcws-plugin:
npmPackage: openmct-mcws-plugin
options:
useDeveloperStorage: false
mcwsUrl: ''
namespaces:
- key: 'r50-dev'
name: 'R5.0 Shared'
url: ''
- userNamespace: true
key: 'r50-dev'
name: 'R5.0 Users'
url: ''The recipe example above shows typical build-time values, not the plugin’s built-in defaults.
mcwsUrl: The url to the MCWS server.- In the
namespacesconfiguration,url, the path to the MCWS persistence spaces, are required.
Plugin settings are merged in this order (highest precedence first):
mcws-config.json: optional file at the root of the built Open MCT instance (runtime). OnlymcwsUrlandnamespacescan be overridden. Release artifacts includemcws-config.example.json; copy or rename it tomcws-config.jsonand set values you want to override.- Build-tool recipe / plugin options: set when building with
mct(see examples above). - Plugin defaults: defined in code in the
defaultConfigobject inplugin.js.
For descriptions of all supported options, see CONFIGURATION.md.
This repository still includes a legacy standalone app entry point (index.html, config.js, legacy-index.js) for local development and WAR packaging. This will be removed in the future.
Edit config.js to set window.openmctMCWSConfig (all plugin options). Run npm install, build with npm run build:prod and run with npm start, or package with Maven for Tomcat.
For new deployments, prefer the Open MCT Build Tool with optional runtime mcws-config.json (see Configuration above).
The legacy branch contains the previous combined Open MCT + MCWS product layout.
MCWS is a closed source product in the Advanced Multi-Mission Operations System (AMMOS) catalog. Contact someone at AMMOS for instructions how to install MCWS.
MCWS is the open source repository for MCWS. MCWS will become open source once all closed source dependencies are purged or made to be open source as well.
Mock MCWS server (requires access request)
Open MCT can be deployed to Tomcat as a WAR. How you create the WAR depends on whether you used the build tool or the legacy workflow in this repository.
After building with mct, package the entire built instance directory as the WAR webapp root. That directory (for example openmct-build/instances/prod-instance/) should contain at least:
index.htmlassets/node_modules/- optional
mcws-config.json(if using runtime overrides; see Configuration)
Add or edit mcws-config.json in the instance folder if needed, then create the WAR:
cd /path/to/openmct-build/instances/testing
jar -cvf openmct_client.war .Jamie Vigliotta (jamie.j.vigliotta@nasa.gov), David Tsay (david.e.tsay@nasa.gov)
Or join us on Slack