Version 19 (modified by 15 years ago) ( diff ) | ,
---|
SahanaPy Workout @ FOSS.in/2009
SahanaPy is having a week-long workout at FOSS.in 2009
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 dataTables/jEditable) & Growl-like notifications 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/MapFish. We'll also 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, OpenLayers/GeoExt/MapFish &/or Selenium 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
- Making a start with the login form
- Need to get the Web2Py form.custom to integrate with Ext
- Can then add the Ext.ux.PasswordMeter to the register form :)
- Add a new
- Other streams which can be worked on:
- Convert hyperlink buttons to Ext style
- Ext menus
- Export Features as GeoJSON (using S3XRC with an XSLT)
- Display Feature Details in Popups
- Make Features Editable from the Map
Ajay & Michael
Lifeeth
Newcomers
Whilst any BluePrint is fine, suggestions for areas suitable for a newcomer:
- Volunteer Management Module
- Backups
- Appliance
- JS: Finish integrating the GPS coordinate converter into the GIS Location input form:
- Convert JS to jQuery style
- Get it working as a Popup
- CSS:
- Provide a layout which allows tables to be scrolled when they exceed the width of the display
- Provide an Ext theme
- Provide a layout which allows tables to be scrolled when they exceed the width of the display