Planning for Sahana activities @ FOSS.IN 2008

Event details:
Event Date: November 25-29, Bangalore. India.

UPDATE: Check this page for work progress and discussion etc.

FOSS Workouts

Why should *YOU* be participating?

  • Because you know PHP and can code in PHP!
  • Because you get a chance to let your code make a difference to a large cause. Globally!
  • Because you understand availability of information at the right time is important!
  • Because you *want* to do some life changing work! One that can change lives.

Imagine, a missing person has been displaced and lost touch with his family after floods. The relatives fires up an SMS to the system to search him in the database. And finds the person!!! So you can say, that was MY CODE which helped the family unite back after a disaster.

In case you are interested in seeking justification about the above statements in detail, click here!

Main Objective:

  • To extend the current SMS/Messaging module and add features to enable public information access using SMS as a medium.
  • Add the feature of effectively managing KEYWORDS sent and User session from a particular cell phone.
  • Build a hierarchical SMS menu management feature and compare timestamps for session logging to DB.
  • Add Missing Person Registry [MPR] “People Search”
  • Add “View Latest CAP Alerts”

The proposed work for the work-out would involve implementing a modular, reusable hierarchical menu structure, written in PHP, that handles user-state based on Caller ID and SMS timestamps to calculate session expiry, and that works as a module to the Sahana core.

Agenda to achieve the objective:

Work to be done before the event:

  • Understand the key metrics for Missing Person Registry Search which can be input/accessed over an SMS. For e.g. Search by Last Name, First Name etc.
  • Locate the Sahana functions that perform the MPR search functions.
  • Figure out how to devise a generic SMS validation library to check for incoming SMS formats.
  • Understand the DB Structure and changes to be made to enable time based keyword/menu state logging based on Cell number.
  • Plan the end user SMS Menus and output messages to be sent in response to input.
  • E.g. User sends “SAHANA” to 56682 [for example]
  • The main SMS Menu is sent to the user

“Welcome to Sahana Public SMS Information System
Choose the following menu options by sending they keyword:
1. Search Missing Person [SEARCH]
2. Check Latest Alerts/Updates [ALERTS]
3. HELP ”

  • We keep track of the cell number the keyword SAHANA was sent from and save the time.
  • The user responds with a SMS Keyword “SEARCH” or “1” for “Search Missing Person”
  • Sahana responds with the Second Level hierarchical menu for Missing Person Search.
  • “Welcome to Missing Person Search. Choose search criteria:

1. Search by First Name [FNAME]
2. Search by Last Name [LNAME]
3. Go back to Main menu [MAIN]

And so on, asking the parameters to be passed in in the subsequent messages. At some point, if the user messages 3 hours later, for example (a good time-frame to be decided), the user's session times out and he is taken to the main menu.

Work to be done at the event:

  • We release Sahana code for SMS Public SMS information system to enable people to search for missing people and check recent alerts at the event.
  • After freezing on all the above mentioned plans we try to have the following deliverable at the event or before:
  1. Time based logging of Keywords maintaining session state.
  2. MPR Search working.
  3. Recent CAP Alerts displayed to users.
  • Based on the number of contributors interested we can add more features which are a part of the wishlist, to be planned. Based on interest and inputs from volunteers of course.

Pages and Codes to be familiar with:

Tools required:

  1. Sahana 0.6.2 installed from the CVS, Apache, mySQL, PHP follow install instructions here or the latest CVS snapshot from here
  2. SMSTools v3 installed and configured [actual hardware not needed though, emulating is possible mentioned in above wiki pages]
  3. CVS for checking out the latest code from the repo.
  4. Any favorite PHP editor/IDE of your choice.
  5. mySQL adminstration tool, for e.g. phpMyadmin.

Special Hardware/Software Requirements:

  1. For Windows you need cygwin to run SMSTools v3 details on the GSoC project page above.
  2. For actual testing, in case you have a GSM Modem or phone that supports AT Commands for both Sending and Receiving SMS connected to your PC. [optional]
  3. The speaker will bring in 2 phones for the same purpose which can be used during the session for real time testing.


Additional/Optional Pre-requisites:*

* The workout lead will take care of the following optional pre-requisites and help the participants.

Why should *YOU* be participating [in detail]?

  • Sahana is a PHP/mySQL based web application that can run over a standalone PC or a client/server & networked environment. So you need to have the knowledge of PHP to contribute to the code of Sahana.
  • Disaster strikes without notice. Sahana has been deployed at various such incidents and used by the government for relief operations. Right from pre-disaster management planning in the New York City USA, to post-disaster management operations in Sri Lanka, Pakistan, China, Philippines, India, Myanmar. So you know where your code goes! Globally and goes for a social/noble cause.
  • In such an emergency situation you need information, which is important, right when it is available. Or at least easily accessible when you want it. Getting information using your cellphone and SMS could be really easy and effective.
  • Sahana system has helped track families and unite missing victims. Certainly these are life changing experiences including saving lives. Getting the right supply of relief materials on the right time are among the few aspects the Sahana system is used in.

The example I have used is based on the scenario where Sahana is deployed with the SMS being setup which interacts with the Sahana server. People send SMS to the Sahana number and it retrieves information from the database. Missing persons information is collected at relief camps and entered into the Sahana central system. So, a person could be misplaced and land up at a relief camp in a distant area and get assistance. But his family could be searching for him/her someplace else.

BoF Session

Since its a 5 day event, a BoF session will also be planned to brief and discuss about Sahana with the community and showcase them about past deployments, how to contribute to the project in various ways etc.

Ajay Kumar 2008/10/19 17:19

QR Code
QR Code dev:foss_in_2008_ideas (generated for current page)