Skip to content

Identity Picker

The Identity Picker widget allows users to select an identity (User, Position, Department, or Group) from the organization's structure.

XML Fields

  • XPath stores the selected identity identifier. The widget also maintains Caption, Type, and Domain metadata on the selected node for display and identity context.
  • EnabledTypes is a comma-separated selection of identity kinds: User, Group, Position, and OrganizationUnit. Omit it to allow all four kinds.
  • ShowInternals determines whether the standard internal identities are offered as choices.
  • Each Mappings/Mapping item copies an attribute of the selected identity: Source is the identity attribute and Target is the form-data element to populate.
  • Size, RequiredForGroup, and PlaceHolder configure the input's layout, validation group, and empty-state prompt. Hints and Rules provide help and conditional behavior.

Identity Type Filtering

The types of identities that can be selected are controlled by the EnabledTypes property. By default, all identity types are enabled. To restrict selection to specific types, specify the desired types in the EnabledTypes property ( e.g., "User,Position").

Data Model

The Identity Picker widget stores the ID of the selected identity in the data model element specified by the widget's XPath property. A Caption attribute is automatically generated and populated with the selected identity's name for display purposes.

Internal Identities

Emakin defines two standard internal identities:

  • Administrators: Represents domain administrators.
  • Everyone: Represents all domain users.

These internal identities are included in the list of selectable identities but can be hidden by setting the ShowInternals property to false.

Property Mapping

The Identity Picker widget supports mapping selected identity properties to other data model elements. This allows for automatically populating related fields based on the identity selected.

For example, to automatically populate the MailAddress data model element with the email address of the selected user, use the following configuration:

1
2
3
4
5
6
7
8
<IdentityPicker XPath="UserId" EnabledTypes="User" ShowInternals="False" Size="Medium" RequiredForGroup="">
    <PlaceHolder><![CDATA[]]></PlaceHolder>
    <Mappings>
        <Mapping Source="EMailAddress" Target="MailAddress"/>
    </Mappings>
    <Hints><![CDATA[]]></Hints>
    <Rules />
</IdentityPicker>

This configuration maps the EMailAddress property of the selected identity to the MailAddress element in the data model. Note that the Source property refers to the name of the identity's attribute, and Target specifies the data model element to populate.