...
The global structure of the XML-schema for the script configuration is as follows:
![](/download/attachments/17661957/script.png?version=2&modificationDate=1349773164000&api=v2)
The
title
key is an optional identifier for the script.
The time zone for the Water Coach is specified within the section
timeZone
. All times in the script configuration must be specified relative to this time zone. The time zone can be specified as a name using the keyword
name
(e.g. GMT, MET, ...) or as an offset to the default time zone GMT using the keyword
offset
(e.g. +02:00, -06:00, ...).
The start and end date/time for the script have to be specified using attributes
date
and
time
in the format
YYYY-MM-DD
and
hh:mm:ss
, respectively. The date/time of the data in the FEWS local data store does not have to match the date/time of the script. The actual date/time of the local data store can be specified with the key
dataStart
(if this key is not specified,
dataStart
is assumed to be equal to
scriptStart
). With this functionality, it is possible to play a scenario of several years ago as if it happened today.
...
The start
and stop
keys indicate the time window in which the frame of a story is active. For a frame in the inbox this means that the associated event is available in the inbox within the time window defined by the start and stop time. For a frame in a regular story, the associated event will be executed if the user pushes the story button between the start and stop time. The start
and stop
keys have attributes date
and time
following the format YYYY-MM-DD
and hh:mm:ss
, respectively. Both the start
and stop
keys are optional. If these are not specified, then these default to the start and end time of the script, respectively.
The
popup
key is a flag indicating whether or not to show a pop-up window at the start of the frame. For a frame belonging to the inbox this means that the associated event is executed. For a frame of a regular story, a message dialog appears informing the user that new content is available for that story, which can trigger the user to activate the relevant story button.
Anchor |
---|
| requiredExperienceLevel |
---|
| requiredExperienceLevel |
---|
|
The
requiredExperienceLevel
key specifies that an event is only executed for the indicated experience level. Experience levels are defined in the application configuration as a list, e.g. "Beginner;Intermediate;Expert". This key can be specified multiple times if the event should be executed for multiple levels (e.g. both Beginner and Intermediate). In a frame one refers to these levels by a number (starting with 0), e.g. if an event is only to be executed for experts, then this is configured as
...
If this key is not specified, then the event will be executed for all experience levels.
The
once
key is a flag indicating that an event must be executed only once during a time frame.
Any number of condition
s can be added to a story (or inbox) frame; the associated event will only be executed if all of these conditions are fulfilled. A condition must be specified according to:
![](/download/attachments/17661957/condition.png?version=1&modificationDate=1334815910000&api=v2)
columnId
is a reference to a column in the forecast table (see below), usually a parameter,rowId
is a reference to a row in the forecast table (see below), usually a location,ifForecastValue
indicates a condition based on the value of the published forecast,ifForecastPublicationTime
indicates a condition based on the publication time of the forecast,ifForecastPublished
indicates a condition based on whether a forecast has been published or not,operator
is one of "lt" (less than), "gt" (greater than), "le" (less than or equal to), "ge" (greater than or equal to), "eq" (equal to), "ne" (not equal to), "before", or "after", depending on the type of condition,value
is the reference value to compare to; depending on the condition type, this can be an integer/real value, a boolean value, or a date/time value.
...
Code Block |
---|
|
<frame>
<title>condition example</title>
<start date="2008-03-13" time="00:01:00"/>
<stop date="2008-03-13" time="00:02:00"/>
<popup>true</popup>
<condition>
<columnId>water_level</columnId>
<rowId>Lowestoft</rowId>
<ifForecastPublished>
<operator>eq</operator>
<value>false</value>
</ifForecastPublished>
</condition>
<message>Hurry, the forecast for Lowestoft has not been published yet!</message>
</frame>
<frame>
<title>condition example</title>
<start date="2008-03-13" time="00:10:00"/>
<stop date="2008-03-13" time="00:11:00"/>
<popup>true</popup>
<condition>
<columnId>water_level</columnId>
<rowId>Lowestoft</rowId>
<ifForecastPublicationTime>
<operator>after</operator>
<value date="2008-03-13" time="00:10:00"/>
</ifForecastPublicationTime>
</condition>
<message>You were quite late with the forecast for Lowestoft</message>
</frame>
<frame>
<title>condition example</title>
<start date="2008-03-13" time="00:15:00"/>
<stop date="2008-03-13" time="00:16:00"/>
<popup>true</popup>
<condition>
<columnId>water_level</columnId>
<rowId>Lowestoft</rowId>
<ifForecastValue>
<operator>ge</operator>
<value>300</value>
</ifForecastValue>
</condition>
<file>emergency_telephone_call.mp3</file>
</frame>
|
An event can be associated with a story frame by specifying the
file
key. Depending on the file type, a suitable application is started for displaying the file (e.g. a pdf-file is displayed in Adobe Reader and the contents of a txt-file is displayed in a message dialog window). The
file
key has an optional language attribute
lang
that behaves the same as for the
title
keys.
Apart from a
file
, an event for the story frame may also be a
message
. For such a message, no file has to be added to the scenario/script database. Instead, the contents of the message (a text string) can be specified directly in the script configuration. The
message
key takes an optional
lang
attribute as explained before. If the message contains an URL, then this URL is made clickable automatically.
...