|Version 23 (modified by 10 years ago) ( diff ),|
Table of Contents
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?
Common Operational Datasets
- 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
- Admin wants to update /languages on their running instance with current version from Pootle
- Admin wants to be able to do offline translation of main language file(s) (either using native web2py UI or using a PO-based tool like Virtaal)
- Admin wants to be able to translate additional custom strings in this instance (either using native web2py UI or using a PO-based tool like Virtaal)
- Add a page to
controllers/admin.pyto handle Translations.
- Update the InstallationGuidelines with any new optional requirements (such as translate toolkit).
- 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
- 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)
- Color coded maps according to Geo-data (threats, needs, etc)
- Placing variable sized markers on the map in proportion to data (number of people in camp, number of families needing food)
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_PATH, "osm", "import.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)
e.g. Shelter needs 100 liters of water/week
Want to be able to add Scheduling functionality to Requests.
There is a wrapper for Web2Py's Scheduler class in
Can use UI ideas/code from Sync
Portuguese Volunteer Firefighters (Bombeiros) use Eden.
They get given Lat/Lon coordinates in Degrees/Minutes/Seconds, but Eden stores internally as Decimal degrees.
- Create a represent function to output the data as D/M/S
- Create a validator (& possibly widget) to allow entry of this format & have it converted to decimal dagrees for storage
Scale Uploaded Images
When images are uploaded we can limit the size, however larger pictures should be scaled instead.
This should be implemented as a Validator
modules/s3/s3validators.py). The size limitation should be configurable in the model for that specific field, with a sensible default.
Bonus points: UI to crop image (this would be a Widget:
Ideally the image would be resized client-side to make it faster to upload...this might be hard with pure JS, so would need to be Flash?
- Maybe: http://labs.corefive.com/Projects/FileManager/ (e.g. from http://code.google.com/p/django-ckeditor-filemanager/ )
Example: Personal Profile Picture
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