Next / Previous / Contents / TCC Help System / NM Tech homepage

3.2. XHTML for the room page

Each room page displays a table of the configurations of all the client machines in a given room.

Unlike the start page, each room page is a complete standalone page. We'll use the tccpage2 module to supply the overall page format including navigational links.

The set of navigational features on these pages will be minimal:

The page title, in both its head and body/h1 elements, will have the form “TCC workstation inventory for type-of-room room-full”, where type-of-room will be either “open lab” or “classroom”, and room-full is the full room name, e.g., “MSEC-III 187”.

Here is the generated XHTML that will reside inside the body element of the generate page.

    <table rules='all' border='8' cellpadding='4' cellspacing='4'>
      <col align='left'  valign='top'/>  <!--name-->
      <col align='right' valign='top'/>  <!--nCpus-->
      <col align='right' valign='top'/>  <!--speed-->
      <col align='left'  valign='top'/>  <!--arch-->
      <col align='right' valign='top'/>  <!--memory-->
      <col align='left'  valign='top'/>  <!--os-->
      <col align='left'  valign='top'/>  <!--devices-->
      <thead>
        <tr>
          <th valign='bottom'>Name</th>
          <th valign='bottom'># CPUs</th>
          <th valign='bottom'>
            <div>Speed</div><div>(MHz)</div>
          </th>
          <th valign='bottom'>Architecture</th>
          <th valign='bottom'>
            <div>Memory</div><div>(MB)</div>
          </th>
          <th valign='bottom'>
            <div>Operating</div><div>system</div>
          </th>
          <th valign='bottom'>
            <div>Peripheral</div><div>devices</div>
          </th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td align='left'  valign='top'><tt>client.name</tt></td>
          <td align='right' valign='top'>client.nCpus</td>
          <td align='right' valign='top'>client.speed</td>
          <td align='left'  valign='top'>client.arch</td>
          <td align='right' valign='top'>client.memory</td>
          <td align='left'  valign='top'>client.os</td>
          <td align='left'  valign='top'>
            <div class='hang'>            
              device type: device detail
            </div>
            ...additional divs for each peripheral device...
          </td>
        </tr>
        ...additional rows for each client...
      </tbody>
    </table>

When the client.os is the default value '', meaning a dual-boot workstation, the contents of that td element will be two strings vertically stacked with div elements: “Linux/” and “Windows”.

For the “Peripheral devices” column, each device description is set in a div element with a class='hang' attribute. This triggers a div.hang rule in the TCC stylesheet that uses hanging indentation. That is, if a device description does not fit on one line, successive continuation lines will be indented. This allows the reader's eye to scan down the list of device types without being distracted by continuation lines.

Here is an example of the content of the devices column. This is taken from the information for speare4a-1-2, which has two video cards.

            <div class='hang'>
              VIDEO: RV370 5B60 [Radeon X300 (PCIE)]
            </div>
            <div class='hang'>
              VIDEO: RV370 [Radeon X300SE]
            </div>
            <div class='hang'>
              MONITOR: 19.1" SAM SyncMaster
            </div>
            <div class='hang'>
              OPTICAL: TOSHIBA CDW/DVD SD-R1612
            </div>