Last modified 7 years ago Last modified on 07/29/09 14:43:27

pkgdb EndUserUI (wannabe


A general hub of information for package related issues. The one-place to go if you're a fedora/OLPC/EPEL user interested in any info on packages. We already have lots of tools handling packaging information(pkgdb, bodhi, koji, bugzilla), but this are mostly developer-centred and don't hold a big appeal to ordinary users.

Users can:

  • view info about packages (version, dependencies, category, space requirements)
  • contribute package reviews
  • tag packages

GSoC Project Goals

End User suitable UI

import information from the yum repositories [5 weeks]

migrate existing summary/description code to use this [0.5 weeks]

  1. write dbschema to support this [0.5 week]
  1. write importer to sync information from yum repo to pkgdb [2 weeks]
  • latest version in EPEL, Fedora 9, 10, devel [non-EOL distros]
  • dependencies
  • package space requirements (size_installed in yum)
  • upstream url + spec file url
  • file list + mark packages that have a .desktop (these are the ones users will most likely be interested in)
  • try to get commit messages (yum or bodhi)
  • license
  1. write Web UI to show this [2 weeks]
  • search on packages, tags, package descriptions (just UI since most of this work has already been done)
  • simple toolbar to link to "Developer resources" -- pkgdb owner page, bodhi, koji, bugzilla
  • build new frontpage for users to replace the current /pkgdb

o lists of latest packages (ones with .desktop)

  • build new pkgpage with comments at: /pkgdb/packages/PACKAGE

o owners of a package (from pkgdb)


  • DBSchema -- Done and we ended up with more changes than originally anticipated to handle the provides/requires/obsoletes/conflicts information.
  • Sync script -- Done. It uses the yum repo files we import into the repository just like the current sync script that only syncs descriptions. This script completely replaces the pkgdb-sync-repo script and the pkgdb/ hack.
    • After summer of code we could extend this to generate the yum repo information from information in the db.
  • WebUI -- Minimal UI that shows the backend is working. The polishing work is punted to the end when we update the UI for tags and comments

user created tags [2.2 weeks]

  • dbschema [0.5 weeks] - done
  • 0.5 weeks

o user can enter tags - done o tags are entered in different languages - done o displayed in UI - basic - no ajax yet

  • output to xml [1 week] - done + bonus: sqlite database output
  • search by tag added to the current search and separate search by tag [0.2 weeks]

user reviews/comments on packages [2 weeks] all done

  • dbschema changes [1 week]

o new fas group for comment moderators o comments table & friends o add language support (nothing in the UI for now)

  • users need to be authenticated with FAS - just a policy note.
  • UI, new TG method [1 week]

Two RSS feeds [2 weeks] waiting for a patch to get accepted into turbogears

  • .desktop packages name/version list - done
  • comments list - done

Building nice JSON APIs for other apps in infrastructure - this will be distributed throughout the project, probably at the end of each step, before the UI work. [1 week] Total estimated time: 10.2 weeks Bonus points:

  • review tagging
  • comment/review ratings by other users
  • adding up the ratings to create a karma system to reward review contributor