Table of Contents
- Non-Coding Projects
- Infrastructure Projects
- Basic Coding Projects
- Advanced Coding Projects
- Web Setup
- Migrate Features from DRR Project Portal
- GIS/Mapping
- Fix Web2Py Cron on Win32 Service
- Framework
- Test Automation
- Tweet / SMS Parsing
- Job Jar
- Mobile Photo/Video Upload
- Run Eden on a smart phone
- Installation Web Interface
- Chat in Sahana
- Survey Application
- OCR
- New Use Cases
- Image Library
- Media Feed
- Misc. Projects
Project Information
The information on this page is being moved to Projects. The information here may be obsolete.
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)
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
GCI
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: http://demo.eden.sahanafoundation.org
- 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:
- Check that the bug isn't already reported: Search Tickets
- Follow the Bug Reporting Guidelines.
- Start with the demo system, and register for an account there: http://demo.eden.sahanafoundation.org
- Think about how could it be better.
- Try Sahana Eden out -- you can use:
- A running Sahana Eden demo site
- Your locally-installed Sahana Eden site -- see these setup instructions:
- Instructions for running Sahana Eden in a virtual machine (for developers but also convenient for testing because this can be updated to the latest version).
- For reference, here is the list of all types of installations.
- Modules that could use some usability improvement:
- All of them, but in particular:
- Mapping
- Shelter registry
- Hospital registry
- Person registry
- 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
GCI
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 eden.sahanafoundation.org 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 http://eden.sahanafoundation.org/wiki/NewIncidentReporting 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
GCI
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
GCI
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
GCI
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 ):
- https://www.cimicweb.org/cmo/haiti/Crisis%20Documents/Shelter%20Cluster/USAID%20OFDA%20Warehouse%20commodity%20catalog.pdf
- http://procurement.ifrc.org/catalogue/ or http://www.icrc.org/emergency-items/
- http://www.unhcr.org/4bc431359.pdf
- WHO supply catalogue
- http://www.supply.unicef.dk/catalogue/Emergency_Items.pdf
- http://www.logcluster.org/ may also be a good resource
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
GCI
Running simulations of disaster scenarios is crucial to:
- Test that Sahana works correctly
- Train people to use Sahana
- Familiarise programmers with the Disaster management domain.
- Interest people in the project
We have a number of different resources on simulations currently available:
- SahanaCamp 1.0
- SahanaCamp 1.2
- ADPC DMC40 - Decision Making Exercise
- http://dmc.sahanafoundation.org
- Contains Sample Assessment Information relating to Flooding in Vietnam.
- Using the Gap Report and Gap Map, identify what additional Activities need to be planned by which Organisations to fill the gaps identified by the Assessments.
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
GCI
Sahana Eden could be made more visually appealing by having icons designed.
See http://bazaar.launchpad.net/~flavour/sahana-eden/trunk/files/head%3A/static/img/markers/ 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
GCI
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!
- Home Page - http://demo.eden.sahanafoundation.org/eden/
- Dashboard - http://demo.eden.sahanafoundation.org/eden/org/index
- List View - http://demo.eden.sahanafoundation.org/eden/project/activity
- List Add View - http://demo.eden.sahanafoundation.org/eden/org/organisation (requires login)
- Component View - http://demo.eden.sahanafoundation.org/eden/org/organisation/8/store
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
GCI
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
Note: As of January 2012, BZR/Launchpad info for eden is deprecated. Please visit the GitHub page. Thanks.
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. [Be very cautious about doing this. If bzr downloads a very large revision, e.g. the proposed very large initial code, that single large revision may take more than an hour on some slower connections. This will trigger a Launchpad timeout and kill the download. If you prevent me from branching from Launchpad, I will be very unhappy. I already cannot branch Web2py because of this issue. Reported as a ticket against Launchpad, but as yet unsolved. -- Pat]
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
GCI
- Pick from these easy bugs for new Eden developers.
Feature Enhancements
- Fix UI issues, add features, provide user-requested enhancements.
- You can pick from these feature requests.
- 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:
CAP: Common Alerting Protocol
- BluePrintMessagingModule#CAP
- Complete the Model definitions that have been started in models/msg.py
- Think about some workflow for how this could be used
Common Operational Datasets
- http://oneresponse.info/resources/imtoolbox/publicdocuments/IASC%20Guidelines%20on%20Common%20Operational%20Datasets%20in%20Disaster%20Preparedness%20and%20Response%201%20Nov.%202010.pdf
- Complete the Model definitions that have been started in models/08_assess.py
- Think about how we could make use of them
- Display on the Map
- Have Reports which compare the baseline & situational assessments
Translations Admin Panel
- Add a page to
controllers/admin.py
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.
GIS/Mapping
These are a various GIS/Mapping Tasks:
- Add a delay to the onHover tooltip (highlightControl)
- Something like hoverIntent
- 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
- This was working in FF before: http://eden.sahanafoundation.org/browser/views/sahana_scripts_min.html?rev=836#L39
- 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
- There is an import stylesheet for .osm files: static/xslt/import/osm.xsl
- This currently has hard-coded mappings between OSM admin levels & Sahana admin levels
- A custom controller should be written
- provide a UI to the user to select their country from the dropdown which pre-populates the mapping fields for manual verification/adjustment
- process the results of this to pass new variables back to the stylesheet:
- http://pub.nursix.org/eden/s3xrc/vita.modules.s3xrc.s3rest.S3Resource-class.html#import_xml
resource = s3xrc.resource("gis", "location") template = os.path.join(request.folder, resource.XSLT_PATH, "osm", "import.xsl") resource.import_xml("uploaded_filename.osm", template=template, mynewvar="xxx")
- http://pub.nursix.org/eden/s3xrc/vita.modules.s3xrc.s3rest.S3Resource-class.html#import_xml
- The Stylesheet needs updating to act on these vars when found
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: http://groups.google.com/group/sahana-eden/browse_thread/thread/bbda1e98b73e1437
SysAdmin
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
Web Setup
Migrate Features from DRR Project Portal
The DRR Project Portal (www.drrprojects.net) was developed with an earlier version of Sahana Eden. However, due to time constraints and a rapidly changing trunk code base,the DRR Project Portal (DRR PP) Code (https://code.launchpad.net/~michael-howden/sahana-eden/adpc) diverged. There are a number of features in the DRR PP code which would be great to have ported back into trunk (and could make use of some off the newly developed features to be implemented more efficiently):
- Subscription to searches, which enable people to get email notifications when new projects are added.
- Matrix Report (http://www.drrprojects.net/drrp/drrpp/project/matrix) which allows information to be analysed.
- Graph views of resources. (http://www.drrprojects.net/drrp/drrpp/project/graphs)
- Improved User Interface design. Although the design is specific to the DRR PP, some of the elements could be utilised.
- Improved handling of registration.
- Ability to submit information to the portal, but not share it until it has been approved.
- Truncate cells in data tables (but have ability to expand)
- Check for invalid characters in excel export
It would also be advantageous to have the DRR PP running on the latest version of Sahana Eden to take advantage of new features and optimisations in Trunk.
GIS/Mapping
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
- Probably more about work in Wikipedia/Geohack to get these stored in a strctured way & an API to extract the data.
- Similar need to: http://wiki.rhok.org/Population_Centers_in_Disaster
Fix Web2Py Cron on Win32 Service
Web2Py has a nice Cron utility, but this doesn't work currently on Win32 in Service mode: #438
Framework
- Provide localisation of jquery.ui.datepicker
- Means that user profile will need extending to support locales
- Replace jquery.autocomplete.js with jquery.ui.autocomplete.js (1.8.2)
- Replace jquery.cluetip.js with jquery.ui.tooltip.js (1.9 once released)
- Decorator to restrict access to a function based on multiple roles
- Improve UI for Many<>Many
- e.g. Admin Users/Groups
- e.g. GIS Layer Catalogue (esp FeatureClasses/FeatureGroups)
- e.g. Messaging Users/Groups
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
- Parse formatted SMS messages or tweets (e.g. key value pairs).
- Detect when message interpretation isn't certain and dispatch to a human reader (use existing "task" database, or Job Jar, below!).
- Create database records from parsed messages.
- BluePrintMessagingModule#Twitter
- NCSU Students working on this
- BluePrintMessagingModule#Micro-Syntax
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
- See BluePrintMobileClient.
- Alternate Layout for web view: BluePrintCSS
- NCSU Students working on this
- Android Application: MobileAndroid
- NCSU Students working on this
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/rat.py and controllers/rat.py 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.
OCR
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
- Provide a .represent for the view to display image thumbnail with option to zoom large (such as Fancyzoom)
- Provide a beautiful image viewer to flip between images
- Use Mapping API to display images on Map
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
Attachments (11)
- Pakistan Organisations.csv (22.9 KB ) - added by 14 years ago.
- SahanaCamp Simulation.doc (2.1 MB ) - added by 14 years ago.
- Sahana Eden - Home.jpg (152.0 KB ) - added by 14 years ago.
- Sahana Eden - Dashboard.jpg (134.6 KB ) - added by 14 years ago.
- Sahana Eden - List.jpg (178.4 KB ) - added by 14 years ago.
- Sahana Eden - List Add.jpg (128.5 KB ) - added by 14 years ago.
- Sahana Eden - Components.jpg (93.8 KB ) - added by 14 years ago.
- Haiti Organisations.csv (130.9 KB ) - added by 14 years ago.
- DRR Project Portal Organisations.csv (242.6 KB ) - added by 14 years ago.
- Organisation Collation from GCI Task 1.xls (255.5 KB ) - added by 14 years ago.
- Icons.zip (508.5 KB ) - added by 14 years ago.