Version 185 (modified by Michael Howden, 13 years ago) ( diff )


Project Information

This page contains ideas for projects which contributors with diverse skills and expertise can work on. Projects are into:

People are welcome to start working on any project which interests them. They are advised to notify Mailing List first, to get the latest status of the project and ensure that there is no overlap and are welcome to contact community members on Chat for assistance.

Events and Programs

This list is used to provide projects for people attending various Sahana Events and Programs. Projects which are suitable for a specific event or program will be marked with its initials, however people associated with these events are welcome to work on other projects.

Google Code In 2010 (GCI)

Google Code In 2010-11

Grace Hopper Celebration Codeathon for Humanity 2010 (GHC)

GHC2010 Sahana-Eden Home Each Codeathon table has an etherpad page for collaboration -- find your table's page here .

Non-Coding Projects

Projects that do not involve Coding but may involve design, using the software, writing documentation, etc.

Project: Testing


Role-Play Being a User

  • Bugs - Try to break it! Some suggestions for bug-hunting:
    • Start with the demo system, and register for an account there:
      • Pick one application to test so you get familiar with how it works.
      • Try all the functions.
        • All the menus and buttons.
        • Adding and deleting and listing and updating records.
        • Downloads and uploads.
      • Change settings.
      • Try putting in bad data.
      • Try different browsers and different operating systems.
      • Try it while logged in or not logged in.
    • Install your own copy, so you can...
      • Give yourself administrator privileges and try out administrative functions.
      • Start with an empty database.
      • Try it with different database systems.
    • You can report bugs you find, but first:
  • Think about how could it be better.
  • Try Sahana Eden out -- you can use:
  • Modules that could use some usability improvement:
  • New or unfinished modules that would benefit from feature and workflow suggestions:

Report Tickets

See: Reporting Guidelines

  • What do you expect it to do? What did happen?
  • What additional features would you want?
  • What do you think the workflow should be? Report unclear/inconvenient workflow
  • Additional/clearer help text required. Suggest tooltips (help info) for fields on forms.
  • Was there something you wanted that wasn't available?

Project: Documentation

We need instructions for how to use some of our applications. We have some instructions on the UserGuidelines page -- this can be a starting point. For applications that have no instructions, the User Guideline Template tells what the form of the instructions should be. The instructions are posted on the Sahana Eden wiki, so you'll need an account to edit the wiki. Some instructions are in Google Docs and need to be put in the wiki.
For GCI, we request that you complete the "Report 5 Bugs in Sahana Eden" task first and focus on the application you will be writing documentation for, to ensure that you understand the functionality.

  • Pick one of the applications. (For GCI, pick the task for the application you want.)
  • Look at any instructions that are already available for the application, linked from the UserGuidelines page.
  • Pretend you're a user -- these are tools for emergency management, so think about using it for dealing with a disaster. Try out the application -- try entering data and looking it up, see what features are available. (Look at the ProjectInformation section for more on thinking like a user)
  • Things to look at:
    • Do the current instructions match the way the application is now?
    • Are there application features that have no instructions?
    • Are the instructions confusing?
    • Do the instructions fit the User Guideline Template?
  • To edit the instructions:
    • Register on and log in.
    • Make a new wiki page by going to its url in your browser. For instance, if the application's current wiki page is called IncidentReporting, make one called NewIncidentReporting by going to in your browser. Click create new page.
    • In the current instructions, click edit this page. Copy the wiki text to the new page and save that one. Cancel the edit in the original page. Now you can edit the new page without any worry about making a mistake. Save your work often!
    • There is information about editing the wiki and wiki formatting.

In particular we need documentation for:

  • Organisation Registry
  • Assessment
  • Request Management
  • Project Tracking
  • Volunteer Management
  • Inventory/Warehouse Management
  • Incident Reporting

Project: Ticket Verification

Some of our bug reports (tickets) have been left open even though they've been fixed. Others don't have much information. We'd like you to go through some tickets to see if they're done or if they need more information.

  • Register for an account on our demo site. Or you can install your own copy of the software, if you want to test the very latest version. Look at the bug testing project description for information on installing.)
  • Find a bug to work on from this list of older open bugs. (Older bugs are more likely to have been fixed or no longer relevant, so that's why we want to look at those.)
  • When you've found a bug to look at, add "GCI" to the "Keywords" (near the bottom of the ticket form), and submit that change. That will let other GCI students know this is *your* bug!
  • Try to reproduce the problem reported in the ticket:
    • If the bug is still there, and the description of how to make it happen is clear, just add a comment saying you verified that it's still there.
    • If the description of how to make the bug happen is clear, and the bug is gone...
      • If there are also suggestions for improvements, and those haven't been done, add a reply that you've verified the bug is gone, and change the type to "enhancement".
      • Otherwise, add a reply to the ticket: Describe carefully what you did to test it, and "resolve" the ticket as "worksforme". (The person who reported the bug can still reply and reopen the bug if they want.)
    • If the instructions to cause the bug to happen aren't clear, try to figure out what the reporter meant -- try to find the bug yourself. If you can reproduce the bug, add better "how to reproduce" instructions. See the Bug Reporting Guidelines for what makes a good bug report.
    • If you can't figure out what the ticket means, add a reply that tells the ticket reporter what info would be helpful.
  • Post links to the tickets you worked on in your GCI task.

Project: Collate Organisation List

Collate a list of organisations involved in Emergency Management from multiple sources, for use in future emergencies. See full description here.

Project: Stock Taking of Humanitarian Catalogues

Prepare a Stock Taking Report to assess what Humanitarian Catalogues are available which could be pre-populated into Sahana

Some Sources to Start with (you will need to search to find additional catalogues ):

For each Catalogue list:

  • Source
  • Date of Publishing
  • Data model. What data "fields" are their for each item? These could be the column headings, or you could be able to determine the types of data each catalogue records for its items. Present this as a list.
  • Categories / Sub-categories - What is the list/hierarchy they use.
  • Number of Items
  • Summary Description of what the catalogue is for and what items it contains

Prepare a report with the information listed above for each catalogue. Publish this report on a new page at BaselineSupplyCatalog (you will need to create a Trac account to do this).

Project: Scenario Cards

Running simulations of disaster scenarios is crucial to:

  1. Test that Sahana works correctly
  2. Train people to use Sahana
  3. Familiarise programmers with the Disaster management domain.
  4. Interest people in the project

We have a number of different resources on simulations currently available:

You can also search the internet (please add additional resources to this page)

We need to develop a series (deck) of cards which depict Disaster Scenarios which can be put together (maybe in order, maybe randomly) to create a simulation. It would be wise to share your initial ideas with the mailing list, as there are a number of people with a wealth of domain knowledge who will be able to guide you.

Post any images and files (in an open data format) at TrainingSimulationsScenarioCards

Project: Icons

Sahana Eden could be made more visually appealing by having icons designed. See and Draft Icons for examples

Map Markers

  • Projects (See BluePrintProjectManagement)
  • Activities
  • Tasks
  • Offices
  • Warehouses
  • Requests
  • Incidents
  • Assessments
  • Camps / Temporary Shelters

Cluster/Sector Icons

  • Agriculture
  • Camp Coordination/Management
  • Early Recovery
  • Education
  • Emergency Shelter
  • Emergency Telecommunications
  • Health
  • Logistics
  • Nutrition
  • Water Sanitation Hygiene

Application Icons

  • Organisation Registry
  • Inventory/Warehouse Management
  • Incident Reporting
  • Request Management
  • Assessments
  • Project Tracking
  • Map

Action Icons

  • Open
  • Delete

Project: Sahana Eden Theme

The design of Sahana Eden could be enhanced greatly with everything from a better colour scheme (for example, the grey menu blends into the browser which is confusing) to making more efficient use of space. If you're more of a web designer than programmer, your input is greatly needed. If you could come up with static designs for the following pages, or programmers can do their thing and make Sahana Eden beautiful. If you can design and program, even better!

Please share the image files and the original design files (preferably an open standard)

Infrastructure Projects

Projects that may involved varying degrees of technical skills, but not programming.

Project: Trac Theme

Design a new theme for the Sahana Eden Trac wiki. See:

Provide screen shots of this design and all of the files required to install this theme on the Sahana Eden server.

Project: Develop a Process to Rebase the Bzr tree

We don't need all 1484 revisions left in the same tree - we could archive off the current version & then have a rebased version with just the last 100 edits that is the active one.

This would speed up the download for new developers

Project: Improve Installation Documentation

We have been concentrating on Windows & Debian/Ubuntu, but better documentation could be provide for other distributions:

  • ???

Basic Coding Projects

Projects for beginning coders, or if new to Python or web services

Easy Tickets


Feature Enhancements

  • Fix UI issues, add features, provide user-requested enhancements.
  • The landing page for each module is different -- some have descriptive text, others have statistics (a "dashboard"). Each has a different layout of menus.
    • Are any of these landing pages useful? What would be better for a typical workflow?
    • Make appropriate changes.
    • Is there a common sort of menu that would be useful?

Building Assessments

We had a basic Building Assessments tool added to Sahana recently (which is based on the ATC forms), although it was done in a Web2Py style & so didn't get completed & isn't yet merged to Trunk.

The Data model is all there, so just needs the S3 REST Controller plugging-in & then using components to get sections onto Tabs (as per Rapid Assessment Tool).

This would be a real nice easy project to learn the beauty of the S3 Framework & would really add value :)

Current code is here:

Original Blueprint:

Translations Admin Panel

  • Add a page to controllers/ to handle Translations.
  • Update the InstallationGuidelines with the new optional requirements.
  • Gracefully give nice error messages if the translate toolkit isn't installed.
  • Update UserGuidelinesLocalisation

Export PO file

  • Dropdown to select which language
  • Button to call web2py2po to convert the .py file to a standard PO file for the user to download

Import PO file

  • Upload Widget which calls po2web2py onaccept to convert a .po file to a Web2Py .py file stored in the languages folder
    • Use the same filename prefix or prompt?
    • Do a merge

Update Pootle

Provide a set of admin scripts (bzr post-commit hook?) to update Pootle with any changed strings as a Merge.


These are a various GIS/Mapping Tasks:

  • Add a delay to the onHover tooltip (highlightControl)
  • Continue Integration of Potlatch
    • for editing the main OSM database
    • for editing a local OSM database
  • Make the display_feature() & display_features() popup a Window instead of opening in a DIV
  • Replace the Measure Length/Area tools with GeoExt.ux
  • Option to go Full screen & back
    • Full screen view (No Ext window) will be required for use on a small-screen, such as a Mobile device
  • Layer Tree
    • Separate Overlays folder into Internal/External
    • Sub-folders of Overlays e.g. for:
      • Projects by Theme
      • Projects by Donor
  • Get a pr/person/presence record upon login if HTML5 GeoLocation available & not changed since last time
    • login_next
  • Map Preview when Lat/Lon set in pr/person/presence (auto or not)

OSM Importer UI

A nice further refinement would be to provide a UI to select a BBOX & optional filter to pull down the .osm file via XAPI

  • Initially this could be manual text box entry of BBOX/filter
  • Then add a Map-based BBOX selection & dropdowns for the filter (which prepopulate the real dropdowns for manual verification/amendment)

Suggestion Box

Here are some potential features for a "suggestion box", roughly in order of priority:

  • Text data entry form -- just use standard Eden database fields like "timestamp", "authorstamp", and "comments", maybe with a subject field.
  • Allow defining topics or keywords. Let user choose a topic for their suggestion. Add all module names as an initial list of topics.
  • Simple search in the body of posts -- match words.
  • Regexp search.
  • Allow commenting on (replying to) suggestions -- show comment thread with original post.
  • Some form of importance rating (e.g. voting up or down).
  • Original suggestion from:


Advanced Coding Projects

Projects for more experienced coders.

Some things to keep in mind when planning new modules or major features:

  • Consider what other FOSS tools exist, that could be installed alongside Eden.
  • Look at tools and libraries already in use in Eden, e.g. jQuery and ExtJS for UI work.

Fuller list of Projects being scoped: BluePrints


These are a number of GIS/Mapping Tasks to be done:

  • GeoExplorer
  • Photo Bulk Uploader
    • Add EXIF support to geolocate images
    • Provide opportunity to add Metadata for all files
    • Add support for GPX Track timestamp correlation

Wikipedia Locations

Allow Sahana to import Wikipedia locations easily: both Hierarchy & Lat/Lon info

Fix Web2Py Cron on Win32 Service

Web2Py has a nice Cron utility, but this doesn't work currently on Win32 in Service mode: #438


Test Automation

  • Write Functional Tests using Selenium
  • Figure out how to do unit tests against a web application.
    • Write unit and functional tests.

Tweet / SMS Parsing

Allow users to provide info via tweets or SMS messages

Job Jar

Manage tasks performed on the site, e.g. data entry

  • Assign tasks to users or let users select tasks.
  • Track who does what, mark completed.
  • Provide administrator UI for defining tasks.
  • Cross-check / verify task, or compare result of two users on same task.
  • Administer tests and training for new workers.

Mobile Photo/Video Upload

  • Design a widget (to be included in an Eden form) that can be used to select images or video, with any needed detection of the type of phone.

Run Eden on a smart phone

Installation Web Interface

For customizing new Eden sites. See notes toward web-based setup and customization: BluePrintWebSetup.

Chat in Sahana

With other logged in users

  • Provide a chat board through which users can help each other or get help from the system administrator.
  • Perhaps have one chat for each organization or project.
  • Is there existing IRC or other chat software that could be incorporated?

Survey Application

The survey module was started during GSoC this summer. The author will be online on freenode #sahana-ghc under the nicknames robbyoconnor or r0bby|android during the Codeathon.

  • Change it so that it uses "components" to relate survey sections to the survey, and questions to the survey sections.
  • Please keep in mind that the survey tool should be able to support question data types (defined in the user guidelines)
  • Ideally, the look and feel of the surveys should be modeled after the Rapid Assessment Tool (rat) module. (See models/ and controllers/ to get an idea of what needs to happen.)
  • We are aiming to allow non-technical users to create surveys similar to what was done in the rat module.
  • Additional Resources: User Guidelines
  • If this project is undertaken, please update the wiki documentation to match.


Optical Character Recognition

  • Integrate an OCR tool developed for GSoC into Eden.

New Use Cases

Extensions to support:

  • Organizations such as Ten Thousand Villages assist craftspeople in disadvantaged countries organize to purchase supplies and market their crafts. What would such a crafts coop need to help run their business? What's missing from Eden to support this?
  • Maitri provides support to victims of domestic violence.
    • They have a page listing resources but part of the page is organized topically and the rest by location. Consider how to store the resource data to allow displaying it either by topic or by location, and also make it searchable.
    • Look at the volunteer page. Compare with the existing (incomplete) volunteer module. What additional features might Maitri need to use the Eden volunteer module?

Image Library

Media Feed

Be able to import filtered feeds (relevant to a disaster) of media and display it on a map and/or timeline. This media could include:

  • Images (Picasa, Flickr, etc)
  • Blog Posts
  • Tweets
  • Videos (YouTube, Vimeo)

Misc. Projects

To be elaborated on later:

  • User Statistics

BluePrints BluePrints

Attachments (11)

Note: See TracWiki for help on using the wiki.