The midterm evaluations have taken place this week, marking the half time in my project.
So far, I have a working module that can already be used an integrates with the existing SS_Log / Zend_Log infrastructure. The UI is based on SilverStripe Forms, something which developers are already familiar with.
A nice thing this week was the implementation of the DashboardLogFilter, which allows enabling or disabling logs for URL patterns. The Zend_Log infrastructure made writing this very easy, it's just a class that implements Zend_Log_Filter_Interface. At the beginning of the implementation I came across the point where I thought: "there is no way to make sure this works by manual testing", so I actually started writing the unit tests before implementing most of the functionality. This is the first time I tried my hands at a tests first approach and I am very pleased with the way this turned out.
Next week I'll be taking a break, and after that it's back to coding. Apart from the smaller things that are collected in my issues list (https://github.com/jakr/developer_dashboard/issues), I will try to integrate the existing dbprofiler extension with my dashboard. This is a good first test to see if my API is complete and if someone else's code will actually be able to use the dashboard. And if it works I get a fully functioning query log as a free extra.