My favorites | Sign in
Google
soc
             
Search
for
Updated Jun 08, 2009 by ljvderijk
Labels: Contents-Update, Importance-Overview
GSoC2009Ideas  
Ideas List for GSoC 2009

Introduction

While Melange will apply as an organization, there is no guarantee that we will be accepted as an organization for GSoC 2009. You're invited to drop by at #melange IRC to discuss. Help us make it happen.

Possible Mentors

These are, in order, the most likely or best mentors for this project idea.

Skills

Difficulty

'Easy', 'Moderate' or 'Hard'. Hard is not necessarily better! We are risk averse!

Early Spinoffs

We want code that we can actually use, not code that shows great promise. At the half way stage, you MUST have something complete that we can actually use as a 'spin off' of the work. In discussing projects we will try to help you find ways to have spinoffs along the way.



Idea Details



Full Function Wiki

Description

Either integrating MoinMoin or Rietveld. We're looking for a bit more than just having these in the same web server! We want to be able to do diffs and revision histories on our documents. We'd like to be able to have Melange tables show up in wiki pages. We'd like to be able to create wiki pages based on a template specified as a quiz.


Quiz Adapter

Description

Melange currently has two different systems for forms. There is the quiz system which is very flexible and dynamically changeable. There is the custom page system, which is very well, customizable. We'd like to marry the two systems which currently don't speak very much to each other by having a student who writes an adapter. Ultimately we'd like to either have a super quiz system where we can use some of the customizations used on custom pages, or a super custom page system which is as flexible and dynamic as the quiz system.


Statistics Module

Description

Extract interesting statistics from the Melange data for the benefit of the program admin. Use it for: Graphs, Histograms, More Google Maps integration and CSV export.

  • use Google Chart API
  • use Google Visualization API
  • display different kind of charts and statistics which can include students by country, number of organizations per program, students for each organization, students by school, mentors and org admins by country
  • generate KML file with location of all mentors, students (connections between mentor and student too)
  • create statistics dashboard page for organization admins, program administrators, developers (superadmins)

Skills

Difficulty

Early Spin Off


Other ideas

GHOP Melange features

More: http://groups.google.com/group/ghop-announce/web/how-to-claim-your-ghop-prizes

  • Special button to generate addresses from profiles in DHL,FedEx friendly format.
  • Parsing phone numbers in user profiles, acceptable formats: +1.650.214.8031, 16502148031, 1-650-214-8031, 1 (650) 214-8031, 1 (650) 214 8031, 1 650 214 8031
  • Mentors and org admins should be able to track students progress, completed tasks, open/reopened tasks, claimed tasks, there will be special views for that with filter options (status of the tasks should be open to public or not , Melange API ?)
  • Each task should have one of the following status:
    • Open: This task has not yet been claimed,
    • Reopened: This task has been claimed but never finished and has been reopened,
    • Claimed: This task has been claimed and someone is working on it,
    • ActionNeeded: Work on this task must be submitted for review within 24 hours,
    • Closed: Work on this task has been successfully completed.
  • Mentors and org admins should be able to setup task updates notifications
  • Any GHOP surveys should be done via Melange Survey module that would enable to create/edit/delete questions and build surveys from questions.
  • Using GHOP calendar and Calendar API mentors, admins, students would get reminders about important dates in the program, emails can be send to the program group or/and to users emails (same for GSoC, that way LH has less work and life is good)
  • Admin/host (LH) should be able to setup tasks limits for each participating project
  • Admin/host (LH) should be able to view all participating projects/organization in special view with simple statistics on the same page
  • Any additional statistics in Melange project should use Google Chart API and Google Visualization API
  • Maybe it would be wise to add progress variable to each task so that GHOP student can update the value of it during the time he works on the particular task (0%-100%), that will also allow mentor to track progress of students tasks, when task is 100% complete mentor can get email notification to take action on particular student task (Close it)
  • Informing mentor about completed task
  • Each GHOP task should be tagged (Documentation, User Interface, Code, etc), GHOP admin/host can setup available tags in GHOP Melange configuration page, that way later on there are no typos and Melange can easily generate statistics for particular types of tasks. Tasks will typically fall into the following categories:
    • Code: Tasks related to writing or refactoring code,
    • Documentation: Tasks related to creating/editing documents,
    • Outreach: Tasks related to community management and outreach/marketing,
    • Quality Assurance: Tasks related to testing and ensuring code is of high quality,
    • Research: Tasks related to studying a problem and recommending solutions,
    • Training: Tasks related to helping others learn more,
    • Translation: Tasks related to localization,
    • User Interface: Tasks related to user experience research or user interface design and interaction
  • Each GHOP tasks should have internal (mentors/org admins/hosts) or maybe public difficulty level, which can be later helpful in selecting grand prize winners and runner ups (not only amount of tasks counts but also quality of student work, task difficulty and other factors), organization has quick access to overview of what kind of tasks each student did and what's it's total point sum etc., this might be also available only for admins and mentors just in order to make a Grand Prize winners choosing process easier.
  • GHOP Melange should have a special configuration page
  • where you can setup dates like : when contest begins , when contest ends, what is the age (range) of the students that can participate for example: thirteen (13) years of age or older on November 27, 2007 (this date would be setup in configuration page and once student fill in profile data you can automagically check whether he can participate in contest)
  • where you can setup countries that the contest is not open to and automatically check for students from this countries and inform them about the problem
  • Selecting grand prize winner should be done via special view in the GHOP Melange project allowing admins and mentors quickly see particular student tasks, tasks amount and difficulty level (this process should be similar to how proposals are rated in GSoC)
  • Additionally using special view org admin can setup number of runner ups and select them from participating students (this can be later on used to automatically generate list of both grand prize winners and runner ups)
  • Prizes for completed entries - depending on the tasks amount , Melange should automatically setup prizes for each student (t-shirt, $ price), prices options and setup should be available via GHOP Melange configuration page
  • Claiming first task doesn ºt require to have full profile (just Google account), however after first completed tasks, students should also not be able to register for a second GHOP task until they have completed registration (we should send an email reminder). Without registration, there can be no shirt, that should be checked when Melange setups prizes for each student
  • Mentors/org admins should also get information if student claimed some tasks but didn't complete (task was reopened), with the number of that kind of tasks
  • Student cannot work on more than one task at a time (this was a problem with first edition of GHOP, since we had to find duplicates using python script) - Melange will not allow GHOP student to claim second task while he is still working on previous one. There will be no need for any additional duplicates check scripts.
  • There should be a view to see latest added tasks (maybe in dashboard ? or on main page ?)
  • There should be a way to easily see students completed tasks (by anyone)?
  • Tasks list per different criteria (also from different projects in one view)
  • Tasks list quota per project (admin should be able to change that)
  • GHOP Grand Prize winners are selected based on completed number of tasks, tasks quality, difficulty, student community activity and things like that, so it is not just number of completed tasks


Some Rough Notes


Comment by todd.larsen, Mar 09, 2009

To conserve CPU cycles in the main Melange web app, perhaps the Statistics Module needs to use the Google Chart API:

http://code.google.com/apis/chart/

Comment by todd.larsen, Mar 09, 2009

Another project idea, related to Automated Testing, is to make our continuous build (which uses BuildBot?) much more sophisticated:

http://google1.osuosl.org:8012/waterfall

A collection of improvements would be included in a successful student proposal, possibly including, but not limited to:

an actual "build" step that runs the ./build.sh script

runs of pylint during the build step, to "break the build" when there are missing imports and other serious errors

runs of pylint that spam committers with email when the diff of their recent commit contains pylint errors and PythonStyleGuide violation warnings

integration of HTML code coverage output, and collection, display, and periodic (weekly...) and triggered (when there is a sudden drop or improvement in coverage) emails to the dev mailing list

Comment by todd.larsen, Mar 09, 2009

Another possible project idea is to start implementing the features necessary to run GHOP.

Comment by todd.larsen, Mar 09, 2009

For the Quiz Adapter idea, are we talking about implementing a truly dynamic Question/Answer/Quiz/Response system that allows Hosts to create their own questionnaire forms dynamically? Possible uses that were originally proposed for this were the applications (org, club, etc.), surveys (mentor/student midterm/final), etc. I just want to know if that is what is being proposed.

Comment by todd.larsen, Mar 09, 2009

I ask this because there are many User Stories in the issue tracker that try to define this feature:

http://code.google.com/p/soc/issues/list?can=2&q=Quiz

Comment by todd.larsen, Mar 09, 2009

By "Early Spin-Off", do we mean intermediate deliverables that can be committed into the Melange code base during the course of the summer? I am all for any student projects having as many intermediate, working, deliverables as possible, with at least some of the student's project being actually working at the midterm evaluation date.

Student proposals that try to deliver everything at the very end are unlikely to be scored highly by me, at least.

Comment by gsoc.tlarsen, Mar 09, 2009

Related to the Statistics project, there is the implementation of ATOM feeds and a GData API. This would allow orgs to interact (in a read-only or read-write way) with the web app. Many orgs have asked to be able to put their own frontends on the student app review process and the GHOP tasks management, without having to scrape the pages of the web app. An authenticated, read-write GData API would be useful for providing this to orgs that desire it. GData APIs typically support many popular Web programming languages, including JavaScript?, PHP, Python, and the like.

Comment by Pawel.Solyga, Mar 10, 2009

Statistics module should use both Google Chart API and Vizualization API

http://code.google.com/apis/chart/ http://code.google.com/apis/visualization/

Comment by James.K.Crook, Mar 10, 2009

Todd, 'early spin off' for me means not only working but also useful in itself. Useful deliverables all the way along is even better. Yes you interpret correctly. An 'early spin off' is a deliverable that could be committed at the half way, with some tangible useful user-visible features rather than "100% of the infrastructure is now in place" at the mid term.

Yes, the Quiz Adapter idea is about questionnaire forms.

+1 for the GSoC project ideas in your comments.


Sign in to add a comment