<div dir="ltr">Hello,<div><br></div><div>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.</div>
<div><br></div><div>What was accomplished during the week is:</div><div><br></div><div>- 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 provided.</div>
<div><br></div><div>- 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.</div><div><br>
</div><div>- 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.</div>
<div><br></div><div style>- 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.<br>
</div><div><br></div><div><div>- Added the possibility for tasks to receive additional parameters apart from the events, e.g. "force_update".</div><div><br></div></div><div style>- Implemented a management command to launch a full update of repository information, such that it can be ran as a cron job.</div>
<div><br></div><div style>- Updated the backlog of user stories with new stories and acceptance tests.</div><div><br></div><div>- 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.</div>
<div><br></div><div>All repositories that the current PTS tracks are now also tracked by this version. You can see what it all looks like at <a href="http://pts.debian.net">http://pts.debian.net</a></div><div><br></div><div>
The next week's plan is now the same as what I wrote here last time. I'll include it again for completeness' sake.</div><div><br></div><div><span style="font-family:arial,sans-serif;font-size:13px">- Updates to the documentation: fix formatting to be in Sphinx syntax</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">across the board, add some high-level design documentation and fill in</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">some possibly missing API documentation.</span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">- See important package links - basic framework. Allow developers to</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">easily embed their own links to the equivalent of the current PTS'</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">"links" box. Add the link to a package homepage.</span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">- See recent news on a package. If the news item is signed, displays</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">who signed it.</span><br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">- See details of a news item. News can be various different content</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">types, each with a special rendering mechanism: html, email, plain</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">text, RST. The content of the news is rendered based on its content</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">type.</span><br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">- See bug statistics on a package page. Provide a way for vendors to</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">return the bug categories and bug statistics for each category.</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">Display a panel equivalent to the current "bugs" box for each package.</span><br style="font-family:arial,sans-serif;font-size:13px">
<div><br></div><div style>Thanks for reading.</div><div style><br></div><div style>Kind regards,</div>-- <br><div dir="ltr">Marko Lalić<div><br></div><div>email: <a href="mailto:marko.lalic@gmail.com" target="_blank">marko.lalic@gmail.com</a><br>
</div><div>mobile: +387 61 817 681</div><div>web: <a href="http://www.eestec-sa.ba" target="_blank">www.eestec-sa.ba</a></div></div>
</div></div>