Testing plugin results

Once your basic plugin script is working:

python main.py manifest.json results.json

You can then quickly test the visualization of the plugin results by visiting the Plugin test result page. Enter your dataset key from earlier here. Next, simply drag your results.json onto that page to see your plugin output. You can rinse and repeat this process of editing your plugin script and dragging the results.json file onto that page until you are satisfied with your plugin. In additon to plugin results, it will also allow you to see any notifications that your plugin may generate. See Plugin notifications for more on this.

If your plugin has additional stages, you need to name your JSON files according to the exact keys used in the process specification.

For example for the process below, the plugin will have had three runs in total — one for the intial stage, and two for the additional ones.

{
...,
"process": {
"stage1": {
"dataSets": {
"60secData": {"type": "since", "seconds": 60},
"latestData": {"type": "latest"}
}
},
"stage2": {
"dataSets": {
"180secData": {"type": "since", "seconds": 180},
"latestData": {"type": "latest"},
"successRequired": false
}
}
}
}

The commands executed for the different runs will thus be as below. Note that initial.json needs to be named like that if your plugin has any additional stages:

python main.py manifest.json initial.json
# POST contents of initial.json to https://www.stormly.com/api/developer/process_result/initial
# to prepare the stage1 and stage2 datasets. Then execute:
python main.py manifest.json stage1.json
python main.py manifest.json stage2.json

You can now drag all these three files at the same time onto the plugin test results page. If you forget to drag one of them, it will be missing from the results object, and probably generate an error in your plugin JS/JSX/helper code.

The next step will be to add visualizations to your plugin results, such as charts, tables, summary scores and more. In addition many API utility functions can be used to save you work. See the API library for more details.