[Soc-coordination] [Package Tracking System rewrite] Week 5 - July 19 - Status Report

Marko Lalic marko.lalic at gmail.com
Fri Jul 19 22:05:08 UTC 2013


The last iteration ended up deviating quite a lot from the planned tasks,
due to some mentor feedback and higher priority refactoring, fixes and
improvements that were required.

What was accomplished during the week is:

- A module for caching Web resources which are retrieved by tasks. It
includes checking both freshness information (Cache-Control/Expires
headers) and validation information (Last-Modified/ETag). Accessing the
cached content/headers is also possible. This boosts the efficiency of
update tasks by not requiring expensive network operations when a cached
copy is found. However, an option to "force" update the cached resource is

- Reworked some of the models to account for some corner cases, such as
multiple versions of a package in the same repository, maintainers with
different names for different packages, etc.

- Implemented persistent jobs. The already implemented tasks framework
which resolves dependencies between update tasks based on the information
("events") they provide/require and then executes those tasks in the
correct order now stores the state of execution of each job to persistent
storage after each task is complete. Deserializing the state back to a job
and restarting the job from that point is also implemented.

- Added more "events" to the main repository update task. This basically
means that the changes found in the repository are more thoroughly analyzed
and based on what is detected, correct "events" are raised. Other tasks
react to these changes.

- Added the possibility for tasks to receive additional parameters apart
from the events, e.g. "force_update".

- Implemented a management command to launch a full update of repository
information, such that it can be ran as a cron job.

- Updated the backlog of user stories with new stories and acceptance tests.

- Deployed the application on a new EC2 instance, since the "micro"
instance which was being used turned out to be quite limiting in the
available processing power.

All repositories that the current PTS tracks are now also tracked by this
version. You can see what it all looks like at http://pts.debian.net

The next week's plan is now the same as what I wrote here last time. I'll
include it again for completeness' sake.

- Updates to the documentation: fix formatting to be in Sphinx syntax
across the board, add some high-level design documentation and fill in
some possibly missing API documentation.

- See important package links - basic framework. Allow developers to
easily embed their own links to the equivalent of the current PTS'
"links" box. Add the link to a package homepage.

- See recent news on a package. If the news item is signed, displays
who signed it.

- See details of a news item. News can be various different content
types, each with a special rendering mechanism: html, email, plain
text, RST. The content of the news is rendered based on its content

- See bug statistics on a package page. Provide a way for vendors to
return the bug categories and bug statistics for each category.
Display a panel equivalent to the current "bugs" box for each package.

Thanks for reading.

Kind regards,
Marko Lalić

email: marko.lalic at gmail.com
mobile: +387 61 817 681
web: www.eestec-sa.ba
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/soc-coordination/attachments/20130720/daff9c60/attachment-0001.html>

More information about the Soc-coordination mailing list