= SAMBRO GUI Design= [[TOC]] == Common Operating Picture == === Examples === '''Alerts''' * [http://www.emergencyalert.alberta.ca/alerts/2015/06/3201.html Archived Alberta Emergency Alert] * [https://google.org/publicalerts Google Public Alerts] * [https://www.publicalerts.org/ Public Alerts] - nice icons here too and also the categorical graphic filter options * [http://www.pdc.org/ Pacific Disaster Center] - Symbols are nicely integrated * [http://emergency.copernicus.eu/mapping/#zoom=2&lat=11.74615&lon=58.40523&layers=0B000000T Copernicus Emergency Management Services] - table is the only interesting part '''Feeds''' * [http://www.drm.tl/eden/default/index/newsfeed Timore-Leste DRMIS Nortisia] * [http://publicalert.pagasa.dost.gov.ph/feeds/ PAGASA Public Alerts] * [http://alerts.internetalerts.org/admin List of Federation of Internet Alerts] (FIA Feeds) * [https://login.nyalert.gov/Public/RSS/AllHazRSSInfo.aspx?mode=Organization NY-Alert List of Feeds] == Alerting Sequence == [[Image(http://eden.sahanafoundation.org/raw-attachment/wiki/BluePrint/CAPBroker/GUIDesign/alert_process_indicator.png, width=600px)]] The sequence of entering data and completing the process authoring an alert for approval or directly issuing require several steps. These steps can also depend on the predefined alert templates. For example, an alert template that is defined to accommodate multiple languages would require the additional steps of completing the extra info segments. Therefore, the GUI designers should use the knowledge from the CAP message template to define the sequence indicator shown in the image above. Here are the general steps 1. Click create alert button, which would present the user with the '''Alert block''' to change or enter any alert qualifier information and then save the form 1. Once the Alert block is saved the process should navigate to the '''Information block'''. The information block may contain more than one segment, i.e. one for each language. After saving the first Info block for the first language the sequence indicator will show that to be competed. And when the next Info block is saved the next green light will come on, so on and so forth == Alert Segment == === identifier === - Typical format is "prefix" + "dateTime" + "timezone" + "msg-sequence-no" + "postfix" ''Example - 2.49.0.1.524.2-20150525T12:23:00+8:00-005-scdmc. The prefix = "2.49.0.1.524.2-", postfix="-scdmc", and sequence="005" (we may issue more than one alert in one day; hence would require multiple message sequence numbers)''. - One recommendation for the '''postfix''' is to use the [http://www.wmo.int/pages/prog/amp/pwsp/documents/AIR_PWS-20.pdf WMO Recommended Alert Object Identifiers] that helps identifies the alerting authority. However, it is not mandatory and the implementers are free to introduce another. === msgType === This is essentially a state machine, whereby an alert message can transition from msgType to another. The possible sequences are illustrated in the diagram and then described in the table below. ==== State transition diagram ==== Code Values: [[br]] [[br]] Alert - Initial information requiring attention by targeted recipients [[br]] Update - Updates and supercedes the earlier message(s) identified in [[br]] Cancel - Cancels the earlier message(s) identified in [[br]] Ack - Acknowledges receipt and acceptance of the message(s) identified in [[br]] Error - Indicates rejection of the message(s) identified in ; explanation SHOULD appear in [[br]][[br]] [[Image(http://eden.sahanafoundation.org/raw-attachment/wiki/BluePrint/CAPBroker/GUIDesign/FlowChartSambroGui.2.png)]][[BR]] 'Cancel' and 'All clear' acts like a sink. They are where every msgType would ultimately go. ==== Transition combinations ==== ||=No: =||= Transition ||= Remarks =|| ||1) || Alert ---> [[BR]]Update ...[[BR]] Update --->[[BR]] Cancel || '''Cancel''' means the event was disregarded and it was a false alarm [[BR]] example - ''heavy rains cause a rain gauge to automatically trigger flash-flood alert, then the alert is incidentally updated by mistake, until finally the authorities realize it was a malfunction and issue a cancelled'' || ||2) || Alert --->[[BR]] Cancel || is the same as 1) above but excluding any intermediary update alert messages || ||3) || Alert --->[[BR]] Update ...[[BR]] Update --->[[BR]] All Clear || '''All Clear''' is not in the CAP 1.2 but will be in 2.0; this means the event is over; it's different from "Cancel" [[BR]] example - ''a tsunamigenic earth, off the coast of Indonesia, triggers an alert, which is updated several times every 5 minutes, then finally when their is nor threat, an All Clear message is issued to inform that the threat is over'' || ||4) || Alert --->[[BR]] All Clear || '''Error''' means the previous message had false values, thus, the msg with errors should be followed by an error-less message [[BR]] example - ''similar to example in 3) above, instead the the message "priority" was mistakenly set to "urgent" during an update, then a follow up message is issued to correct the "priority" to "high", in which case the msgType is set to "Error". Thereafter, the transitions can be as any of the above terminating with an "All Clear" message'' || ||5) || Alert ---> [[BR]] Update ...[[BR]] Update --->[[BR]] Error --->[[BR]] Update ...[[BR]] Update --->[[BR]] All Clear || Error means the previous message had false values, thus, the msg with errors should be followed by an error-less message [[BR]] example - ''similar to example in 3) above, instead the the message "priority" was mistakenly set to "urgent" during an update, then a follow up message is issued to correct the "priority" to "high", in which case the msgType is set to "Error". Thereafter, the transitions can be as any of the above terminating with an "All Clear" message'' || ||6) || Alert ---> [[BR]] Error ---> [[BR]] All Clear || same as 5) above but excluding any of the updates || ||7) || Alert ---> [[BR]] Update ... [[BR]] Update ---> [[BR]] Error ---> [[BR]] Update ... [[BR]] Update ---> [[BR]] Cancel || is similar to 5) above instead, the message was false and a mistaken. Hence, instead of ending it with an "All Clear" we "Cancel" the message. || ||8) || Alert ---> [[BR]] Error ---> [[BR]] Cancel || same as 7) above but excluding any of the updates || [[BR]] '''"Ack"''' - Acknowledgement may not apply when we are publishing. Ack is used when a system or person receives an alert message and wants to acknowledge the receipt of that message. They would typically set the to Ack and return the message to the sender. This is a feedback for the issuing system to account for that the message was actually received by the intended recipient. example, ''we may issue SMS alerts to [n] people and expect them to Ack. If and Ack is not received then we may recast the message to those who did not receive the message. Don't worry about this part, it's a project of it's own.'' === scope === We need to build in the logic for each of the values: Public, Private, and Restricted. ||=Value =||= Implication =|| ||Public || ---> text-box control "Restriction" and "Recipients" are disabled || ||Restricted || ---> text-box control "Restriction" = enabled and text-box control "Recipients" = disabled || ||Private || ---> text-box control "Restriction" = disabled and text-box control "Recipients" = enabled || === reference === if "Reference" is empty (NULL), then "Reference" = "Identifier" values (which is mandatory) if "Reference" is NOT empty (NOT NULL), then leave as it, possibly populated from the template === incident === - We should relate to the same incidents list in the IRS module. Example: a mass movement that causes an accident, then incidents would be ="rock slide", "train derailment". - "rock slide" and "train derailment" may be '''archetypes''' of "mass movement" and "accident" respectively. == Info Segment == The basic needs for multiple info segments === Language === 1) Multiple languages - an info segment for each language defined in the profile === Priority === === Headline === === Parameter === === Other === 2) Multiple msgType - when the msgType is changed to send an Update, Cancel, Error, or All Clear, the an additional info segment for each language must be added to that particular event specific message Example: ''The Met depart may detect a cyclone developing in the Bay of Bengal. The Tamil Nadu DMC would issue an alert in English, French, Hindi, and Tamil, that's 4 segments. Then every six hours they would issue an update of the same alert but with the new position, wind-speed, trajectory, etc. These updates would need to be issued in the 4 languages. Assuming there are 5 updates before it hits land, then that particular message would have 20 segments'' == Home Pages == === Public Home Page === This page is essentially the HOME visible to the public; it will display public alerts only; where cap:alert:scope = "public". All other alerts are only available to those authorized with a login [[Image(http://eden.sahanafoundation.org/raw-attachment/wiki/Deployments/SAMBRO/commoppic.png, width=600px)]] === Public Alert Page === Public alert page is descriptive page that is accessed by selecting an alert listed in the home page of the navigation controls example: https://google.org/publicalerts/alert?aid=34355056e33cf59b&source=pa-iw&hl=zh&gl=TW === CUG Home Page === Closed User Group (CUG) home page is for authorized users who are either publishers or subscribers Closed User Group (CUG) home page is for authorized users who are either publishers or subscribers === Descriptive Full Message === When a user clicks on a alert summary, listed in the home page or common operating picture, they would navigate to a page to view the complete description as shown in the image below. [[Image(http://eden.sahanafoundation.org/raw-attachment/wiki/BluePrint/CAPBroker/GUIDesign/full_cap_msg_mock_lowrez.png)]] == Social Media == === Facebook === === Twitter === == SOP Check Lists == The event type specific SOP check list are presented through the . == Aggregator == The SAMBRO aggregator serves as a alert hub that pulls in feeds from various sources and then presents them through a single RSS Feed. Initially it will serve as an aggregator for the: * [http://preparecenter.org/activities/universal-app-program IFRC Mobile Apps] * [http://geothings.tw/geoBingAn GeoThings Mobile Apps] [[br]] [http://eden.sahanafoundation.org/wiki/BluePrint/CAPBroker/GUIDesign#Examples Example list of incoming feeds]