Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section
Column
width45%

Anchor
stories
stories

Stories

Two types of stories can be specified:

  • Anchor
    inbox
    inbox
    inbox is optional and may be specified only once. In the inbox storyline you define the messages that appear in the inbox, which can be selected by the user.
  • Anchor
    story
    story
    story is optional and can be specified an arbitrary number of times. Each story corresponds to a "Communication" button in the user interface that can be activated by the user. The content of story buttons can be dynamic, i.e. different events may be triggered by pushing the story button at different times.

Each story must have a title by specifying the title key (but the title for the inbox is optional). This title will be used as the title of the story button. The title can be different for various languages, using the attribute lang. If the language attribute for title is specified and it corresponds to the preferred language in the application configuration, then this title is used in the script. If no language attribute is found that corresponds to the preferred language, then the default title for which no language attribute was specified will be used. For example:

Code Block
xml
xml
<story>
   <title lang="NL">Telefoongesprek</title>
   <title lang="GE">Anruf</title>
   <title>Telephone call</title>
</story>

In the stories section of the script configuration, an arbitrary number of stories can be specified.

Column

Section
{anchor:frames} h4. Frames A story (including the inbox) may consist of an arbitrary number of frames by specifying the {color:#3366ff}{{{}frame{}}}{color} key according to the following schema: {anchor:titleFrame}The {color:#3366ff}{{{}title{}}}{color} of a frame in the inbox will be used in the list of actions that the user can invoke from the inbox drop-down menu. The title of a frame in a regular story will be used as the name of the button that the user can activate. As explained above, the title can be different for various languages. {anchor:startFrame}The {color:#3366ff}{{{}start{}}}{color} and {color:#3366ff}{{{}stop{}}}{color} 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 {color:#3366ff}{{{}start{}}}{color} and {color:#3366ff}{{{}stop{}}}{color} keys have attributes {color:#3366ff}{{{}date{}}}{color} and {color:#3366ff}{{{}time{}}}{color} following the format {{YYYY-MM-DD}} and {{hh:mm:ss}}, respectively. Both the {color:#3366ff}{{{}start{}}}{color} and {color:#3366ff}{{{}stop{}}}{color} keys are optional. If these are not specified, then these default to the start and end time of the game, respectively. {anchor:popup}The {color:#3366ff}{{{}popup{}}}{color} 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. If FEWS is running, these messages will appear within FEWS, otherwise a new window containing the message will be shown. {anchor:requiredExperienceLevel}The {color:#3366ff}{{{}requiredExperienceLevel{}}}{color}&nbsp;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 

Column
width45%

Anchor
frames
frames

Frames

A story (including the inbox) may consist of an arbitrary number of frames by specifying the frame key according to the following schema:

Anchor
titleFrame
titleFrame
The title of a frame in the inbox will be used in the list of actions that the user can invoke from the inbox drop-down menu. The title of a frame in a regular story will be used as the name of the button that the user can activate. As explained above, the title can be different for various languages.

Anchor
startFrame
startFrame
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 game, respectively.

Anchor
popup
popup
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. If FEWS is running, these messages will appear within FEWS, otherwise a new window containing the message will be shown.

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.

Wiki Markup
Code Block
xml
xml
 configured as&nbsp;
{code:xml}
<requiredExperienceLevel>2</requiredExperienceLevel>
{code}

If this key is not specified, then the event will be executed for all experience levels.

{anchor:once}The {color:#3366ff}{{{}once{}}}{color} key is a flag indicating that an event must be executed only once during a time frame.

Any number of {color:#3366ff}{{{}condition{}}}{color}s can be added to a story (or inbox) frame; the associated event will only be executed if all of these conditions are fulfilled ([see below|#condition]).

{anchor:file}An event can be associated with a story frame by specifying the {color:#3366ff}{{{}file{}}}{color} 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 {color:#3366ff}{{{}file&nbsp;}}{color}key has an optional language attribute {color:#3366ff}{{{}lang{}}}{color} that behaves the same as for the {color:#3366ff}{{{}title{}}}{color} keys.

{anchor:message}Apart from a {color:#3366ff}{{{}file{}}}{color}, an event for the story frame may also be a {color:#3366ff}{{{}message{}}}{color}. 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 {color:#3366ff}{{{}message{}}}{color} key takes an optional {color:#3366ff}{{{}lang{}}}{color} attribute as explained before. If the message contains an URL (starting with '{nolink:http://}', '{nolink:https://}', 'file://', 'ftp://' or '{nolink:mailto://}&nbsp;)&nbsp;then this URL is made clickable automatically. For links to files, absolute path names should be used, but two shortcuts may be used: the strings '{%fewsRegionDir%}' and '{%scenarioScriptDatabasePath%}' will be replaced by the paths as specified in the [application configuration|Application configuration#Explanation]. If FEWS is running, messages appear within FEWS, otherwise a new window containing the message appears.

If this key is not specified, then the event will be executed for all experience levels.

Anchor
once
once
The once key is a flag indicating that an event must be executed only once during a time frame.

Any number of conditions can be added to a story (or inbox) frame; the associated event will only be executed if all of these conditions are fulfilled (see below).

Anchor
file
file
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.

Anchor
message
message
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 (starting with 'http://', 'https://', 'file://', 'ftp://' or 'mailto:// ) then this URL is made clickable automatically. For links to files, absolute path names should be used, but two shortcuts may be used: the strings '%fewsRegionDir%' and '%scenarioScriptDatabasePath%' will be replaced by the paths as specified in the application configuration. If FEWS is running, messages appear within FEWS, otherwise a new window containing the message appears.

Column

Section
Column
width45%

A condition can be based on components of the forecast table. It must be specified according to:

Anchor
condition
condition

  • Anchor
    columnId
    columnId
    columnId is a reference to a column in the forecast table (see below), usually a parameter,
  • Anchor
    rowId
    rowId
    rowId is a reference to a row in the forecast table (see below), usually a location,
  • Anchor
    ifForecastValue
    ifForecastValue
    ifForecastValue indicates a condition based on the value of the published forecast,
  • Anchor
    ifForecastPublicationTime
    ifForecastPublicationTime
    ifForecastPublicationTime indicates a condition based on the publication time of the forecast,
  • Anchor
    ifForecastPublished
    ifForecastPublished
    ifForecastPublished indicates a condition based on whether a forecast has been published or not,
  • Anchor
    operator
    operator
    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.

Anchor
script_configExample
script_configExample

An example in which conditions are used:

Code Block
xml
xml
<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>
Column

...