[Soc-coordination] [Package Tracking System rewrite] Final report

Marko Lalic marko.lalic at gmail.com
Mon Sep 23 23:42:35 UTC 2013


The work done during the last week of GSoC includes the following features:

- Team subscription management. A user can mute/unmute particular team
memberships in whole or only certain packages that belong to the team.
A set of default keywords for the entire team or particular keywords
for each package can also be set.

- Receive updates for packages of a team. All members of the team
receive package messages regarding packages in the team, if the
message is tagged with a keyword that the user accepts for the given
package (based on team package-specific keywords, team-keywords or
user default keywords) and if the team/package is not muted.

- Email commands related to teams. Email control commands similar to
what is available for regular package subscriptions. Allows users to
join a team, leave a team, list a team's packages (for private teams
this works only if the user who sent the control email is a member of
the team), list all public teams, and list all teams a certain user
belongs to.

- Import PTS existing PTS package subsciption info. A Debian-specific
management command to ease the transition to the new service. Imports
all existing package subscriptions, package-specific keywords and user
default keywords based on the outputs of the bin/dump.pl and
bin/dump-tags.pl scripts of the old PTS.

- Export PTS data to UDD: an alternative format is provided for the
output of the management command that lists source packages and their
subscribers. The output is adapted to what the UDD expects.

- Account password reset. A user is able to reset his account's
password in case he has forgotten it. After following a confirmation
link sent in an email message, he has access to a form to input a new
password for the account.

- Associate additional emails with an account. Users can add a new
email address to their account in order to manage its subscriptions
within the same PTS account. In order for the change to take effect, a
confirmation link sent in an email message to the address to be added
to the account needs to be followed. If the email address that is to
be added to the account is already associated with an existing PTS
account, the user may choose to merge the two accounts. For this, a
confirmation is required from the account that is not initiating the
merge.

- Login via sso.debian.org. A PTS account is automatically created for
DDs authenticated by sso.d.o. Additionally, any account that has a
@debian.org address associated with it is not allowed to log in using
a PTS-specific password and is directed to sign in at sso.d.o.

- Enable South for schema migration for all apps that define any models.

- Some model refactoring: use only a single PackageName model
(currently the BinaryPackageName was separate from the reset) and use
a single email model -- all email fields are now foreign keys to this
model.

As for the summary of the project:

The existing Debian Package Tracking System was rewritten to use the
Django Web framework. The rewrite managed to add new features to the
System, such as user accounts and team management, as well as fix a
few existing bugs. The application is easily extensible and
configurable, which makes it easy for Debian derivatives to set up
their own instances or other developers to join and hack on new
features. The project followed a Test Driven Development strategy
which means that all features are covered by appropriate functional
and unit tests giving confidence that they work as expected.

This is it for the final report regarding the Package Tracking System
rewrite. In the end, I'd like to say that I've had quite a productive
and interesting summer. The feedback my mentors provided has helped me
learn and improve myself in many different aspects. Hopefully, the
result we've produced will stand the test of time and prove to be an
asset for the entire Debian community!

Thank you once again for the opportunity to participate in the Google
Summer of Code!

Cheers,
-- 
Marko Lalić

email: marko.lalic at gmail.com



More information about the Soc-coordination mailing list