User:Karan10/Reviewing funding requests

From mediawiki.org

A system for reviewing funding requests[edit]

Public URL
(https://www.mediawiki.org/wiki/Reviewing_funding_requestst)
Bugzilla report
(link to the related report at http://bugzilla.wikimedia.org )
Announcement
[[1]]

Name and contact information[edit]

Name
Karan Dev
Email
karandev43@gmail.com
IRC or IM networks/handle(s)
#karan10
Blog
http://www.geeeksfun.wordpress.com
Location
Delhi, India
Timezone
Kolkata,INDIA, UTC+5:30
Typical working hours
8:00pm to 2:00am (workdays) 11:00am to 11:00pm (weekends)

Synopsis[edit]

The Wikimedia runs Individual Engagement Grants, conference scholarships, and other similar programs. Like "Individual Engagement Grants" program many other programs use ad hoc scoring system involving Google Forms to collect input from reviewers. The becomes more difficult when large number of applications come for the review.
The goal is to either create or adapt a free and open source review system for these funding requests, applicable to the similar programs. A defined set of reviewers will then score and comment on each application. System will average the scores given to each application and list all the comments given to that application. Administrator will assign the importance to each application and produce a report showing evaluation of each proposal.

Mentors[edit]

Siko Bouterse, Bryan Davis and Dan Garry are my mentors for this project.

Deliverables[edit]

The Goal:

  • Develop a Universal scoring system scoring system to meet the needs of IEG review by end of September 2014.
  • Making system available for Mediawiki's other programs and for programs like GSoC to review the received applications.
  • A reviewer dashboard which contain name, details, status, requested amount, and note assigned to each application.
    Here is the tabular representation:
Tools
name description approved? requested amount note
Grants:IEG/Map atlas a short description from the idea page (first template) not scored $1,000
Grants:IEG/Gadget to do Foos and Bars a short description from the idea page (first template) yes $10,000 should talk to candidate about X
Total (Tools) Total amount you funded. $10,000 1 scored, 1 not yet
  • Approved column containing the link to the scoring form of the respective application.
  • A reviewer's dashboard after averaging the score and listing all the comments, which is basically the output of each submission.
    Here is the tabular representation:
Outreach
name description approved? requested amount note
Grants:IEG/More ponies in user preferences . no $55,000 exorbitant amount, no clear goal
Grants:IEG/Reach Bazz @ Belarus a short description from the idea page (first template) yes $35,000 should talk to candidate about X
Total (Outreach) Total amount you funded. $35,000 1 scored, 1 not yet

User's role:

  1. Administrator of the grant review system -> Create new grant campaigns (defining reviewers, review criteria, data to be reviewed, and data grouping)
  2. Reviewer -> Mark grant applications as eligible or ineligible.
  3. Grant reviewer -> Score a grant application on multiple dimensions (defined by the admin).
  4. Grant provider or administrator -> View reports on the aggregate reviewer scores for grant applications in a campaign and share results with others outside of the review system and select applications to fund.

Approach[edit]

  1. Research for the existing free opensource software that satisfies the requirements. Based on the conditions deciding whether the application can be modified and can be used by detecting and fixing bugs or will have to create a new one.
  2. If the application can be modified and used, checking the application with unit test cases before integrating to mediawiki.
  3. Further development will be in three phase
    1. Phase 1:
      1. Creating a reviewer dashboard which contain all the application and their status.
      2. Connecting the Database using PHP and MySQL with the form's input that will be shown on dashboard.
      3. Approved column of the dashboard will link to the page which contain the scoring form having several single choice questions (score from 1 to 5 for example) and a comment box.
    2. Phase 2:
      1. Developing an algorithm that will average all the score assigned by the user seperately.
      2. After the reviewing period, the table displays output for each submission i.e. average score for each form question and a list of anonymous comments and the table is made accessible only to administrative person who leads the reviewing committee.
    3. Phase 3:
      1. A button to post the averaged data to the tools' talk pages once the previous phrase completes.
      2. Reviewing and testing the application, fixing bugs and making necessary enhancements to the project.

Sample Code Snipet :
For Dashboard :

<!DOCTYPE html>
<html>
<head>
<style>
thead {color:black;}
tbody {color:black;}
tfoot {color:black;}
table,th,td
{
border:1px solid black;
}
</style>
</head>

<body>

<table>
  <thead>
    <tr>
      <th>Name</th>
	<th>Description</th>
	<th>Approved?</th>
	<th>Request amount</th>
	<th>Note</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <th>Total (Tools)</th>
      <th>Total amount you funded.</th>
      <th></td>
      <th>$10,000</th>
      <th>1 scored, 1 not yet</th>
    </tr>
  </tfoot>
  <tbody>
    <tr>
     <th>Grants:IEG/Map atlas</th>
     <th>a short description from the idea page (first template)</th>
     <th>Not scored</th>
     <th>$1,000</th>
     <th></th>
    </tr>
    <tr>
     <th>Grants:IEG/Gadget to do Foos and Bars</th>
     <th>a short description from the idea page (first template)</th>
     <th>yes</th>
     <th>$10,000</th>
     <th>should talk to candidate about X</th>
    </tr>
  </tbody>
</table>

</body>
</html>


Timeline[edit]

Timeline Task
Apr 22 - May 19 (Community bonding period) Search for the existing open source code, Getting familiar with the code and unit testing.
May 20 - 31 May Fixing bugs and making necessary changes to the code to make it properly functioning.
Jun 01 - Jun 12 Creating the dashboards for the reviewers, grant providers and a scoring form which contain some questions and comments using HTML.
Jun 13 - Jun 22 Connectivity of the dashboard and scoring form with the database using PHP.
Jun 23 Mid Term Evaluation
Jun 24 - Jun 30 Code optimization and debugging.
Jul 01 - Jul 14 Algorithm to average the scores and showing final output to the grantmaker's dashboard, listing all the comments.
Jul 15 - Jul 25 creating button to post the averaged final data to the tools talk pages.
Jul 26 - Aug 05 Code testing and fixing bugs.
Aug 06 - Aug 12 Preparing final documentation of the project
Aug 13 - Aug 17 Submitting the project to Google Summer of Code's website.

About me[edit]

I am B.Tech. computer science student from JRE Group of Institutions, Greater Noida, U.P, India. : I live in Delhi, India. I am very much devoted to programming and web development. I love contribution to open source projects because I learnt many things from various organizations which helped me in other projects also. This time want to contribute to "Mediawiki" organization in GSoC-2014. I am completely free these summers and want to apply my full contribution towards the project.
I installed "Mediawiki" on my system and started getting familiar with their functioning. I also started finding and fixing the bugs.
I am familiar with Source code Version Control System like Git and submitted patches to the github, gerrit repositories.
I am applying only for GSoC. I heard about this program through Google open source blog (http://google-opensource.blogspot.in/) as I read it frequently.
Skills :

  1. Operating Systems: Linux, Windows
  2. Programming Languages: C/C++, Java
  3. Web Technologies: HTML, PHP, MySQL, JavaScript, CSS

Projects I worked on:

  1. Online Identification System: A small project that store the information about the person and display the information by entering the name of person using PHP, MySQL, HTML.
  2. A SMS website’s crawler to send sms using PHP curl.
  3. A small project on alternative LMS (Library Management System) of my college that require parsing the HTML content of the web page to display the student’s information using PHP.

After the completion of project, I'll continue my contribution to "Mediawiki" by fixing bugs and submitting patches.


Other info[edit]

Scoring form Template:
Here is a template for Scoring Form:

Bugs I worked on (Wikimedia):

  1. Bug - 62253 and currently looking for more.

Github Profile: https://github.com/karan10

See also[edit]