Pre-Award Archive: Sahana Software Foundation GSoC 2013 Ideas Page


Eden Project Ideas

Vesuvius Project Ideas

For an additional overview, and students who have expressed interest, see Vesuvius - Google Summer of Code 2013 Ideas

Native Synchronization between Vesuvius Instances

Platform Vesuvius
Mentors
Preferred communication emails, Skype(Chamindra), G+ (Greg)
Brief description/Usage Scenario Instances of Vesuvius (say, in different cities or hospitals) can currently interchange missing/found person data using the PFIF protocol, but that exchange is lossy and requires a Google Person Finder go-between. The proposed task would implement direct lossless two-way interchange. The should be multiple exchange channels to support fault tolerance (e.g. if there is no network or just a USB connection)
Skills needed PHP, SOAP
Blueprints GSoC 2013 - Native Synchronization between Vesuvius Instances
Acceptance conditions Demonstration of exchange of missing person and displaced/shelter person data between Sahana instances. Confirmation that all specified data has been exchanged. Help documentation for a user on the WIKI. Good code quality including well commented code, secure code
Other resources

Portable App Dynamic Creation

Platform Vesuvius
Mentors Chamindra de Silva
Preferred communication email, skype
Brief description/Usage scenario Some times it is valuable in the middle of a disaster to get a portable program + data instance of the hosted site to take to disaster zone that might not be connected. However to do this normally you would have to create a new portable version that is the same as the hosted one and then syncronize the data into it. What I propose is the automation of this task from a module in Sahana that compiles a portable instance on the fly to take to the field. This would work with data synchronization instance. This scenario is based on an actual requirement during Hurricane Sandy
Skills needed PHP, MySQL import/export
Acceptance conditions Demonstration of the creation of a dynamic portable application from a site. Proper documentation
Blueprints GSoC 2013 - Portable App Dynamic Creation
Other resources Somewhat-related idea: Data syncronization

Vesuvius Installer

Platform Vesuvius
Preferred communication email, G+
Brief description/Usage scenario As part of the 2011 GSoC, our student built an installer (using Symfony and YAML) to install the other branch of Sahana ~ Mayon. Part of his work was to also port the installer to Vesuvius. Alas, this part of the project was not completed before the summer ran out. As such, we have the most of the installation process defined, have partially (somewhere between 60-80%) coded the installer, and tested it to some degree. However, there still is work to be done debugging a barrage of error messages from the installer as well as updating the installation procedure to take into account a few additional features we would like the installer to handle in its initial configuration of the Vesuvius environment.
Skills needed PHP, YAML, CSS, MySQL import/export
Acceptance conditions End to End installer that sets up a Vesuvius instance with a properly configured database and an initial set of data. Another requirement is that there must be 0 PHP errors and 0 PHP notices during the process of installation.
Blueprints GSoC 2013 - Vesuvius Installer
Other resources

Demo Instance(s) of Vesuvius

Platform Vesuvius
Mentors Ramindu Deshapriya
Preferred communication IRC, G+, Email
Brief description This would be a “kick the tires” instance for the benefit of potential adopters. It would include access as admin, hospital admin, and hospital staff. It would be a limited-lifetime instance that would periodically be rebooted and set to default database contents. A more sophisticated version would provide a separate instance per customer, perhaps with some simple startup customization, e.g., to set the title string to something chosen by the customer. This would be hosted on an SSF site (rather than NLM).
Skills needed PHP, shellscripts/cron jobs
Blueprints GSoC 2013 - Demo Instance(s) of Vesuvius
Acceptance conditions
Other resources Somewhat-related idea: Installer
Comments Chamindra: Can we make this a turnkey Link VM? Louiqa: This seems more like a task not a summer project? Perhaps combine with [another project like the Disaster-Specific Resources Pages]? Glenn: Louiqa, this idea also requires developing the default database contents, maybe with a wizard so that the adopter can select what sort of example content (if any) should be preloaded. Probably needs a guide document or video too. There's some interest in defining less-expansive tasks this year, to get a more complete and polished result rather than a 2/3rds done result.

Disaster-Specific Resource Pages

Platform Vesuvius
Mentors Ramindu Deshapriya, Glenn Pearson
Preferred communication IRC, G+, Email
Brief description/Usage scenario For an instance of Vesuvius that is deployed to support multiple disasters over time: Develop an infrastructure to allow instances of resource pages to be customizable for specific disasters, in association with multiple languages.
Skills needed PHP, MySQL
Blueprints GSoC 2013 - Disaster-Specific Resource Pages
Acceptance conditions
Other resources
Comments Louiqa: Perhaps combine with the previous one? Chamindra: Possibly also the ability to migrate selectable resource data (e.g. hospital locations, staff) between the different disasters

Expand Options when Setting Hospital Policy

Platform Vesuvius
Mentors Glenn Pearson, Ajay Kanduru (SOLR)
Preferred communication TBD
Brief description/Usage scenario Add to the settings that individual hospitals should be able to customize. For example, for hospital triage treatment zones, specify the count and individual zone names and color-codes; this would be exposed in the website UI (e.g., as filters, tied into SOLR search engine) and through web services. You will be expected to unit-test web services. (Subsequently, NLM programmers will incorporate these new services into the mobile apps on various platforms.)
Skills needed PHP, basic SQL; SOLR helpful
Blueprints GSoC 2013 - Expand Options when Setting Hospital Policy
Acceptance conditions
Other resources

Improved Hands-Free Mode & Printing

Platform Vesuvius
Preferred communication TBD
Brief description/Usage scenario The non-interactive mode of viewing person-search results on-screen could use further improvements, e.g., to smoothness of scrolling; to ability to print this screen format.
Skills needed Javascript
Blueprints GSoC 2013 - Improved Hands-Free Mode & Printing
Other resources
Acceptance conditions
Comments Louiqa: Looks interesting. Is this a generic capability or are you thinking of many smaller customizations?

Embeddable Widget

Platform Vesuvius
Mentors Glenn Pearson
Preferred communication TBD
Brief description/Usage scenario A “widget” aka “gadget” is a piece of web code that a third-party chooses to embed in their own web site, that occupies a rectangular space on the web page. In concept, a Vesuvius widget would be similar to the Google Person Finder widget, in that it would support reporting someone missing or found, commenting on such a report, or searching. The goal is to create a iFrame widget template, which at deployment could be made specific to a given disaster and Vesuvius instance, and whose content can be controlled (post-deployment) from the Vesuvius host.
Skills needed PHP, HTML, Javascript, CSS
Blueprints GSoC 2013 - Embeddable Widget
Acceptance conditions
Other resources

Simplify ImageStats Code

Platform Vesuvius
Mentors Ajay Kanduru
Preferred communication TBD
Brief description/Usage scenario ImageStats is a Java program that extended the PL web site (NLM's version of Vesuvius). it was used in the recent Google Code In to tag skin color samples and facial boundaries from images. While fairly straightforward in concept, ImageStats was quickly built with many dependencies on third party libraries and functions. Now open-source, ImageStats could be redone to make it simpler, more stand-alone, and easier to maintain.
Skills needed Java
Blueprints GSoC 2013 - Simplify ImageStats Code
Other resources
Acceptance conditions
Comments

(Ideas that were listed here but are now dropped due to anticipated support problems:

)


Kilauea Project Ideas

Some information pertaining to Kilauea ideas can be (temporarily?) found on the Vesuvius Ideas page.

Add, Edit, Import Locations and Staff

Platform Kilauea
Mentors
Preferred communication IRC #sahana; e-mail to discuss@sahanafoundation.org
Brief description/Usage scenario Breaking dependency between RMP (Mayon) and RP (Kilauea) - currently Kilauea relies on Mayon to provide staff and shelter lists. While this option should remain, we need to make the Registry Program the ability to operate independently. Adding the capabilities to Kilauea/RP to manually add, edit, or import lists of locations and staff/volunteers from other sources.
Skills needed PHP
Blueprints
Acceptance conditions
Other resources
Comments

Create Standalone Version

Platform Kilauea
Mentors
Preferred communication IRC #sahana; e-mail to discuss@sahanafoundation.org
Brief description/Usage scenario Creating a fully functional standalone version packaged on a USB stick. Again - the dependency to having a Mayon/RMP generated list of sites and staff preloaded onto the stick needs to be revised and adding capabilities for synchronization with online server.
Skills needed PHP
Blueprints
Acceptance conditions
Other resources
Comments

Mobile Check In / Check Out

Platform Kilauea
Mentors
Preferred communication IRC #sahana; e-mail to discuss@sahanafoundation.org
Brief description/Usage scenario Allowing for mobile phone check in at shelters (both staff and the sheltered). Possible additional use of QR codes scanned for check ins and check outs.
Skills needed PHP
Blueprints
Acceptance conditions
Other resources
Comments

Merge Kilauea and Vesuvius Trunks

Platform Kilauea / Vesuvius
Mentors Ramindu Deshapriya, Dilantha Silva, Alexandros Katechis
Preferred communication IRC #sahana; e-mail to discuss@sahanafoundation.org
Brief description/Usage scenario Full merging of Vesuvius and Kilauea code bases into single trunk. Deployment settings (like Eden) will determine front-end functionality (missing persons, shelter registration, staff registration, etc.). This would imho greatly broaden the potential user base for both of these products, which otherwise will remain highly customized for a single customer and likely not adopted by other organizations.
Skills needed PHP
Blueprintsagasti:vesuvius:gsoc2013:vesuviuskilaueamerge
Acceptance conditions
Other resources
Comments

Template for Project Ideas

Project Idea Title

Platform Vesuvius
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/Usage scenario [One paragraph narrative description of project and how it matters in a real world use context]
Skills needed [Any specific useful skills or knowledge (other than basics).]
Blueprints [Links to blueprints or detailed descriptions]
Acceptance conditions [Provide conditions for which this project will be accepted as completed[
Other resources [Links to references, supporting material, relevant standards, partner organizations, examples of use cases…]

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