Jump to navigation Jump to search

GSOC: A system for reviewing funding requests[edit]

Bugzilla report

Name and contact information[edit]

Name: AV Aditya Sastry
IRC: aditya_sastry
Web Page: Blog
Location: Hyderabad
Typical working hours: 10:00 AM to 6:00 PM


This project aims to create a review platform to be used for IEG proposal reviewing and potentially on other platforms too. There is no system at present that serves this purpose, and as mentioned in the idea's page of this project, the administrators are using google forms as a means to review proposals.

There are two ways to go about a system like this. First is to hack and make a review software out of an existing project or two use specific parts of an existing projects and make a wikipedia based extension/software.

I systematically evaluated the pro's and cons for both ways. Note that since am not aware of all the user stories I am more inclined towards developing this as an wikipedia extension. However I open to complete change of views and am ready to hack an existing software for this purpose as well.

Wikipedia Extension

Hacking an existing software

Existing mediawiki api's could be used to access databases Dedicated community/engineers working on this software
Themes from mediawiki could be applied here Faster deployement of project.
People who are comfortable with wikipedia code-base could conviniently

work on this as well

Professionally developed user interfaces.
Better integration with wikipedia would mean that the proposal and talk pages

are better accessible to this software

Support for after deployement
User interface depends on the widgets we choose to use
Could leverage the power of existing mediawiki extensions better

This becomes a three phase process if we decide to do this as an extension.

  1. In this stage I would be talking to the IEG reviewers and gathering all there requirements from their stories. In this stage I will make a list of all the feature required and look at specific open source widgets available for these requirements.
  2. In the second stage based on the requirements I will create additional database tables also in this stage I will write scripts for creating these tables automatically. PHPUNIT tests are also written at this stage to ensure all the scripts are running smoothly.
  3. In the third and final stage I will be writing scripts for the front end as well as creating server scripts which would use the mediawiki API module.
Possible mentors
Siko Bouterse, Bryan Davis, Dan Garry

Related Projects[edit]

I couldn't exactly find an existing software which completely fits the requirement. Also due to the fact that I might not know of all the requirements too.

How ever I came up with a list of opensource widgets that would be perfect for few of the requirments I could make out.

Survey and polling widget[edit]

If you think of the process of reviewing the product on given set of criterias you might agree with me that this process is very similar to the process of product surveys.

So I here I list a couple of product survey applications which are not free but we can draw some inspiration from them.

Rating-system(Not free)

Poll-daddy (Not free)

poll-snack (Free)

Project management software[edit]

None of these are free but they have some awesome features !!

Zoho project management tool : The create project part of this is interesting to our objective

Zoho recruit review : The part where we review the recruit and assign him a rating in this system is close to reviewing the project and giving him the rating

Liquid planner : Again a great UX for creation of projects

MavenLink : This has a beautiful activity feed where any activity on a project is shown.


Task No: Timeline Task
1 Apr 22 - May 10 Community bonding, Talking to all the reviewers, getting to know the nature of projects they review
2 May 11 - May 21 Gathering requirements, going through existing FOSS UI components.
3 May 22 - June 10 Creating and modeling databases and also creating installation scripts for the extension
to automatically create the databases
4 June 11- June 22 Developing the current applications viewing page and application summary page for admin.
5 Jun 23 - Jun 24 Mid Term Evaluation
6 June 24 - June 30 Developing the add reviewers page
7 July 1 to July 12 Creating the reviewers page
8 July 13 - July 23 Writing any missed out unit tests and writing selenium tests
9 July 24 - July 31 Working on the post to the tools page part.
10 Aug 1 - Aug 18 Documentation and feedback


The source code will be put in a git repository, my mentors can track my progress by going through the code that I have written. I will be posting weekly updates on my blog Apart from this I will be communicating my progress through email to my mentors.

About you[edit]

Am a B.Tech in computer science engineering Final year student at GITAM university vizag.

How did you hear about this program?

I heard about GSOC through seniors, friends

I am very passionate about this project cause this is not a obscure feature request or addition of a functionality which barely a few hundred random users use.
Being bestowed with the oppurtunity to build this particular project of all the projects ideas is matter of pride to me as I am creating something very fundamental as well as something very essential. I could be boastfully be able to say that this new feature that wikipedia has just added was first reviewed on my system, before being approved !!

Past experience[edit]

So far I have contributed only to PHPMYADMIn apart from mediawiki. Recently I had a 280 line bug patch merged in PHPMYADMIN patch

Apart from this I have 3 more patches in phpmyadmin. The complete list can be found here. Note that I made all these patches this month itself.

Following are the patches I wrote for mediawiki last year.

bug 45580, bug 43504, bug 33438 & bug 48197 (All four merged)

The year I wrote the following patches.

(Merged) Bug 60524, Bug 56363,Bug 56025, Bug 53098 (Merged)

I will continue to work on the remaining two patches as well to have them merged.

Any other info[edit]

As I said I will be building this as an extension. So I build couple of very basic UI's in an mediawiki extension.
I've build these using the OutputPage->addHTML() function, the outputPage->addWikiText() function.


See also[edit]