|Version 123 (modified by 13 years ago) ( diff ),|
Table of Contents
- Non-Technical Projects
- Infrastructure Projects
- Basic Coding Projects
- Advanced Coding Projects
- Ideas: GIS/Mapping
- Test Automation
- Tweet / SMS Parsing
- Sending Tweets
- Job Jar
- Mobile Photo/Video Upload
- Run Eden on a smart phone
- Web interface for customizing new Eden sites
- Chat with other logged in users
- Refactor and complete the Survey module
- Optical character recognition
- Extensions to support new use cases
- Image Library
- Misc. 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 specific events/programs will be marked with its initials, however people associated with these events are still welcome to work on the projects.
Google Code In 2010 (GIC)
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 .
Projects that do not involve programming.
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 site
- demo site
- user test site for Pakistan floods response
- Modules that could use some usability improvement:
- All of them, but in particular:
- Shelter registry
- Hospital registry
- Person registry
- New or unfinished modules that would benefit from feature and workflow suggestions:
Document Existing Functionality:
- Document the existing workflow.
- Develop how-to guide for users, including screen shots. See UserGuidelines.
Reporting 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: Ticket Verification
Some tickets have been left open even though they've been fixed. Others don't have much information.
- Go through the list of open bugs and try to reproduce the ticket issue:
- 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.
Projects that may involved varying degrees of technical skills, but not programming.
Project: Improve Installation Documentation
GCI 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.
- Or talk to the folks at the Codeathon who are cataloging issues.
- 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:
A favorite missing feature is geocoding addresses. There is already a geocoding service supported in Eden, but it's not used when a user adds a location. Your job:
- Find the geocoding function.
- When the user adds a location and enters an address, use the geocoding function to get latitude and longitude.
These are a number of various GIS/Mapping Tasks:
- Use the GeoCoder (
controllers/gis.py) to lookup location Lat/Lons
- Add a delay to the onHover tooltip (highlightControl)
- Something like hoverIntent
- Integrate 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)
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
- 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
- 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
- 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
Web interface for customizing new Eden sites
- See notes toward web-based setup and customization: BluePrintWebSetup.
Chat 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?
Refactor and complete the Survey module
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.
Extensions to support new use cases
- 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 13 years ago.
- SahanaCamp Simulation.doc (2.1 MB ) - added by 13 years ago.
- Sahana Eden - Home.jpg (152.0 KB ) - added by 13 years ago.
- Sahana Eden - Dashboard.jpg (134.6 KB ) - added by 13 years ago.
- Sahana Eden - List.jpg (178.4 KB ) - added by 13 years ago.
- Sahana Eden - List Add.jpg (128.5 KB ) - added by 13 years ago.
- Sahana Eden - Components.jpg (93.8 KB ) - added by 13 years ago.
- Haiti Organisations.csv (130.9 KB ) - added by 13 years ago.
- DRR Project Portal Organisations.csv (242.6 KB ) - added by 13 years ago.
- Organisation Collation from GCI Task 1.xls (255.5 KB ) - added by 13 years ago.
- Icons.zip (508.5 KB ) - added by 12 years ago.