SahanaPy Workout @ FOSS.in/2009
SahanaPy is having a week-long workout at FOSS.in 2009 - FOSS.in Workout Wiki Page
Description
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.
The core team will all be physically together in in one place for the week to really push our framework to the next level. We'll be extending a warm welcome to any Python/JavaScript programmers who wish to join in throughout the week. We will be polishing up our back-end REST/XSLT-driven XML/JSON controller & developing new front-end UI tools - flexible layouts with advanced widgets (based on ExtJS &/or jQuery generated programmatically by the easy to use, lightweight & powerful Web2Py. We'll also be looking at improving our GIS functionality using Javascript toolkits like OpenLayers & GeoExt. We also should be fixing our Testing framework, based on Selenium.
How will people benefit from attending?
- Get acquainted with a new python web framework Web2Py
- Use advanced JavaScript functionality
- Get a sense of fulfilment from contributing to HFOSS
Audience, Pre-requisites
- Installation, Developer & Framework Guidelines
- Participants should be familiar with Web technologies such as JavaScript & Python Frameworks. Web2Py, jQuery , ExtJS , OpenLayers/GeoExt experience a plus.
- 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
- For jQuery/HTML: http://pastebin.me/
- For Python: http://paste.pocoo.org/
- 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:
222.165.133.43 wiki.sahana.lk
What are we going to do?
Fran
- 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=ext
representation to the REST controller which uses ext versions of the default layouts which inherit fromlayout_ext.html
- 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:
App.js
- Menus
- Popups
- 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
Lifeeth
- Done: Auto-probing of Modem added to PyGSM
- Get Sahana to make use of Auto-Probing
- Add SMS Gateway API providers
Ideamonk
- 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
Surya
Newcomers
Whilst any BluePrint is fine, suggestions for areas suitable for a newcomer:
- Provide an Ext theme
Results
- 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.
Participants
- 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)