The Dart Source

This document is aimed at Dart developers, or anyone who runs a Dart server and wants to change something.

How the Client works

The Client is relatively straight forward. Depending on the Options passed to DashboardManager.tcl, the client will run several programs, and store each programs standard output log, and return status. It will then attempt to parse the logs, and produce an XML file for each stage in the build process. The client then uses one of various means to transfer the XML files to the server. The submission process finally triggers the server to copy the XML files to the appropriate place in the build tree. Note that if the server runs a dashboard client in the same directory tree, you will not need an explicit submit - the files will already be in the correct place.

  

How the Server works

The Server is fairly complicated beast. The first point is that in some senses it is just another client. The server does not actively manage the receiving of client submission. Some intermediate scripts place that data into the server's directory tree. The server roll-up process is started when something (Cron or a roll-up web button) calls DashboardManager.tcl ... DashboardEnd

The roll-up process goes roughly as follows

Things I haven't explained:


Feel free to fix any errors.

Ian Scott
24 Feb 2003