Saturday, June 5, 2010

GSoC 2010 Data Seeder - Data providers

This week was all about implementing data providers. I haven't got much time to work this week, it was the last week of my university semester and I had a lot of unfinished work to... finish, and also had to prepare for a Google internship interview.

What I've done so far includes the base classes for data providers and implementations for string data providers. Other providers should be easier to implement now that I have a functioning base, I hope I can finish them over the weekend as I've got a bit more time on my hands.

After an IRC meeting with Mario, we have decided that the AJAX API needs some refactoring which I will update soon.

Friday, June 4, 2010

Coding Week 2

The week 2 of coding has gone by. And I have made progress with my code.
I have written the View and templates for the User Page with most of the functions such as "view_page", "edit_userpage", "create_userpage", "view_calendar" etc.

The prototype of the User Pages, Calendars up on my GAE, plus I have created some forms using Melange's inbuilt forms framework for editing data in the User Pages using the base.py View methods such as create, edit, editPost, editGet, etc.

There are some issues with the creation/saving of the forms and entity data which still need to be resolved. Aiming to resolve it before the weekend is over.

Finally, I need to incorporate the ListView for User Page entities using the list functions in Melange's base.py View framework.

Next week:
  • I should have completed User Page functionality, and should have my code reviewed by my mentor, before pushing the changes to my clone.
  • I should update project wiki with a complete timeline, taking into account my current progress on the project.
  • I should start working on the Calendars feature.

Sunday, May 30, 2010

New Document Editor. First week of coding.

Strangely, there were not much coding this week :) All I've created was same kind of "Hello, world" app for Django-GAE. But now I got a good idea about how these things actually work together.

Most of the time was spent on studying the GAE datastore. I had to get a firm grip on this topic before hacking out Melange's models. First of all, I've looked through a wonderful book on GAE. The architecture of the datastore seemed quite unusual compared to the Django ORM. But it definitely has some cool features like associativity and Expando (sounds great!) class.

My main concern is the architecture of the revision control for Melange. There are two main approaches:
  1. Add fields that store revision information to the existing models and convert the whole bunch of existing documents.
  2. Create model that stores information about revisions and link existing entities to it.
I hope this issue to be resolved soon for me to start actual coding.

P.S. Here is the thread in the development list.