Storm Editor Tool
The Storm Editor Tool can be accessed from the Optic Toolbar:
![../../_images/tool_storm_editor.png](../../_images/tool_storm_editor.png)
The Storm Editor provides an integrated development environment (IDE) to create, test, manage, store, and run Storm queries and macros. The Storm Editor can be used by analysts (e.g., to test and save longer or more complex Storm queries or to help automate personal tasks) and developers (e.g., to prototype and test advanced Storm before converting it into production code within a Power-Up).
The Storm Editor allows you to test, debug, and run Storm (Synapse’s query language), and will flag any
syntax errors found in your Storm query or Storm code. Syntax highlighting makes it easier to review
and work with your code, and you can embed both single-line (by prepending a line with //
) or
multi-line (by enclosing text within /*
and */
) comments.
Auto-complete for forms, properties, tags, libraries, and variables is enabled by default (though this can be disabled through the PREFERENCES tab of Your Settings). You can optionally set your Storm Editor key map to match other popular editors (such as vim or emacs) in the same location.
Storm Queries
The QUERIES tab allows you to create, modify, test, save, and run saved Storm queries:
![../../_images/queries_01.png](../../_images/queries_01.png)
Tip
Storm queries created in the QUERIES tab are user-specific (not visible to others). Queries are meant to be self-contained - that is, they do not typically take nodes as input.
Storm Macros
The MACROS tab allows you to create, modify, test, save, run, and manage permissions for a Storm macro:
![../../_images/macros_01.png](../../_images/macros_01.png)
Tip
Macros are visible to all Synapse users by default. Macros can be invoked and executed from other Storm queries
(including Node Actions, triggers, or cron jobs) using the Storm macro.exec command. Macros commonly
operate on nodes and typically expect inbound nodes on which to operate (that is, a set of nodes is typically sent
to the macro.exec
command, which invokes a macro to perform some action(s) on the nodes).
See the Synapse documentation on macros for a detailed discussion of macro use, configuration, and management.