The Scope of Relevance

Relevance is a continuous thread used throughout all aspects of the IBM BigFix. Some of its more important manifestations include:

  • Evaluating Fixlet relevance. This is the most common place to find the Relevance language and explains how it got its name. As you’ll see in detail below, expressions in this language are designed to trigger only when the client computer exhibits a particular state – thus the Fixlet is not displayed unless it’s relevant. You can see the Relevance expression behind each Fixlet in the IBM BigFix Console: click on a Fixlet from the list, then look at the Details tab.

    You may see more than one Relevance expression; these are all ANDed together to form the final expression.

  • Evaluating Tasks. Tasks are functionally similar to Fixlets and use Relevance expressions to determine which computers should be targeted. Whereas Fixlets are designed with remediation in mind, Tasks are designed with continuing maintenance in mind. The main difference between Fixlets and Tasks lies in how they are judged to be "fixed". Fixlet actions will report back as fixed when they are no longer relevant, while by default Task actions will report back as fixed once all the lines of its action have completed.
  • Displaying Retrieved Properties. From the IBM BigFix Console, you can retrieve properties of the Client computers. There are some built-in properties, but you can also create your own. To see an example, select an item from the Analyses tab, then click on the subsequent Details tab.

    Here you will find named Relevance expressions that are used to interrogate some property of the client computer and return a value. Using the extensive Inspector library, you can create your own customized Relevance expressions to examine properties such as 'administrators of client', ‘computer manufacturer’, ‘brand of cpu’, ‘DNS Servers’, ‘operating system’ and hundreds of others.

  • Using Relevance in actions. Actions have their own language, but they can incorporate Relevance clauses that are evaluated at run time. That means that the same powerful set of Inspectors that you can use to target a client can also be used to customize the action.

    In this context, Relevance clauses are enclosed in curly brackets, such as {parameter "inputMinutes" …} and {pathname of system folder…}. boolean Relevance clauses can be used to govern if statements and otherwise control the flow of the action script. These can be used as assertions at run-time about the validity of some procedure or data. This is commonly used in Fixlet actions to make sure that a downloaded file has the proper size and hash value before proceeding. Assertions make your code safer, more robust and easier to debug.

  • Reporting on IBM BigFix deployment. Session Inspectors can be used to visualize the state of the IBM BigFix deployment itself. There are hundreds of Inspectors that can examine Fixlets, actions, computers, users, properties, wizards and more. An extensive set of statistical measures are also provided to help you analyze, report and chart the state of your deployment.

In the following sections, we introduce two of the primary tools for experimenting, testing and debugging your own Relevance expressions. Keep in mind that there are two distinct venues for Relevance expressions: client and session. Client Relevance allows you to inspect and repair the endpoints of your network. Session Relevance allows you to analyze your central database. These two groups don't always overlap, and viewing Relevance expressions in the wrong debugger can give incorrect results.