https://github.com/nasa-ammos/openmct-mcws
Open Mission Control Technologies (Open MCT) for Mission Control Web Services (MCWS)
https://github.com/nasa-ammos/openmct-mcws
Last synced: 6 months ago
JSON representation
Open Mission Control Technologies (Open MCT) for Mission Control Web Services (MCWS)
- Host: GitHub
- URL: https://github.com/nasa-ammos/openmct-mcws
- Owner: NASA-AMMOS
- Created: 2021-04-19T23:56:03.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2025-03-31T23:42:27.000Z (about 1 year ago)
- Last Synced: 2025-04-01T00:27:52.403Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 52.5 MB
- Stars: 9
- Watchers: 7
- Forks: 7
- Open Issues: 92
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Open MCT for MCWS
Open Mission Control Technologies for Mission Control Web Services (Open MCT for MCWS) is a next-generation web-based mission control framework for visualization of data on desktop and mobile devices. Open MCT for MCWS is built on the [Open MCT Framework](https://github.com/nasa/openmct), and includes adapter code for using MCWS as a telemetry and persistence provider. 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).
## Configuration
Various configurations and customizations are available by editing `config.js`. Descriptions of each configuration reside with the configuration in the file.
### AMMOS configurations
1. `camUrl`: The url to the CAM server, if CAM is to be used for authentication.
2. `mcwsUrl`: The url to the MCWS server.
3. In the `namespaces` configuration, `url`, the path to the MCWS persistence spaces, are required.
## Development
### 1. Install Open MCT for MCWS
In a terminal, run this command to install Open MCT for MCWS and its dependencies. This may take a few minutes.
npm install
If you've installed Open MCT for MCWS locally before, first run this command.
npm run clean
### 2. Modify config.js
Uncomment the `proxyUrl` setting in `config.js`. It is located under Developer
Settings near the end of the file.
### 3. Run Open MCT for MCWS locally
npm start
With that running, browse to http://localhost:8080/ to access Open MCT for MCWS.
### 4. Rebuilding SASS stylesheets
npm run build:prod
With the stylesheets rebuilt, you can reload your browser (assuming the server is running) to see the rebuilt CSS.
## Development MCWS server
To connect Open MCT for MCWS to MCWS, either run a local mock server, run MCWS locally, or connect to a remote instance of MCWS.
## Running a mock MCWS server
An example mock mcws server - https://github.com/davetsay/mcws-test-server
*requires request access
## Running MCWS locally
Refer to MCWS documentation.
## Running a development server
Running a development server requires that you are on the JPL network so that
you can access a development MCWS server. You'll need to retrieve an authentication cookie
and make a small modification to your Open MCT for MCWS configuration; here's how.
### 1. Get your CAM cookie
To get past CAM, you will need to export an environment variable,
`COOKIE`, that contains your CAM authentication cookie. Instructions for
retrieving this cookie are at the bottom of the README. If you've copied
your CAM cookie into the clipboard, use this command to set the variable:
export COOKIE=`pbpaste`
## Tests
Tests are written for [Jasmine 4.4](https://jasmine.github.io/api/npm/4.4/Jasmine)
and run by [Karma](http://karma-runner.github.io).
Test files end with `Spec.js`, and will be automatically executed when running the following command:
npm test
Running the tests creates a code coverage report in `target/coverage`.
## Building for production
npm install
mvn clean install
This will create a deployable artifact, `openmct_client.war` in the `target`
directory.
## Notes
### Getting your CAM cookie
Go to the MCWS server location and log in to CAM. Then retrieve
the cookie from your browser.
Unsure how to get cookies from the browser? Here's a shortcut: create a
bookmarklet with the following code:
javascript:(function () {prompt('Your cookies for ' + location.host, document.cookie);})();
Pressing this bookmarklet will show you your cookies for the current host,
which you can then copy into your clipboard to use to set the cookie environment
variable. Note that logging out of CAM or getting a new session will require you
to get the cookie again.