Sahana Software Foundation GSoC 2012 Ideas Page


Agasti Project Ideas

Note: Agasti is the group of Sahana initiatives using PHP as the primary web site coding language. Within Agasti, we will only be considering student proposals for projects using our Vesuvius or Mayon branches. The historic Krakatoa branch is no longer supported for active development.

Backup/Restore Utility

Platform Mayon
Mentors Charles Wisniewski (chaw on IRC), with consultation as needed with Mayon's Nils Stolpe and other Mayon contributors.
Preferred communication IRC: #sahana-agasti; Mailing list: agasti@lists.sahanafoundation.org (subscribe)
Brief description Throughout the development of Mayon a key feature wanted was an 'import' and 'export' capability. Much work has been done to this end using xls as a file format. A standard format should be decided on that will be universal for Sahana software, optimally based on PFIF where applicable. The utility should be expandable to perform various import/export functions in addition to full system backup/restoration.
Blueprints Task specific blueprint coming soon. Please see the Sahana-agasti blueprint list
Other resources


Edge Table Frontend

Platform Mayon
Mentors Nils Stolpe, with consultation as needed with Mayon's Charles Wisniewski and other Mayon contributors.
Preferred communication IRC: #sahana-agasti; Mailing list: agasti@lists.sahanafoundation.org (subscribe)
Brief description Mayon's database is very robust and customizable. Throughout the development of the application, frontends for interacting with many of the edge tables (name types, contact types, address definitions) were never made. This leaves users with no way to customize these data-points other than YML configuration files or directly interacting with the database. A frontend should allow at least full CRUD for these edge tables, and perhaps even the ability to save and load different data themes.
Blueprints Task specific blueprint coming soon. Please see the Sahana-agasti blueprint list
Other resources


Emergency Data Exchange Language (EDXL)

Platform Vesuvius
Mentors Glenn Pearson (glennp on IRC), Greg Miernicki (triune on IRC)
Preferred communication IRC: #sahana-agasti; Mailing list: agasti@lists.sahanafoundation.org (subscribe)
Brief description The EDXL family of XML-based disaster information exchange protocols, of which Common Alerting Protocol (CAP) is best known, is increasingly important internationally. Some work has been done in Vesuvius to support the “envelope” common to all these protocols, called EDXL-DE, as well as a specific protocol “payload”, Tracking Emergency Patients (TEP). We would like to develop fuller PHP class structures and functions for EDXL-DE (now version 2.0) and a salient subset of TEP, with integration into database tables and data exchange mechanisms.
Blueprints Task specific blueprint coming soon. Please see the Sahana-agasti blueprint list
GSoC 2012 - Emergency Data Exchange Language (EDXL). (Note - Link to 'EDXL TEP Background with Vesuvius' moved there.)
Other resources FEMA EDXL-TEP page
OASIS EDXL-TEP Project Initiation Document


Export of Information about Those Missing and Found

Platform Vesuvius
Mentors Glenn Pearson (glennp on IRC), Greg Miernicki (triune on IRC), Lan Le (developing Stats module)
Preferred communication IRC: #sahana-agasti; Mailing list: agasti@lists.sahanafoundation.org (subscribe)
Brief description The new Vesuvius “Stats” module displays charts with timeline and cumulative statistics. This includes overviews of missing and found people and their reported attributes such as health status or location. We would like to extend the module to offer the underlying cumulative or de-identified data in various formats (e.g., XML, JSON, csv, Excel) and through various channels (e.g., SOAP and/or REST web services, rss/atom data feeds). Of particular interest are GIS formats, with geolocated data (e.g., KML, GeoRSS) suitable for posting to disaster-related globes & maps. This would aid situational awareness and understanding of missing person spatial distributions and hospital triage-station impacts.
Blueprints Task specific blueprint coming soon. Please see the Sahana-agasti blueprint list
[Draft started:]GSoC 2012 - Export of Vesuvius Person Info
Other resources


Full Support for Multiple Languages

Platform Vesuvius
Mentors Glenn Pearson (glennp on IRC), Greg Miernicki (truine on IRC)
Preferred communication IRC: #sahana-agasti; Mailing list: agasti@lists.sahanafoundation.org (subscribe)
Brief description The codebase from which Vesuvius evolved originally supported Pootle, an independent methodology for managing the distributed quick translations of software into multiple languages. Vesuvius now uses a “Resource Page” infrastructure for custom pages per-event/per-language. Pootle works well for short prompt words and enumerations where context is not too important, and the “Resource Page” works well for high-quality, full-page translations that contain a limited number of languages. These two approaches are complimentary, and use the Google Translate API to “fill in the blanks” for missing string translations. During GSoC 2011, significant progress was made in re-integrating Pootle into the current Resource Page system. An experienced PHP programmer can help us make these mechanisms production-worthy and extend them to handle smart versioning. Another PHP task requiring less PHP experience is to add the required code markups to translatable strings in the remaining modules, which sometimes involves code restructuring.
Blueprints Task specific blueprint coming soon. Please see the Sahana-agasti blueprint list
TO DO: GSoC 2012 - Full Support for Multiple Languages
Other resources Last year's GSoC 2011 precursor project by Ramindu Deshapriya


Import Wizard for Missing and Found Person Records

Platform Vesuvius
Mentors Glenn Pearson (glennp on IRC), Greg Miernicki (truine on IRC), Leif Neve (developing PFIF module)
Preferred communication IRC: #sahana-agasti; Mailing list: agasti@lists.sahanafoundation.org (subscribe)
Brief description The Vesuvius “PFIF” module permits bulk exchange of records about persons lost and found, e.g., with Google Person Finder. However, sometimes bulk person data comes in other forms, for instance, as an Excel spreadsheet in the case of the Joplin, Missouri tornadoes. We would like to provide a GUI wizard, like that used in Microsoft Office products to flexibly import tabular data for record creation, but be easier for non-programmers to use than, say, XSLT. The wizard would allow import from common file formats (tab-separated text, comma-separated text, Excel, etc.). It would allow mapping of input columns to Sahana+PFIF input fields. At the least this mapping includes column skipping, re-ordering, and missing-data fill-ins. Other transformations are desirable: within-column (e.g., case adjustments, enumeration mapping) and cross-column (e.g., string merging and splitting). Additional ideas that could be investigated if time allows are exporting (analogous to the Stats Export GSoC idea, but here with persons not de-identified), and advanced data exchanges (like TableCast).
Blueprints Task specific blueprint coming soon. Please see the Sahana-agasti blueprint list
TO DO: GSoC 2012 - Import Wizard for Missing and Found Person Records
Other resources


Installer Optimization and Refactor

Platform Mayon
Mentors Possibly Nils Stolpe and/or other Mayon developers who are more familiar with the installer.
Preferred communication IRC: #sahana-agasti; Mailing list: agasti@lists.sahanafoundation.org (subscribe)
Brief description The installer relies a great deal on command line configuration before it can be run, and still often fails afterwards. A refactor/redesign to make things easier for the end user could go a long way towards encouraging the use of Mayon. Consideration should also be given to fully integrating the installer into the Symfony platform and removing the Slim framework that has been put inside the Symfony framework. This will ease maintainability of the code base in the future and create a less confusing code structure.
Blueprints Task specific blueprint coming soon. Please see the Sahana-agasti blueprint list
Other resources


Robust Delivery of Installer and Instance Registration

Platform Vesuvius
Mentors, Technical Greg Miernicki (truine on IRC), with consultation as needed with Mayon's Charles Wisniewski
Preferred communication IRC: #sahana-agasti; Mailing list: agasti@lists.sahanafoundation.org (subscribe)
Brief description During GSoC 2011, an installer was successfully developed in YAML (Yet Another Markup Language) for Agasti Mayon, followed by significant progress towards a version for Vesuvius. We want to bring the latter to completion and deployment, also incorporating additional aspects related to new configuration settings. It is also desirable to add a Vesuvius-server-instance registration process, reporting to a directory server and notification list.
Blueprints Task specific blueprint coming soon. Please see the Sahana-agasti blueprint list
TO DO: GSoC 2012 - Robust Delivery of Installer and Instance Registration
Other resources Last year's GSoC 2011 precursor project by Chinthaka Weerakkody



Eden Project Ideas

CAP Broker

Platform Eden
Mentors Nuwan (gnewy on IRC)
Preferred communication IRC: #sahana-eden; Mailing list: sahana-eden@googlegroups.com
Brief description We are looking for Python programmers to develop the Emergency Data Exchange Language - Common Alerting Protocol (EDXL-CAP) Enabled Broker for delivering standardized alert/situational-awareness messages over the web, Atom, SMS, Twitter, and other channels.
Skills needed Python
Blueprints http://eden.sahanafoundation.org/wiki/BluePrint/Messaging#CAP
Other resources http://wiki.sahanafoundation.org/doku.php/standards:interop_adoption


CERT: Parsing SMS Messages

Platform Eden
Mentors Fran Boon (flavour on IRC); Praneeth Bodduluri (lifeeth on IRC)
Preferred communication IRC: #sahana-eden; Mailing list: sahana-eden@googlegroups.com
Brief description Python developers are needed to parse inbound messages, such as SMS responses, from CERT responders after deployment.
Skills needed Python
Blueprints http://eden.sahanafoundation.org/wiki/BluePrint/Messaging/Parsing
Other resources http://eden.sahanafoundation.org/wiki/BluePrintCERT


CERT: Rostering

Platform Eden
Mentors Dominic Konig (nursix on IRC)
Preferred communication IRC: #sahana-eden; Mailing list: sahana-eden@googlegroups.com
Brief description Additional rostering functionality will allow volunteers to specify when they are available, and will allow administrators to search for volunteers based on availability.
Skills needed Python, jQuery
Blueprints http://eden.sahanafoundation.org/wiki/BluePrintRoster
Other resources http://eden.sahanafoundation.org/wiki/BluePrintCERT


Database Migration

Platform Eden
Mentors Pat Tressel (ptressel on IRC), Fran Boon (flavour on IRC)
Preferred communication IRC: #sahana-eden; Mailing list: sahana-eden@googlegroups.com
Brief description Database Migrations: Scripts to guide developers on how to create database migration scripts between different revisions
Skills needed Python, SQL
Blueprints http://eden.sahanafoundation.org/wiki/BluePrintDatabaseMigration
Other resources


Multiple Theme Support

Platform Eden
Mentors Michael Howden (michaelhowden on IRC), Fran Boon (flavour on IRC)
Preferred communication IRC: #sahana-eden; Mailing list: sahana-eden@googlegroups.com
Brief description This project involved improved seperation of Themes from code, which will allow multiple Themes to be held within a single branch of the code
Skills needed Python
Blueprints http://eden.sahanafoundation.org/wiki/Projects/Design/SahanaEdenTheme
Other resources


Open311 Integration

Platform Eden
Mentors
Preferred communication IRC: #sahana-eden; Mailing list: sahana-eden@googlegroups.com
Brief description Open311 integration for the Incidents module in Eden through implementing the Open 311 GeoReport specification within Sahana Eden. The Open311 GeoReport spec is an open standard for a RESTful API to support incident reporting.
Skills needed Python, jQuery
Blueprints The Open311 GeoReport v2 spec is documented here: http://wiki.open311.org/GeoReport_v2
Other resources City API endpoints supporting the spec Open source codebases implementing the spec


Public Portal

Platform Eden
Mentors Michael Howden (michaelhowden on IRC)
Preferred communication IRC: #sahana-eden; Mailing list: sahana-eden@googlegroups.com
Brief description
Skills needed Python, jQuery
Blueprints http://eden.sahanafoundation.org/wiki/BluePrint/PublicPortal
Other resources


Simulation Generator

Platform Eden
Mentors Michael Howden (michaelhowden on IRC), Graeme Foster (graemef on IRC)
Preferred communication IRC: #sahana-eden; Mailing list: sahana-eden@googlegroups.com
Brief description Simulation Generator: Generate Simulation Data based on set dummy data and a programmable set of “Stories” the data must tell. (Graeme says - I’d prefer this to be an Eden app; easier to maintain and enhance that a collection of scripts and gives it clear focus). Functionality to send messages to user (email or in system pop-up) & create data in response within the simulation
Skills needed Python
Blueprints http://eden.sahanafoundation.org/wiki/BluePrint/SimulationGenerator
Other resources http://eden.sahanafoundation.org/wiki/BluePrintExerciseManagement


Upgrade Translation Functionality

Platform Eden
Mentors Graeme Foster (graemef on IRC), Pat Tressel (ptressel on IRC)
Preferred communication IRC: #sahana-eden; Mailing list: sahana-eden@googlegroups.com
Brief description This functionality will allow the software to identify the location of all translated strings within the code, and will allow comments about the translated string. Other desired functionality includes the ability to extract strings on a per module basis, to monitor the progress of translation and to automate the updating of translation strings
Skills needed Python
Blueprints Task specific blueprint coming soon.
Other resources


XSLT Editor

Platform Eden
Mentors Nuwan (gnewy on IRC)
Preferred communication IRC: #sahana-eden; Mailing list: sahana-eden@googlegroups.com
Brief description Develop a tool to edit/create XSLT files that can be embedded in various Eden modules. The user would import an XSD and an example XML file, then using the tool create a XSL file that would generate the user required output; e.g. a human readable text file or html with proper sentences and formatting (i.e. any XSL allowed output type).
Skills needed Python
Blueprints http://eden.sahanafoundation.org/wiki/BluePrintXSLTEditor
Other resources Blueprint has a use case and Mock GUIs


Building Information System

Platform Eden+Standards
Mentors Gavin Treadgold (gavin_t on IRC)
Preferred communication IRC: #sahana-eden; Mailing list: sahana-eden@googlegroups.com
Brief description Construct Eden application to allow the tracking of building information. Initially targeted at post-disaster assessment and recovery, this app could also be used to track critical built infrastructure before an event. Key features are to support granular access to information for classes of users e.g. local government/regulatory, building owner, building tenants, insurers. The app needs to support building a timeline of events for a building that may include notes, photos, key status fields, and links to more formal assessments. Developing a prototype XML schema for Building Information that could be used to feed the concept of an EDXL Building Information extension.
Skills needed Python, XSL, some mapping
Blueprints Building Information System Blueprint
Other resources [Links to references, supporting material, relevant standards, partner organizations, examples of use cases…]


Exercise Management

Platform Eden
Mentors Gavin Treadgold (gavin_t on IRC)
Preferred communication IRC: #sahana-eden; Mailing list: sahana-eden@googlegroups.com
Brief description Produce tools to develop and deliver exercises via Sahana Eden
Skills needed Python
Blueprints Exercise Management Blueprint
Other resources


Template for Project Ideas

Project Idea Title

Platform [Which Sahana project this applies to – Eden, Vesuvius, Mayon, Standards, Cross-platform]
Mentors [Names of people willing to mentor this project]
Preferred communication [IRC/Nick; e-mail to discuss@, sahana-eden@, Sahana-agasti@; private e-mail to me@domain.com; skype to my.name]
Brief description [One paragraph narrative description of project]
Skills needed [Any specific useful skills or knowledge (other than basics).]
Blueprints [Links to blueprints or detailed descriptions]
Other resources [Links to references, supporting material, relevant standards, partner organizations, examples of use cases…]

QR Code
QR Code community:gsoc:gsoc2012:ideas (generated for current page)