Call for action: Drupalize Google's SoC Mentors App
(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
(I also cc'd you, Matt ;)) So another tricky thing - there are two types of comments - public comments and private comments. There is a distinction because public comments are student-visible, and private comments, and edits may only be made after a public comment is posted. And FYI this app is only for mentors and administrators. Dmitri On Mar 28, 2008, at 7:08 PM, Angela Byron wrote:
(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
Dmitri Gaskin wrote:
(I also cc'd you, Matt ;))
So another tricky thing - there are two types of comments - public comments and private comments.
There is a distinction because public comments are student-visible, and private comments, and edits may only be made after a public comment is posted.
And FYI this app is only for mentors and administrators.
Yep. Don't get too hung up on those details though; we can always refine and improve this tool over time once it's written. :) The main thing is to make it so any mentoring organization can login to this Drupal site, and access an admin panel that's a nice sortable table view of all their apps, synchronized with Google. Everything else is icing on the cake.
On Mar 28, 2008, at 7:08 PM, Angela Byron wrote:
(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
Also If I could have 1-3 volunteers who would like to help me for (ideally) 4-8 hours on either (both would be even better) Saturday and Sunday (my hours of operation are 7AM-10PM, and I'm UTC-0700), that would be wonderful. You will be recognized in both the Drupal and SoC communities. So if you are willing, please e-mail me privately - dmitrig01@gmail.com. Thanks muchos, Dmitri On Mar 28, 2008, at 7:08 PM, Angela Byron wrote:
(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
Angela Byron wrote:
- The web app has both private and public comments. Not sure how we could do this in Drupal off-hand.
I'm assuming you're referring to the private comments :p This solution assumes that students are authenticated users, and that mentors are in a "mentor" role. Create a "private comment" node type. These private comments will have a node reference back to the proposal, and this node reference field gets automatically filled in by using the prepopulate module. Then, set up a workflow, and workflow access, and set private comments to only be visible to the "mentor" role. We have used this in several contexts to set up private reviews, and it's worked pretty cleanly. -- Bill Fitzgerald http://www.funnymonkey.com Tools for Teachers 503.897.7160
Bill Fitzgerald wrote:
Angela Byron wrote:
- The web app has both private and public comments. Not sure how we could do this in Drupal off-hand.
I'm assuming you're referring to the private comments :p
This solution assumes that students are authenticated users, and that mentors are in a "mentor" role.
Create a "private comment" node type. These private comments will have a node reference back to the proposal, and this node reference field gets automatically filled in by using the prepopulate module. Then, set up a workflow, and workflow access, and set private comments to only be visible to the "mentor" role.
We have used this in several contexts to set up private reviews, and it's worked pretty cleanly.
Meh. Nix that. Won't work with OG. /me shuffles off to look longingly at http://drupal.org/node/196922 -- Bill Fitzgerald http://www.funnymonkey.com Tools for Teachers 503.897.7160
Following discussion in #drupal and suggestion by webchick and cwgordon7, I wrote a small module which parses the application list for mentoring. It is available on http://drupalbin.com/1314 as a basis for the screen-scraping part needed by this application ----- Original Message ----- From: "Bill Fitzgerald" <bill@funnymonkey.com> To: <development@drupal.org> Sent: Saturday, March 29, 2008 7:50 AM Subject: Re: [development] Call for action: Drupalize Google's SoC Mentors App
Angela Byron wrote:
[...]
You could do the public/private comments using panels I think -- panels has its own access control. Have two panels, one for the public comments, the other for private comments. The public comments panel has the normal comment display / form. The private comment panel would display a view that lists comment nodes that reference the proposal. Underneath the view would be an "add node" form to create a new private comment node. You'd need to do some form_api magic to hide unnecessary parts of the form and automagically add a node reference to that pages proposal. That's not the easiest way to do things but it'd work. Set the private comment panel so only those with "mentor role" can see it and to everyone but the mentors, things would look normal. Kyle On Sat, Mar 29, 2008 at 4:56 AM, FGM <fgm@osinet.fr> wrote:
Following discussion in #drupal and suggestion by webchick and cwgordon7, I wrote a small module which parses the application list for mentoring.
It is available on http://drupalbin.com/1314 as a basis for the screen-scraping part needed by this application
----- Original Message ----- From: "Bill Fitzgerald" <bill@funnymonkey.com> To: <development@drupal.org> Sent: Saturday, March 29, 2008 7:50 AM Subject: Re: [development] Call for action: Drupalize Google's SoC Mentors App
Angela Byron wrote:
[...]
-- Research Assistant eBusiness Center @ BYU kyle.mathews2000.com/blog
Comments as nodes? Then just use node_access or somesuch? On Sat, Mar 29, 2008 at 2:27 PM, Kyle Mathews <mathews.kyle@gmail.com> wrote:
You could do the public/private comments using panels I think -- panels has its own access control. Have two panels, one for the public comments, the other for private comments. The public comments panel has the normal comment display / form. The private comment panel would display a view that lists comment nodes that reference the proposal. Underneath the view would be an "add node" form to create a new private comment node. You'd need to do some form_api magic to hide unnecessary parts of the form and automagically add a node reference to that pages proposal.
That's not the easiest way to do things but it'd work. Set the private comment panel so only those with "mentor role" can see it and to everyone but the mentors, things would look normal.
Kyle
On Sat, Mar 29, 2008 at 4:56 AM, FGM <fgm@osinet.fr> wrote:
Following discussion in #drupal and suggestion by webchick and cwgordon7, I wrote a small module which parses the application list for mentoring.
It is available on http://drupalbin.com/1314 as a basis for the screen-scraping part needed by this application
----- Original Message ----- From: "Bill Fitzgerald" <bill@funnymonkey.com> To: <development@drupal.org> Sent: Saturday, March 29, 2008 7:50 AM Subject: Re: [development] Call for action: Drupalize Google's SoC Mentors App
Angela Byron wrote:
[...]
-- Research Assistant eBusiness Center @ BYU kyle.mathews2000.com/blog
-- Regards Steven Jones
could my (not yet) finished annotate_bl module help ... if so when much it be finished? On Sat, 2008-03-29 at 14:37 +0000, Steven Jones wrote:
Comments as nodes? Then just use node_access or somesuch?
On Sat, Mar 29, 2008 at 2:27 PM, Kyle Mathews <mathews.kyle@gmail.com> wrote:
You could do the public/private comments using panels I think -- panels has its own access control. Have two panels, one for the public comments, the other for private comments. The public comments panel has the normal comment display / form. The private comment panel would display a view that lists comment nodes that reference the proposal. Underneath the view would be an "add node" form to create a new private comment node. You'd need to do some form_api magic to hide unnecessary parts of the form and automagically add a node reference to that pages proposal.
That's not the easiest way to do things but it'd work. Set the private comment panel so only those with "mentor role" can see it and to everyone but the mentors, things would look normal.
Kyle
On Sat, Mar 29, 2008 at 4:56 AM, FGM <fgm@osinet.fr> wrote:
Following discussion in #drupal and suggestion by webchick and cwgordon7, I wrote a small module which parses the application list for mentoring.
It is available on http://drupalbin.com/1314 as a basis for the screen-scraping part needed by this application
----- Original Message ----- From: "Bill Fitzgerald" <bill@funnymonkey.com> To: <development@drupal.org> Sent: Saturday, March 29, 2008 7:50 AM Subject: Re: [development] Call for action: Drupalize Google's SoC Mentors App
Angela Byron wrote:
[...]
-- Research Assistant eBusiness Center @ BYU kyle.mathews2000.com/blog
-- Clemens Tolboom build2be KvK NL020994130000 info@build2be.nl http://build2be.nl +31(0)6 10 27 96 95
participants (7)
-
Angela Byron -
Bill Fitzgerald -
Clemens Tolboom -
Dmitri Gaskin -
FGM -
Kyle Mathews -
Steven Jones