Name properties

This topic discusses the several name-related properties of classes and containable objects and describes what happens when a class or object is renamed.

When creating objects in Enterprise Manager, do not use spaces or numbers at the beginning of name properties. Content Engine automatically drops leading spaces when you create an object. While leading numbers appear correctly in a Display Name, they do not appear in the Symbolic Name, which is used by queries. For a description of other naming-related restrictions, refer to the help topic that is available with the wizard that is used to create a particular class or object.

This topic includes:

Class name properties:

Containable object name properties:

Class name properties

The properties in this section belong to classes, but not to the objects based on those classes. For example, a subclass of the Document class might have the Display Name of "Current Invoices" and a Symbolic Name of "CurrentInvoices" (no space), but documents that are instances of this class would have neither of these properties. Instead, they would have the properties described in Containable object name properties.

Display Name

The Display Name is a property of all classes, but not of the objects based on those classes. This property is user-readable and is assigned at fetch time based on the current client locale settings, thus making it "locale-specific". The Display Name is the provider-specific name for a class and is typically the designated Name property for a class. In order to modify the value of this property in Enterprise Manager, you must first obtain the proper localized string for the property from the Display Names property and then edit the Display Name string value.

Symbolic Name

The Symbolic Name property is the programmatic identifier for a class and is required to be unique within an object store. Its value must begin with a letter and can contain the following characters only: 'A' to 'Z', 'a' to 'z', '0' to '9', and '_' (underscore); spaces and symbols are not allowed. Property templates and object stores also have a Symbolic Name property. For property templates, the Symbolic Name property is required to be unique within a class family only.

This property is normally set at creation time and is typically assigned the same value as the Display Name property (the spaces are removed from the Display Name before assigning the value to the Symbolic Name). However, the Symbolic Name property is not required to have the same value as the Display Name property. For more information, see Renaming a class.

Starting with the 4.5.1 release, a metadata prefix-naming convention for class and property symbolic names has been defined for the Content Engine. All new classes and properties introduced in this release or later, by any IBM ECM product that produces its own Content Engine add-on feature, or by new system properties in the Content Engine server, are required to adhere to this naming convention. This naming convention applies to class and property symbolic name values only; there are no constraints on the values chosen for display names.

Details of the prefix-naming convention are as follows:

Starting with the 4.5.1 release, any IBM ECM product that produces its own add-on feature must conform to a prefix-naming convention. These add-on features use a prefix of "Cm???", in which "???" represents a short product-name abbreviation. However, any IBM ECM products that have already established their own prefix-naming convention before this release continue to use it instead.

The following add-on metadata prefixes are reserved:

When you create a class or custom property, avoid assigning its symbolic name with a value beginning with one of these reserved prefixes; as long as you do so, you will not be subject to name collisions in this release or in any future upgrades.

Name

The Name property is read-only and is visible on the property sheet for a class. The value of the property is either the same as the Display Name property, the class identifier string when there is no Display Name value, or an empty string if neither value exists. The Name property is available for all classes, but not objects based on those classes, and is automatically updated when the Display Name property value is modified.

Creating name properties for a class, subclass, or object store

When you use Enterprise Manager to create a class or object store, you can specify a locale-specific value for the Display Name property on the appropriate page of the wizard. The Symbolic Name property is then assigned the same value as the Display Name property, but any spaces are first removed. The Name property is assigned the same value as the Display Name property, or the class identifier string when there is no Display Name value, or an empty string if neither value exists. When creating a subclass of a class, the subclass inherits the values of the Display Name, Symbolic Name, and Name properties from the parent class.

Renaming a class

In Enterprise Manager, you can rename a class from the pop-up menu or the property sheet (typically on the General tab) for the class. When you rename a class, you change the value of the Display Name property which causes the value of the Name property to also be updated. However, changing the value of the Display Name property does not automatically change the value of the Symbolic Name property. This is by design, allowing administrators to change the Display Name without requiring the redesign of any custom applications that are written to find that particular class. In order to modify the value of the Symbolic Name property in Enterprise Manager, you have to use the property grid found on the class or object store property sheet, locate the Symbolic Name property, and then modify the value.

Containable object name properties

The properties in this section belong to objects that are created as instances of classes, including documents, folders, and custom objects. For example, the Document class has the Display Name property, while a document object, which is an instance of the Document class, does not have the Display Name property, but instead has the Document Title property.

Document Title

The Document Title property is the friendly name displayed for a document. Whenever you use Enterprise Manager to rename a document by using the Document properties (General tab), you change the value of this property. Document Title is a custom property that is imported into every object store by the Object Store wizard, and is used by document objects in much the same way as Display Name is used for classes.

Folder Name

The Folder Name (also called Container Title) property is the friendly name displayed for a folder. When you use Enterprise Manager to rename a folder by using the Folder properties (General tab), you change the value of this property.

Containment

The Containment Name property is the unique name for the head object (in other words, the containee object) in a referential containment relationship. This property applies to folders and objects in folders, which can include documents, custom objects, and other folders. For more information about containment, see Referential containment of folders.

If the head object is a document, Enterprise Manager uses the Document Title to set the value of the Containment Name property; if the head object is a folder or custom object, the Name property of the object is used. Enterprise Manager removes any invalid characters (such as a question mark) and validates that the name is unique in the folder. For more information about this name uniqueness, see Unique names. If the Document Title or Name property is blank, Enterpise Manager sets the Containment Name to the value of the Id property of the object, which is a 32-character number. It is important to note that the way in which Enterprise Manager constructs the Containment Name can differ from the way in which other IBM applications, as well as custom applications created using the Content Engine APIs, construct this name.

Creating name properties for an object

When you use Enterprise Manager to create an instance of a class, you use the property grid to specify a value for the Name property for the object. The ContainmentName property is assigned by the Content Engine according to the settings of the referential containment relationship of the new object. For more information about this relationship, see A technical aside on referential containment.

Renaming a document, folder, or custom object

In Enterprise Manager, you can rename an object from the pop-up menu Rename option (when available) or the property sheet (typically on the General tab) for the object. Selecting Rename modifies the containment name that is used by Enterprise Manager when displaying the document, folder, or custom object contained in a folder. This name is applied to the object that represents the document, folder, or custom object within the containing folder.

The following additional name properties can be modified using the property sheet or property grid for an object. Renaming an object in this way changes the name of the referential containment relationship object that represents the object within the containing folder.