|Version 154 (modified by 11 years ago) ( diff ),|
Table of Contents
- Non-Coding Projects
- Project: Testing
- Project: Documentation
- Project: Ticket Verification
- Project: Collate Organisation List
- Project: Stock Taking of Humanitarian Catalogues
- Project: Scenario Cards
- Project: Icons
- Action Icons
- Project: Sahana Eden Theme
- Infrastructure Projects
- Basic Coding Projects
- Advanced Coding Projects
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 (GIC)
Grace Hopper Celebration Codeathon for Humanity 2010 (GHC)
Projects that do not involve Coding but may involve design, using the software, writing documentation, etc.
Role-Play Being a User
- Bugs - Try to break it!
- Think about how could it be better
- Try Sahana Eden out -- you can use:
- Your locally-installed Sahana Eden site -- see these setup instructions:
- Or, you can use a running Sahana Eden web site:
- Modules that could use some usability improvement:
- New or unfinished modules that would benefit from feature and workflow suggestions:
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?
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
- 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.
- Look at the bug testing project description for the web sites to test (or for installing your own copy if the software, if you'd rather).
- Go through the list of open bugs. Look at reports that have type "defect". Try to reproduce the problem reported in the ticket:
- If the issue is gone, add a reply to the ticket with what you did and "resolve" the ticket as "invalid". (The submitter can still reply and reopen the bug if they want.)
- If you can reproduce the issue but the description isn't clear, add better "how to reproduce" instructions.
- If you can't figure out what the ticket means, add a reply that tells the ticket reporter what info would be helpful.
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 ):
- http://procurement.ifrc.org/catalogue/ or http://www.icrc.org/emergency-items/
- WHO supply catalogue
- http://www.logcluster.org/ may also be a good resource
For each Catalogue list:
- 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
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:
- 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
- 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
Sahana Eden could be made more visually appealing by having icons designed.
- Projects (See BluePrintProjectManagement)
- Camps / Temporary Shelters
- Camp Coordination/Management
- Early Recovery
- Emergency Shelter
- Emergency Telecommunications
- Water Sanitation Hygiene
- Organisation Registry
- Inventory/Warehouse Management
- Incident Reporting
- Request Management
- Project Tracking
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!
- Home Page - http://dmc.sahanafoundation.org/eden/
- Dashboard - http://dmc.sahanafoundation.org/eden/org/index
- List View - http://dmc.sahanafoundation.org/eden/project/activity
- List Add View - http://dmc.sahanafoundation.org/eden/org/organisation (requires login)
- Component View - http://dmc.sahanafoundation.org/eden/org/organisation/8/store
Please share the image files and the original design files (preferably an open standard)
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
- Pick from these easy bugs for new Eden developers.
- 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?
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:
Translations Admin Panel
- Add a page to
controllers/admin.pyto 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
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)
- 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
- 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:
resource = s3xrc.resource("gis", "location") template = os.path.join(request.folder, resource.XSLT_IMPORT_TEMPLATES, "osm.xsl") resource.import_xml("uploaded_filename.osm", template=template, mynewvar="xxx")
- 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)
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
- Installation scripts or packages for operating systems and distributions that aren't already available (i.e. other than Windows or Debian/Ubuntu).
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:
- Allow Sahana to import Wikipedia locations easily
- probably more about work in Wikipedia/Geohack.
- Popup to do Advanced Search for a Field (better than simple AutoComplete)
- Finish the multi-file upload widget in Bulk Uploader
- Port from Ext-2.2.1 to Ext-3.2.1
Fix Web2Py Cron on Win32 Service
Web2Py has a nice Cron utility, but this doesn't work currently on Win32 in Service mode: #438
- 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
- 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.
- NCSU Students working on this
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?
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.
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?
- 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
To be elaborated on later:
- Image Importer
- YouTube Importer
- User Statistics
- Pakistan Organisations.csv (22.9 KB ) - added by 12 years ago.
- SahanaCamp Simulation.doc (2.1 MB ) - added by 12 years ago.
- Sahana Eden - Home.jpg (152.0 KB ) - added by 12 years ago.
- Sahana Eden - Dashboard.jpg (134.6 KB ) - added by 12 years ago.
- Sahana Eden - List.jpg (178.4 KB ) - added by 12 years ago.
- Sahana Eden - List Add.jpg (128.5 KB ) - added by 12 years ago.
- Sahana Eden - Components.jpg (93.8 KB ) - added by 12 years ago.
- Haiti Organisations.csv (130.9 KB ) - added by 12 years ago.
- DRR Project Portal Organisations.csv (242.6 KB ) - added by 12 years ago.
- Organisation Collation from GCI Task 1.xls (255.5 KB ) - added by 11 years ago.
- Icons.zip (508.5 KB ) - added by 11 years ago.