Friday, July 23, 2010

GSoC 2010 Data Seeder: Web Interface

The web interface should be pretty much functional right now. It's very ugly, I admit, I just added some expand/collapse tree view functionality for easier navigation, but it's just temporary. More user-friendly navigation features and some fancier display is scheduled for the future, but right now it works for defining any configuration sheet as was planned in the initial design and it will stay this way until the server-side code is fully functional. You can check it out by visiting my GAE instance: http://sttwister-melange.appspot.com/seeder/home.

Make sure to force reload the page in your browser so that it fetches the most recent JavaScript files.

For the weekend, I'm planning to add tests for the server-side views that have been implemented so far and then try to keep up with the test coverage in the future. After that, I will start fixing the server-side seeder code to make sure it works correctly in all cases and then port it to GAE Task Queue API.

That's it for now.


Tuesday, July 20, 2010

Document Editor: Week 8

The main goal for the last week was to finish revision control for Document model. I had four tasks to complete:
  1. Deploy HTML diff engine into Melange
  2. Create view that shows diff between two revisions
  3. Update "Manage revisions" view to support diffs
  4. Code clean
All these tasks were completed successfully. HtmlDiff class from difflib was used as diff engine. I've actually tried several python diff engines from this page, but none of them appeared to work stable and fast.

I wanted URLpattern for "show diff" to be used as API. That's why I wanted it to be "pretty". But there was a problem with jqGrid buttons. Neither "redirect_simple", nor "redirect_custom" methods can create URLs with two different parameters. That's why I had to create separate button and trigger onClick event for it.

Full-featured revision control for Document model was uploaded to my appspot instance http://melange-editor.appspot.com

Sunday, July 18, 2010

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

With the suggestion of Daniel, I first tried Google Wave in this week. It seems very interesting that everyone can contribute/add anywhere and edit posts. Then, I have further put this week's meeting notes on it and also added our Melange group to the participant list so that all members are able to view, add and edit the waves.

Then I finished adding test cases to GSoC organization view, but I noticed unfortunately that it had not been run by nose tests. After some investigation, I found that the problem was because I had not added __init__.py in the GSoC test packages. Then, I further worked on other view tests. This week, however, I have not achieved my original target, i.e. increase the overall code coverage to over 60%. I will work hard to make it this week.