Friday, October 14, 2011

OIM 11g Localization Tips

As any other enterprise application, OIM 11g provides localization features: it detects user's browser language configuration and presents the UI to the end user accordingly to the configured language.
Customers can plug a lot of custom code and objects in OIM 11g in order to achieve their business requirements. While some customers don't care about localization, some of them do care, and this post gives tips on how to localize some pieces of OIM.

It is important to mention that this post does not show how to create custom fields (UDFs) or how to change request data sets.

The examples below use Brazilian Portuguese as the localization language. For other languages, check the other resource bundle files available in the exactly same folders.

Connector Request Dataset

The request data set field labels can be localized for any OIM connector deployed. The localized labels will show up when a user creates a request for that specific resource.

To localize a request data set, follow the steps below:
  • Edit the file $OIM_HOME/server/server/customResources/customResources_pt_BR.properties
    • Add the localization properties following the convention below:
      • request.dataset.Resource.<Resource Name>.<Attr Name>
  • Restart OIM Server
Notice that the property to be added to the properties file has to follow the naming convention described above. If the <Resource Name> or <Attribute Name> contains space, you must escape it like in "OID\ User".

User Defined Fields (UDFs) for the user profile

The following screens in OIM are affected by the UDF localization configuration:
  • Create use
  • Edit user 
To localize a UDF label, follow the steps are:
  • Backup the file $OIM_HOME/server/apps/oim.ear/admin.war/WEB-INF/lib/IdentityTaskFlow.jar
  • Copy the same file to a temporary location
  • un-jar the file
  • Edit the file oracle/iam/identitytaskflow/resources/UserAttributes_pt_BR.properties add your UDF definition along with the label to this file, for example
    • For a UDF defined as usr_udf_director, the property in the file must be 'director=Diretor'
  • jar all the files in the IdentityTaskFlow.jar
  • copy the IdentityTaskFlow.jar file to the original location
  • Stop OIM server
  • Clean up the contents of '$DOMAIN_HOME/servers/<oim_server>/tmp'
  • Start OIM server
User Defined Fields (UDFs) for self registration

Self-registration pages load the resource from different property files. Don't forget that the attributes loaded in the self-registration page are defined in the self registration data set. The attributes in this data set can refer to any of the user profile attributes, including UDFs.
To localize a custom attribute in the self-registration page, the steps are:
  • Backup the file $OIM_HOME/server/apps/oim.ear/iam-consoles-faces.war/WEB-INF/lib/OIMUI.jar 
  • Copy the file to a temporary location
  • Un-jar the file
  • Edit the file oracle/iam/configservice/agentry/resources/Agent_pt_BR.properties and add your custom field definition:
    • For a custom data set attribute named 'director', add the following property
      • director=Diretor
  • jar all the files back to OIMUI.jar
  • Copy the file to the original location
  • Stop OIM server
  • Clean up the contents of '$DOMAIN_HOME/servers/<oim_server>/tmp'
  • Start OIM Server
User Defined Fields (UDFs) for user creation and modification requests

Create and modify user request can also contain attributes that refer back to user profile attributes, including user UDFs attributes. To localize the labels for these request attributes, the steps are:
  • Edit the file $OIM_HOME/server/server/customResources/customResources_pt_BR.properties
  • Add the localization properties following the convention below:
    • request.dataset.User.Director=Diretor
  • Restart OIM Server
User Defined Fields (UDFs) for Roles and Organizations

Just like the user profile, roles and organizations can also have UDFs to hold custom data. To localize the UDF labels, follow the steps below:
  • Edit the file $OIM_HOME/server/server/customResources/customResources_pt_BR.properties
  • Add the localization properties following the convention below:
    • global.udf.<column name>
  • Restart OIM Server
Role example:
  • global.udf.ugp_udf_administrator=Administrador
Organization example:
  • global.udf.act_udf_head=Chefe

Check the Oracle Identity Manager Academy for other OIM 11g related posts

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.