[[TOC]] = Pakistan Developers = If you have skills in Python, !JavaScript (jQuery, Ext &/or !OpenLayers) or CSS then you're most welcome to help with code. == Getting Started == * InstallationGuidelinesDeveloper * DeveloperGuidelines * [http://www.slideshare.net/AidIQ/sahana-introduction-to-the-code-v2 Tutorial Presentation] == Know Java? == WE NEED YOU! Check out: [wiki:PakistanDevelopers#Printing Printing] == Open Tickets == Please feel free to go ahead and resolve any of these tickets * [http://eden.sahanafoundation.org/report/16 Open Tickets in Trac] == Feature Requests == === Requests Management === * #495: Request Priority level .represent doesn't work nicely in a Popup (done) * [BluePrintRequestTracking#UsabilitysuggestionforPakistanVersion Usability suggestions] * Add an Organisation default pre-fill routine (like staff in RAT) * Add hospital_id to the rms_req table & deprecate the mini-RMS inside HMS * Add a link to create a Req from a Hospital (just like we have from a Shelter) === Inventory === See: BluePrintInventoryManagement === Map === * Map requires a refresh to get icons to appear at proper size (Firefox/IE. Chrome/Safari stay small): #493 * This makes the highlightControl popups much more painful * Approach to debug: http://docs.openlayers.org/help/minimize.html * Provide a Legend for Feature Layers in full-screen mode: #499 * Fresh water source !PoIs * Water !FeatureClass is there in the Programme !FeatureGroup, so can be added already although a nicer UI would be great * Could use the Landmark model as a basis: http://pakistan.sahanafoundation.org/eden/gis/landmark * Could also have a custom map query which displays a Water layer for all Shelters which provide Water Services ==== Data ==== * We need amend the current hierarchy to add a new L3 'Tehsil' between 'District' & 'Union Council' * Import Locations * see [wiki:PakistanUserGuide#LocationsHierarchy] * e.g. from [wiki:UserGuidelinesGISData#Geonames Geonames] * L1 Polygons: http://finder.geocommons.com/overlays/61368 * L1 & a few L2s: http://downloads.cloudmade.com/asia/pakistan * http://www.gadm.org/data/shp/PAK_adm.zip (L0-L2 polygons, possibly L2 is out of date) * http://pakgis.blogspot.com/2009/07/vector-datasets_22.html (L0-L2 polygons; also Tehsils (sub-districts) may be available on request) * ~~Lock down L1-L3 Locations~~ * De-duplication of existing locations: #482 (code done: still needs someone to go through & make use of) * Import !GeoData into !GeoServer for more advanced GIS: #497 * WFS Support * Look for Overlays we could add to Map: * http://ags.pdc.org/rest/services/Pakistan/PAKISTAN_FLOOD/MapServer * Example: http://www.esri.com/services/disaster-response/pakistan-flood-2010/index.html * http://blog.fortiusone.com/2010/08/18/1435/ * Good to be able to support the Photos (currently shows 'undefined' for all attributes): http://finder.geocommons.com/overlays/61378 ==== Locations Selector ==== * [wiki:BluePrintGISLocationsHierarchy Location Selector]: * [wiki:BluePrintGISSelectLocationFromMap Add Location by placing cursor on Map]: #487 (done basics) * Read/Update screens should have a Marker visible to start with * Want to zoom to the relevant area of the map based on the selected locations hierarchy (needs polygon data) * Update map should use Drag tool not Draw tool? * When selecting Lat Lon from the map, change the mouse cursor to cross hairs * Hierarchical Autocomplete for Locations: #502 * Submit Button * name field not being detected * update URL used for create (although it works!) * UUID field not being added on update forms * Update form * Hierarchy needs populating from old record * Need visible Marker on Map * Add Geocoder support * Add Street Address * Don't display Lat/Lon for Admin levels (Lx)? * See nearby locations & be able to select them? * shn_read - replace existing system in read/list? * if shn_has_role(MapAdmin): Provide an 'Add Location' option next to each level of hierarchy (simplified Ext popup not colorbox?) * Changing things in higher levels should clear lower levels? * L1-L4 Feature Classes shouldn't be selectable by non-!MapAdmins (& should be auto-selected by !MapAdmins) * Remove Feature Classes completely from Locations (replace with Feature Layers (i.e. Queries)) * [wiki:BluePrintGISLocationsSearch Location Search] ==== Popups ==== * Should add an 'Open' hyperlink to open the resource (in a new tab?) * Locations have a URL which doesn't work (wants to open map in JS div) * Hide blank fields? * Customised Popups for Incidents, Assessments & Requests * Hide fields which aren't so necessary to make the critical ones stand out * It would be good if the map pop-ups showed the resource type as a header at the top - currently it isn't entirely clear what the popup is showing. * Fix Clustering: #498 (done) * ~~Cluster Popups with multiple records should show 'name - type' not just 'name'~~ * Better still: {{{ Location A - - - Location B - - - If there is more than one location listed include: "Zoom in for detail" }}} ==== Printing ==== * [wiki:InstallationGuidelinesGISData#Printing] * http://trac.mapfish.org/trac/mapfish/ticket/161 * NB This will only be able to see Feature Layers exposed as web services (KML/GeoRSS) ''Would like to see A4 District-level maps with names and boundaries of Tehsils that we can insert text and tables onto top of.'' This is about controlling the layout of a printed map rather than using an interactive map. Need to do some thinking of how this should look: * is the 'text' labels? * is the 'tables' popups? Can we have a popup moved to a different part of the screen to control printed layout? === Shelter Registry === * On the map, where it shows the shelter, it should show the comments as well, so that one could easily find the requisite facilities. These facilities should be searchable though. * BluePrintShelterRegister - Usability suggestion * Move School Reports to CR (they are Shelters) (-> PTressel) * When adding a Union Council from a School Report, would be nice to have the Parent pre-populated too * Link CR to RMS * We can use auto complete in the Shelter/Relief Camp text box, as the number of shelters would be large; or we can use Ajax to populate the combo box of shelters that are registered at a location, after the user chooses the location. * Provide Estimations of Requirements === Assessments === * Complete [http://www.ecbproject.org/page/48 ECB's Rapid Assessment Tool] - Dominic === Incident Reporting === * .represent for irs_iimage.image as a thumbnail (like for gis_marker) * #508: [BluePrintIncidentReporting#SimplifiedCategories Provide normal users with a simplified set of options for Category] === Floods === * Add support for info from 2nd report on: http://www.radio.gov.pk/flood.asp === Reports === * Recent Activity on the site (read our own RSS feeds?) * Summary info (similar to the SUMMARY-FAP.pdf & WFP .ppt) * Flood alerts like: http://www.reliefweb.int/rw/fullmaps_sa.nsf/luFullMap/F4CC4F05DE48DA6EC1257783003580AC/$File/Map.jpg.jpg?OpenElement&emid=FL-2010-000141-PAK * jqplot? * Map * KML XSLT (=>Dominic) === Misc === * Make all Tooltips onHover, not onClick? * Would be good to write a custom PDF writer for this format of report so we can consider getting people to enter data into DB directly. * split column headers * (dominic) A nice printable HTML works as good as custom PDF, but can be achieved sooner * [BluePrintImporter PDF Importer?] * Test the XForms controller with component resource to have OCRable forms to collect this info === Rotary Club === Rotary Club are training 750-1000 volunteers to collect data. 1. We should be able to register volunteers, and assign them to geographic regions. This would help us query and know the number of people working in each geographic area. 2. Volunteers belonging to a group (like geographic area) could then be sent messages via SMS service. So an interface to let us do that that would be great. 3. When our volunteers go out, they would enter data about the status of inventory at their locations, and items required urgently. They would also be able to update the status of a shelter, in that they may setup a place as a shelter and provides its Lon/Lat, or they may remove a place as shelter for it may have been inundated too. 4. We want to record damages to people/life, and property. Currently, we can record life losses in Incident Reporting, while property losses can be registered in Situation Reports & Assessments. 5. We can also record loss to farm animal and cattle. There could be (a) field(s) to do that. Instead of going for a table of animal and then entering the number of lost animals, we could give an open text field. 6. We want to see the Situations, Assessments, Schools and Flood Reports to be visible on the map as well. Can that be done? 7. We would love to see an option where we could define a warehouse/shelter/school, where we could mention the inventory available there, and their count. This feature is available in Agasti. If provided, our volunteers would be able to trace themselves the items they need and where they are placed. 8. Missing Persons: * When adding a new missing person, we would need to provide his hometown (from where he was lost) and the location of his residence. Like someone could be missing from a camp/shelter in Peshawar, while his residence would be in Swat. * When reporting a missing person, we should be able to provide his photo too. This should be optional. * An option should be there, like a status/flag, to tell if the person has been found. Additional information like “where from” would be an added plus, but not essential. 9. When entering a shelter or inventory, we would like to identify the city/location where it is located. This is the first anchor of reference. Also, we should be allowed to (optionally) provide coordinates, or point the location on the map. That way, it should be visible on the map when someone takes a view of the map with shelter, inventory and incident overviews. This would be very helpful. 10. Since I can see the situation and incidents are different in the system, “Situation” should also be available in the map overlays. ==== Sync ==== Want to be able to collect data on offline laptops & sync to base * This means that the schema for this module is pretty fixed as we can't update remote laptops * Extra data can be incoporated into comments fields for transferring to new optional fields centrally by-hand * Can still develop UI tweaks to ease data entry (just won't be visible to remote laptops): Labels/Help * Can still develop Reporting functionality * Can still develop other modules * Power may be an issue, so best to have printed copies of the Assessment Tool as well * Sync process should be tested thoroughly (even if kept to a very simple Data upload facility) ==== SMS ==== * Outbound to alert teams (working with a local telco to get details) * SMS inbound for them to report incidents (separate to the general public whose reports we can pull from Ushahidi so can use the general shortcode) == After Action Notes == === Move to deployment_settings control: === * ~~Locations Hierarchy~~ * Languages (For Local Location Names & Language Bar) * Enable ACLs (e.g. DVI, Editor, ~~!MapAdmin~~) * Security Policy * RSS Feeds * Enabling Autocompletes (they're unnecessary for small deployments, but critical for big ones) === Autocompletes === * Define the autocompletes within the reusable fields like person_id & location_id * part of the rework to make them more reusable through get_location_id() === Mapping === * Make Feature Layers (i.e. Queries) definable in Service Catalogue * Fields: module, resource, layername, popup_label, marker * Replace Admin-Level Feature Classes with Feature Queries * Feeds should focus on these: GeoRSS & KML (need to rework XSLT for Markers?) * See if we can convert Mapping API to use a JS file in static which is merged with a bunch of JS vars written out in views * makes it faster to develop since no need to keep restarting server for module changes * makes it easier for OL devs to help out without needing to understand Python * May be hard due to so many different options available to us! * Break it up into snippets again... * Clustering * DRY instead of Copy/Paste * Cluster across Vector types (needed for changing filters without map-refresh anyway) * Can we just use allLayers for this? * Major rewrite? Do at same time as porting to JS with vars? (along with the refreshing of Vector layers without full server reload) === Tidy-up Code === * Move s3msg to being instantiated in 00_db.py * move DB calls out of init into a get_config() function * Rename javascript functions to s3_* to keep them tidy in the DOM === Bigger Features === * Make Index pages (& a space inside rheaders of other pages) into Wikis so that Editors can edit online docs more easily * Embed Potlatch & Wikipedia pages so that edits of this kind of data can be done 'upstream' in common sources ---- [wiki:Pakistan]