The bulk of this week's progress is finishing the ECA stage. This involved refactoring the majority of last week's UI handler classes to handle asynchronous updating as well as polling support, similar to the Control stages for each room.


One consideration in particular is a stage update() call after every user-generated event, since Michael mentioned some time ago that poll rate is a settable value via one of the configuration stages. This should be retrospectively implemented for the room control stages in due time.

Much of the refactoring involves rescoping methods (inherited or otherwise) so that the code remains conformant to DRY. Method signatures had to be changed as well since the newly-implemented AJAX calls need to target the RuleManager instance to trigger the UI update cascade. The new methods added to each handler class perform the updating for each display instance it handles, and largely run the same algorithm used for the rooms control stage.

Next week

Since the rest of the team is busy with hardware work for the foreseeable future, all that remains for my part of the project's 2nd milestone is to implement unit testing for master.js. I intend to use QUnit for the majority of the tests, which Michael can then integrate into our Jenkins framework.

Visual update

Nothing has changed with respect to how the UI looks this week since the additions handle server-client interactions. If unit testing is finished next week, then it would probably involve the QUnit test fixture.

And that's all for this week.