Version 5 (modified by 11 years ago) ( diff ) | ,
---|
Tasks
Table of Contents
These are quick tasks suitable for GCI or Hackathons.
For other tasks, see:
Easy Tasks
Tasks for beginning coders, or if new to Python or web services
Fix a Ticket
Pick a ticket (which could be a bug or an enhancement) from http://eden.sahanafoundation.org/report/1. First ensure that you can repeat this in your local instance - if not: MODIFY TICKET > resolve as > worksforme. If the bug is still present, assign the ticket to yourself. Then fix the bug or implement the feature. Submit your code as a patch to the ticket on Trac, then notify the Sahana-Eden mailing list about your patch for verification. Please submit as a patch file, not zipped. That makes it easier to review without downloading and unzipping. Alternatively (preferred method) push your code in a single commit to your Github repository and make a pull request.
Easy tickets to get started on are listed here: http://eden.sahanafoundation.org/report/18
Common Operational Datasets
- Purpose and schemas for common datasets (schemas are at end): http://oneresponse.info/resources/imtoolbox/publicdocuments/IASC%20Guidelines%20on%20Common%20Operational%20Datasets%20in%20Disaster%20Preparedness%20and%20Response%201%20Nov.%202010.pdf
- Add model definitions for these schemas. This work was started but is not included in the current version of Eden. An example from an old version is here: 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?
GIS/Mapping [multiple tasks]
These are 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
- Layer Tree
- Map Preview when Lat/Lon set in pr/person/presence (auto or not)
- Color coded maps according to Geo-data (threats, needs, etc)
- Place variable sized markers on the map in proportion to data (number of people in camp, number of families needing food)
Lat/Lon converter [GCI]
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 degrees minutes seconds, e.g. 57°55'56.6"E.
- Create a validator (& possibly widget) to allow entry of this format (allowing for variations in input format like spaces and absence of the degree symbol, which most keyboards don't have) & have it converted to decimal degrees for storage
Scale Uploaded Images [GCI]
When images are uploaded we can limit the size, however larger pictures should be scaled instead. Example: personal profile picture.
- [GCI task, #1017] UI to to allow user to crop image (this would be a widget:
modules/s3/s3widgets.py
)- 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/ )
Map elements between EDXL-SITREP and EDXL-RM
Not added to GCI spreadsheet -- time required says a week.
Proposed by: | Nuwan
Specific : There are several elements within the | EDXL-SITREP data standard that are identical to that of | EDXL-RM. The objective is to create a descriptive table of those elements that a programmer can use to develop a set of procedures to strip the RM data from SITREP to manage records in the relational database
Measurable : Requires diligently investigating each and every data element then comparing them with the two data standards SITREP and RM. Requires knowledge of data types and XML. If not, this exercise will help the student learn about XML and data standards
Attainable :
Step 1 :: Go through EDXL-RM and EDXL-SITREP documentations
Step 2 :: create example files to get an understanding of the data and structure
Step 3 :: develop the table with RM and SITREP elements with a description
Step 4 :: develop a simple XSL file to strip the RM data from SITREP
Relevant : Applies to Sahana interoperability policy. Given that Eden does support resource and incident management, it is important to derive the response resources and resource requirements from situational reports. This function would help automate some of those data extraction functions. That requires integrating the SITREP and RM components with underlying Eden schema
Time-bound : The exercise of understanding the data standards and mapping the elements should not take more than one week. developing a XSL to test the mapping may take another week, depending on the level of expertise with XML. (NB this is far too large a task for GCI. -- Pat)
Evaluate : The mapping table is the determining output. However, the example RM and SITREP files are also required.
Reevaluate : If the XSL transformation is developed, then the mapping can be tested with the sample RM and SITREP files
Intermediate Tasks
Feature Enhancements
- Fix UI issues, add features, provide user-requested enhancements.
- You can pick from these feature requests.
OSM Importer UI [GCI]
Current Status
- 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
- There is an S3ImportPOI method to allow features to be extracted from either an uploaded .osm file or an OSM mirror:
- https://github.com/flavour/eden/blob/master/modules/s3/s3gis.py#L7938
- this is accessed from the 'Import from OpenStreetMap menu option in /eden/gis
Enhancements Needed
5 separate GCI Tasks here:
- We need to add the Sahana UUID to these features in the OSM database.
- This is needed so that we can do deduplication on subsequent imports (the OSM ID is insufficient for this as it can change over time)
- This means we need to read the OSM credentials (currently a deployment_setting in 000_config.py) & do a REST API call to the main OSM database with the modified feature(s)
- Move the OSM credentials from a global 000_config.py deployment_setting to a per-user setting (component resource of db.auth_user)
- We would like to be able to control which features are imported from this UI (currently this is a deployment_setting in [000_]config.py - that should become the list of avaialble options rather than the absolute list)
- We would like to be able to download features for a Location from main OSM database
- We want to use the Polygon (falling-back to BBOX (min_lat, max_lon, etc)) to trigger a download of a suitably-filtered .osm file via the Overpass API
- We would like to be able to download features for a Polygon
- Provide a map window with a Polygon selector tool which then triggers a download of a suitably-filtered .osm file via the Overpass API
Fix a Hard Ticket
http://eden.sahanafoundation.org/report/1 Pick a bug report from http://eden.sahanafoundation.org/report/1, try to reproduce the issue in a local instance, fix the problem and submit a patch to the ticket on Trac, then notify the Sahana-Eden mailing list about your patch for verification.