Web Interface

The GDS web interface allows to configure, interact and review the dissemination process. The access to the web interface is protected by a user login with password. The super user with administrator rights is typically created by the commandline tool during installation.

Figure 36 shows the main page which is visible right after the login. It offers to

In addition the web interface ships with a Login Management which is accessible for administrative users from the configuration area.

../_images/web-main.png

Figure 36: Web interface of GDS

Typically, the interface is available on localhost or other hosts through port 8000 or a path configured by the web server. Examples:

http://localhost:8000
https://localhost/gds
https://[other host]/gds

Figure 37 shows the central administration page with the main sections:

On the right panel the recent actions of the current user are shown.

../_images/web-adm-main.png

Figure 37: Central administration page allowing to setup the authentication (Auth) and the GDS related configuration

Login Management

The web interface provides a user management which allows to assign fine-grained privileges to users or groups of users. So for instance the dissemination task can be strictly separated from the configuration part. Modifications to the configuration are tracked per user to be able to relate certain changes. If the web interface is available under http://localhost/gds then the login management will be available under http://localhost/gds/admin.

Figure 38 shows the Permissions section of the user configuration. At first 3 different status types may be toggled:

  • Active – Defines whether or not the user is allowed to login

  • Staff status – Only staff users are allowed to enter the admin site

  • Superuser status – Grants all permissions to the user regardless of what is configured in any following dialog box

After assigning these rough status categories fine-granular permissions may be granted trough the User permission edit fields by moving available options (on the left) to activated options (on the right). An option is identified by group name | object name | action. All options related to GDS are prefixed by the group name gds and may be filtered by simply entering gds in the filter box. For each GDS object the actions add, change and delete are available.

In addition to the standard object related options three special options are provided which control the access to the dissemination and log part sites:

  • gds | event log | Can view event log

  • gds | event log | Can access event log perspective

  • gds | event log | Can publish events

  • gds | queue | Can view and trigger automatic queues

The sample configuration in figure 38 shows the setup for an user who is allowed to disseminate and to review the dissemination log but who may not alter any configuration.

../_images/web-adm-perm.png

Figure 38: Define user or group specific permissions

Configuration

The central configuration page is shown in figure 37. Below the header GDS all types of configuration objects are listed. These objects are linked together and often related objects may directly be changed when editing a specific option. Figure 1 in section Database shows an database relationship model of these configuration objects.

Configuration object

Description

Queues

A collection of combined dissemination rules: criteria, regions, services, subscribers, subscriptions, etc.

Criteria

Event parameters defining the events to be considered

External Criteria

Additional criteria defined in the GDS back-end to expand the functionality of Criteria

Regions

Geographic regions for selecting events

Services

Methods for sending bulletins, e.g., email, SMS, Twitter, web, etc.

Filters

Content definition of the bulletins including text, language, attached images

Subscriber

Rules for delaying and updating of notifications

Subscriptions

Receivers to which bulletins are sent

Queues

The central configuration unit is a Queue having a set of Criteria and Subscriptions associated to. The received earthquake parameters are evaluated against the configured Criteria. If any of the Queue's Criteria match then the Queue itself match and processing of the configured Subscriptions is triggered. One may consider a Queue as an OR-clause of Criteria where each Criterion is a AND-clause of earthquake parameters. If no Criterion is defined the Queue will never match. Figure 39 shows an example of a Queue configuration.

../_images/web-conf-queue.png

Figure 39: Central configuration page listing available types configuration objects

Properties

Property

Description

Name

Name (mandatory) of the Queue, used in the web interface for referring and at the GDS back-end command interface for sending a bulletin to all Subscriptions of this Queue

Description

Description of the Queue

Manual

If activated, this Queue is not active for automatic dissemination and will only match for manual dissemination procedures triggered through the web interface

Criteria

Set of Criteria defining the dissemination rules of this Queue.

Subscriptions

Set of Subscriptions subscribed to this Queue

Criteria

A Criterion is the building block of the dissemination condition of a Queues. In fact a Criterion is always associated to one particular Queue. A Criterion allows to define a set of event parameters. It matches only if all defined parameters match. Figure 39 shows the definition of Criteria inside the Queue configuration. Nevertheless Criteria may also be created in a separated form and assigned there to existing Queues.

../_images/web-conf-criteria.png

Figure 40: Configuration page for setting the criteria

Criterion Properties

Property

Description

Name

Name (mandatory) of the Criterion, used only in the web interface for referring

Enabled

If deactivated, this Criterion will not be evaluated

Queues

Queue (mandatory) this Criterion belongs to

Regions

Geographic bounding box, bounding circle or polygon area

External Criteria

External Criterion allowing to define enhanced dissemination rules

Evaluation Mode

Defines how the event needs to be evaluated (automatic or manually)

Evaluation Status

Multiple choice definitions on evaluation status of an event

Event Type

Multiple choice definitions of event type

Phase Count

Upper and lower bounds for the number of stations participating in the earthquake location solution

Magnitude Count

Upper and lower bounds for the number of stations participating in the magnitude solution

Magnitude

Upper and lower bounds for the preferred magnitude

Depth

Upper and lower bounds for the hypocenter depth

Max. RMS

Maximum allowed standard error of the earthquake location, typically range: 0-3

Comments

Set of Comment definitions. SeisComP allows to specify an arbitrary number of event or origin related comments. Each comment consists of an ID and a value. The GDS supports defining dissemination rules on basis of the available comments.

Comment Properties

Property

Description

ID

ID (mandatory) of the comment as specified in SeisComP

String Value

Exact string value of the comment

Numeric Value

Upper and lower bounds of the numeric comment

Required

If activated, the comment must exist in order to evaluate the whole Criterion to true.

Note

String and numeric parameters may not be mixed. If neither a string nor a numeric value is defined, then the comment match on empty values.

External Criteria

Sometimes the event properties available in the (standard) Criteria may not suffice. In this case the dissemination decision (or part of it) may be delegated to an external application which reads SCML on standard input and signals a match respectively mismatch with it’s exit code.

For performance reasons an External Criterion is evaluated after the regular Criterion parameters. If referenced by multiple Criteria it is executed once.

Properties

Property

Description

Name

Name (mandatory) of the External Criterion. For the name defined here a corresponding entry in the GDS server configuration must exist which defines the application to execute.

Description

Description of the External Criterion

Criteria

Set of Criteria this External Criterion is used by

Regions

A Region defines the geographic bounding box, bounding circle, a set of polygon areas or a region name the earthquake must be located in. One or many polygons may be defined in an external BNA file. Since version 2016.333 SeisComP map applications allow drawing and exporting of polygons by holding the Ctrl key pressed. If the polygon is stored under @CONFIGDIR@/bna it will be plotted by SeisComP applications and by the GIS, see https://docs.gempa.de/seiscomp/current/apps/global_gui.html#map-vector-layers

If bonding box, bounding circle, polygons or region name are combined then all definitions must match in order to evaluate a Region to true.

For performance reasons Regions are evaluated after the regular Criterion parameters. Also a Region is only evaluated once, even if referenced by multiple Criteria. The bounding box and bounding circle tests are rather fast and may be configured as a pre-test to avoid rather complex polygon tests. Furthermore a lazy initialization strategy is used for the polygon data. It is read upon first usage or if the file modification time changed.

Figure 41 shows a possible configuration for the region of Germany. A bounding box is used for a rough estimate while the accurate border is defined in an external BNA polygon file.

../_images/web-conf-region.png

Figure 41: Geographic region of Germany defined by bounding box and BNA polygon file

Properties

Property

Description

Name

Name (mandatory) of the Region, used only in the web interface for referring

Description

Description of the Region

BBox Latitude

Upper and lower bounds for the latitude of the bounding box

BBox Longitude

Upper and lower bounds for the longitude of the bounding box, date line crossing is supported

BCircle Latitude

Latitude of the bounding circle center

BCircle Longitude

Longitude of the bounding circle center

BCircle Radius

Radius in degree of the bounding circle

BNA Polygon

Path to a BNA file containing one or many polygon definitions.

Event Region Name

Region name reported in the event. Regular expressions supported, e.g., use ‘.*Chile.*|*.Peru.*’ to filter for events in Chile and Peru.

Criteria

Set of Criteria this Region is used by

Services

A Service defines one dissemination path (e.g., email, fax, SMS, web, …). For the name defined here a corresponding entry must exits in the GDS back-end configuration file which defines a spool directory as well as a content template and a Spooler application. The Service is one part of a Subscriptions.

../_images/web-conf-service.png

Figure 42: Configuration page for setting the serices

Properties

Property

Description

Name

Name (mandatory) of the Service, used in the web interface when subscribing to a Queue and at the GDS back-end for associating configuration parameters and in the name of content and address files

Description

Description of the Service

Log Bulletins

If enabled, all bulletins sent by this Service are logged in the database for later review, see Procedure perspective

Log Cleanup Mode

Defines what log information (if any) is purged during a cleanup run.

Log Retention Time

Number of days before a log entry is released for cleanup. The clean up is only performed if a cleanup mode is selected.

HA Redundant Output

Multiple GDS instances may operate in high availability mode. In such configurations GDS slave instances will only trigger if the master instance fails to disseminate an event in a given timeout. By setting this parameter to ‘True’ the slave instances will no longer wait for the master and produce a redundant output.

Subscriptions

Set of Subscriptions this Subscriber is used by

The parameter Log Cleanup Mode may be set to the following values:

Cleanup Mode

Description

Complete

Cleanup Procedure perspective and Service Log

Bulletins and Recipients

Delete logged bulletins from Procedure perspective and cleanup Service Log

Bulletins

Delete logged bulletins from Procedure perspective

Recipients

Cleanup Service Log

Note

In addition to the cleanup modes described above a hidden cleanup routine for the main entries of the History and Events Perspective exists. If all Procedure perspective entries of an history/event entry have been deleted (Cleanup Mode Complete) and the entry is older than 30 days then the main entry it is also removed from the history/event perspective.

Note

The clean up of the log is scheduled and performed by the GDS back-end. The interval between two cleanup runs is controlled through the configuration parameter cleanupInterval. By default cleanup Runs are disabled.

Filters

Filters are custom content templates. They are rarely used configuration object. Commonly for each Service a content template is defined in the GDS back-end configuration. Nevertheless a (custom) Filter allows to override the default Service template on a per Subscription bases. For the name defined here a corresponding entry must exist in the GDS server configuration which defines the content Filter application. The Filter is one (optional) part of a Subscriptions.

Properties

Property

Description

Name

Name (mandatory) of the Filter, used in the web interface when subscribing to a Queue and at the GDS back-end for associating configuration parameters and in the name of content and address files

Description

Description of the Filter

Subscriptions

Set of Subscriptions subscribed to this Filter

Subscriber

A Subscriber is not a login account but a receiver or a receiver class used when subscribing to queues. A Subscriber defines the dissemination order and optional delay values. The actual dissemination target, e.g., phone number, email address, is defined in the Subscriptions

../_images/web-conf-subscribers.png

Figure 43: Configuration page for setting the subscribers.

Properties

Property

Description

Name

Name (mandatory) of the Subscriber, used in the web interface when subscribing to a Queue and at the GDS back-end inside address files

Description

Description of the Subscriber

Enabled

Controls if the subscriber and all of its subscription are allowed to triggered

Priority

Defines the dissemination priority (order), where 1 is the lowest and 10 the highest priority (mandatory)

Delay

Upper and lower bounds for the timespan between the event and the current time in minutes

Delta Origin Time (seconds)

Definition of significant change in origin time, see Resend Mode of Subscription

Delta Epicenter (degree)

Definition of significant change in epicenter, see Resend Mode of Subscription

Delta Depth (kilometer)

Definition of significant change in earthquake depth, see Resend Mode of Subscription

Delta Magnitude

Definition of significant change of magnitude value, see Resend Mode of Subscription

Significant Change Properties

Additional event properties representing a significant change, see Resend Mode of Subscription

Subscriptions

Set of Subscriptions subscribed to this Subscriber

Note

The Delay values, if set, are required to match before any Subscription using this Subscriber is triggered. If the upper bound is exceeded the dissemination for the current and all following event revisions is stopped even if the significant change settings are met. If the lower bound is not reached yet the Subscriptions for the current revision are withheld and either triggered by a timer at the configured threshold or they are superseeded by the next revision of the same event received meanwhile.

Note

It is sufficient for one Significant Change property to match in order to re-trigger Subscriptions with Resend Mode set to On significant change.

Subscriptions

A Subscription is made to a particular Queues and is defined by Services, Subscriber and target (recipient) references. If required the default Service template may be replaced by a Subscription specific template allowing to generate different content for certain Subscribers, see section Filters. A Subscription can be configured to be triggered only once or for each update (revision) of an earthquake. Typically an SMS is only sent out once where as an earthquake information web page will be updated with every earthquake revision. Figure 39 shows the definition of Subscriptions inside the Queue configuration. Nevertheless Subscriptions may also be created in a separated form.

../_images/web-conf-subscriptions.png

Figure 44: Configuration page for setting the subscriptions

Properties

Property

Description

Queues

Queue to subscribe to (mandatory)

Subscriber

Subscriber (mandatory), defines the dissemination order and optionally delay values

Services

The dissemination path to use, e.g., SMS, email (mandatory)

Filters

Custom Filter, rarely used to override the default Service content template

Target

The Service specific dissemination target (mandatory), e.g., phone number, email address

Description

Description of this subscription, e.g., name of the contact person

Resend mode

Defines under which circumstances an event update is disseminated again, see below.

The parameter Recent Mode may be set to the following values:

Defines how event updates are treated.

Recent Mode

Description

Only once

Triggers only once per earthquake (given a Queue matches at all).

On every match

Triggers for every matching update.

Once matched

Triggers for every update starting with the first matching revision regardless if the following updates match or not.

On sig. change

Triggers for all matching refinements if they introduce a significant change as specified in the Delta and Significant Change properties of the Subscriber settings.

Once M. & SIG

Once matched and on significant change as described above.

Dissemination

The GDS web interface allows to disseminate bulletins interactively at all levels:

  1. Select an earthquake

  2. Select a particular earthquake revision

  3. Select / review a list of subscriptions

    1. activate or deactivate individual subscriptions

    2. Revise and preview the final content of individual subscriptions

  4. Finally press the Disseminate button to sent all bulletins

Earthquake Selection

After clicking on the dissemination button of the main page, a list of earthquakes is shown. The earthquakes can be shown in a

  1. Calendar view: Figure 45. One may browse through the list of events by selecting the year, month or day in the calendar shown at the top.

  2. Table sorted with respect to the latest event: Figure 46.

The views can be selected above the table header on the top right. In each table the event details are shown with the time of the last successful dissemination. If no attempt to disseminate was successfully the column Dissemination Time will remain empty.

Clicking on the dissemination time navigates to the corresponding log entry (see section Procedure perspective). To continue with manual dissemination click in the linked event ID.

../_images/web-diss-event.png

Figure 45: Dissemination: Earthquake selection in calendar view.

../_images/web-diss-event_recent.png

Figure 46: Dissemination: Earthquake selection with respect to the most recent event.

Note

The lists may be resorted by clicking on the header of the columns.

Revision Selection

After selecting an earthquake a list of available revisions of this particular event is shown (Figure 47). The revision list describes how the earthquake solution evolved and distinguishes for instance between manually and automatic solutions. In general higher revision numbers represent a more stable and precise solution. The column Type often is empty. It is used to distinguish special earthquake states. E.g., fake events are labeled as not existing.

By clicking on the last column (XML) a complete earthquake representation may be download as a XML document. Selecting any other column will lead to step 3, the Subscription Selection.

../_images/web-diss-rev.png

Figure 47: Dissemination: Revision selection

Subscription Selection

After selecting an earthquake revision the dissemination page is shown (Figure 48). It contains a list of available Queues and there Subscriptions. Queues without a single Subscription are not shown. By default the Subscriptions of a Queue are hidden but may be displayed by clicking on the expand symbol (icon-expand) at the right of the Queue's headline. If at least one Subscriptions of a Queue is selected, then also the Queue's selection box is check. Vice visa all Subscriptions of a Queue may be toggled at once by clicking on the selection box of the Queue.

../_images/web-diss-sub.png

Figure 48: Dissemination: Subscription selection

The toggle button allows to activate or to deactivate subscriptions. The state of the toggle button describes the selection or pre-selection:

  • toggle button off: no subscription matches

  • toggle button on: all subscription matches

  • toggle button undecided: subscriptions with and without a match exist

A mismatch occurs when any of the configured dissemination rules are violated:

  • queue

  • criteria

  • region

  • external criterion

  • subscription

Otherwise a mismatch is declared.

Actions before dissemination:

  • Select or deselect a subscription

  • Review and change any existing subscription by pressing the button to toggle the subscription list view above the match column

  • Press the tools button to review and adjust the dissemination criteria.

  • Press the Load bulletins button to revise the content of the messages.

After reviewing or changing the Subscription selection the event may be disseminated by pressing the red Disseminate button. The next page shown is the corresponding procedure log page showing the current state of the dissemination. To update the view reload the webpage (F5).

Pre-selection of Queues and Subscriptions

When opening the dissemination page the selected earthquake revision information is matched against available Queues and there Criteria. The filter chain used here equals the automatic chain (applied for new revisions received from QuakeLink) with the exception that manual Queues are matched in addition.

A partially selected Subscription set of one Queue may originate from:

If modified manually, the system pre-selection may be restored by reloading the page.

Content Revision

Prior to dissemination the user may switch to the edit mode which allows him to review and optional alter the bulletin content.

The edit mode is reachable via the link Load bulletins in the subscriptions panel.

../_images/web-diss-edit.png

Figure 49: Editing prior to dissemination: plain text, HTML, preview, attachments

Figure 49 shows the edit mode of the email bulletin. It was selected by clicking on the email button in the Disseminate menu. Other bulletins may be selected. In order to show other bulletins there must exist the corresponding services configured in the GDS module configuration as well as the subscription configured using the GDS web interface.

The email bulletin is special because it provides the two content types HTML and Text which may be switched via the corresponding buttons in the header. Also attachments may be created or reviewed (footer). The email bulletin also allows to attach figures generated by gempa’s GIS module. The generation of the figures is controlled by the filter back-end.

Note

The text being reviewed is the output of the primary content filter command, see Content Filter. If a secondary filter is configured the edited text will be sent to this filter for final formatting prior to dissemination. Regardless of the presents of a secondary filter, the Preview function may be used to check the final content.

Supported Content Types

The content revision feature is for now limited to the following content types:

  • gempa Bulletin (application/gds) – A content format consisting of header and body parts. The Tools package provides a library for creating and parsing this format. For editing gempa Bulletins the TinyMCE component is used.

  • Python dictionary – A serialized (str()) Python dictionary will be displayed a key value table with editable value fields. This content type is only useful in combination with a secondary filter which final formats the values.

  • plain text – Any text content (including XML) may be edited in a standard HTML text area.

Preview

If all changes are applied the user may click on the preview button (icon-preview) in the top-left corner of the header to see the finally formatted content. Previewing the final content is especially useful if a secondary filter is configured. A secondary filter finally formats the content which was created by the primary filter and which was optionally modified by the user.

Logging

GDS logs every action which has been done in its database. The logs include:

The dissemination log may be accessed from the main page by clicking on the Log. From the dissemination windows it can be directly accessed by clicking on the Procedure Log or the Event Log buttons in the upper right corner.

There exist 2 different dissemination log perspectives which lead to the same information on the dissemination history:

  • Event: List of disseminated events. After selecting one event a list of disseminated event revisions is shown. From there the particular dissemination procedure may be selected.

  • Procedure: List of dissemination procedures ordered by dissemination time. By clicking on one list item the dissemination procedure is directly shown.

Note

If a bulletin is disseminated without a event reference, e.g., by an external application using the Command interface, then it may not be found in the Event perspective.

Event perspective

The event perspective lists all the events for which disseminations exist along with the dissemination status. Figure 50 displays an example of the event perspective.

../_images/web-log-evt.png

Figure 50: Event perspective of the dissemination log grouping entries by earthquake

Procedure perspective

The procedure perspective lists all dissemination procedures which were either triggered automatically by the GDS back-end or interactively through the web interface. The perspective lists all triggered Services-Filters combinations where each entry represents one disseminated bulletin.

../_images/web-log-proc.png

Figure 51: Procedure perspective listing all disseminations with their state.

../_images/web-log-serv.png

Figure 52: Procedure log listing all service-filter combinations triggered during a particular dissemination.

The example in figure 51 shows the dissemination of revision 26 of event gfz2012sjqp. It was sent out to the Services sms, email and web. Two sms entries exist because at least one Subscription overrides the default Service filter with a custom one which causes a separate bulletin to be generated. The State of the first log entry is set to warning which indicates an error for some Subscriptions.

The text in the Message column originates from the Spooler application. Message exceeding the available column width are truncated but may be read completely in the info box of the Service Log. By clicking on one Service entry the Receiver List may be opened for further investigation. If the Log Bulletins property of the corresponding Services is enabled, then the last column provides direct access to the Bulletin Content (icon-download).

Service Log

The Service log corresponds to one disseminated bulletin of one Services-Filters combination. At the top of the page an info box displays the Status and the complete Service log message. Below the info box either the Receiver List or Bulletin Content is shown.

Receiver List

Each list entry represents one Subscriptions respectively one recipient. The example in figure 53 shows two recipients of the sms Service. The bulletin was successfully transmitted to the first recipient but failed to sent to the second one due to the reason explained in the message column.

../_images/web-log-serv-lst.png

Figure 53: Service log listing the dissemination result of all corresponding receivers

If available one may switch to the Bulletin Content using the link at the bottom of the page.

Bulletin Content

If the Services property Log Bulletins is enabled then the disseminated bulletin content is stored in the database and may be reviewed in the Service log. Figure 54 displays the content of an SMS sent out. This view supports the same content types described in section Content Revision. All content, even if of unsupported type, may be downloaded as a file using the link at the bottom of the page.

../_images/web-log-serv-msg.png

Figure 54: Service log showing the content of the disseminated bulletin

Status Indication

All log pages use the same color and icon scheme to indicate the dissemination state or result which are:

  • icon-success Success – White background, green icon. All bulletins have been successfully disseminated to all Subscriptions.

  • icon-pending Pending – Gray background and icon. The dissemination was triggered but no result has yet been received from the spooler.

  • icon-warning Warning – Yellow background and icon. The dissemination was triggered but the spooler failed in sending out the bulletins to some Subscriptions.

  • icon-error Error – Red background and icon. The dissemination failed completely. The error may either result from the content filter or from the Spooler.

The dissemination states are always aggregated to the worst. If for example the dissemination to one Service failed and the state is set to error then the state of the corresponding Procedure perspective containing all Services is also set to error. Consequently the state is propagated up to the History and Event perspective.

Times

The dissemination log distinguishes between four different time specification which all use the UTC timezone:

  • Origin Time – Time of the earthquake, used in event list of Event perspective.

  • Trigger Time – Time the dissemination was triggered (started) either automatically or interactively. This time is used in the History perspective and in the revision list of the Event perspective.

  • Spool Time – Time the bulletin was placed in the spooler directory of a Service. This time is used in the Procedure perspective and typically equals the Trigger Time. The difference between the Trigger and Spool time result from processing time needed by the content filters.

  • Sent Time – Time the bulletin was either sent by the Spooler or an error occurred. This time is used in the Service Log. The difference between the Spool and Sent time result from the configured spool interval and from the time needed by the Spooler to actually send the bulletins. For now the GDS internal Spooler threads report the same time for all recipients. This behavior might change in the future.

Configuration Log

The configuration log is only available to administrative users (see Login Management). In the configuration log all changes are listed in a sorted order where they can be viewed (fig 55).

../_images/web-log-config.png

Figure 55: Configuration log with a detailed list sorted by time