= CAP Code-fest = ===== [http://www.iotxconvention.org/registration REGISTER] :: Common Alerting Protocol (CAP) Code-fest ===== An event of the [http://www.iotxconvention.org/ 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''': [https://maps.google.com/maps?q=Orion+City+IT+Park,+sri+lanka&hl=en&ll=6.941785,79.879999&spn=0.002599,0.004206&sll=6.941332,79.880001&sspn=0.002375,0.003192&client=ubuntu&channel=fs&oe=utf-8&fb=1&hq=Orion+City+IT+Park,+sri+lanka&view=map&ftid=0x3ae25854aa9518a1:0x69ef8ede7a872acf&ftt=3393&geocode=FX7raQAdNd7CBA&t=m&z=18&iwloc=A Orion IT City Park] [[BR]] '''Date''': Thursday 19 June 2014 9AM onwards === Objectives === 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 1. '''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). 1. '''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. 1. '''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. === [http://www.iotxconvention.org/registration REGISTER] - Participate in the Code-fest === === Software tools we'll use === || '''Software tool name''' || '''coding platform''' || '''team contact''' || documentation || || [http://scdmc.lk SAMBRO ] || Python/Web2Py/PostgreSQL || Nuwan Waidyanatha, Francis Boon , Dominic Konig || [http://eden.sahanafoundation.org/wiki/BluePrint/CAPBroker CAP Broker Blueprint] || || [https://drive.google.com/file/d/0B5FiAsl5yGbZMV9OdWt5bE9GVWM/edit?usp=sharing CAP Editor ] || Java || Eliot Christian || [https://drive.google.com/file/d/0B5FiAsl5yGbZMV9OdWt5bE9GVWM/edit?usp=sharing documentation included ] || || Mobile publisher || HTML5/JS || Art Botterell || [https://github.com/CAPTools CAPTools on GitHub] || || [http://www.samanathetha.lk/captitus/ 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 === [https://hackpad.com/01fVyINhYDU LINK TO HACKPAD] ==== (A) Pictographs database and APIs ==== ===== NON-CODING: ===== (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. , , , , ) required to filter through the database to trigger or receive the hazard specific pictograph from the database * Duplicate the pictograph for combinations of types, , , , , , values and any other CAP required CAP elements ===== CODING ===== (A.3) Create a Sahana Eden form to create, read, update, and delete pictographs in the database * Allow pictograph content developers (task A.1) to upload the pictograph and classify the pictograph * Allow pictograph content developers to test with a sample CAP message (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 ==== ===== NON-CODING ===== (B.1) Develop a database of scientific parameter formats * Identify commonly used scientific measures for the following hazard events * (B.1.1) Volcanic eruption * (B.1.2) Flash Floods * (B.1.3) Storm surge * (B.1.4) Landslide * (B.1.5) Typhoon * (B.1.6) Chemical spill * (B.1.7) Maritime accident * (B.1.8) Forest fire * (B.1.9) TBA * (B.1.10) TBA ===== CODING ===== (B.2) Develop a data structure and a GUI for managing relationships between the various ordered encoding of scientific * e.g. wave-height would imply the ocean wave height but it can be in centimetres, meters, or inches * possibly modelled 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 - task B.5 depends on this task * The scientific measures are exchanged through CAP elements * API should parse the elements and then validate their conformity (B.5) Test the validation Programmers from the four CAP-enabled software tools would submit their 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 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 [http://eden.sahanafoundation.org/wiki/BluePrint/CrisisMap#CAPCode-fest19Jun2014SriLanka 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 [http://www.iotxconvention.org/registration 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. || || Tech writers || Technical writer(s) who would document any notes, blueprints, user guides or other relevant information in Hackpad, Wiki, Google Docs, etc || || 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; these tasks may be com bined with the CAP Expert || || 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. || ===== Facilitators ===== 1. [http://se.linkedin.com/in/dominickoenig Dominic Konig,] [http://www.aidiq.org AidIQ] Systems Architect 1. [http://uk.linkedin.com/pub/fran-boon/10/a46/5ab Francis Boon,] [http://www.aidiq.org AidIQ] Technical Director and [http://www.sahanafondation.org/ Sahana Software Foundation] Product Development Committee Chair 1. [https://www.linkedin.com/in/chamindra Chamindra De Silva] Director [http://www.virtusa.com Virtusa Corp] and Director [http://www.sahanafondation.org/ Sahana Software Foundation] 1. [http://www.linkedin.com/in/rdeshapriya Ramindu Deshapriya] Senior Engineer [http://www.virtusa.com Virtusa Corp] and Member [http://www.sahanafondation.org/ Sahana Software Foundation] 1. [http://www.wmo.int/pages/prog/amp/pwsp/Presentations.html Eliot Christian], CAP Program Committee Chair and Special Scientific Adviser to [http://www.wmo.int World Meteorological Organization] 1. [https://www.oasis-open.org/people/distinguished-contributor/elysa-jones Elysa Jones] Chair [http://www.oasis-open.org/ OASIS Emergency Management Technical Committee] 1. [http://lirneasia.net/profiles/nuwan-waidyanatha Nuwan Waidyanatha], Senior Research Fellow [http://www.lirneasia.net LIRNEasia] and [http://www.sahanafondation.org/ Sahana Software Foundation] Director and Standards & Interoperability Program Committee Chair ===== Footnotes ===== 1. [http://lirneasia.net/profiles/nuwan-waidyanatha Nuwan Waidyanatha], Sahana Software Foundation Standards & Interoperability Chair and LIRNEasia Senior Research Fellow