From Fedora Project Wiki
m (internal link cleaning)
 
(24 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{draft}}
{{admon/caution|Project cancelled|This project has been abandoned. We don't work on it anymore :-/}}


== Introduction ==
== Introduction ==
Line 27: Line 27:


We foresee that the "top contributors list" and a link to Hall of Fame would be included in the [[FWN|Fedora Weekly News]] or other magazines and that could be a big motivator and a reward for some people to be listed there.
We foresee that the "top contributors list" and a link to Hall of Fame would be included in the [[FWN|Fedora Weekly News]] or other magazines and that could be a big motivator and a reward for some people to be listed there.
=== Available ways for data gathering ===
{|
! Source !! Interface/Tool !! Comment
|-
| [[Fedora_Project_Wiki|Fedora Wiki]] || [https://admin.fedoraproject.org/community/#statistics Statistics]? ||
|-
| [https://admin.fedoraproject.org/mailman/listinfo Fedora Mailing Lists] || [https://fedorahosted.org/ekg/ EKG] ||
|-
| [http://fedoraforum.org/ Fedora Forum]  || ? || possibly [http://forums.fedoraforum.org/search.php?searchid=12514272 Today's Posts]
|-
| [https://bugzilla.redhat.com/ Red Hat Bugzilla]  || [http://www.bugzilla.org/docs/tip/en/html/api/Bugzilla/WebService/Server/XMLRPC.html xml-rpc], [https://fedorahosted.org/python-bugzilla/ python-bugzilla], search || may require authorization (account)
|-
| [https://admin.fedoraproject.org/pkgdb/ Fedora Package Maintenance] || [https://fedorahosted.org/releases/p/y/python-fedora/doc/ python-fedora] ||
|-
| [http://cvs.fedoraproject.org/viewvc/ Fedora Source Code] || VCS || may be exhaustive for resources
|-
| [https://translate.fedoraproject.org/ Fedora Translations] || ? ||
|-
| Fedora Package Review || Bugzilla? ||
|-
| Fedora Testing || ? ||
|-
| [http://planet.fedoraproject.org/ Fedora planet] || [http://planet.fedoraproject.org/rss20.xml RSS] ||
|}


=== Possible future enhancements ===
=== Possible future enhancements ===
Line 44: Line 69:


== Implementation status ==
== Implementation status ==
=== Project Management ===
* [http://kparal.fedorapeople.org/fhof/ plans] - folder with project management plans, etc
=== Development tools ===
==== GIT branch ====
We have 'fhof' branch in [http://git.fedorahosted.org/git/?p=fedoracommunity.git 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:
<pre>
$ 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
</pre>
Work process:
<pre>
$ 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
</pre>
==== 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:
<pre>
$ ssh publictest2.fedoraproject.org
</pre>
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 ===
=== TODO list ===
* ALL: Think out the proposal thoroughly, raise questions and concerns, post them here (use Discussion page)
* [tluka] create collector for Bugzilla reports (most active bug reporter, etc)
* jtluka: Sort out with your managers how much time you can spend on this task
* [jhutar] ask lmacken to make a short workshop for us how to create a new Fedora Community module
* jtluka: Try out EKG and see how it works
* [jhutar, kparal] try to extract data from any source and fill it into FC database
* kparal: Consult this idea with [https://admin.fedoraproject.org/community/ Fedora Community] authors. Those are probably the same people as standing behind [[Statistics 2.0]] project.
* [kparal] Create collector for Fedora Planet
* kparal: Find public machine suitable for development
* [mganisin] Create collector for Fedora Package Database
* kparal: Find out where the documentation (photos, etc) is stored for our past project management training, it wasn't provided to us
** sample code created (stored on private place at the moment)
* jhutar: Write "Hello World" page for Fedora Community portal, inspect the code standing behind it
** found following facts:
* mganisin: Set wiki to watch this page for you and inform you on every change
*** call for packagelist per owner (PackageDB.user_packages()) took cca 2 seconds
* mganisin: Find out how hard it is to extract data from different web portals and development tools (as listed in the proposal). Provide some summary which portals are easy to work with and which are not.
*** call for owners per package (PackageDB.get_owners()) took cca 2 seconds
** Consult idea for watching fedoraforum with [http://fedoraforum.org/ Fedora Forum Community] - from a quick search, it looks like they are not using CMS which have some RPC and it looks like there is no such plug-in on the CMS webpages
*** 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 ===
=== Interesting things that could help ===
Line 62: Line 126:
* [[Statistics 2.0]] - very similar project to ours, [http://ianweller.org/2009/07/06/statistics-20-the-beginnings/ blogpost about it]
* [[Statistics 2.0]] - very similar project to ours, [http://ianweller.org/2009/07/06/statistics-20-the-beginnings/ blogpost about it]
* [http://blog.melchua.com/2010/03/01/fas-scraper/ FAS scraper] - simple tool for inspiration, [https://fedorahosted.org/python-fedora/ticket/21 ticket for inclusion into python-fedora]
* [http://blog.melchua.com/2010/03/01/fas-scraper/ FAS scraper] - simple tool for inspiration, [https://fedorahosted.org/python-fedora/ticket/21 ticket for inclusion into python-fedora]
* [http://jhutar.ic.cz/index.php?mesic=201007#t1278656080 Starting development of Fedora Statistics 2.0 with Moksha]
* [http://hall-of-fame.ubuntu.com/ Ubuntu Hall of Fame]

Latest revision as of 23:13, 17 September 2016

Stop (medium size).png
Project cancelled
This project has been abandoned. We don't work on it anymore :-/

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):

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 :-)

Wiki activity.png

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.

Available ways for data gathering

Source Interface/Tool Comment
Fedora Wiki Statistics?
Fedora Mailing Lists EKG
Fedora Forum ? possibly Today's Posts
Red Hat Bugzilla xml-rpc, python-bugzilla, search may require authorization (account)
Fedora Package Maintenance python-fedora
Fedora Source Code VCS may be exhaustive for resources
Fedora Translations ?
Fedora Package Review Bugzilla?
Fedora Testing ?
Fedora planet RSS

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

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

Implementation status

Project Management

  • plans - folder with project management plans, etc

Development tools

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