Version 77 (modified by Nuwan Waidyanatha, 8 years ago) ( diff )


CAP Code-fest

REGISTER :: Common Alerting Protocol (CAP) Code-fest

An event of the Indian Ocean Tsunami 10th Anniversary Convention (IOTX)

SHOW UP if you are a PROGRAMMER or working in DISASTER MANAGEMENT (but not limited to, encourage all, free for anyone to attend)

Place: Orion IT City Park
Date: Thursday 19 June 2014 9AM onwards


We are applying a Goal Improvement HCI Methodology to experiment with enhancing software components for interchanging various alerting message between the CAP-enabled software tools. For such we have identified the following exercises:

  1. Pictographs in Alerting - Develop a Sahana (OData-like) S3XML data structure to CRUD pictographs used in alerting. The teams will determine the optimal set of CAP elements to build in to the HTTP RESTful Request APIs. Thereafter, the CAP Editor, Mobile CAP Tool, and ITU CAP Software will use the APIs to publish a message with the pictograph
  2. Scientific Parameter Validation - Establish a set of parameters for exchanging measurement data; first document the norms in the Sahana wiki; then enhance each of the CAP-enabled tools to use the parameter values to change the visualization (e.g. flash flood water height to display the inundation region on a map).
  3. Emulate a Google Alerthub - test base for experimenting with RSS/Atom feeds for a Common Operating Picture; using the Sahana-Eden’s Crisis Map with spatial and temporal filtering capabilities.
  4. Design of the "FIA Register" service - brainstorming session for publishers of CAP alerts. FIA Register is a free service (referenced in the FIA Guidelines) intended to provide access to pictographs and logos, as well as rules for selecting CAP alerts and some other types of common use resources.

REGISTER - Participate in the Code-fest

Software tools we'll use

Software tool name coding platform team contact documentation
SAMBRO Python/Web2Py/PostgreSQL Nuwan Waidyanatha, Francis Boon , Dominic Konig CAP Broker Blueprint
CAP Editor Java Eliot Christian documentation included
Mobile publisher HTML5/JS Art Botterell CAPTools on GitHub
CAP ITU Software Linux, Apache, MySQL, PHP (LAMP) Isuru Ilangakoon other documentation - based Single Language CAP Publisher and Subscriber

Intended coding and non-coding related activities

(A) Pictographs database and APIs


(A.1) Design a set of pictographs to add to a database

  • Build a pictograph for for the following hazards:
    • (A.1.1) Volcanic eruption
    • (A.1.2) Flash Floods
    • (A.1.3) Storm surge
    • (A.1.4) Landslide
    • (A.1.5) Typhoon
    • (A.1.6) Chemical spill
    • (A.1.7) Maritime accident
    • (A.1.8) Forest fire
    • (A.1.9) TBA
    • (A.1.10) TBA
  • Research the set of alert specific pictographs and relevant icons to create alerting pictographs
    • Here are a few examples of pictograph repositories: UNOCHA, NHS

(A.2) Classify the pictographs (related to task A.3)

  • Identify the CAP elements (e.g. <severity>, <certainty>, <urgency>, <response>, <category>) required to filter through the database to trigger or receive the hazard specific pictograph from the database
  • Duplicate the pictograph for combinations of <event> types, <severity>, <certainty>, <urgency>, <response>, <category>, <instructions> values and any other CAP required CAP elements

(A.3) Create a Sahana Eden form to create, read, update, and delete pictographs in the database; allowing pictograph developers (task A.1) to upload the pictograph and classify the pictograph

(A.4) Create a REST-ful API to filter and retrieve a hazard specific pictograph from the database based on the classifier values (i.e. specific CAP element values) - this task depends on task A.5

(A.5) Each CAP-enabled tool display the pictograph with their CAP message

  • The list of CAP-enabled tools:
    • (A.5.1) SAMBRO (Sahana-Eden)
    • (A.5.2) CAP Editor
    • (A.5.3) Mobile CAP publisher
    • (A.5.1) CAP ITU Software
  • Enhance the GUI to display a frame to display the pictograph
  • Create a function to integrate the Sahana-Eden REST-ful API to request and received the pictograph - this activity requires task A.4
  • Demonstrate the working solution

(B) Validating parameters carrying scientific data

(B.1) Identify 5 to 10 sets of, hazard event specific, commonly used scientific measures

(B.2) Develop a data structure for managing relationships between the various ordered encoding of scientific measures (e.g. wave-height would imply the ocean wave height; possibly modeled as a pair object-property; where object is the wave and property is height)

(B.3) Build the API for CAP publishers and subscribers to validate the scientific measures. The scientific measures are exchanged through CAP <parameter> elements.

(B.4) Programmers from the four CAP-enabled software tools would submit their <parameter> element data through the API to match with an existing object and property.

(B.5) The individual CAP-enabled software tools can exchange various CAP messages with <parameter> element values and the cross validated with the Sahana-Eden validation service.

(C) Emulating the Alerthub

(C.1) Build an API in the Sahana-Eden CAP Broker that would allow for authorized users to register a CAP message contained Atom/RSS feed.

(C.2) Let the four other CAP-enabled software tools register their CAP RSS/Atom feeds

(C.3) Integrate the Crisis Mapping module (GSoC 2014) to enable visualization of the CAP messages received from the other four CAP-enabled software tools

(C.4) Offer the service in Sahana-Ede demo site as a tool for a CAP implementer to use Sahana-Eden Alerthub Emulator for testing before directly integrating real-live feeds with Google’s Alerthub. The intent is to use the Sahana Eden Crisis-Mapping module in the CAP Code-fest. It will work as an Alerthub Emulator by allowing registered users to integrate their RSS/Atom feeds through a simple form.

Team Roles

A "team" comprises several members with varied skills and expertise. Essentially the participants will be a blend of Disaster Management (DM) and Emergency Communication experts. A few observes but with a vested interest in DM will be among the participants. When you REGISTER specify your anticipated role or the capacity in which you would like to contribute.

Each CAP-enabled software tool can be used by each team. We have identified several essential team roles that would help a team fulfill the coding activities.

Role Description
IRC - each team must designate, at least, one person to communicate with members of other teams and the code-fest organizers through the IRC channel (#sahana-meeting). Any exchange of instructions, literature surveys, code snippets, or discussions will happen on the IRC channel.
Wiki writers Technical writer(s) who would contribute to documenting the Blueprints and User Guides
Programmers - Software programmers competent working with any of the source code in the CAP-enabled software tools are essential. They will communicate with Domain Experts and Code-fest Program Committee determine the solutions for the given objects. Some of you may be inclined to work on Quality Assurance with some testing. However, designating, at least, one member for testing would ensure bug free code for other teams to reliably adopt
Content developers - Skilled resource persons who can develop a "pictograph" for example or construct a warning message or any other relevant content
CAP Experts - each team will have, at least, one person exposed to the CAP standard. Several members, participating in the CAP Jump Start and CAP Implementation Workshops will be participating in the Code-fest. They will contribute to the design and testing of the three objectives.
DM Experts - Disaster Management personnel can contribute to the design and testing. The main responsibility would be to determine the usability as well as provide inputs through online research or share their knowledge.
Observers - those who are not keen in taking on a team responsibility but are willing to share some labor and become a positively reinforcing lurker.
  1. Francis Boon, SSF Product Development Committee Chair
  2. Dominic Konig, SSF Standards & Interoperability Program Committee Member
  3. Eliot Christian, CAP Program Committee Chair, WMO
  4. Elysa Jones, OASIS EM-TC Chair
  5. Nuwan Waidyanatha, SSF Standards & Interoperability Program Committee Chair
  1. Nuwan Waidyanatha, Sahana Software Foundation Standards & Interoperability Chair and LIRNEasia Senior Research Fellow
Note: See TracWiki for help on using the wiki.