[Soc-coordination] Sixth report: Provide some metrics in Debile

Clément Schreiner clement at mux.me
Sun Jun 29 18:12:31 UTC 2014


Hi,

this is the sixth weekly report on my Summer of Code project 'Provide
some metrics in Debile'[1]. 

(Previous report:
http://lists.alioth.debian.org/pipermail/soc-coordination/2014-June/002121.html)

I haven't achieved much this week, not because I didn't work enough, but
because I struggled doing what I wanted to do (though I could probably
be accused of unproductive work).

firewoes integration
--------------------

My main focus was to make it possible to view a report in firewoes, with
a link on a job's page in debile-web to the corresponding page in
firewoes.

First I had to actually run firewoes alongside debile, which was
actually simple: it's explained clearly in flask's documentation[2]. 

I didn't realize quickly enough that all I needed to do was to use
werkzeug's built-in WSGI server instead of the flask default, and use
werkzeug.wsgi.ApplicationDispatcher to dispath all url starting with
"/firewoes" to firewoes instead of debileweb.

I lost a lot of time thinking I needed to understand and adapt
http://flask.pocoo.org/docs/patterns/appdispatch/#dispatch-by-path, and
looking for a simpler solution :(


Once I had firewoes up and running, I had to find a way to make it
display a single job's results. It is possible to make quite detailed
searches, by package name/version, analyzer… but not by analysis. Since
a single package may have several results for one analyzer (when the job
is rerun after a change in the analyzer, for example), that was not
enough.

I started making a new view for a page showing all results for a single
analysis, but finally realized that all I needed to do was to make the
search page filterable by analysis ID. Which was straightforward[3].

All that time has been completely lost, though, since I learned a lot
about flask and firewoes, which will be useful later.


trivial improving to debileweb UI, or: how to lose time making a simple
task complicated
------------------------------------------------------------------------------

One small problem with debileweb is that on the package list, jobs
status (failed build, success, waiting for a dependency, etc.) is
displayed by small icons (actually unicode characters), which are not
always obvious: http://debile.debian.net/sources/recent/

I wanted to add a text description as a caption for each of those
statuses. For some reason, I thought it required putting them in a
horizontal list. I learned the hard way that lists are not really
compatible with tables, then thought the proper way to do that was to
make them a single row table.

And then I remembered something: any element can have a "title"
attribute. I reverted my changes and just put each status character in a
<span title="[status]">, and was done[4].



Thanks for reading,


-------
Clément




[1]
[https://wiki.debian.org/SummerOfCode2014/StudentApplications/ClementSchreiner]
[2] [http://flask.pocoo.org/docs/patterns/appdispatch/]
[3]
[https://github.com/clemux/firewoes/commit/7146ca3b8e7d463c00c0b71ded23653b95887995]
[4] [http://anonscm.debian.org/gitweb/?p=pkg-debile/debile-web.git;a=commitdiff;h=bb699a4]



More information about the Soc-coordination mailing list