[development] Call for action: Drupalize Google's SoC Mentors App
Angela Byron
drupal-devel at webchick.net
Sat Mar 29 02:08:24 UTC 2008
(Larry, I cc'ed you because dmitri said you'd done this before and
thought it would be a good idea ;))
So as those who've participated in Summer of Code as a mentor before
know, the web app that Google provides for ranking/reviewing
applications is a little bit ... suboptimal. The view of applications it
provides isn't sortable, it's not possible to see when applications are
updated, or when new comments have been posted, or... And unfortunately,
the person on Google's side of things who's in charge of making
incremental improvements is out on medical leave, so the tool we have is
about all we're going to get.
This is a great opportunity for Drupal to shine, however. With Views,
CCK, VotingAPI, and a couple other add-on modules, it'd be possible to
whip up a very comparable web app, only with tons more features such as
a "new" indicator, the ability to sort applications by last updated
time, the ability to tag applications, etc. And if we did this with
something like Organic Groups, we could potentially build infrastructure
for all 175 open source mentoring organizations to use Drupal, plus take
some much-needed weight off the Google admins who are busy with other
organizational things. Nice way to build positive relationships in the
open source community.
Functionality is as follows (rough outline):
- "Organization" node type (Organic group); one for each of the orgs
listed @ http://code.google.com/soc/2008/
- User import of list of Organization Members
(http://code.google.com/soc/2008/drupal/mentors.html) -- I think only
admins can see this screen.
- "Application" node type with fields for (starred ones are the
important ones):
- Title*
- Student*
- Student Email*
- Student Major
- Student Degree
- Student Graduation (year)
- Student Home Page
- Student Blog
- Student IM
- Assigned mentor (userreference)*
- Abstract*
- Description*
- Probably a "Tags" vocab on that application node type as well, so
people can group them.
- A View that displays a list of applications with columns for sorting
by things like "last updated time", "title", "student", and "assigned
mentor"
- The ability to vote on applications and display a score. In the Google
app, this will be basically a +1/-1, or a +4 ("I want to mentor") or a
-10 ("Ineligible"). Maybe those last two could be flags instead and we
could just use Vote Up/Down module?
- The web app has both private and public comments. Not sure how we
could do this in Drupal off-hand.
- A bunch of data import crap to synchronize stuff between Drupal and
Google.
This is the tricky part: sucking in (and ideally, synchronizing) data
between Google's app and the Drupal side. For example, when I post a
comment on Drupal, it ought to show up in the Google app and vice-versa.
When an application is updated on Google's side, it ought to update it
on Drupal's side as well. But at a minimum, we basically would need to
"screen scrape" information off Google's end and suck in applications as
nodes.
I was pointed in IRC at dataminerapi, which looks awesome. However, I
won't have time this weekend to monkey with this at all, and ideally we
need a solution built by *Monday*. :\ Dmitri's offered to pick up the
ball and run with it.
a) Anyone have time to help him with that?
b) Can anyone give us some advice on how to do the
screen-scraping/synching? Have some sample code? etc.?
-Angie
More information about the development
mailing list