Distribution Wide Tracker Tool
Codename: wotomae (Working Together Made Easy)
This project is being developed for the Google Summer of Code. Any comments are welcome. You can view the proposal at this URL. My blog is also available at http://blogs.hurdfr.org/arnau for following the progress of the project.
Wotomae is available at http://wotomae.debian.net/. Feel free to send comments or bug reports to arnaud _AT_ andesi.org.
DWTT is a tool to make it easier to manage changes which affect other packages, like library transitions, moving to another python/perl version, policy changes, etc.
Currently, transitions aren't easy to follow because a lot of developers have to collaborate together on a lot of packages. DWTT will provide an efficient tool for handling transitions and thereby reaching release goals in shorter timeframes.
A developer, "foo", would like to make changes to the package "bar". However, these changes affect many other packages, which need to be fixed.
- Create a "changes to bar" project using DWTT with its description and the given usertag.
- If some bugs have already been filed with the given usertag, they are automatically added by DWTT. "foo" can complete the list of affected packages by hand.
- "foo" may associate a bug with a package, and the usertag is automatically sent to the BTS by DWTT.
- DWTT can also display a global view of the transition progress using different criteria (whether patches are available or not, etc.).
Now the developer, "foo", who is very productive, decides to audit packages in order to check the their licenses. DWTT allows collaboration on a task without the BTS; actually, the main part of the work happens before filing bug reports.
- Create task.
- "foo" describes the steps involved in the task. DWTT will make it possible to add comments in order to keep other developers informed about the problems.
- When a developer finds a problem with a package's license, he submits it, then the team maintaining the package can update the status to "no problem" or "problem found" or add a comment without updating the status. Every status change must be described.
Examples of the coordination that should be possible with DWTT/wotomae
Adding testing propagation hints. A parser of http://ftp-master.debian.org/testing/update_excuses.html would list all packages which should enter testing but haven't (and packages which have entered testing would automatically be removed). Each day it would be automatically updated by a script. The release managers could use wotomae to avoid investigating a given issue twice.
The Wotomae web interface will look like alioth. There will be two top menus. The user can log in or create an account using links at the top of the interface.
The top menu items will be in italics and the subitems will be in bold.
- Presentation of the tool.
- News about the trackers.
- List of trackers.
- Left menu allowing users to log in or to create an account.
- Log-in form if the user isn't already logged in.
- Summary of the user's work.
My trackers (0)
- Show the user's trackers and their progress.
- Link to each "Tracker page".
- Change the user's settings and notification preferences.
Create a tracker
The following fields will have to be filled in: title, description, type, associated packages, needed status (2).
- Last created trackers.
- Search for a tracker using different criteria (title, description, type, packages, status).
- Information about the tracker.
- Add packages to the tracker.
- Associate a bug with a package.
- Sort packages list following different criteria (like last changes, bugs exists, status, etc.)
- Add a comment about a package.
- Lock a package.
- [Tracker's admin]
- Modify tracker's status.
- Delegate admin's rights to users.
- Modify tracker's description.
- Mass bug filing.
 The user will have the ability to bookmark a tracker which will appear in this page.
 The blacklisted users can't do anything with the tracker except look at it.
 When a developer finds a problem with the license of a package, he submits it, then the team maintaining the package can update the status to "no problem" or "problem found" or add a comment without updating the status. Every status change must be described.
Mock-up of the web interface
Anybody will be able to send mail to control@wotomae for the following operations:
- Assign a bug to a tracker (usertag will be sent automatically).
- Assign a package to a tracker.
- Lock a package.
- Leave a comment about a package.
The following operations can be made only by the tracker administrator's team. The sender's address will be checked and confirmation will be sent to the sender before processing the request:
- Change the step (without BTS).
- Tag a tracker as done if no packages have been associated.
The blacklist will be searched for the e-mail address; if found, the mail will be rejected with a notice to the sender and the administrators. For each operation, a notification will be sent to the administrators (they will be able to choose whether to activate notification in their account settings).
# The following command will apply to the tracker "python2.4". tracker python2.4 # Assign packages to the tracker assign python-medusa kid # Assign the bugs "123" and "134" to "kid". assign kid 1234 123 # Lock package "formencode" and "turbogears". lock formencode turbogears # Leave a comment about "kid" and "cheetah". addcomment kid cheetah 'this is a comment' # Change the status of "kid" and "cheetah" to "done" (no BTS). # Confirmation will be sent. setfield pyme done # We are now working on the "gnome2.14" transition tracker gnome2.14 # Update the upstream-version of evolution. # Confirmation is sent. setfield evolution upstream-version 2.4.6 # End of the commands thanks
Finally, I have chosen to use Turbogears, which provides some interesting features in one framework:
How to get the source code
$ bzr get http://bzr.debian.org/bzr/wotomae/mainline/ wotomae Branched 55 revision(s). $ cd wotomae/src $ less README
A cross-distro version tracking system by Sanghyeon Seo (sanxiyn)