Skip to Content
author's profile photo Former Member
Former Member

Displaying User information

Hi!

When i use any iview to display user information, i get in the user name fiel de id user instead of the user name.

It is the same for all the place where the portal use the user infomation display (CLP, search user, roles search, etc).

Is anybody knows how to change this?

I thank you in advance.

Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Sep 22, 2005 at 06:31 PM

    Customizing Users' Display Name

    Use

    A user’s display name is the friendly name that is displayed for a user in most user interfaces, for example in list of results when you search for a user in the UME administration console. Programmatically, it is the name that is returned by the method IUser.getDisplayName().

    By default the display name is the user’s last name followed by the first name. It is possible to customize it, to display a different friendly name, for example the users salutation followed by first name and then last name.

    Procedure

    The name returned by the method IUser.getDisplayName() is calculated by the user attributes specified in the user management property ume.users.displayname_template.

    The default value is ume.users.displayname_template=, To change the display name, change the value of this property. It can be a combination of: u00B7 User attributes: The available user attributes are: , , , , , , , , , , , , , , , , , , , u00B7 Characters: Most characters whose unicode lies between \u0020 and \u007E can be written as they are. These are characters such as A-Z, a-z, commas, semicolons, and so on. u00B7 Unicode characters: Characters whose unicode does not lie between \u0020 and \u007E, must be written in the form \uXXXX Example You change the value to: ume.users.displayname_template=

    For a user whose first name is ‘Peter’, second name is ‘Miller’ and salutation is ‘Mr’, the display name would be ‘Mr Peter Miller’.

    This display name would appear on all user interfaces that use the method IUser.getDisplayName().

    attributeMapping>

    If you are using an LDAP directory as a data source for your user-related data, the ‘logical’ attribute names used by the Java application programming interface (API) of SAP User Management Engine (UME) must be mapped to the ‘physical’ attribute names used in the schema of your corporate LDAP directory.

    In the preconfigured files shipped with UME, the logical attributes of the Java user management API are mapped to the physical attributes used for the object class inetOrgPerson in the X.500 standard. If you use this standard without any modifications, you will not need to change the attribute mapping data. If you have extended this object class in your LDAP directory, or use a different object class, you can flexibly add additional attributes to the attribute mapping data or change the attribute mapping data as required. By providing you with the means to map attributes, UME allows you to use any schema that suits your company’s requirements.

    The following examples illustrate scenarios where you need to change the attribute mapping data:

    The logical attribute for a user’s e-mail address used by the user management component is named email, but the physical attribute in the schema for your corporate LDAP directory is named mail. You must map email to mail in the configuration file.

    In your company, you wish users to log on with their e-mail address and password instead of with their user ID and password. In a user account, the logical attribute j_user defines the logon ID. By default this attribute is mapped to the unique ID (uid) of a user. By mapping j_user to the physical attribute for the user’s e-mail address, for example mail, users can in future log on with their e-mail address.

    For a list of the set of fixed logical attribute names used in the API, see Logical Attributes.

    Example

    <dataSources>

    ...

    ...

    <dataSource id="CORP_LDAP"

    className="com.sap.security.core.persistence.datasource.imp.LDAPPersistence"

    isReadonly="false"

    isPrimary="true">

    ...

    <responsibleFor>

    <principal type="account">

    ...

    </principal>

    <principal type="user">

    <nameSpaces>

    <nameSpace name="com.sap.security.core.usermanagement">

    <attributes>

    <attribute name="firstname" populateInitially="true"/>

    <attribute name="displayname" populateInitially="true"/>

    <attribute name="lastname" populateInitially="true"/>

    <attribute name="fax"/>

    <attribute name="email"/>

    <attribute name="title"/>

    <attribute name="department"/>

    <attribute name="description"/>

    <attribute name="mobile"/>

    <attribute name="telephone"/>

    <attribute name="streetaddress"/>

    <attribute name="uniquename" populateInitially="true"/>

    </attributes>

    </nameSpace>

    ...

    </nameSpaces>

    </principal>

    <principal type="group">

    ...

    </principal>

    </responsibleFor>

    <attributeMapping>

    <principals>

    <principal type="account">

    ...

    </principal>

    <principal type="user">

    <nameSpaces>

    <nameSpace name="com.sap.security.core.usermanagement">

    <attributes>

    <attribute name="firstname">

    <physicalAttribute name="givenname"/>

    </attribute>

    <attribute name="displayname">

    <physicalAttribute name="displayname"/>

    </attribute>

    <attribute name="lastname">

    <physicalAttribute name="sn"/>

    </attribute>

    <attribute name="fax">

    <physicalAttribute name="facsimiletelephonenumber"/>

    </attribute>

    <attribute name="uniquename">

    <physicalAttribute name="uid"/>

    </attribute>

    <attribute name="loginid">

    <physicalAttribute name="null"/>

    </attribute>

    <attribute name="email">

    <physicalAttribute name="mail"/>

    </attribute>

    <attribute name="mobile">

    <physicalAttribute name="mobile"/>

    </attribute>

    <attribute name="telephone">

    <physicalAttribute name="telephonenumber"/>

    </attribute>

    <attribute name="department">

    <physicalAttribute name="ou"/>

    </attribute>

    <attribute name="description">

    <physicalAttribute name="description"/>

    </attribute>

    <attribute name="streetadress">

    <physicalAttribute name="postaladdress"/>

    </attribute>

    <attribute name="pobox">

    <physicalAttribute name="postofficebox"/>

    </attribute>

    <attribute name="preferredlanguage">

    <physicalAttribute name="preferredlanguage"/>

    </attribute>

    </attributes>

    </nameSpace>

    ...

    </nameSpaces>

    </principal>

    <principal type="group">

    ...

    </principal>

    </principals>

    </attributeMapping>

    </dataSources>

    In the above example, the section on the data source CORP_LDAP contains all the configuration data for the LDAP directory.

    The section on <responsibleFor> defines which data is stored in the LDAP directory and in particular the logical attributes that are stored in the directory. For each attribute listed here, there must be an entry in the attribute mapping section.

    By default the section on <attributeMapping> contains attribute mapping data for the object class inetOrgPerson in the X.500 standard. Here you can modify the physicalAttribute name (the attribute name in the LDAP directory) or you can add an additional attribute mapping for attributes outside of inetOrgPerson that you have added to your LDAP schema.

    <attribute name="firstname">

    <physicalAttribute name="givenname"/>

    </attribute>

    Even if the physical and logical attribute name are identical, you should map them. For example, in the above example, displayname maps to displayname.

    If an attribute is not mapped, the API will not have access to this data.

    Some logical attributes are mapped to "null". This means that the API uses this logical attribute, but the logical attribute does not map to a physical attribute. Instead it maps to a computed value.

    Ensure that all inetOrgPersons in your LDAP directory contain a valid value for the attribute uid. In the default configuration, this attribute is used to search for users for display in user-management applications such as the role assignment tool.

    Alternatively, change the attribute mapping so that uniquename is mapped to cn instead of uid.

    <attribute name="uniquename">

    <physicalAttribute name="cn"/>

    </attribute>

    In this way, cn is used to search for users for display in user-management applications.

    Namespaces

    Another useful feature is that you can map logical attributes to different physical attributes depending on the namespace. For example, an application in the namespace com.mycompany.app1 might use the physical attribute uid as displayname, whereas another application com.mycompany.app2might use the physical attribute sn as displayname. This would be mapped as follows:

    <attributeMapping>

    <principals>

    <principal type="user">

    <nameSpaces>

    <nameSpace name="com.mycompany.app1">

    <attributes>

    <attribute name="displayname">

    <physicalAttribute name="uid"/>

    </attribute>

    </attributes>

    </nameSpace>

    <nameSpace name="com.mycompany.app2">

    <attributes>

    <attribute name="displayname">

    <physicalAttribute name="sn"/>

    </attribute>

    </attributes>

    </nameSpace>

    ...

    </nameSpaces>

    </principal>

    </principals>

    </attributeMapping>

    You need to meintain this property in the sapup.properties file.

    Therefore in the portal you select: System Administration ->

    System Configuration -> UM Cinfiguration -> Direct editing.

    Then you add the property in the textfield, save and restart the

    J2EE Engine in order to activate this value.

    Best regards,

    Patricio.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      Patricio,

      Thanks for your help.

      We had :ume.users.displayname_template= Whenever an application calls the UM functionility getDisplayName() the following happens: 1. Display the displayname of the user if existent, otherwise 2. Display the attributes from the displayname_template if existent, otherwise 3. Display the unique name of the user. In our case, no display name and no salutation is maintained, therefore the unique name is displayed. I did not Know that the salutation field correspond to the form of addres field. So i changed the template to default value as you mentioned: ume.users.displayname_template=, because we are not using the "Form of Address" field in the user maintenance.

      Best Regards

      Maria Galindo

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.