| 1 | | = Tasks = |
| 2 | | [[TOC]] |
| 3 | | |
| 4 | | These are quick tasks suitable for GCI or Hackathons. |
| 5 | | |
| 6 | | For other tasks, see: |
| 7 | | * [wiki:Contribute/Code] |
| 8 | | |
| 9 | | == Easy Tasks == |
| 10 | | ''Tasks for beginning coders, or if new to Python or web services'' |
| 11 | | |
| 12 | | === Action !ToDos in code === |
| 13 | | NOTE: The line reference may no longer be correct, so the code for {{{@ToDo}}} or the variable names, e.g.: |
| 14 | | * Migrate represents to S3Represent |
| 15 | | * project_assignee_represent (https://github.com/flavour/eden/blob/master/modules/s3db/project.py#L4928), for an example see: project_TaskRepresent (https://github.com/flavour/eden/blob/master/modules/s3db/project.py#L5677) or search for other uses of S3Represent. |
| 16 | | * Migrate custom methods to use settings.get_ui_formstyle() |
| 17 | | * S3ImportPoI (https://github.com/flavour/eden/blob/master/modules/s3/s3gis.py#L8634) |
| 18 | | * Extend S3AddPersonWidget2 to have an option to enter names into 2-3 different fields instead of a single field |
| 19 | | * https://github.com/flavour/eden/blob/master/modules/s3/s3widgets.py#L619 |
| 20 | | * https://github.com/flavour/eden/blob/master/static/scripts/S3/s3.add_person.js |
| 21 | | * Complete S3UpdateLocation() |
| 22 | | * https://github.com/flavour/eden/blob/master/modules/s3/s3track.py#L707 |
| 23 | | * e.g. with the event_resource model: https://github.com/flavour/eden/blob/master/modules/s3db/event.py#L933 |
| 24 | | * For all {{@ToDo}}}s see: https://github.com/flavour/eden/search?q=%22%40todo%22&type=Code |
| 25 | | === Fix a Ticket === |
| 26 | | 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. |
| 27 | | |
| 28 | | Easy tickets to get started on are listed here: http://eden.sahanafoundation.org/report/18 |
| 29 | | |
| 30 | | There are also a number of tasks for the [wiki:Deployments/Philippines/Haiyan Hilippines Haiyan Response] listed here: https://hackpad.com/Typhoon-Haiyan-opXJaZLz8gu which can be completed (these can count towards GCI). |
| 31 | | |
| 32 | | When you are working on the ticket as a part of GCI task, first add a keyword to the ticket "GCI TASK". If you unclaim the task or want to work on another ticket please remove the keyword. |
| 33 | | |
| 34 | | === Resolve an issue from a Disaster Response === |
| 35 | | During disasters the Sahana Community does a lot of work to deploy Sahana to help affected communities. Often there is more work than can be completed - but you can help to address some of these issues before the next disaster: |
| 36 | | * [https://hackpad.com/Typhoon-Haiyan-opXJaZLz8gu Typhoon Haiyan] |
| 37 | | |
| 38 | | === Common Operational Datasets === |
| 39 | | * 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 |
| 40 | | * 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: [http://bazaar.launchpad.net/~flavour/sahana-eden/trunk/view/head:/models/08_assess.py#L1825 models/08_assess.py] |
| 41 | | * Think about how we could make use of them. |
| 42 | | * Display on the Map? |
| 43 | | * Have Reports which compare the baseline & situational assessments? |
| 44 | | |
| 45 | | === GIS/Mapping [multiple tasks] === |
| 46 | | These are various GIS/Mapping Tasks: |
| 47 | | * [=#FeaturePopupWindow]'''Make the display_feature() & display_features() popup a Window''' instead of opening in a DIV |
| 48 | | * This was working in FF before: http://eden.sahanafoundation.org/browser/views/sahana_scripts_min.html?rev=836#L39 |
| 49 | | * [=#LayerTree]'''[http://dev.geoext.org/trunk/geoext/examples/tree.html Layer Tree]''' |
| 50 | | * [=#MapPreview]'''Map Preview when !Lat/Lon set in pr/person/presence''' (auto or not) |
| 51 | | |
| 52 | | [DeveloperGuidelines/GIS Use the Mapping API to:] |
| 53 | | * [=#ColorCodedMaps]'''Color coded maps according to Geo-data''' (threats, needs, etc) |
| 54 | | * [=#VariableSizedMarkers]'''Place variable sized markers on the map in proportion to data''' (number of people in camp, number of families needing food) |
| 55 | | |
| 56 | | === !Lat/Lon converter [GCI] === |
| 57 | | Portuguese Volunteer Firefighters ([Deployments/Portugal/Bombeiros Bombeiros]) use Eden. |
| 58 | | |
| 59 | | They get given !Lat/Lon coordinates in degrees minutes seconds, but Eden stores internally as decimal degrees. |
| 60 | | |
| 61 | | Tasks: |
| 62 | | * 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 |
| 63 | | |
| 64 | | === Scale Uploaded Images [GCI] === |
| 65 | | When images are uploaded we can limit the size, however larger pictures should be scaled instead. Example: personal profile picture. |
| 66 | | |
| 67 | | * [GCI task, #1017] UI to to allow user to crop image (this would be a widget: {{{modules/s3/s3widgets.py}}}) |
| 68 | | * 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? |
| 69 | | * Maybe: http://labs.corefive.com/Projects/FileManager/ (e.g. from http://code.google.com/p/django-ckeditor-filemanager/ ) |
| | 1 | See: Contribute/Code |