wiki:Contribute/Code

Version 13 (modified by Fran Boon, 13 years ago) ( diff )

--

Basic Coding Projects

Projects for beginning coders, or if new to Python or web services

Easy Tickets

GCI

Feature Enhancements

  • 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?

CAP: Common Alerting Protocol

Common Operational Datasets

Translations Admin Panel

Use Cases

  • 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)

Tasks

  • Add a page to controllers/admin.py to 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

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)
  • 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
  • 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)

Use the Mapping API to:

  • 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

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)

Recurring Requests

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 modules/s3/s3task.py

Can use UI ideas/code from Sync

Lat/Lon converter

Portuguese Volunteer Firefighters (Bombeiros) use Eden.

They get given Lat/Lon coordinates in Degrees/Minutes/Seconds, but Eden stores internally as Decimal degrees.

Tasks:

  • 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

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

Projects Projects

Note: See TracWiki for help on using the wiki.