Profile-types
A profile-type defines a set of properties, also referred to as a schema, inherent to all profiles of that type. This set of properties is used internally to group objects and enforce overall system constraints. Examples of common profile-types are...
- customer
- employee
- contractor
The set of properties reference the supplied standard properties or custom extension properties.
All profile records are classified by their profile-type property. If a property is not specified in a profile record's profile-type property definition, it is not exposed to the Profiles user, either in the user interface or API. The deployer uniquely identifies each profile type using a 64 byte profile-type identifier string.
Profile-type definitions are declared and managed in profiles_types.xml.
Profile-types are managed in an object hierarchy with the following rules:
- Profiles defines a single base type of snx:person that enumerates the set of fields required on all profile records.
- We can define subtypes of snx:person (such as customer, employee, or contractor) to add unique properties.
- A profile-type inherits all the property references from its parent type.
- A profile-type hierarchy cannot contain circular loops. The application will fail to start if any loops are detected in the configured hierarchy.
- A profile-type declaration that omits a parentId implicitly inherits from snx:person.
Profile type id values will appear as URL parameters in the Profiles API, and should accordingly facilitate a valid URL encoding.
- Use ASCII characters and avoid special URL characters.
- Do not use spaces or plus symbols (+)
The following XML code sample provides an example of declaring a profile-type containing hierarchy and inheritance. The sample is assumed to reside in the namespace...
http://www.ibm.com/profiles-types
Sample profile-type Description <config> <type> <parentId>snx:person</parentId> <id>customer</id> ... </type> </config>Define the profile-type identifier "customer". This profile-type inherits from the system type snx:person. The customer type can add additional <property/> declarations that reference the standard properties or extension properties declared in profiles-config.xml.
Profile-type property definitions
A profile-type property definition contains inherited property definitions and may contain additional property definitions. A valid profile-type property definition contains the following elements:
Name Type Description ref
Enum
References a standard profile data attribute or a globally defined extension attribute.
updatability
Enum
Indicates if the value of this property may be updated. Options are:
read Property value cannot be modified using either a user interface or API element. This is applicable for a system property that is either maintained or computed by the application, TDI, or the administrator API. readwrite Property value can be modified using either a user interface or API element.
hidden
Boolean
If TRUE, the property is not serialized when rendering profile results in the application public REST API. The default setting is FALSE.
richText
Boolean
If TRUE, the property is treated as rich text in the application. If the property references an extension attribute that was declared as richText, the value is always TRUE. Otherwise, the default setting is FALSE.
Boolean
If TRUE, and the property supports inclusion in the search index (see Standard properties in the data model), the property is included in the search index for Profiles full text search. Default is TRUE for extension properties.
If set to FALSE, the standard or extension property value is omitted from the search index for profile records with a matching profile-type.
This property is only enforced if support for variable indexing of profile attributes is enabled.
mapToNameTable
Enum
Indicates if this property value is intended as an additional given name or surname for use in a directory search from within the Profiles application.
surname Value of this property is added as a surname to the Profiles database for use in a simple directory search. givenName Value of this property is added as a given name to the Profiles database for use in a simple directory search. none Value is not mapped to a name field in the Profiles database, and not used in a simple directory search.
The default value for this property is none for all fields except the following:
preferredFirstName givenName preferredLastName surname
The following XML code sample provides an example of declaring a profile-type property definition. The sample is assumed to reside in the http://www.ibm.com/profiles-types namespace.
Sample Profile-type property definition Description
<property> <ref>telephoneNumber</ref> <updatability>readwrite</updatability> <hidden>false</hidden> <fullTextIndexed>true</fullTextIndexed> </property>Adds the property identifier telephoneNumber to the associated profile-type.
The updatability=readwrite setting means the property value can be modified using either a user interface or API element.
The hidden=false setting means the property is serialized when rendering profile results in the application public REST API; the property can be modified using the API.
The fullTextIndexed=true setting means the property is included in the search index for Profiles full text search; it is added to the full text search index for profiles that are of this type.
See
Parent topic:
Customize the Profiles data model
Related:
Post-migration steps for profile types and profile policies
Manage the Search index
Map fields
Customize display using templates
Add custom strings for widgets and other specified scenarios
Profiles population wizard
Populate peopledb
Extension properties in the data model