User:Kparal/Idea:Fedora Hall of Fame

Introduction
Currently lots of people participate in the Fedora Project. Some of them devote an incredible amount of their personal time to it. But although they are known amongst people related to their area of interest, some of them might feel lack of urge to push forward and improve over time. We would like to motivate them continuously, increase their satisfaction from their work and reward them. We believe that one of the pieces of this puzzle could be a Hall of Fame, that is further described by this proposal.

Hall of Fame proposal
Hall of Fame should be a collection of ladders that display top Fedora contributors in certain areas over a certain period of time and give them credit. The suggested areas of tracked participation may include (just ideas, not everything must be implememted):


 * Fedora Wiki - # of edits, # of new pages created
 * Fedora Mailing Lists - # of replies, # of new threads created
 * Fedora Forum - # of replies, # of new threads, new ranks achieved
 * Red Hat Bugzilla - # of comments, # of new bugs reported, # of bugs triaged, # of bugs fixed
 * Fedora Package Maintenance - # of packages owned/maintained, # of new builds, overall activity, # of new updates
 * Fedora Source Code - # of commits, activity in Fedora applications
 * Fedora Translations - # of translations
 * Fedora Package Review - # of reviews done
 * Fedora Testing - # of new updates tested, # of installation testing done, # of Test Days test cases done
 * Fedora Planet - # of blogposts

These statistics should be probably displayed in the form of ladders and graphs on a separate web page, that would encompass the whole Hall of Fame. This page could be part of Fedora Community website and the UI could be similar to reports present there. Basically it could look similar to the graphs currently available on Fedora Community website, but we would like to have many many more of them and prettier :-)


 * [[Image:wiki_activity.png|400px]]

The statistics should be updated regularly. It doesn't have to be real-time, but at least once a day would serve the purpose well.

We foresee that the "top contributors list" and a link to Hall of Fame would be included in the Fedora Weekly News or other magazines and that could be a big motivator and a reward for some people to be listed there.

Possible future enhancements

 * A nice feature would be support for certain time snapshots (e.g. "wiki edits for the end of May") that could be linked from other sources. That way hyperlinks in newsletters/blogpost would link to the same content even after several months.


 * Although the first task is to have this working for general metrics (e.g. all wiki edits regardless of user memberships or wiki sections), an optional feature in some later stage of this project could be tailoring the statistics for different teams/audiences. For example QA team would love to restrict the graph of wiki edits only to people with qa group membership, or just to wiki pages with QA: and Test_Results: namespaces.

Implementation details

 * Implementation team:
 * Kamil Páral
 * Jan Hutař
 * Jan Tluka
 * Marián Ganisin


 * Time scope: start of June 2010 - end of August 2010

Project Management

 * plans - folder with project management plans, etc

GIT branch
We have 'fhof' branch in fedoracommunity git. We have write access to the whole repository, so be really careful to modify only our branch. You must be in 'gitfedoracommunity' group in FAS.

Setup git: $ git clone 'ssh://git.fedorahosted.org/git/fedoracommunity.git' $ cd fedoracommunity $ git checkout -b fhof origin/fhof $ git status          # check that you're on 'fhof' branch

Work process: $ git pull            # pull and merge new changes from the repository $ ...                 # do your own changes $ git status          # see your changes $ git diff            # see diff of your changes $ git commit -a       # commit your changes $ git push origin fhof # push only your branch(!) to the repository

Development server
Fedora Community instance should be setup at publictest2.fedoraproject.org. We can use it for development purposes, for deploying and testing our code. Beware of doing destructive changes on the server, we are probably not alone there. You must be in 'sysadmin-test' group in FAS.

Login: $ ssh publictest2.fedoraproject.org

Since we are working with AGPL application, all changes must be first committed into git and only then deployed to the server. No hotfixing or direct development on the server allowed.

Web interface: http://publictest2.fedoraproject.org/community/

TODO list

 * [tluka] create collector for Bugzilla reports (most active bug reporter, etc)
 * [jhutar] ask lmacken to make a short workshop for us how to create a new Fedora Community module
 * [jhutar, kparal] try to extract data from any source and fill it into FC database
 * [kparal] Create collector for Fedora Planet
 * [mganisin] Create collector for Fedora Package Database
 * sample code created (stored on private place at the moment)
 * found following facts:
 * call for packagelist per owner (PackageDB.user_packages) took cca 2 seconds
 * call for owners per package (PackageDB.get_owners) took cca 2 seconds
 * complete query for all packages (more than 10k) will take 6 hours or more
 * complete query for all users (more than 20k) will take 12 hours or more
 * doesn't seem to be suitable for repeating call
 * [mganisin] Talk to Package Database maintainers how to access the summary information faster than querying every single user/package

Interesting things that could help

 * EKG - project for monitoring mailing lists, in Perl
 * Repositioning myself within the Fedora Project - blogpost about Fedora statistics
 * Statistics 2.0 - very similar project to ours, blogpost about it
 * FAS scraper - simple tool for inspiration, ticket for inclusion into python-fedora
 * Starting development of Fedora Statistics 2.0 with Moksha
 * Ubuntu Hall of Fame