Task:Package QA web interface

= Need =
 * Developers need to promote their package from extras-devel to extras-testing and extras
 * Packages need to be tested before they are available for the general public
 * Community members should be able to help test applications
 * Testers should be able to report issues with packages
 * Testers should see a list of packages waiting to be tested

= Workflow =

Regular
A developer uploads a source tarball to the autobuilder. After successful building, this package ends up in extras-devel.

extras-devel is considered the development repository, not for end users.

Every package in extras-devel gets an entry in the package web interface. On this page authors can be added to the package and information can be filled in. Default information is gathered from the actual debian package in the repository.

When a developer thinks his application is ready for wider testing and eventually end users, he promotes the package to extras-testing. (Automated QA tests will be performed, but this is outside the scope of this document)

Once the application ends up in extras-testing, the application shows up in the list of packages waiting to be tested. An RSS feed will be available too.

Every community tester can now test the application on their device and report back. The tester can give thumbs up or thumbs down for the package. There is a possibility to file a bug against the package directly OR comments can be left on the package information page, describing the problem the tester encountered.

Possible outcome:
 * If a package receives negative feedback, the debmaster will look at the package's problems. If the problem is serious, the package will be removed from the test queue and the author will be notified.


 * If the package receives X positive feedback, the package goes to the promotion queue for Extras.


 * If the package receives no feedback within X days, the debmaster will look at the package and see what needs to be done.

When a package is in the promotion queue for Extras, the original uploader (or team) can promote the package to Extras. This makes it easy for the project to time their release.

Exceptions

 * Security fixes can be specially handled by debmaster.
 * Fixes for serious bugs can be specially handled by debmaster.

Implementation questions

 * How would we handle dependencies, when promoting and testing an application.
 * Will we remove a package from extras-testing when it has received X amount of negative feedback or only remove it from the testing queue page.

= Inspirational mockup = Fedora Packages page

= Implementation steps =


 * 1) Package page
 * 2) Promotion page
 * 3) Package feedback
 * 4) Test queue