Saturday, July 3, 2010

GSoC 2010 Data Seeder - Model references in the UI

This week is all about beginning to handle references. Right now, direct and back references information is included in the JSON data, and a random reference data provider has been implemented and tested. It's also working!

While working to add easy manipulation of references in the web UI, the current local JavaScript templating solution (John Resig's microtemplating) has proven to be a bit hard to maintain when getting to more advanced manipulation. So, I'm currently working on finding and integrating different templating solution. I'm investigating pure [0] and jQuery tempest plugin [1].

[0] http://beebole.com/pure/

Week 6: Social Features Project

This week was productive as I finally moved on to working on the next feature, which is Calendars + Events for Melange. I am using Google Data APIs for this, particularly the Calendars API. It is new and exciting, and I am also creating a new events data model in Melange to store the local copies of the events created by various users as well as for making requests to add events.

I am hoping to upload a bare essentials version of "adding events" into my GAE by the end of the weekend.

The User Pages feature is done minus "image upload" which is in the process of being resolved with Madhu's help :). Also, for the "add another job" and "add another education", I created additional data models education.py and job.py for storing this for each user. I am expecting there will some more changes to make here and there based on everyone's feedback.

The latest has been uploaded to my GAE. The brief workflow which I also posted in an email to the list is as follows:

Student Roles:
  1. Log In
  2. Apply for a Student role by registering as a student.
  3. Upon completion of registeration, click the read "Create User Page" option on the sidebar.
  4. Fill in form.
  5. Click on 'View User Page to see how user page looks. or Browse User pages by clickin on "List User Pages" on the sidebar.

Mentor/OrgAdmin Roles:
  1. Log In
  2. Apply for a Mentor/OrgAdmin roles.
  3. Upon being accepted as mentor/orgadmin, click the "Create User Page" option on the sidebar.
  4. Fill in form.
  5. Click on 'View User Page to see how user page looks. or Browse User pages by clickin on "List User Pages" on the sidebar.

The Week Ahead:
  • Develop Calendars+events feature upto near-completion
  • Revise User Pages based on feedback from development team
  • Improve the datamodel structures of jobs and education to create them as App Engine entity groups with the User Page as parent.

Monday, June 28, 2010

Social Feature Project: Coding Week 5

This week saw a lot of delays and lost time for me. I got stuck with figuring out how to handle the images (profile picture) for the User Pages. I followed the direction given at here for uploading/resizing the images. Also, it took me a lot of time on this as I did not have an "image upload/resize" example already in the code-base to refer to. However, the upload does not seem to happen as I get a NotImageError. More on this on a mail to the dev list.

After that I integrated the Tags property for User Pages, so that users may search for other users based on user tags. After this, I made the remaining modifications based on comments given in the previous conference call. "Add Job" and "Add Education" required more effort as they had to be their own entities and would share a many:1 relationship with each User Page entity.

Last but not least, as the weekend approached I could not access any of the "appspot.com" web pages, especially my own instance. Hence, I was not able to upload and test my latest changes on the live instance. I tried to go through a proxy, but always got stuck after the "Google Account Login" as it would not redirect to Melange after login. However, this is fine now and I am able to access my instance successfully and will be uploading the latest to my instance soon and sending a mail to the dev list so that everyone can try creating their own user pages.

For this week, I will be working very hard to catch up with my schedule which says I should be working on Calendars feature already. I intend to wrap up User Page (minus images) by tonight so that I will get to start on Calendars from tomorrow(wednesday).

GSoC 2010 Melange Testing Project: Week 5 of the Coding Period

As I had planned last week, I added content to the wiki page GettingStartedOnTesting [0] with the aim to provide a guideline on writing tests for Melange this week. Sverre has had a look at it and thinks that it should be extended, though it looks good.

I have also added test cases for a couple of logic modules this week and am currently working on testing the views of sponsor, program and student. Sverre thought the test coverage is still low and suggests me to focus the modules with low coverage next week, e.g. do some tests on the models. So, I will move my focus on testing the models next week.

[0] http://code.google.com/p/soc/wiki/GettingStartedOnTesting

Document Editor: Week 5

According to the plan, I had to finish revision control this week. But I'm a little behind the schedule now.

Last week I fixed issues with document listing. It was a pretty tough stuff to implement, cause JSON-based list view supports field prefetching. But it works now and fixed instance has been deployed to appspot. I also started implementation of the view which helps to work with revisions (revert and show diff), but it is still in progress.

This week I plan to finish revision control and start working on diffs.