Creating Client Dashboards

You can create custom BigFix Client Dashboards, similar to those in the Console. Dashboards are HTML files with embedded Relevance clauses that can analyze the local computer and print out the current results. Clients with a dashboard have an extra tab to display the resulting report.

To create a Client Dashboard, you must create a new folder named __UISupport (note the two leading underscores) in the __BESData folder. This is a subfolder of the BES Client folder, so the final pathname looks like:

Program Files/BigFix Enterprise/BES Client/__BESData/__UISupport

Place the Dashboard file (named _dashboard.html) and any accompanying graphics files into this folder. The next time the Client starts up, it incorporates these files into its interface, adding a tab labeled Dashboard. When the user clicks this tab, the Dashboard calculates the latest values of each Relevance clause and displays them.

The Relevance statements are embedded in the HTML inside special tags with the form:

<?relevance statement ?>

For example, to find and print the time, use the following:

<?relevance now ?> 

When the Client displays the page containing this statement, it evaluates the Relevance clause "now" and substitutes the value for the tag. The following sample HTML prints out the word "Date:" and then the current date and time:

<html> 
 <body> 
  Date: <?relevance now ?>
 </body>
</html>

To allow the user to refresh the Relevance evaluation, add this line to the file:

<html> 
 <body> 
  Date: <?relevance now ?>
  <A href="cid:load?page=_dashboard.html">Refresh</A>
 </body>
</html> 

This link, labeled Refresh, causes the page to reload. When it does, it reevaluates the relevance clauses. It is easy to see how you would add other Relevance expressions to this page. For example, to print out the OS and the computer name, add these two lines:

<html>
 <body>
  Date: <?relevance now ?>
  Operating System: <?relevance name of operating system ?> 
  Computer Name:<?relevance computer name ?> 
  <A href="cid:load?page=_dashboard.html"> Refresh </A> 
 </body>
</html>

You can use style sheets to format the output. You can even use the default style-sheet, offer.css for some preset formatting. Here is an example of a Dashboard with a title, a header, a refresh link, and a section of retrieved property values:

<html>
   <head>
    <link type="text/css" rel="stylesheet" ref="offer.css"></link>
    <title> Dashboard Example</title>
   </head>
 <body> 
  <div class="header">
   <div class="headerTitle">
   <font size="6"><?relevance computer name ?></font></div>
     <div class="headerCategory">
      <font size="1">(Last updated: <?relevance now ?>)</font><BR>
       <div>
        <font size="1"><a href="cid:load?page=_dashboard.html">Refresh</a></font> 
       </div>
     </div>
  </div>
  <div class="section">
   <div class="sectionHeader">Computer Information</div>
   <div class="subsection">
    <table>
     <tr><td valign="top"> OS: </td>
         <td><?relevance operating system ?></td></tr>
     <tr><td valign="top"> RAM: </td>
         <td><?relevance (size of ram)/1048576 ?> MB</td></tr>
     <tr><td valign="top"> DNS Name: </td>
         <td><?relevance dns name ?></td></tr>
    </table>
   </div> 
  </div>
 </body>
</html>

To learn more about Relevance expressions, see the Relevance Language Reference.