Enable Situation Room Plugins

You can add configurable third party plugin tabs to the Situation Room in Moogsoft Enterprise that relate to the Situation. For example, you can link to a ServiceNow incident that is mapped to the Situation in question.

Moogsoft Enterprise requires a link_definition and custom_info column to enable the Situation Room Plugin.

Note

The Show ServiceNow Incident in the Situation Room check box in System Administration, Integrations, ServiceNow adds the plugin automatically

Two use cases are:

  • Conditional, based on contents of a field being present in the Situation (if the field is left empty, the plugin is disabled).

  • Universal for all Situations.

Further to these use cases, the link_definition can also have the same use cases:

  • Conditional, taking attributes of the Situation and passing to the linked application.

  • Generic, passing no details about the Situation.

Implementation

The moogdb.sitroom_plugins table has the following columns:

  • Title.

  • Its associated Situation field (from the moogdb.sigs table and can be custom_info.<field>).

  • The link definition to use.

mysql> describe moogdb.sitroom_plugins;
+---------------+--------------+------+-----+---------+----------------+
| Field         | Type         | Null | Key | Default | Extra          |
+---------------+--------------+------+-----+---------+----------------+
| id            | int(11)      | NO   | PRI | NULL    | auto_increment |
| title         | varchar(32)  | YES  | UNI | NULL    |                |
| internal_name | varchar(255) | YES  |     | NULL    |                |
| link_name     | varchar(32)  | YES  | MUL | NULL    |                |
+---------------+--------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)

Examples

Assuming Situation 14 had already been linked with ServiceNow Incident INC0000055 using the following SQL:

update moogdb.sigs set custom_info='{"servicenow_id":"INC0000055"}' where sig_id=14;    
Enable a ServiceNow tab in the Situation Room

1. Define a link_definition to point to the ServiceNow URL, and use the $value dynamic placeholder to be replaced with the incident number when launched.

insert into moogdb.link_definitions (name, link) values ('servicenow', 'https://<your-server-here>/incident.do?sysparm_query=number%3D$value');  

2. Add an entry into the sitroom_plugins table to define:

  • The tab.

  • The Situation field to be used for $value.

  • The link_definition.

insert into moogdb.sitroom_plugins (title, internal_name, link_name) values ('ServiceNow', 'custom_info.servicenow_id', 'servicenow');   

If desired, you can define multiple plugin tabs (with unique title) using the same or different Situation fields.

Additional configuration

You must configure your browser to allow third party cookies from these URLs, otherwise, remote websites may not display within the tab area. To do this, either enable third-party cookies globally, or, allow the specific URLs to set third party cookies as exceptions.

You must enable iFrames in ServiceNow to use Situation Room Plugins. They are disabled by default. For more information refer to the ServiceNow documentation, for example High Security Settings. You may also need to disable "same origin" settings.

ServiceNow integration

Configure ServiceNow using the UI. See the Integrate ServiceNow section in ServiceNow for details.