Wednesday, July 8, 2009

GSoC09: Statistics module 5th weekly report: backend/frontend ajax communication

This week has been focused on backend/frontend integration for Statistics dashboard and on helping with survey module bug fixing. Apart from that, I feel this week has been very productive because I've begun to work more actively on the Python backend, and similar beginning has been done by Daniel Hans, who begun an awesome commitment on the frontend Javascript side. I think this is the major step on our projects that have been done after we begun committing in the same repository and organizing the work with meetings and issue tracking.

About my work, the week started introducing Daniel Hans on the depth of advanced Javascript programming in general and, in particular, on the Javascript layer features and architecture for statistics module (and, well, if we'll come up with a good architecture, who knows, it could be the main JS architecture for Melange in the future :)).

On Wednesday I've pushed a new demo instance that was able to get a list of available statistics from the backend and created a new widget in the dashboard out of it. The biggest part of this work has been the generalization of the former code to have the statistic data joined dynamically from an Ajax call instead of hard coded stuff like before.

After that, I kept working on the integration to achieve a real ajaxy communication between frontend and backend. If only I could place a skeleton, then every feature afterwards would be easier to put in place. So, I've begun working on the data model for dashboard and chart and then on the ajax communication. In that way, a dashboard entity is now created for user at the first visit of the statistic dashboard page, and the correct entity is loaded if present.

On Friday, after I worked a bit on the Safari bug for surveys, I've met James Crook, and we talked also about the project, mainly focusing on what has been done and what can be done in the future with the current architecture. On Saturday, then, I've focused on the double quotes bug for survey project (which has been committed on the main repository).

On Sunday, at the end, I've helped fixing Safari 4 appearance bug (at least one of the two) for Survey's take.html template (committed on the main repository as well). About statistics module, I've added support to load/save widgets in backend chart entities. In that way, every time a new widget is created out of a statistic, it's automatically saved on backend. Every time you reload the dashboard the same widgets will appear on the dashboard.

No comments:

Post a Comment