3.2.1.6.2 Module Definitions

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

A Module Definition 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 module definition on the system:

ModuleClsid: This property is the class identifier for a locally registered COM class on the server that implements the COM object for the associated module implementation.<35>

Module Definition.Name: This property is a unique, case-insensitive, Unicode string for the module definition.

Company: This property is a Unicode text string for the name of the company that implemented the module.

Version: This property is a Unicode string for the version of the module.

Enabled/disabled: This property controls whether the module definition can be called during classification.

Needs file content: This property controls whether the module requires the content of the file to perform classification.

Module Definition.Account: This property identifies the built-in account in which the module is executed during classification or property storage. This property can be any value of FsrmAccountType (section 2.2.1.2.8).

Supported extensions: This property is a list of Unicode text strings that are the file extensions supported by this module.

Module Definition.Parameters: This property is a list of Unicode text strings that are additional parameters or descriptive metadata for the module definition that can be used by consumers of the protocol. Clients can use these strings to store additional descriptive information about the module definition. 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.

Module type: This property identifies the type of the module as one of two module types:  Classifier and Storage.

Classifier module type: The following configuration data is maintained for a classifier module type:

Properties affected: This property is descriptive metadata for the module definition.

Properties used: This property is descriptive metadata for the module definition.

Needs explicit value: This property controls whether the module needs an explicit value provided by a rule that uses this module definition for classification.

Storage module type: The following configuration data is maintained for a storage module type:

Capabilities: This property defines the capabilities of the storage module definition. Possible values are defined in FsrmStorageModuleCaps (section 2.2.2.8.1.1).

Storage type: This property defines how the module definition stores the properties for a file. Possible values are defined in FsrmStorageModuleType (section 2.2.2.8.1.2).

Updates file content: This property is a Boolean value indicating whether the module changes the contents of the file.