GSoC/GCI Archive
Google Summer of Code 2012

Sahana Software Foundation

Web Page:

Mailing List:

The Sahana Software Foundation is dedicated to the mission of saving lives by providing information management solutions that enable organizations and communities to better prepare for and respond to disasters.


  • [Sahana Eden]Database Migration The Database Migration project provides the developers with python scripts, to migrate or populate the database data between revisions .These scripts are provided according to the changes they have made in the database schema in comparison to the previous revision and also their intent behind there revision . This system also caters to the need of change in functionality of a field even if the database schema remains unchanged.
  • CERT: Parsing SMS Messages The essential requirement for this project is to parse inbound messages , with an initial focus to SMS. The project is specifically aimed at the CERT usecase where they wish to process responses to deployment notifications. Or in other words , to handle replies to deployment requests. We want to be able to direct the message to the appropriate module to handle the data. This could be done either by launching a real REST request or else simulating one via the API. Although the project primarily focuses on SMS as the inbound mode of communication, the parsing rules will be generic and valid for other processes such as Email &Twitter. The functionality will be among the deployment-specific options. The project also aims at integrating OpenGeoSMS (esp. for the Android Client).Using a dedicated parsing generator for complex parsing needs is also in scope for this project.
  • CERT: Rostering This project aims to create a roster tool for the CERT service. This would involve a web interface where one could view time scheduling of volunteers. Volunteers could be reassigned using drag and drop features on the timetable as per need and requirement. The interface will highlight empty slots which require filling to the user. The client may then choose to fill these slots manually or take advantage of the autofill functionality of the application which will fill the slots for you.
  • Export of Information about Those Missing and Found the project will extend the current stats module of "Sahana Vesuvius" and integrate several web service channels,such as rss (geo) feeds,REST,soap. and using various formats such as xml,json,csv...
  • Full support for Multiple Languages During last year's GSoC, a great deal was done to re-integrate the Pootle translation methodology with Sahana Agasti Vesuvius, as well as using Google Translate to translate strings where Pootle translations are unavailable. However, the translation framework needs to be re-calibrated and well-integrated with Vesuvius in order for it to be put to proper use. Applying translations to the Resource Page system on Vesuvius needs to be re-thought as well, with some methodology being introduced to apply translations where both the administrators of Vesuvius as well as the users can view them. This project aims to solve both these problems.
  • Sahana Eden as a Common Alerting Protocol Broker CAP is an open format for alerts. Being both machine and human generated and readable and also being widely adapted by government and non-governmental agencies it will be of immense help in building an effective warning system. This project aims to implement CAP capabilities (broadcast and receive) on Eden and provide relevant usable UI components for the viewing, creation and editing of alerts.
  • Upgrade Translation Functionality This project aims to update the existing translate facility in the software. When Sahana is deployed during a disaster or emergency, it would require immediate translation. Hence to avoid wastage of time and effort, we would want to translate only those strings which are present in the active modules. These strings are then presented to the translators who can make the necessary translations. Once this is done, it must be possible to integrate back these translations into the main code. Also, a GUI must be developed to indicate the translation status. So basically the idea is to automate the entire process of this selective translation. Briefly, following are the objectives I plan to achieve :- 1) Retreive the relevant strings to be translated based on the current active modules by maintaining the location of each string (pathname and line number). 2) Provide these strings in the form of a spreadsheet to the translators for them to translate the strings. 3) Accept the translated set of strings and reflect back the changes in the code. 4) Build a GUI to display the translation status per module. 5) Allow comments to be added inside the T(...) function.