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.
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:
ADMINISTRATION
: Access the dissemination and configuration logsAUTHENTICATION AND AUTHORIZATION
: Add/modify login users and groupsGDS
: Provide access to the GDS related configuration
On the right panel the recent actions of the current user are shown.
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.
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 |
---|---|
A collection of combined dissemination rules: criteria, regions, services, subscribers, subscriptions, etc. |
|
Event parameters defining the events to be considered |
|
Additional criteria defined in the GDS back-end to expand the functionality of Criteria |
|
Geographic regions for selecting events |
|
Methods for sending bulletins, e.g., email, SMS, Twitter, web, etc. |
|
Content definition of the bulletins including text, language, attached images |
|
Rules for delaying and updating of notifications |
|
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.
Properties¶
Property |
Description |
---|---|
Name |
Name (mandatory) of the |
Description |
Description of the |
Manual |
If activated, this |
Set of |
|
Set of |
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
.
Criterion Properties¶
Property |
Description |
---|---|
Name |
Name (mandatory) of the |
Enabled |
If deactivated, this |
|
|
Geographic bounding box, bounding circle or polygon area |
|
|
|
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 |
|
Set of |
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 |
Description |
Description of the |
Set of |
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.
Properties¶
Property |
Description |
---|---|
Name |
Name (mandatory) of the |
Description |
Description of the |
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. |
Set of |
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.
Properties¶
Property |
Description |
---|---|
Name |
Name (mandatory) of the |
Description |
Description of the |
Log Bulletins |
If enabled, all bulletins sent by this |
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. |
Set of |
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 |
Description |
Description of the |
Set of |
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
Properties¶
Property |
Description |
---|---|
Name |
Name (mandatory) of the |
Description |
Description of the |
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 |
Delta Epicenter (degree) |
Definition of significant change in epicenter, see |
Delta Depth (kilometer) |
Definition of significant change in earthquake depth, see |
Delta Magnitude |
Definition of significant change of magnitude value, see |
Significant Change Properties |
Additional event properties representing a significant change, see |
Set of |
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.
Properties¶
Property |
Description |
---|---|
|
|
|
|
The dissemination path to use, e.g., SMS, email (mandatory) |
|
Custom Filter, rarely used to override the default |
|
Target |
The |
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 |
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 |
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:
Select / review a list of subscriptions
activate or deactivate individual subscriptions
Revise and preview the final content of individual subscriptions
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
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.
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.
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.
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 () 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
.
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 columnPress the
tools button
toreview 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:
different
resend mode
option of the Subscriptionsdifferent
delay
values of the Subscriber
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.
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 () 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:
Automatic and manually triggered disseminations.
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.
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.
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 ().
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.
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.
Status Indication¶
All log pages use the same color and icon scheme to indicate the dissemination state or result which are:
Success – White background, green icon. All bulletins have been successfully disseminated to all
Subscriptions
.Pending – Gray background and icon. The dissemination was triggered but no result has yet been received from the spooler.
Warning – Yellow background and icon. The dissemination was triggered but the spooler failed in sending out the bulletins to some
Subscriptions
.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 theTrigger 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).
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.