Google Summer of Code: status update August 2005
With just three weeks to go in the Google Summer of Code project, it's time to look at what our student stipend recipients have done so far, and what we as a community can do to help them down the final stretch. I sent a mail to everyone involved asking for a status report, and also for some feedback on how the project has been going so far in general. The responses have been summarized below.
What have been the challenges so far?
Even though I thought I knew alot about Drupal internals I had to learn more of the internals of especially the user and node modules.
I have had very little exposure to version control systems prior to this project, so learning how to use CVS properly also presented another challenge (though a fairly small one--there's not much to CVS, it seems).
As most of the things I'm making are brand-new for Drupal, I have to spend a lot of time trying out various approaches.
The Google paperwork.
Sometimes it was actually finding the time to work on SoC.
Mentor communication.
Here is a list of the various projects and the responses I've gotten so far. I'll update the list as more students reply to the questions.
Project: Testing framework
Student: Thomas Ilsche
What is the state of your project?
Currently my part involves tests in two different groups:
The user registration test registers a user by browser interaction, asserts all fields in the database are correct tries to login by the one-time login, changes password, asserts changes saved. Logout and login again. Also a Login with a wrong password is tried.
The test also cares about the access settings for registering users, if necesary it changes and restores them afterwards. This test is quite ready and stable. Maybe If I get some more Ideas for it I will add them but for now I would consider it ready.
The node access test creates a node with an especially created user/role/permission combination. Asserts the node is correctly found in db and can be accessed in the page. This one is not ready yet and will be extended to test node creation/access with insufficient rights.
Where can the current code be seen?
http://cvs.drupal.org/viewcvs/drupal/contributions/sandbox/moshe/simplet...
How close are you to completion (in %)?
According to my application I would guess about 70%, but I am willing to go beyond this specification.
What kind of support do you need in order to get done on time?
I am looking forward to support from anone testing the testsuite by running it.
Project: Google Sitemap module
Student: Matthew Loar
What is the state of your project?
My project is stable and implements almost all of the functionality I originally proposed. It keeps a revision and comment history for each node and uses this to make a good estimate of the change frequency. It can weigh the priority based on node type, number of comments, and promotion. It can automatically submit/resubmit a sitemap to Google. Users can optionally override the priority on individual nodes.
Where can the current code be seen?
http://cvs.drupal.org/viewcvs/drupal/contributions/modules/gsitemap/
How close are you to completion (in %)?
I would say about 90%. I'm considering adding the ability to change priority based on level within a book, or by taxonomy terms. I have one outstanding bug report, but I am not sure if it is a bug with my module or with pathauto. The submitter has not gotten back to me with more information.
What kind of support do you need in order to get done on time?
If anyone has a working pathauto installation, it would be great if they could determine whether this causes duplication of URLs in the sitemap. I tried to install pathauto, but it caused severe problems.
Project: Quiz module
Student: Angie Byron
What is the state of your project?
A: I would say the project is not quite as far along as I'd hoped it would be by now, but I feel I have a good grasp on what's left to be done, and I'm pretty confident that most of my major learning hurdles which caused me to initially start slowly will no longer be an issue during the second half of the program.
The administration side of things is getting pretty near completion (though I'm planning to add some more "polish" on things after SoC). Some more work is still required on the quiz-taking side of things, however. Several key components are missing, such as the feedback mechanism which is missing, and score calculation which still contains some bugs. After cleaning up a bit in this area, my next big undertaking will likely be the storage and retrieval of quiz results, after which time I'd like to release a "beta" version to the Drupal community in order to get their feedback directly (I'd ideally have liked to have done this sooner, but until at least the basics are working, it seems a premature "release" might hurt the module more than help it). Finally, time permitting, I'd like to attempt to tackle the question moderation and revision system, and add the matching question type, though I may only be able to finish these after SoC.
Where can the current code be seen?
http://drupal.org/project/quiz
How close are you to completion (in %)?
I would estimate completion at about 60%. There are quite a few features still to be added, but now that I've tackled some of the earlier ones these should come with greater ease (or that's the theory ;)).
What kind of support do you need in order to get done on time?
Everyone's been very great about answering any questions that I come up with, so no complaints there. I think Khalid's code review will be a very welcome addition, so that I can ensure the code I've written so far is not completely off-base (or if it is, at least I still have some time to fix it). Once I have a release-ready (ish) copy of the module, having others in the Drupal community help track down bugs will save lots of time as well.
Project: Added AJAX functionality
Student: Steven Wittens
What is the state of your project?
I've finished a patch of a first important JS/Ajax feature: inline file uploading. It dramatically increases the usability of attaching files to nodes, yet degrades cleanly too. This patch also includes an Ajax progressbar widget which can monitor an URL.
Where can the current code be seen?
A: http://drupal.org/node/28483
What kind of support do you need in order to get done on time?
A: Help with reviewing and testing.
Project: Subscription module
Student: Elek Márton
What is the state of your project?
A: I implemented the old notify and subscriptions module functionality. I would like to write some advanced feature, and extending capability.
Where can the current code be seen?
A: http://cvs.drupal.org/viewcvs/drupal/contributions/sandbox/ee/
How close are you to completion (in %)?
A: About 70%. Not finished yet with the mailer function and some admin pages. And the 'channel' hooks.
What kind of support do you need in order to get done on time?
A: Criticism. Károly Négyesi promised that he writes his opinions. After that I correct the module, than I upload to the CVS and wait other comments.
Upcoming.org API
Student: Stephan Jaensch
What is the state of your project?
I'd say I'm behind schedule since I'm redoing stuff I already did. But I have a much better understanding of the inner workings of Drupal now and can actually code without having to look up something every two lines of code (I talked to webchick about this and she feels the same way :) ). That and because I have the whole August nothing else to do makes me quite confident that I will be able to meet all my deliverables by the end of August.
Where can the current code be seen?
http://drupal.org/node/27953 but that is a older snapshot. I intend to commit as soon as I'm done with my reimplementation.
How close are you to completion (in %)?
I'd say 30%. That sounds low but I think it's correct in terms of code amount. It doesn't factor in the time spent on learning Drupal though which means I can write code much faster now.
What kind of support do you need in order to get done on time?
[RD: he says code review and mentor support will be vital]
Project: Test suite
Student: Kuba Zygmunt
What is the state of your project?
I made user uploading test, which needs some polishing (but I won't touch the core of the tests). Now I'm finishing of testing taxonomies including operation on terms & vocabularies (save/edit/delete) from the browser's view, taxonomy node api.
Where can the current code be seen?
http://cvs.drupal.org/viewcvs/drupal/contributions/sandbox/moshe/simplet...
How close are you to completion (in %)?
I think that my job was to do tests on distributed authentication, taxonomy module, uploading (based on pictures in user profile). Taxonomy module is completed in 95%, DA will take 1 or 2 days, and if Moshe would like me to extend uploading tests I will write another one or two. So in my opinion, I have 15% to finish it off. I would like to write a little documentation of my work for further future,but I will do it in the last week of August.
Project: NetNews (NNTP) Integration
Student: Jan Blom
Where can the current code be seen?
http://cvs.drupal.org/viewcvs/drupal/contributions/modules/netnews/
Todo list
- finish the admin interface
- enable forum-netnews links through the taxonomy (containers)
- implement news server -> Drupal synchronization (triggered through netnews_cron)
- move the actual Drupal -> news server synch to netnews_exit (little work)
- deal with various user-related issues:
- hiding Drupal users email addresses (configurable)
- create anon users for messages that originate on netnews server
Project: WebDAV interface to Drupal
Student: Fabiano Parolin Sant'Ana
Where can the current code be seen?
http://cvs.drupal.org/viewcvs/drupal/contributions/sandbox/wundo/SoC/
Project: TODO module
Student: Michael S. Bryant
Status: TODO.
Project: Quiz module
Student: Robert Shedd
Status: http://www.robertshedd.com/summerofcode/node/25
Any help that these students can get with code reviews etc. will be well appreciated! Thanks!
Drupal version: Drupal 4.6.xDrupal 4.7.xDrupal 5.x