|Version 117 (modified by 11 years ago) ( diff ),|
Table of Contents
- Basic Coding Projects
- Advanced Coding Projects
- Misc. GIS/Mapping
- Test automation
- Tweet or SMS parsing -- allow users to provide info via tweets or …
- Sending Tweets
- Job Jar -- manage tasks performed on the site, e.g. data entry
- Mobile photo or 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:
- Basic Coding
- Advanced Coding
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)
Projects that do not involve programming.
- Role-play being a user:
- Improve usability:
- Find bugs:
- Try to break it.
- Report bugs.
- Document it:
- Explore it and document the existing workflow.
- Develop a how-to guide for users.
- Write tooltips (help info) for fields on forms.
- What's missing?
- What did you want to do that wasn't available?
- Where is the workflow inconvenient?
- Request features and suggest improvements.
- Find bugs:
- Modules that could use some usability improvement:
- New or unfinished modules that would benefit from feature and workflow suggestions:
Some bugs 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 bug:
- If the bug is gone, add a reply to the ticket with what you did and "resolve" the bug as "invalid". (The submitter can still reply and reopen the bug if they want.)
- If you can reproduce the bug 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 bug reporter what info would be helpful.
Current relief efforts
- Pakistan floods -- see background information.
Improve installation procedures
- Step-by-step documentation -- we have been concentrating on Windows & Debian/Ubuntu so other distros are poorly-documented.
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.
- 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
- Figure out how to do unit tests against a web application.
- Write unit and functional tests.
Tweet or 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
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 or 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 11 years ago.
- SahanaCamp Simulation.doc (2.1 MB ) - added by 11 years ago.
- Sahana Eden - Home.jpg (152.0 KB ) - added by 11 years ago.
- Sahana Eden - Dashboard.jpg (134.6 KB ) - added by 11 years ago.
- Sahana Eden - List.jpg (178.4 KB ) - added by 11 years ago.
- Sahana Eden - List Add.jpg (128.5 KB ) - added by 11 years ago.
- Sahana Eden - Components.jpg (93.8 KB ) - added by 11 years ago.
- Haiti Organisations.csv (130.9 KB ) - added by 11 years ago.
- DRR Project Portal Organisations.csv (242.6 KB ) - added by 11 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.