The set of properties reference your 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
Profile-type definitions are declared and managed in the 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.
- You can define subtypes of snx:person (such as customer, employee, or contractor) to add your own 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.
There are important consideration when assigning profile type id
values. These values will appear as URL parameters in the Profiles API, and should accordingly facilitate a valid URL encoding. The following rules will help avoid encoding issues in the API.
- Use ASCII characters and avoid special URL characters.
- Do not use spaces or plus symbols (+); there are known URL encoding problems specific to these characters.
The following XML code sample provides an example of declaring a profile-type that contains hierarchy and inheritance. The sample is assumed to reside in the http://www.ibm.com/profiles-types
Table 1. Table 1. Profile-type declaration using hierarchy and inheritance
|Sample – Profile-type declaration with hierarchy and inheritance||Description|
|Defines 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 your standard properties or extension properties or extension properties that were declared in the profiles-config.xml file.|
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:
Table 2. Profile-type property definitions
|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 – specifies that the 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, Tivoli Directory Integrator (TDI), or the administrator API.
- readwrite – specifies that the property value can be modified using either a user interface or API element.
|hidden||Boolean||If set to TRUE, the property is not serialized when rendering profile results in the application public REST API. The default setting is FALSE.|
|richText||Boolean||If set to 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. |
|fullTextIndexed||Boolean||If set to 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. The default setting 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. For more information, see Specifying properties to expose in the search index.
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
Table 3. Table 1. Profile-type declaration
|Sample – Profile-type property definition||Description|
|Adds the property identifier telephoneNumber to the associated profile-type.|
The updatability=readwrite setting means that the property value can be modified using either a user interface or API element.
The hidden=false setting means that 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 that 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.
Configuring profile types for widget layoutParent topic: Customizing the Profiles data model
Post-migration steps for profile types and profile policies
Managing the Search index
Adding source data to the Profiles database
Mapping fields manually
Customizing display using templates
Adding custom strings for widgets and other specified scenarios
Creating a simple profile data model and template customization
Specifying properties to expose in the search index
Using the Profiles population wizard
Manually populating the Profiles database
Standard properties in the data model
To configure widget layout, you can add a profile type containing the widget layout configuration to Profiles in the widgets-config.xml
Profiles defines a single snx:person
base profile-type that all profile-types inherit from.
To maintain compatability with earlier versions, Profiles maintains the concept of a default profile-type.