!--a11y-->
Predefined Properties 
In Knowledge Management, standard properties are used for resources (files and folders). These specify when and by whom a document was created, for example. You can define your own custom properties as well as using these standard properties.
Properties should not always be valid for every document or folder. You can also use them on a restricted basis. Depending on your requirements, you can define that certain properties are to be valid for certain documents, folders, MIME types, or resource types.
· Predefined properties are taken into account for the search. When you define a search query, you can search for documents that have certain predefined properties.
· The components monitor uses predefined properties to display system statuses.
· You can specify predefined properties in resource renderer settings and collection renderer settings (see also: Displaying Properties).
· You can display predefined properties in an ordered fashion in property structures.
The property metadata service is activated.
When defining a property, you have to specify a namespace. A namespace defines a system area in which a property (defined by a property ID) is allowed to exist only once.

If you want to create several properties, we recommend that you use your own namespace.
The configuration of a namespace includes the following parameters:
Parameters of a Namespace
Parameter |
Required |
Description |
Alias |
Yes |
Alias of the namespace. |
Namespace |
Yes |
Specification of the namespace. For example, http://sapportals.com/xmlns/mynamespace |
You can gather properties that are related to each other in a certain context as groups. These groups are used for resource renderer settings, for example.
The configuration of a group includes the following parameters:
Parameters of a Group
Parameter |
Required |
Description |
Name |
Yes |
Group name |
Key for Label |
No |
Corresponding key used for this group from the bundle file. If no key is specified, the name of the group is displayed in all languages on the interface. Refer to the table at the end of this section. |
Bundle File |
No |
Bundle file that contains the labels and keys for the group. Enter the name of the bundle file with the package structure that it uses, but without the file extension (.properties), for example, com.<%mycompany%>.km.resource.bundle.mybundle |
Position |
No |
Specifies the relative position in which the group is displayed on the interface. 0 = the
group is displayed in the first position This parameter is no longer used as of EP 6.0 SP1. |
Hidden |
No |
Specifies whether the group is hidden on the interface. This parameter is no longer used as of EP 6.0 SP1. |

The properties in this type of group are not ordered. If you want to specify the sequence of the properties, use a property group within a property structure (see Property Structures).
Metadata Extensions
A metadata extension is a modular set of settings that you can reuse in the definition of properties. In the definition of a metadata extension you can specify Java classes that implement additional functions in addition to a bundle file.
Parameters of a Metadata Extension
Parameter |
Required |
Description |
Name |
Yes |
Name of the metadata extension. |
Description |
No |
Description of the metadata extension. |
Bundle File |
No |
Bundle file used. Enter the name of the bundle file with its package structure, but without the file extension (.properties), for example, com.<%mycompany%>.km.resource.bundle.mybundle Refer to the table at the end of this section. |
Dynamic Values Class |
No |
Java class that gives a property possible values. |
Validation Class |
No |
Java class that checks whether values of a property are valid in the context used. For example, you can provide a Java class that checks the format of the date specification. |
A property renderer is used to display properties on the user interface. Dependencies with other properties can be implemented in the corresponding Java class.
Several property renderers are contained in the standard delivery. If you want to define your own property renderers, you have to provide Java classes that implement them.
Parameters of Property Renderers
Parameter |
Required |
Description |
Name |
Yes |
Name of the property renderer. |
Description |
No |
Description of the property renderer. |
Display Modes |
Yes |
Display mode for which the property renderer is to be used to display the property. create: When a document is created. display: When a document is displayed. edit: When a document is displayed and changed. list: For a resource list. If you make no specification the default renderer is used. |
Renderer Class |
Yes |
Java class that implements the property renderer. |
When you define a property, you can specify further information (metadata) as well as possible values.
Parameters of Properties
Parameter |
Required |
Description |
Unique ID |
Yes |
Specifies a unique ID that is used by the Configuration Framework. |
Description |
No |
Description of the property. |
Property ID |
Yes |
Parameter that, in combination with the Namespace Alias parameter, builds a unique ID for the property in the system. |
Namespace Alias |
Yes |
Selection of a namespace to which the property is to be assigned. |
Type |
Yes |
Specifies the type of property. The following types are available: Boolean, Date, Integer, RID, String, Text, Time, Timestamp, User, URL, and XML. The information on the type of property can be read and forwarded by other services or components. Note for properties of type User: Note the explanation in the description of the Default Value parameter. Note: If you change the type of an indexable property, you have to reindex the affected index. Note for later indexing: Properties of the type String are indexed as Text properties by TREX. For properties of type String to be identified as String properties by TREX, you must add the entry IndexAsString to the Additional Metadata parameter. The benefits of storing a property in TREX as a string are that it requires less space and the search performance is better. Another benefit of indexed String properties is that you can perform operations such as is larger than and is smaller than. However, you cannot perform a linguistic search for String properties. |
Group |
Yes |
Selection of a group to which the property is to be assigned. |
Mandatory |
No |
Specifies whether the property is mandatory. You may only be able to store a document in the system if you have entered a value for the property in question, for example. Mandatory properties are indicated on the user interface by an asterisk. |
Multi-Valued |
No |
Specifies whether the property can have several values. |
Read Only |
No |
Specifies if the property is read-only or not. For example, a system property such as File Size cannot be changed manually. |
Maintainable |
No |
Specifies whether the value of the property can be changed later on. Use a combination of the parameters Maintainable and Read Only to dictate that the property can only be changed once directly after a file or folder has been created. |
Indexable |
No |
Specifies whether the property can be indexed. Activate this parameter if you want this property to be taken into account for search queries. |
Default Value |
No |
Specifies a default value. The default value is automatically assigned to the property of a file or folder according to this specification. Note for properties of type User: If you use the type User for new properties and enter %user.id% in the Default Value parameter, the current user is automatically entered as the value in the entry field for the property on the user interface. |
Allowed Values (csv) |
No |
Comma-separated list of values that the properties can have. For example, value_01,value_02,value_03 In the bundle files for the different languages, you can specify a label in the respective language for each value. For example, in the bundle file for the default language (usually English) my-labels.properties: value_color_01=Green And in the German bundle file my-labels_de.properties: value_color_01=Grün |
Key for Label |
No |
Corresponding key used for this property from the bundle file. If no key is specified, the property ID is displayed in all languages on the interface. Refer to the table at the end of this section, and to the topic Changing Labels for Properties. |
Meta Data Extension |
No |
Metadata extension that is to be used for this property. |
Folder Validity Patterns (csv) |
No |
Comma-separated list of folders that can have this property. If you have already made an entry in the parameter Document Validity Patterns but do not want to use a Folder Validity Pattern, remove the default entry / from the input field. Notation: / and /** : The property is valid for the specified folder and all subfolders. /* : The property is only valid for the specified folder. For example: /runtime/** : The property is valid for the runtime repository and its subfolders. |
Document Validity Patterns (csv) |
No |
Comma-separated list of documents that can have this property. Notation: / and /** : The property is valid for documents in the specified folder and all subfolders. /* : The property is only valid for documents in the specified folder. For example: /runtime/** : The property is valid for all documents in the runtime repository and its subfolders. |
Resource Types (csv) |
No |
Comma-separated list of resource types that can have this property. Resource types are used internally in the KM framework. |
Mime Types (csv) |
No |
Comma-separated list of MIME types that can have this property. |
Default Sorting |
Yes |
Specifies the default sort order. Ascending Descending |
Label Icon |
No |
Graphic file to be displayed as the icon for the property. For example, a padlock for a locked file. |
Hidden |
No |
Specifies whether the property is hidden on the interface. Activate this parameter if you do not want this property to be displayed. |
Dependencies |
No |
Specifies whether there are dependencies between this property and other properties. This parameter is used to implement the context-sensitive updating of fields, for example. You enter the Java class that implements these dependencies in the configuration of a property renderer. If there is a dependency between this object and another object, choose the relevant property renderer from the parameter Property Renderer in the configuration of the other property. |
Additional Metadata (csv) |
No |
Comma-separated list of additional values that can be used by other services. |
Property Renderer |
No |
Specifies a property renderer to be used for this property. If you make no selection the system uses the default renderer. If there are dependencies with other properties, activate the parameter Dependencies for the properties in question. |
Virtual |
No |
A property is virtual if it is automatically generated by the system. It can only be displayed and maintained if the system is currently using it. For example, the properties cm_tbp_validform and cm_tbp_validto are only used if time-dependent publishing is activated. |
Composed of |
No |
Specifies the properties that comprise the current property. |
Comparator Class |
No |
Specifies a JAVA class that provides a new sort criterion for sorting resource lists. This is useful if the value of a property does not allow for meaningful sorting. For example, you could implement a JAVA class that uses the complete user name as a sort criterion for the User property instead of the property value (a cryptic user ID). |
Labels of properties and groups can come from different system sources with differing priorities.
Sources and Priorities of Labels for Properties
Source |
Priority |
Comments |
The labels and values are contained in a Java class (Dynamic Values Class) that is specified in a metadata extension. |
1 (highest) |
Most specifications cannot be modified. |
The labels and values are contained in the bundle file specified in definition of the metadata extension. |
2 |
SAP recommends that you maintain this file. |
The labels and values are contained in the bundle file specified in the configuration of the property metadata service. |
3 |
|
The labels and values are contained in the system-internal bundle file of the service implementation. |
4 |
You should not modify the default specifications. |
The value itself or the specification for the parameter Property ID is used instead of a label |
5 (lowest) |
Only permits single language labels. |
Sources and Priorities of Labels for Groups
Source |
Priority |
Comments |
The labels are contained in the bundle file specified in the configuration of the group. |
1 (highest) |
SAP recommends that you maintain this file. |
The labels are contained in the bundle file specified in the configuration of the property metadata service. |
2 |
|
The labels and values are contained in the system-internal bundle file of the service implementation. |
3 |
You should not modify the default specifications. |
The specification for the parameter Name is used instead of a label. |
4 (lowest) |
Only permits single language labels. |
Language versions can be realized by using different bundle files. A suffix in the name of the bundle file indicates the language version.
The English labels and keys are contained in the bundle file with the suffix _en (for example mybundle_en.properties), and the German labels in the bundle file with the suffix _de (for example mybundle_de.properties).
If no bundle file exists for a particular language, the system automatically accesses the default bundle file (for example, myBundle.properties). The language of the default bundle file is usually English. For more information, see Changing Labels for Properties.
The repository manager framework does not check whether metadata for predefined properties is correct. This means that the information on the type of property is not compared with and validated against the specified value of the property. The primary task of the property metadata service is to enhance the user interface.
· To create or configure a property, choose Content Management ® Global Services ® Property Metadata ® Properties.
You can export existing properties from one system and import them to another system (see Export and Import of Properties and Metadata).
· To create a namespace, choose Content Management ® Global Services ® Property Metadata ® Namespaces.
· To create a group, choose Content Management ® Global Services ® Property Metadata ® Groups.
· To create or configure a property renderer, choose Content Management ® Global Services ® Property Metadata ® Property Renderer.
· To create or configure a metadata extension, choose Content Management ® Global Services ® Property Metadata ® Metadata Extensions.
You want to assign the property Editor to text documents in the folder /documents/projectshare. The configuration of the property could appear as follows:
Unique ID
= cm_editor
Description
=
describes the role “Editor” in the approval process
Key for Label
= cm_editor
Property ID
= Editor
Indexable
= Activated
Maintainable
= Activated
Mandatory =
Activated
Default
Sorting =
Ascending
Type
= User
Document Validity Patterns = /documents/projectshare/**
Mime Types
= text/plain
Group
= default
Metadata Extension =
myextension
Namespace Alias
= mynamespace
Because the editors are likely to be people, enter Type = User. To be able to search for text documents from a certain editor, activate the Indexable parameter.
You enter the bundle file that contains the label for the key cm_editor in the definition of the metadata extension myextension.
See also:
Changing Labels for Properties