| 9 | === [http://wiki.openstreetmap.org OpenStreetMap] integration === |
| 10 | Leveraging the synergy of Kate Chapman's presence |
| 11 | |
| 12 | ==== Potlatch integration ==== |
| 13 | There is already a basic integration of Potlatch into Sahana Eden: |
| 14 | {{{controllers/gis.py}}} |
| 15 | |
| 16 | This could use updating & having more customisation for the Humanitarian context (there are some presets here: ) |
| 17 | & tighter integration with Sahana. |
| 18 | |
| 19 | ==== OSM Importer UI ==== |
| 20 | * There is an import stylesheet for .osm files: static/xslt/import/osm.xsl |
| 21 | * This currently has hard-coded mappings between OSM admin levels & Sahana admin levels |
| 22 | * * http://wiki.openstreetmap.org/wiki/Tag:boundary%3Dadministrative#10_admin_level_values_for_specific_countries |
| 23 | * A custom controller should be written |
| 24 | * provide a UI to the user to select their country from the dropdown which pre-populates the mapping fields for manual verification/adjustment |
| 25 | * process the results of this to pass new variables back to the stylesheet: |
| 26 | * http://pub.nursix.org/eden/s3xrc/vita.modules.s3xrc.s3rest.S3Resource-class.html#import_xml |
| 27 | {{{ |
| 28 | resource = s3xrc.resource("gis", "location") |
| 29 | template = os.path.join(request.folder, resource.XSLT_PATH, "osm", "import.xsl") |
| 30 | resource.import_xml("uploaded_filename.osm", template=template, mynewvar="xxx") |
| 31 | }}} |
| 32 | * The Stylesheet needs updating to act on these vars when found |
| 33 | |
| 34 | A nice further refinement would be to provide a UI to select a BBOX & optional filter to pull down the .osm file via [http://wiki.openstreetmap.org/wiki/XAPI XAPI] |
| 35 | * Initially this could be manual text box entry of BBOX/filter |
| 36 | * Then add a Map-based BBOX selection & dropdowns for the filter (which prepopulate the real dropdowns for manual verification/amendment) |
| 37 | |
| 38 | === Translations Admin Panel === |
| 39 | ==== Use Cases ==== |
| 40 | * Admin wants to update /languages on their running instance with current version from Pootle |
| 41 | * 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) |
| 42 | * 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) |
| 43 | |
| 44 | ==== Tasks ==== |
| 45 | * Add a page to {{{controllers/admin.py}}} to handle Translations. |
| 46 | * Update the InstallationGuidelines with any new optional requirements (such as translate toolkit). |
| 47 | * Gracefully give nice error messages if the translate toolkit isn't installed. |
| 48 | * Update UserGuidelinesLocalisation |
| 49 | |
| 50 | ==== Export PO file ==== |
| 51 | * Dropdown to select which language |
| 52 | * Button to call [http://translate.sourceforge.net/wiki/toolkit/py2web2po web2py2po] to convert the .py file to a standard PO file for the user to download |
| 53 | |
| 54 | ==== Import PO file ==== |
| 55 | * Upload Widget which calls [http://translate.sourceforge.net/wiki/toolkit/py2web2po po2web2py] onaccept to convert a .po file to a Web2Py .py file stored in the languages folder |
| 56 | * Use the same filename prefix or prompt? |
| 57 | * Do a merge |
| 58 | |
| 59 | ==== Update Pootle ==== |
| 60 | Provide a set of admin scripts (bzr post-commit hook?) to update Pootle with any changed strings as a Merge. |