This is an old revision of the document!
Table of Contents
Planning for Sahana activities @ FOSS.IN 2008
FOSS Workouts by Ajay Kumar
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
- 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]
4. HELP
And so on, asking the parameters to be passed in in the subsequent messages.
- All communications to be done on the project mailing list https://lists.sourceforge.net/lists/listinfo/sahana-maindev
- Updates / Plan to be put up on the project wiki page here http://wiki.sahana.lk/doku.php?id=dev:foss_in_2008_ideas
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 of before:
- Time based logging of Keywords maintaining session state.
- MPR Search working.
- 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:
- Sahana 0.6.2 installed from the CVS, Apache, mySQL, PHP follow install instructions here http://wiki.sahana.lk/doku.php?id=doc:nwhome
- SMSTools v3 installed and configured [actual hardware not needed though, emulating is possible mentioned in above wiki pages]
- CVS for checking out the latest code from the repo.
- Any favorite PHP editor/IDE of your choice.
- mySQL adminstration tool, for e.g. phpMyadmin.
Special Hardware/Software Requirements:
- For Windows you need cygwin to run SMSTools v3 details on the GSoC project page above.
- 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]
- The speaker will bring in 2 phones for the same purpose which can be used during the session for real time testing.
Pre-requisites:
- Knowledge of PHP/mySQL
- Check out what Sahana is at http://www.sahana.lk/overview
- Check the project documentation wiki located at http://wiki.sahana.lk
- Go through the work out brain storming session on IRC done here http://logs.qgis.org/sahana/%23sahana.2008-10-16.log to give you a quick overview of things.
- An overview of how SMSTools v3 works http://smstools3.kekekasvi.com/ *not necessary to actually install and configure it with a hardware i.e. GSM Modem/Phone*
- Understanding of the Messaging Architecture of Sahana module http://wiki.sahana.lk/doku.php?id=dev:msg_archi
- Test the existing SMS features.
- Understand the MPR Module of Sahana and CAP Module.
- Sahana PHP Coding Conventions located here http://wiki.sahana.lk/doku.php?id=dev:php_coding_convention
- Study any current applications like PlaySMS etc, and figure out how they handle Keyword sessions.