SahanaPy Workout @ FOSS.in/2009
SahanaPy is an example of HFOSS (Humanitarian FOSS). It is a RAD framework for developing Emergency Management applications. Sahana has been used to help support most major disasters since the Indian Ocean Tsunami including localised versions for floods in India (Bihar 2008 & Andhra Pradesh/Karnataka 2009). You can check Sahana's History here & here.
How will people benefit from attending?
- Get acquainted with a new python web framework Web2Py
- Get a sense of fulfilment from contributing to HFOSS
- Installation, Developer & Framework Guidelines
- If people can get time to familiarise with the codebase before the session then this would be extremely helpful, but isn't required.
- If there are people with skills in Usability they are welcome even without programming skills.
How to Communicate?
- Developer Mailing list can be used prior to & after the event.
- IRC allows real-time group & 1-1 communication using low-bandwidth text
- Pastebin allows people to share code snippets
- GoogleDocs can be used for collaborative document authoring before copying results to this Wiki
- Dabbleboard provides an Online Whiteboard for sketches
- An audio channel can be added, if necessary, using GTalk or Skype
- Log tickets here in Trac
- Alternate options: Dimdim or CoPilot
NB If you have problems accessing wiki.sahana.lk, then add this to your hosts file:
What are we going to do?
- We're starting by hand-crafting Ext pages which interact properly with the back-end.
- Later we are looking to generate these programmatically to restore RAD.
- Trying different approaches:
- Add a new
format=extrepresentation to the REST controller which uses ext versions of the default layouts which inherit from
- This seems very slow to load the different components (header, footer, content) into the Ext Viewport
- Have optimised the model to reduce overheads here, but it still doesn't seem to be an optimal approach
- Ext forms embedded inside the standard layout
- Done: Start with the login form (downside is that browser can't save login/password)
- Done: Need to get the Web2Py form.custom to integrate with Ext
- EditorGridPanel to replace dataTables
- Growl-like notifications:
- Hyperlink buttons converted to Ext style
- Could add the Ext.ux.PasswordMeter to the register form :)
- Add a new
- Display Feature Details in Popups
- Upload Photos - with GPX Track & use timestamps to place associated features onto the map
- Make Features Editable from the Map
- Export Features as GeoJSON (using S3XRC with an XSLT)
Ajay & Michael
- Done: Auto-probing of Modem added to PyGSM
- Get Sahana to make use of Auto-Probing
- Add SMS Gateway API providers
- Done: Finish integrating the GPS coordinate converter into the GIS Location input form
- Done (front-end): Multiple File Uploader for the GIS Photos
- Done: Provide a layout which allows tables to be scrolled when they exceed the width of the display
Whilst any BluePrint is fine, suggestions for areas suitable for a newcomer:
- Provide an Ext theme
- 11 people worked on the codebase (7 of these had never touched the code before)
- 4 others took the code away for study & hopefully later contribution
- Some bugs were fixed & new functionality developed (OCR, Bulk Image upload with timestamp correlation from GPX track, Ext EditableGrid, Autoprobing of GSM modems, GPS Coordinate converter, Logistics Module enhancements)
- Contacts established with other projects.
- Ajay Kumar (ajuonline)
- Fran Boon (flavour)
- Praneeth Bodduluri (lifeeth)
- Dominic König (nursix)
- Michael Howden (michaelhowden)
- Abhishek Mishra (ideamonk)
- Suryajith Chillara (Stattrav)
- Shashank Chintalagiri (devilsadvocate)
- Subhodip Biswas (subhodip)
- Arindam Ghosh (makghosh)
- Shreekant Bohra (skbohra)