3.2.1.6.3 Rules

For each classification rule, a minimal set of configuration properties is maintained by the server. The configuration of a rule consists of all the information required to define the rule.

A Rule is a type of FSRM Base Object (section 3.2.1.1) that has all the properties and state of a FSRM Base Object. The following configuration data is maintained for each rule on the system:

Rule.Name: This property is a unique, case-insensitive, Unicode string for the rule.

Module definition name: This property is a Unicode text string that is the name of the module definition for the rule to use during classification.

Namespace roots: This property is a list of either full directory paths (referred to as static path in this definition) or values from the FolderUsage list (referred to as dynamic path in this definition). The set of file system namespaces (file system directory trees) that are scanned as part of the classification job consists of either the full directory path (for a static path) or the FolderUsage Instance.Path values of each FolderUsage Instance in the FolderUsage Mapping whose FolderUsage Instance.Value list contains the <value> portion of a dynamic path.<36>

Enabled/disabled: This property controls whether the rule will be used during classification.

Valid/invalid: This property reflects whether the module definition used by this rule is enabled and registered on the server. If the module definition used by the rule is either disabled or not registered, this property is set to invalid.

Rule.Parameters: This property is a list of Unicode text strings that are additional parameters or descriptive metadata regarding the classification rule that can be used by consumers of the protocol. Clients can use these strings to store additional descriptive information about the classification rule. Examples of information that a client can store here include "Author=jdoe" and "Created=12-5-10". See sections 3.2.1.12.1, 3.2.1.12.2, 3.2.1.12.3, 3.2.4.2.45.24, and 3.2.4.2.45.25 for details of how these strings affect server behavior. See the definition for parameter strings in section 3.2.4.2 for details regarding the individual text strings.

Last modified time: This property maintains a time stamp that corresponds to the chronological date/time that the rule was last modified.

Rule type: This property identifies the rule as one of two rule types: Classification and Generic. The set of properties for the rule is different depending on which rule type the rule belongs to:

Classification:

Execution option: This property identifies how the rule might be applied when executing classification. The value can be one of three options:

Evaluate unset: This value indicates that the rule is applied only to files where a property values is not already set for the file for the property affected.

Reevaluate and consider existing: This value indicates that the rule is applied and any existing property values for the property affected is immediately compared with the value supplied by the rule.

Reevaluate and ignore existing: This value indicates that the rule is always applied and any existing property values for the property affected are ignored.

Property Affected: This property is a Unicode text string that contains the name of the property definition the rule affects.

Rule.Value: This property is a Unicode text string that contains the value to be used when applying the rule to a file.

ClearProperty: This flag, when set, indicates that the property is recommended to be cleared.<37>

Generic: There are no properties specific to rules of this type.

The following state data is maintained for each rule in the system:

Rule.Deprecated: This Boolean property indicates whether the rule is valid.<38>

Rule.ClearAutoProperty: This Boolean flag, when set, indicates that a property specified on this rule by an automatic classification can be cleared.<39>

Rule.ClearManualProperty: This Boolean flag, when set, indicates that a property specified on this rule by a manual classification can be cleared.<40>