|LFX Database of Managed Objects (DMO): User Guide for the Database of Managed Objects|
|<<< Previous||Definitions and their Attributes||Next >>>|
An Attribute is some descriptive property of a Definition. It differs from Core Attributes, which are described in the next section. For example, when talking about the definition "Car", we might have several properties which can be recorded, including "Colour", "Size", "Horsepower", "Engine Displacement", "Owners", etc. Within the DMO, the most common attribute is a small piece of text (typically not larger than 250 characters in length), however there are many possible data types of attributes, which are listed below:
Table 1. Table of Definition Attribute Data Types
|Text Line||This can be a single line of text, in any language. Typically no more than 250 characters in length.|
|Boolean||This requires a choice between True and False.|
|Large Text||This is a text area, which might have up to 65,000 characters in length. Of particular interest is the fact that multiple versions of this may exist, in different languages, for the same attribute.|
|File||For large documents, images or virtually any type of file, this attribute allows a file attachment to be assigned to a definition. Multiple files may be attached, but only if each attribute has a different name (see basic rules below.)|
|Instance||This is a powerful feature of the DMO, which allows any single instance to be made into an attribute for any other instance (except itself.)|
|User||Any person information stored in the LFXlib may be selected as an attribute for an instance.|
|Group||Any group information stored in the LFXlib may be selected as an attribute for an instance.|
|Select||This attribute allows selection from among a limited set of choices, which are presented in a pull-down list.|
|URL Link||The attribute will be treated as a URI, which allows selection of any Web page or other Internet-related media selector.|
|Helpdesk Escalation Preset||This is a specialized attribute which only applies when DMO is used with the LFX Process Desk, to specify what escalation preset should be used to apply to incidents that are created based on an object instance with this attribute.|
There are several basic rules about Attributes which must be observed:
Each attribute must have a name. Attribute names must be unique. Like definitions, avoid special characters. While it is not essential to avoid a conflict between Definition and Attribute names, we recommend this anyway, to avoid confusion in the minds of users.
If an attribute is shared between two or more different definitions, it must be assigned to the lowest definition which is superior to all of the others, i.e., which is above all the definitions in the tree which need to use that attribute.
When an attribute is defined for a definition, it will be automatically inherited as an available attribute for all definitions below it in the tree. Note this does not mean the value of the attribute will be copied -- instead, it means that the attribute may have a value assigned.
Attributes may not be repeated. This means that an attribute MUST be unique for that definition, and cannot be instantiated more than once within that instance. For example, "IP Address" is an attribute which could be repeated, however it means that the definition is incorrect -- instead of assigning an "IP Address" attribute to a multi-homed host, one should create a new definition called "Network Interface", each of which has one IP Address -- and the multi-homed host becomes then a parent instance for a set of logical or physical network interfaces.
Attributes themselves may have some options, besides their type. These options are:
Table 2. Attribute Options
|Visible||This defines whether the attribute will be shown in forms which are presented to the user. Some attributes are for internal or program use only, and do not need to be displayed.|
|Is Password||When presented in a form, the contents of this attribute will be masked from the user. This is typically required for passwords, community strings or other sensitive information. Note that in the underlying database, this information is not hashed or otherwise encoded; this option only applies to the presentation layer.|
|Revision||This is a simple number which is incremented each time the attribute is changed.|
|Inheritable||This is NOT related to the inheritance of attributes by one definition from its parent definition. Instead, it means that whenever this attribute is assigned a value, it will be copied (both the attribute AND the value) to all of the Instances that exist as child instances of the current instance. This is typically used for attributes such as Security Classification.|
|Description||This is text which appears whenever an attribute is to be added or changed, as a guide to the user.|