Add/Edit Property dialog box

Use this dialog box to add or edit a document property

Option Description
Property name Enter the name of the property or click the button to open the Select Field of Class dialog box that displays list of fields of the currently selected document class. When you specify a new property, its type and cardinality are automatically selected in the Property type and Cardinality lists correspondingly.
Inline type information This check box controls how the information about the property is stored in the component's configuration. If this check box is not selected, then type, cardinality, representation and value will be stored in separate entries. If this check box is selected, then type, cardinality and representation will be stored directly in the single VALUE entry. For the formal definition of an inline representation, see Inline Representation.

For example, for Integer type the default representation of value "111" is: VALUE = 111. Inline representation is: VALUE = Integer32:111.

Property type Enter the type of the property. The following property types are supported:
  • Binary
  • Boolean
  • Date/Time
  • Floating point
  • Identifier
  • Integer
  • Object
  • String

A property type has two names: an internal name (non-localized human-readable name) and a display name (localizable human-readable name). This drop-down list shows the display names of the types. If you use RRT in this combo box, this RRT should be replaced with one of the internal names listed in this table:

Display name (English) Internal name FileNet P8 CE type name
Binary Binary Binary
Boolean Boolean Boolean
Date/Time DateTime Date/Time
Floating point Float64 Float
Identifier GUID GUID
Integer Integer32 Integer
Object Object Object
String String String

The component stores Internal name in the configuration, since display name can be translated to another language in a localized version of the component.

Cardinality Specify cardinality of the property type. You can select one of the following values:
  • Single - represents one value of the type.
  • List - represents ordered list of values.
  • Enumeration - represents unordered list of unique values.

This drop-down list shows the display names of the cardinalities. If you use RRT in this combo box, this RRT should be replaced with one of the internal names listed in this table:

Display name (English) Internal name FileNet P8 CE cardinality
Single Single Single (0). Represents one value of the type
List List List (1). Represents ordered list of values
Enumeration Enum Enumeration (2). Represents unordered list of unique values

Representation

Select a representation in which the property value will be saved in the configuration. Each type has its own specific set of representations. Select the type of representation which is appropriate for you. Only a limited set of types has specific representations. The following table describes the list of additional representations with the corresponding types:

Type Representation display name Internal name
Date/Time Default Default
Local date/time Local
Binary Binary from file Fileref
Binary from UNICODE string Unicode
Binary from ANSI string String
Object Object reference Objectref

Other types have no specific representations. Lists and Enumerations do not have them as well.

The drop-down list shows the display names of the representations. If you use RRT in this combo box, this RRT should be replaced with one of the internal names.

Property value This text box cannot be empty for any type except for the String type. Enter the value of the property or click the button to open a dialog box which helps to enter the value for the field. Actual dialog box depends on the field’s Cardinality, specified Property type and Representation. If the cardinality is Single and the type is not specified (or contains an RRT) then this button is disabled. If the cardinality is Single and the type is specified, then one of the following dialogs are displayed: If the cardinality is Enumeration or List then the button opens Edit List / Edit Enumeration dialog box.

The format of the value definition depends on the value of Representation and Inline type information options.

When specifying a property value the following format should be used:
  • For Boolean type, strings "true", "yes", "on" and "1" represent a values of true, and strings "false", "no", "off" and "0" represent a value of false.
  • For Date/Time type, there are two representations: Default and Local date/time.
    • For the Default representation, the following format should be used: yyyy-MM-dd HH:mm:ss.fff Z[+/-]HH:mm (4 digit year and 24 hour time are required, fff - milliseconds, hours and minutes after Z mean time zone difference with GMT (Greenwich Mean Time), if DST (Daylight Saving Time) is in use in the specified moment of time then 1 hour should be added to this difference by the user). If some symbols are omitted in the tail of this notation, then zeroes are assumed in the omitted fields: 2021-01-02 14:05 means 2021-01-02 14:05:00.000 Z+00:00, 2021-01-02 means 2021-01-02 00:00:00.000 Z+00:00. Day, month an year should never be omitted. You can use RRT in the property value; for example, ~XED::%EXPDATE%~00:00:00.0 Z-4:00, however, this RRT should be replaced with date in yyyy-mm-dd format only.
    • For the Local date/time representation, the time should be represented in the user locale settings; for example: MM/dd/yyyy hh:mm [am/pm]. This format never contains a time zone, and always means UCT (Universal Coordinated Time: GMT+0).

Inline representation requires inclusion of the value in quotation marks.

  • For Floating point type, a number can be represented with simple or exponential record using '.' (point) character as decimal point symbol. Special values are represented with strings: "+INF", "-INF" and "NAN". 64 bit float point range is supported.
  • For Identifier type, a value should be represented as "{8-4-4-4-12}", like {1A589494-AC8A-4FF7-814D-7EEFE306A033}. Inline representation requires inclusion of the value in quotation marks.
  • For Integer type, a value should be represented in decimal form in 32 bit signed range.
  • For String type, a value should be represented as is. Since string is not encoded, the special characters (like line separation or Unicode characters which do not belong to the current user language) cannot be stored in the configuration file. However, if an RRT of another component is used as the string value, then that component can pass an arbitrary string as an RRT. Empty strings are also supported. Inline representation requires inclusion of the value in quotation marks and encoding content like the C strings do (using backslashes '\').
  • For Binary, type the default representation is the sequence of hexadecimal digits and blank separators. All separators are ignored. If required, the value is post-padded with "0" digit to fit into 8-bit bound. For example, the following strings represent the same value: "0d0a5570" , "0d0a 5570", "0 d0a 557".
    • Binary from file. Instead of hexadecimal value specify the file path here in the same form as for string value. When the component stores this field it reads the file and place its content into the field value.
    • Binary from UNICODE string. Instead of hexadecimal value specify the string here in the same form as for string value. The string content will be passed into the binary value. Each character will be represented with 16 bits of UTF16 encoding. No null-terminator will be appended.
    • Binary from ANSI string. Instead of hexadecimal value specify the string here in the same form as for string value. The string content will be passed into the binary value. Each character will be represented with 8 bits of ANSI encoding using the Windows user’s code page. No null-terminator will be appended.

The above rules describe the format of the simple type in single cardinality. To store values of such fields the component creates VALUE entry which contains the above format. 

  • For Object type, when Inline type information is OFF, the value contains additional "CLASS" entry, which contains string value of the object’s class name. When the object's representation is Object reference, the "VALUE" entry contains GUID of the referenced object. When the object's representation is Default, the value does not have "VALUE" entry. Instead, it has set of subtopics each named "FIELD". Each subtopic contains information about one field of the object. Therefore, it’s impossible to replace value of the Object type using RRT in default representation. To do this, use inline representation.

Any type in enumeration and list cardinality in default representation (when inline is OFF) does not have VALUE entry. Instead it has set of subtopics each named ITEM. Each subtopic contains information about one item of the list (its representation and value). Therefore, it’s impossible to replace value of the enumeration or list using RRT in default representation. To do that use inline representation.

Example:

This example demonstrates representation of list of objects. The list contains one item. The item is object with two fields: "f1" and "f2". Other information is omitted for simplicity.


TYPE = Object
CLASS = MyClass
CARDINALITY = LIST
INLINE = NO
ITEM { 
      INLINE = NO
      FIELD {
            NAME = f1
            VALUE = abcd
      }
      FIELD {
            NAME = f2
            VALUE = 123
      }
}

Inline representation of the same example is:


INLINE = YES
VALUE = List Object "MyClass": {{"f1"="abcd", "f2"= 123}}
Verification Specify if the component should verify value of this property when submitting the document into the FileNet P8 Content Engine object store. The following settings are possible:
  • Check - always check value of this field.
  • Do not check - never check value of this field.
  • Default - use parent settings: if this field is a subfield of an object, use settings for the object; if this field is a top-level field, use value of the Verify field values check box.
When parent value of a complex type (Object, List or Enumeration) is in-line, then all its children values (fields or items) will be verified or not verified accordingly to the parent’s settings. This is similar to the Default value of Verification.

When the component verifies a field’s value and considers that it’s not valid it uses the default value for this field. If the field’s name is invalid the document class does not contain such field) then component will skip this field.