[Soc-coordination] Backend Tools and Infrastructure for DEX - Report 3

Nathan Handler nhandler at ubuntu.com
Mon Jul 4 17:51:16 UTC 2011


Hello everyone,

Since my last report, a lot of visible changes have been made. First,
if you edit the value of any of the text inputs on the dashboard
table, your changes will be saved when you hit the submit button. This
feature still needs a bit of work though. For example, I noticed
during testing that if you submit the form multiple times, you will
sometimes end up with approximately duplicate entries in the changes
file (the file that stores user-submitted changes to the table). I
also need to implement some checks to ensure that the values submitted
are actually valid (i.e. we probably only want to allow a few possible
values for the 'status' column).

Another big improvement is the addition of a graph at the bottom of
each project's page. This graph tracks the number of open tasks versus
time. The graph is re-generated once each day based on a 'progress'
file. This file simply lists a date and the number of open tasks on
each line. While the graph does correctly show a line tracking the
progress, it still has some issues to sort out. For example, the
x-axis does not properly display a time increment. Work on the graph
was blocked for a while due to not having a fully-functioning
dashboard. Now that the dashboard is functioning, I should be able to
start working on fixing these graph issues.

Several people approached me to request the ability to link directly
to a particular project. That way, users do not need to mess around
with the select boxes. Above each table is a title. If you click on
the title, the URL should update to link directly to the project. This
is done with the 'distro' and 'project' query parameters. For example,
a link to dex.html?distro=ubuntu&project=ancient-patches [1] will take
you directly to Ubuntu's ancient-patches project. Attempting to
specify an invalid distro or project will cause the query parameters
to be ignored.

While looking at the table title, you will also notice a new '(Graph)'
link. This link will take you directly to the bottom of the page so
you can view the graph. Currently, it is not possible to link directly
to the graph anchor tag of a specific project. Attempting to do so
will cause the '#graph' portion of the URL to be ignored. However, if
you click on the actual graph, it will load a full-size graph.png that
you can link to.

One rather significant issue that has shown up is that the table is
very wide. On most monitors, you will have to scroll horizontally to
view all of the columns. This is due to the fact that most of the
cells are made up of text inputs (they don't have a background or
border, but if you click on some text in the table, you should see the
box) rather than plain text. The 'size' parameter for a text input was
meant to specify how many characters should be visible. However, while
I have the 'size' parameter set correctly for each input, it is
showing up much wider than the text. I will continue to play around
with this, since excluding the size parameter results in some values
getting cut-off.

As mentioned in my last report, I have continued to work with Allison
Randal to make the dashboard more useful. I have received feedback
directly from her and indirectly from other people working on the
python2.7 project. During my last phone call with my mentor, Stefano
Zacchiroli, we agreed that it would be very helpful to spend some time
documenting how to go about adding a new project to the dashboard and
how to utilize all of the dashboard's features. The goal of this is to
not require people to go through me or any other individual to be able
to use the dashboard. So while the Summer of Code is meant to focus on
programming, I will probably spend some time adding some
documentation, as a program is rather useless if nobody knows how to
use it.

Another bug that I will be working on has to do with sorting the
table. I had this feature working early on in the project. However,
the sorting broke when I starting using text inputs instead of plain
text. I have done some research, and I hope to get the sorting
re-implemented in the near future.

One other feature that has been requested by several people is the
ability to hide completed tasks. This has been on my todo list for a
while. Matt Zimmerman wanted to take this a step farther. He felt that
the status of the task should be separate from the bug. This means
that you can have an open task with a closed bug or a closed task with
an open bug. The user could then have some more control over what data
they are seeing. I will probably attempt to add some check boxes to
control whether certain information is displayed. The user will also
be able to specify this directly in the URL. This means that a team
could link directly to all open tasks in a project.

It is also worth noting that thanks to some help from the fantastic
Alioth admins, I now have a live instance of the dashboard running on
Alioth [2]. While the URL might change in the future, I hope to keep
it running on Alioth.

If you are interested in helping out with DEX or dextools, my code is
available in a git repository on alioth [3]. You can also join the
debian-derivatives mailing list, join #debian-derivatives on OFTC, or
contact me directly via email or on IRC (nhandler).

Thanks,
Nathan Handler

[1] http://dex.alioth.debian.org/gsoc2011/projects/dex.html?distro=ubuntu&project=ancient-patches
[2] http://dex.alioth.debian.org/gsoc2011/projects/dex.html
[3] http://anonscm.debian.org/gitweb/?p=dex/gsoc2011.git



More information about the Soc-coordination mailing list