Google Summer of Code 2010: Eden UI - Front-end for S3XRC

This project is part of Sahana Eden Google Summer of Code

Executive Summary
  • Abstract: S3XRC being a powerful backend that serves XML and JSON in a RESTful manner hasn't yet got a front-end that can exploit its positives. A new ExtJS based front-end would help us not only utilize S3XRC but also save a lot of bandwidth by exchanging information in JSON instead of full page reloads.
  • Student: Abhishek Mishra
  • Mentor(s): Dominic König and Francis Boon
  • Mondays at 0700 UTC Calendar Note: Calendar lists UTC.
Project Plan and Timeline

I'm working in a prototype → generalize mode where I work first upon a page specific widget, say a list widget for person module, and then extract out custom and generic code out of it to transform it into a generically implementable code.

After the first meeting on 26th May, 2010, the goals were further refined and essential widgets were identified.

First Semester: 26 April - 23 May
GoalDescriptionDue DateStatus
Explore Web2Py, S3XRC, ExtJS, etcTo get a basic familiarity with the framework beneath Eden5/23/2010Web2Py, develper guidelines explored

Second trimester (24 May - 12 July)
GoalDescriptionDue DateStatus
Prototype a Grid viewWork up a sortable, add/edit in place paginated grid view for tabular data6/7/2010Completed
Generic grid viewGeneralize the prototype into reusable, configurable widget6/20/2010Completed
In place EditsAdding in place update functionality to grid widget6/26/2010Completed
Rheader TabsReplace existing static tabs into Ext based tabs7/10/2010Completed

Second trimester (13 July - 8 Aug)
GoalDescriptionDue DateStatus
Form GenerationProvide an API to create forms for various actions - create, update7/20/2010Completed (in a different way)
Form IntegrationUse the API from previous step to bring in quick access to (create/update) functionality7/30/2010Completed by end of July
Form ValidationsWork up a way to bring client side & server side form validations for in place insert/edits8/5/2010Partially implemented
TestingPlug the gaps and make totally compatible with existing functionalities8/5/2010Not 100% compatible, tested on several modules

Weekly progress reports on Mondays will be sent to the mailing lists outlining work completed during that week.

Good to have
  • A better form generator as replacement for existing SQLFORM, which only generates a json configuration, instead of parsing generated html into json which is slow and is how it is done right now.
  • A complete redo of the way Rheader is implemented right now (each controller/module has its own view content generated from the backend), its nice to make the backend deal with just data and not interface, a simple configuration from backend would help new Rheader widget to generate a ui element → which would also bring in live update capability without refreshing webpage. (suited for post soc)
  • More robust javascript : making core.js easier to read, easier to hack with.
Minor Bugs
  • Issues with Date representation in gridview in Firefox (shows NanNanNan)
  • Open actions for tabbed component elements

QR Code
QR Code foundation:gsoc_mishra (generated for current page)