Skip Headers
Oracle® Identity Manager Globalization Guide
Release 9.1.0

Part Number E10364-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

3 Globalization of Oracle Identity Manager Components

System-defined components in Oracle Identity Manager have been globalized, and translations for these items are provided with the release. User-defined extensions to fields, forms, and other elements in the Oracle Identity Manager user interface require manual configuration to support globalization. You can optionally customize style sheets for the Oracle Identity Manager Administrative and User console.

Oracle Identity Manager consists of the following components:

This chapter discusses the following topics:

Oracle Identity Manager Globalization Properties

The following system properties support globalization for a single language in the current release and will support multilingual globalization in the future:

user.language: Oracle Identity Manager uses this property for back-end activities, for example, for automatic e-mail generation when sending e-mail to users. You set this property when you select a language during installation. In future releases, this setting will be in user preferences, and there will be no systemwide language setting.

For displaying data in a browser, Oracle Identity Manager localizes the data based on the value of the accept-language parameter in the HTTP header sent by the browser. The Oracle Identity Manager application localizes all responses into this language.

user.region: As with the user.language property, Oracle Identity Manager uses this setting for back-end processes, for example, sending e-mail to users.

See Also:

Oracle Identity Manager Design Console Guide for information about how to set the user.language and user.region system properties

The formatting of dates, times, and so on, that Oracle Identity Manager displays in the Web browser is based on the locale setting of the Web browser. This setting affects the following:

Globalization Components in the Installer

When you run the Oracle Identity Manager Installer, you are first prompted to select a language. All screens and messages in the installer are then localized based on the selected language.

See Also:

Appendix A, "Oracle Identity Manager Installation Language Support and Restrictions" for restrictions on the inputs that you provide during installation

Oracle Identity Manager Administrative and User Console Globalization

The Oracle Identity Manager Administrative and User Console has been globalized and translated into the supported languages for the release. You can configure additional translated strings for user-defined data, clear the cache when you add user-defined data, and customize locale-specific style sheets.

The rest of this section discusses the following topics:

Localization of Default Resource Bundles

Oracle Identity Manager stores localized versions of text strings that appear in the user interface in resource bundles.

All messages that appear in the Administrative and User Console are localized in property files. The following files are the basis for translation into the supported languages:

WEB-INF\classes\xlWebAdmin.properties

WEB-INF\classes\xlRichClient.properties

These files contain basic user interface text that is not configurable by the user or administrator.

In release 9.1.0 of Oracle Identity Manager, the elements in the property files have been translated into the following languages:

  • Chinese (Simplified)

  • Chinese (Traditional)

  • Danish

  • English

  • French

  • German

  • Italian

  • Japanese

  • Korean

  • Portuguese (Brazilian)

  • Spanish

The property files for each language are identified by an underscore (_) and language code appended to the file name. For example, the French language property files are named xlWebAdmin_fr.properties and xlRichClient_fr.properties.

When sending information to the browser, Oracle Identity Manager depends on the language setting of the browser. For example, if the browser language setting is French, Oracle Identity Manager uses the French language property files xlWebAdmin_fr.properties and xlRichClient_fr.properties to localize the content.

The WEB-INF/classes/xlDefaultAdmin.properties file contains properties that do not need translation, including the following:

  • Menu link actions

  • Image paths

  • Delimiters and separators

  • Other special characters and numbers

  • Web layer configuration properties

Oracle Identity Manager metadata is populated in the database during installation. For example, system-created users, organizations, processes, and resources, are supplied in the metadata. The following applies to metadata and metadata extensions that you configure after installation:

  • Most system metadata is configured and stored in English in the database.

  • After Oracle Identity Manager fetches data from the database and the data reaches the Web tier, Oracle Identity Manager locates resource bundles that contain the localized strings for the data.

Note:

You cannot modify system metadata. However, you can create resource bundles for metadata extensions that you configure in the Oracle Identity Manager Design Console. The syntax for specifying the resources and properties in the resource bundle property file is similar to that for the default bundles. The following sections provide details about this topic.

Localizing User-Defined Data by Using Custom Resource Bundles

You can configure locale-specific text strings in resource bundles for user-defined data. As described in Oracle Identity Manager Design Console Guide, you usually create user-defined lookups, fields, forms, and so on in the Design Console. In this release, you can also configure localized versions of user-defined fields for display in the Administrative and User Console. The following topics describe how to localize user-defined data by using custom resource bundles:

Locating the Custom Resource Bundle Property Files

You configure resource bundles for localized user-defined data in a folder named customResources in the Oracle Identity Manager home directory, as follows:

OIM_HOME/xellerate/customResources

This folder contains the following files:

  • customDefaultResources.properties: Defines all custom properties that do not require translation.

  • customResources.properties: Contains English language property translations. These properties are used when the locale setting does not match the locales supported by Oracle Identity Manager.

  • customResources_en.properties: Contains English language property translations. These properties are used when the locale setting is English.

  • customResources_xx.properties: Contains language property translations for the language represented by xx. For example, the customResources_ja.properties file contains language property translations for Japanese.

Localizing User-Defined Items

The following procedures describe how to localize user-defined items that are used by the Administrative and User Console interface.

Note:

In a clustered deployment, you must make the same changes in all nodes in the cluster.

To add a user-defined form, use the following format to define the key for the form's description:

global.Table Name.description=Form description value to display in the Administrative and User Console interface

For example, the following key defines a description for a form named UD_MYFORM:

global.UD_MYFORM.description=My form description

To add user-defined field labels and form field labels:

  1. Construct the resource string for the label, by using the following syntax:

    global.udf.udf_column_name=Text to display in the user interface
    

    For example, you could define the following key for a column named UD_USER_USERNAME:

    global.udf.UD_USER_USERNAME = First Name
    
  2. Replace white space in any value in the resource bundle key with a hyphen (-).

To add a user-defined lookup field:

  1. Construct the resource string for the lookup field by using the following format to define the key:

    global.lookup_code.encode_data=Value to appear in the user interface
    

    For example, you would create the following keys for a lookup code of myuser.status for a lookup column named UD_USER_STATUS with lookup-encoded values of Active, Disabled, and Deleted:

    global.myuser.status.Active=Active
          global.myuser.status.Disabled=Disabled
          global.myuser.status.Deleted=Deleted
    
  2. Replace white space in any value in the resource bundle key with a hyphen (-).

To add columns to a form by using the FormMetaData.xml file, construct the column by using the following syntax:

global.lookup_code.encode_data=column_to_appear_in_the_user_interface

You must clear the cache when adding a new resource bundle file to the connectorResources directory or changing an existing resource bundle file in the connectorResources or the customResources directory. For more information, see "Clearing the Cache for Custom and Connector Resource Bundles".

Localizing Challenge Questions

The following default challenge questions are localized automatically in Oracle Identity Manager:

  • What is the name of your pet?

  • What is the city of your birth?

  • What is your favorite color?

  • What is your mother's maiden name?

If you add custom challenge questions to the Oracle Identity Manager Design Console, then you must add corresponding properties to the custom resource bundles to localize the question text in the supported languages.

For example, you might add the following new challenge question: Which is your favorite sport?. To localize this text, you must add properties to the property files in the following format:

global.Lookup.WebClient.Questions.question-text=value

You must replace any white spaces in the question text with a hyphen (-). For example, to localize the What is your favorite sport? challenge question in French, you add the following property to the customResources_fr.properties file:

global.Lookup.WebClient.Questions.Which-is-your-favorite-sport? 
     = Quel est votre sport favori?

To modify the text of the default challenge questions, you must also add corresponding properties to the custom resource bundles. For example, to modify the text of the What is your favorite color? question from American to British spelling, you must add the following new property in the customResources.properties file:

global.Lookup.WebClient.Questions.What-is-your-favorite-color?=What is your favourite colour?

To modify the text of the default challenge questions for a specific locale, you must add properties for the modified questions to the customResources.properties file, and the customResources_xx.properties file that represents the locale's language. For example, the customResources_ja.properties file contains language property translations for Japanese.

You must clear the cache when adding a new resource bundle file to the connectorResources directory or changing an existing resource bundle file in the connectorResources or the customResources directory. For more information, see "Clearing the Cache for Custom and Connector Resource Bundles" section.

How Does Oracle Identity Manager Determine Which Lookup Fields to Localize?

When a user clicks a lookup field in Oracle Identity Manager Administrative and User Console, Oracle Identity Manager first examines the locale-specific resource bundle for translated values. If the resource bundle does not contain any translated values for the lookup field, then the default values in the Oracle Identity Manager database are used. For example, if a locale-specific resource bundle does not contain the following keys for a lookup code of myuser.status for a lookup column named UD_USER_STATUS, then the default values of Active, Disabled, and Deleted in the Oracle Identity Manager database are used:

global.myuser.status.Active=Active User
global.myuser.status.Disabled=Disabled User
global.myuser.status.Deleted=Deleted User

If a resource bundle does not contain translated values for all of the keys in a lookup code, the missing keys are skipped. For example, if a locale-specific resource bundle contains the following keys for a lookup code of myuser.status for a lookup column named UD_USER_STATUS, then the Disabled status is not displayed:

global.myuser.status.Active=Active User
global.myuser.status.Deleted=Deleted User

If a resource bundle contains any translated values for a lookup key, Oracle Identity Manager searches the resource bundle for additional translated values. The default values in the Oracle Identity Manager database are used only if a resource bundle does not contain any translated values for a lookup key.

Localizing a Connector by Using Resource Bundles

A connector is a combination of Oracle Identity Manager resource objects, process definitions, adapters, forms, and executable code that can be used for provisioning and reconciliation with a target application. You configure resource bundles for localized user-defined connector data in a folder named connectorResources in the Oracle Identity Manager home directory, as follows:

OIM_HOME/xellerate/connectorResources  

You can configure and localize the following for a connector:

  • The response code description

  • The process task response codes

  • Attribute names in the target system, if they are used as input for operations that are coded for the connector

  • Form descriptions

  • Field labels on forms

  • Response strings for provisioning operations in the target system that are used by the business logic of the connector

When you configure a new response code, response code description, lookup, form field, or a user-defined field for a connector, you create a corresponding resource bundle in the following folder:

OIM_HOME/xellerate/connectorResources

The file name of a resource bundle can only include underscore characters (_) to separate the language and country code values from the rest of the file name. Underscore characters cannot be used in any other portion of the file name. For example, the following resource bundle file name is not valid because it contains underscores before the language and country code values:

GC_Prov_Format_SPML_en_US.properties

Instead of using underscores to separate portions of a resource bundle file name (other than the language and country code values), you can use hyphens, as follows:

GC-Prov-Format-SPML_en_US.properties

Note:

In a clustered deployment, you must make the same changes in all nodes in the cluster.

To add localized text for response codes and response code descriptions:

  1. Create two keys for each response code: one for the localized response code, and one for the localized response code description.

    Format the keys by using the following syntax:

    process_name.task_name.response_code=Response_code_value_to_appear_in_the_administrative_user_interface
    

    For example, you can create keys similar to the following:

    MyApplication.Create-User.CONNECTION_ERROR=Connection Error
    MyApplication.Create-User.CONNECTION_ERROR.description=Error connecting to MyApplication Server
    MyApplication.Create-User.PASSWORD_MISMATCH=Password Mismatch
    MyApplication.Create-User.PASSWORD_MISMATCH.description=Password and Confirm Password fields do not match
    MyApplication.Create-User.PASSWORD_INSUFFICIENT=Password Is Insufficient
    MyApplication.Create-User.PASSWORD_INSUFFICIENT.description=Password must be at least 5 characters
    

    In this example, the process name is MyApplication, the task name is Create-User, and the response codes are CONNECTION_ERROR, PASSWORD_MISMATCH, and PASSWORD_INSUFFICIENT.

  2. Replace all white spaces in a process name, task name, or response code with a hyphen (-).

To define the key for a form's description, use the following format:

global.Table Name.description=Form description value to display in the Administrative and User Console interface

For example, the following key defines a description for a form named UD_MYFORM:

global.UD_MYFORM.description=My form description

To localize user-defined field labels and form field labels:

  1. Format the keys by using the following syntax:

    global.udf.udf_column_name=Field_label_value_to_be_displayed_on_the_administrative_console_user_interface
    

    For example, you can create keys similar to the following for columns named USR_UDF_LANGUAGE and USR_UDF_COUNTRY:

    global.udf.USR_UDF_LANGUAGE = User's Language
    global.udf.USR_UDF_COUNTRY = User's Country
    
  2. Replace white spaces in any of the values in the resource bundle key with a hyphen (-).

To add a user-defined lookup field to search by column and code:

  1. Construct the resource string for the lookup field by using the following format to define the key:

    global.lookup_code.encode_data=Value_to_be_displayed_in_the_user_interface
    

    For example, you would create the following keys for a lookup code of myuser.status for a lookup column named UD_USER_STATUS with lookup-encoded values of Active, Disabled, and Deleted:

    global.myuser.status.Active=Active
          global.myuser.status.Disabled=Disabled
          global.myuser.status.Deleted=Deleted
    
  2. Replace white spaces in any of the values in the resource bundle key with a hyphen (-).

You must clear the cache when adding a new resource bundle file to the connectorResources directory or changing an existing resource bundle file in the connectorResources or the customResources directory. For more information, see "Clearing the Cache for Custom and Connector Resource Bundles" section.

Encoding Property Files

By default, property files do not support multibyte characters. To use multibyte characters in a property file, you must encode the property file with Sun Microsystem's native2ascii internationalization tool. For more information about the native2ascii internationalization tool, visit the Sun Developer Network at

http://java.sun.com/

Clearing the Cache for Custom and Connector Resource Bundles

Oracle Identity Manager caches resource bundles that are located in the following directories:

OIM_HOME/xellerate/customResources  
OIM_HOME/xellerate/connectorResources  

You must clear the cache when adding a new resource bundle file to the connectorResources directory or changing an existing resource bundle file in the connectorResources or the customResources directory. In a clustered deployment, you must clear the cache on all the nodes of cluster if they are not on the same subnet.

Note:

The following procedure refers to the cache categories CustomResourceBundle and ConnectorResourceBundle. See the following file for information about the other content categories:
OIM_HOME/xellerate/config/xlConfig.xml

To clear the server cache, run one of the following utilities, depending on the operating system:

For Microsoft Windows:

OIM_HOME\xellerate\bin\PurgeCache.bat category_name

For UNIX

OIM_HOME/xellerate/bin/PurgeCache.sh category_name

For example, the following commands clear the server cache for the custom connector resource bundles:

For Microsoft Windows:

OIM_HOME\xellerate\bin\PurgeCache.bat ConnectorResourceBundle

For UNIX

OIM_HOME/xellerate/bin/PurgeCache.sh ConnectorResourceBundle

Use the following commands to remove content for all categories from the server cache:

For Microsoft Windows:

OIM_HOME\xellerate\bin\PurgeCache.bat All

For UNIX

OIM_HOME/xellerate/bin/PurgeCache.sh All

Encoding of User Input

Oracle Identity Manager encodes all user input in the Web client as UTF-8.

The Oracle Identity Manager Design Console sends Unicode data to the Oracle Identity Manager server by using the UCS-2 encoding supported by Java.

Encoding of Web Responses

Oracle Identity Manager encodes HTML pages according to the character set used by the locale. When displaying Web pages, browsers require the page encoding to use specific fonts and character set mapping tables. Applications require the page encoding to process input data from HTML forms.

To specify the page encoding for HTML pages, Oracle Identity Manager does the following:

  • Chooses a page encoding

  • Encodes the HTML content

  • Specifies the HTML pages by using the encoding name

The rest of this section discusses the following topics:

Encoding in Servlets and Java Server Pages (JSP)

For single-language and multilanguage applications, Oracle Identity Manager specifies the encoding for HTML pages in the ContentType HTTP header in Java Server Pages (JSP). Oracle Identity Manager uses the contentType page directive with a charset value of utf-8, as in the following example:

<%@ page contentType="text/html; charset=utf-8" %>
This will be used in the common files 
web\layouts\tjspClassicLayout.jsp,
web\pages\FilterErrorPage.jsp
web\layouts\tjspPopUpLayout.jsp
 

In the preceding example, the ContentType HTTP header ensures that all communication between a Web client and server uses UTF-8 encoding.

Note:

UTF-8 supports all languages.

Static HTML Encoding

Oracle Identity Manager specifies character encoding in HTML page headers as follows:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">

HTML Form Input Encoding

Oracle Identity Manager generates HTML forms that enable users to provide input. For both POST and GET requests on Microsoft Internet Explorer browsers, Oracle Identity Manager encodes user input based on the encoding of the form. For example, if a form uses UTF-8 encoding, the browser returns UTF-8-encoded user input.

The browser uses different methods for passing input in a POST request and passing input in a GET request:

  • For POST requests, the browser passes input as part of the request body. Only 8-bit data is allowed.

  • For GET requests, the browser passes input as part of a URL.

    The input is an embedded query string where every non-ASCII byte is encoded as %XX, where XX is the hexadecimal representation for the binary value of the byte.

    This is called URL encoding.

GET URL Encoding

All GET URL requests that Oracle Identity Manager generates are URL-encoded to support multibyte characters in the URL.

Handling Expansion and Shrinkage of Localized Text

Text strings often expand when they are translated from English to most European languages. A translated English sentence is an average of 30 to 40% longer in a European language, and a particular work can be as much as 200% longer. For Asian languages, text can shrink by 30 to 50%.

When you configure and localize user-defined elements in the user interface, ensure that elements such as menu items and icon names do not adversely affect the display of the Web-based Administrative and User Console after translation.

Note:

You localize user-defined elements in resource bundles. See "Localizing User-Defined Data by Using Custom Resource Bundles" and "Localizing a Connector by Using Resource Bundles" for details.

Using Locale-Specific Style Sheets

Font size, family, face, and formatting in bold, italic, oblique, and so on, are locale-sensitive. For example, smaller font sizes can be hard to read in Asian languages, and some Asian languages use formatting such as bold and italic sparingly or not at all. It is a best practice to define a style for each locale. Locale-specific style sheets enable you to provide different font sizes, turn bold or italic on or off, and make similar changes depending on the locale. The style sheet selection mechanism can also use a default style sheet if there is no style sheet for a specific locale.

Oracle Identity Manager uses language-specific style sheets. Locale-specific information in cascading style sheets include classes that must be modified for each language in the language-specific style sheets. Cascading style sheets are loaded dynamically based on the client browser language settings.

The JSP files inherit the following language-specific properties from the language-specific style sheet:

  • Font names, font size in terms of width, height in pixels, and so on.

  • Alignments for languages that read right-to-left as well as languages that read left-to-right. This is known as bidirectional language support.

  • Direction of text for bidirectional language support.

Note:

Bidirectional support is not currently implemented, because Oracle Identity Manager does not support any languages that require bidirectional support.

Oracle Identity Manager uses the following JSP files:

  • tjspClassicLayout.jsp

  • tjspPopupLayout.jsp

The following code in the JSP pages controls the locale:

<%
java.util.Locale locale = (java.util.Locale)session.getAttribute(org.apache.struts.Globals.LOCALE_KEY); 
String languageFile = application.getRealPath("/css/Xellerate_" + locale.getLanguage() + ".css");
String css_file = "css/Xellerate_" + locale.getLanguage() + ".css";     
if(locale.getCountry() != null && locale.getCountry().equals("")==false){
        languageFile = application.getRealPath("/css/Xellerate_" + locale.getLanguage() + "_" + locale.getCountry() + ".css");       
        css_file = "css/Xellerate_" + locale.getLanguage() + "_" + locale.getCountry() + ".css";
}
try{
        File f = new File(languageFile);
        if(!f.exists() || !f.isFile() || !f.canRead()){   
                css_file = "css/Xellerate.css";
        }
}catch(Exception e){
        css_file = "css/Xellerate.css";
}
%>        
<link rel="stylesheet" href="<%=css_file%>" type="text/css" />
Horizontal Expansion

The style classes Outlines and popupOutline control horizontal text expansion. These elements have default values in the style sheet. In the following, the width value can be modified to other % values to expand or shrink the overall width.

.Outlines {
    BORDER-BOTTOM: #666666 1px solid;
    BORDER-LEFT: #666666 1px solid;
    BORDER-RIGHT: #666666 1px solid;
    BORDER-TOP: #666666 1px solid;
    WIDTH: 130%;
}
 
.popupOutline{
    WIDTH: 100%;
} 
Vertical Expansion

For generic vertical expansion, the corresponding style sheet file modifies the value for PADDING-BOTTOM in the TD class located near the top of the file, as follows:

td{
PADDING-BOTTOM:2px !important;
}

The default value in the style sheet is adequate for most situations, but you can modify the 2px value.

To override the behavior from the first addition and use no padding, you can add the following to the end of the xellerate.css file:

.noBottomPadding {
   PADDING-BOTTOM:0px !important;
} 

In addition to the general control of vertical spacing in the preceding example, you can control vertical expansion of tables that are created by the Table Generator by modifying table cell height, as follows:

.object_list_table TD
{
    HEIGHT: 28px;   
}

You can also control the height of lookup windows, as follows:

.popupOutline TD{
   HEIGHT: 28px;
} 

Text Truncation

The Table Generator code automatically truncates field values if they exceed the length specified in the global.property.tableColumnSize property in the xlDefaultAdmin.properties file.

The global.property.tableColumnSize property is set to –1 by default to prevent truncation. In general, text should not be truncated, but you can change the value of this property. If you update the xlDefaultAdmin.properties file, you must redeploy the application running the patch_appserver script from the OIM_HOME/xellerate/setup directory, where appserver is the name of your application server. For example, if you are using BEA WebLogic Server, this file is called patch_weblogic.

Date and Time Formatting

Date and time formats are locale-sensitive, based on the locale set in the browser. You can input dates by using a calendar control that displays localized dates. For example, for English, you can enter June 15, 2007 and for French, you can enter 15 juin 2007. Date and time values are stored in the back-end repository in the same way for all locales.

The only exception is searches based on Date type fields. You must always enter the date in the format YYYY-MM-DD in these fields.

The time stamp displayed in the Design Console is based on the time-zone offset of the browser whereas the time stamp displayed in the Administrative and User Console is the same as that saved in the database.

Number Formatting

Oracle Identity Manager displays numeric strings by using the regional settings of the browser. For example, the number 547567567 appears as 547,567,567 for the en_US locale.

Oracle Identity Manager formats the number only at the time of displaying the data. You must enter data in numeric fields in a standard format.

Display of Names

In many languages, such as English, the first name is displayed before the last name. However, in some locales such as Japan, the last name is usually displayed before the first name. This section describes how Oracle Identity Manager displays names according to locale. It contains these topics:

Name Components in Table Columns

Many tables in the Web application display First Name and Last Name columns. For example, the Manage Users page contains tables of this type. The user locale determines the ordering of these columns, for example, displaying the first name column before the last name column.

Name Components Displayed as One String

The first name and last name, and possibly the middle name, can be displayed together as a full name. For example, the Welcome System Administrator string can be displayed in a page header.

Name Components Displayed on Forms

The first name, middle name, last name can be displayed as separate form fields and text strings on a page. For example, the Create User page contains form fields and the User Detail page contains text. However, Oracle Identity Manager does not automatically reorder name fields on forms according to the locale. Instead, you must manually configure the order of name fields on each form by modifying the FormMetaData.xml file. See Oracle Identity Manager Administrative and User Console Customization Guide for information about how to modify the FormMetaData.xml file.

Name Components Displayed in Reports

Oracle Identity Manager does not automatically reorder name fields according to locale for either Report Input pages or Report Display pages. However, you can manually configure the order of name fields for each type of page. To manually configure the order of name fields on Report Input pages, you must reorder the <InputParameter> tags in the report XML data. To manually configure the order of name fields on Report Display pages, you must reorder the <ReturnColumn> tags in the report XML data. See Oracle Identity Manager Audit Report Developer's Guide for information about how to modify report XML data.

E-Mail Address Restrictions

The local-part and domain name portions of an e-mail address are restricted to ASCII letters, numbers, underscores, hyphens, and periods. The domain identifier portion of an e-mail address is restricted to ASCII letters and numbers.

Password Restrictions

Although Oracle Identity Manager supports non-ASCII passwords, for security reasons some input method editors cannot be used to enter passwords in Internet Explorer. An input method editor (IME) is a program that is used for entering characters that are not available on a computer keyboard. For example, on a computer with a standard Western keyboard, you would use an IME to enter characters from a language such as Japanese. Similarly, on a computer with a Japanese keyboard, you would use an IME to enter characters from English or another Western language. Other browsers such as Firefox do not restrict the entering of passwords with an IME. If the IME you are using prevents you from entering passwords in a browser, then you can always cut and paste a password into a password field or use a localized keyboard to enter password characters.

When using a Japanese keyboard, you cannot use kanji characters in a password. Instead, passwords must be composed of hiragana or katakana characters that are available on the keyboard.

Sorting and Comparison for Non-English Locales

Data sorting for all the pages in the Oracle Identity Manager Administrative and User Console depends on the NLS_SORT and NLS_COMP parameter values, which are used by Oracle Database to determine sorting and comparison methods. See Oracle Database Globalization Support Guide in the Oracle Database documentation set to determine the default values for the NLS_SORT and NLS_COMP parameters for your installation, and to determine the appropriate values for these parameters based on your linguistic requirements. Setting these parameters to values other than BINARY will have performance implications because BINARY sorts and comparisons are the fastest. Oracle recommends starting initially with the default values (as listed in Oracle Database Globalization Support Guide) and then adjusting the values according to your needs.

Oracle Identity Manager includes a create_logon_trigger.sql script that you can use to change the values assigned to the NLS_SORT and NLS_COMP parameters. This script is located in the /installServer/Xellerate/db/oracle directory on the installation CD-ROM.

Perform the following steps to change the NLS_SORT and NLS_COMP parameters to nondefault values for your Oracle Identity Manager database:

  1. Type the following command at a command prompt to start SQL*Plus:

    sqlplus /nolog
    
  2. Use the following syntax to connect to the target Oracle instance as SYS user with SYSDBA role.

    CONNECT SYS/sys_password@db_instance AS SYSDBA
    

    For example, the following statement connects a system account of SYS with a password of mypassword to a database named oimdb:

    CONNECT SYS/mypassword@oimdb AS SYSDBA
    
  3. Open the create_logon_trigger.sql script in a text editor, and specify the desired values for the NLS_SORT and NLS_COMP parameters. See Oracle Database Globalization Support Guide in the Oracle Database documentation set to determine the appropriate values for your environment. By default, the create_logon_trigger.sql script assigns a value of BINARY to both parameters.

  4. Run the create_logon_trigger.sql script. This script creates a database trigger that is fired each time a connection is established with the database.

  5. Stop the Oracle Identity Manager server.

  6. Restart the database instance.

  7. Restart Oracle Identity Manager.

Translating Custom Columns

By default, all columns in the Oracle Identity Manager Administrative and User Console are translated. The xlDefaultAdmin.properties file identifies all default columns and their possible values. For example, consider the User Status column. The xlDefaultAdmin.properties file contains the following property for the User Status column:

global.resultSet.Users.Status=Active|Disabled|Deleted
   |Disabled Until Start Date|Locked

The property name is in the form global.resultSet.ColumnMetaData. The ColumnMetaData portion of the property name represents the metadata name of the column or the actual column name if no metadata is associated with the column. Spaces in the property name are represented by tildes (~). For example, the metadata for the User Status column is Users.Status.

Translated property values for default columns are stored in the xlWebAdmin.properties files, which are located in the OIM_HOME/webapp/xlWebApp.war file. The xlWebAdmin.properties files are named xlWebAdmin_en.properties for English deployments and xlWebAdmin_xx.properties for other languages. For example, the xlWebAdmin_ja.properties file contains Japanese translations for default column property values. As an example, the xlWebAdmin_en.properties file contains the following property values for the User Status column:

global.resultSet.Users.Status.Active=Active
global.resultSet.Users.Status.Disabled=Disabled
global.resultSet.Users.Status.Deleted=Deleted
global.resultSet.Users.Status.Disabled~Until~Start~Date=Disabled Until Start Date
global.resultSet.Users.Status.Locked=Locked

In comparison, the xlWebAdmin_fr.properties file contains the following French property values. Notice that some of the values contain Unicode to represent French characters.

global.resultSet.Users.Status.Active=Actif
global.resultSet.Users.Status.Disabled=D\u00E9sactiv\u00E9
global.resultSet.Users.Status.Deleted=Supprim\u00E9
global.resultSet.Users.Status.Disabled~Until~Start~Date=D\u00E9sactiv\u00E9 jusqu'\u00E0 la date de d\u00E9but
global.resultSet.Users.Status.Locked=Verrouill\u00E9

To translate custom columns, you must edit the custom resource files and update the translation data structures, as described in the following topics:

Editing Custom Resource Files

To translate custom columns, you edit the custom resource files, which are described in "Localizing User-Defined Data by Using Custom Resource Bundles". As an example of how to translate custom columns, consider a custom report containing a column named GROUP MEMBERSHIP TYPE that can be assigned one of two values: Direct or Indirect. You must perform the following steps to translate the values of the GROUP MEMBERSHIP TYPE column:

  1. Open the following file in a text editor:

    OIM_HOME/xellerate/customResources/customDefaultResources.properties
    
  2. Add to the customDefaultResources.properties the following property definition and values for the GROUP MEMBERSHIP TYPE column:

    global.resultSet.GROUP~MEMBERSHIP~TYPE=Direct|Indirect
    
  3. Open in a text editor the custom resource file representing the locale for which you want to translate the column values. For example, the path and file name for the French custom resource file is as follows:

    OIM_HOME/xellerate/customResources/customResource_fr.properties
    
  4. Add to the customResource_fr.properties file the following French property values for the GROUP MEMBERSHIP TYPE column:

    global.resultSet.GROUP~MEMBERSHIP~TYPE.Direct=Direct
    global.resultSet.GROUP~MEMBERSHIP~TYPE.Indirect=Indirect
    
  5. Repeat the preceding steps for each language into which you want to translate property values for custom columns.

    Note:

    If a column name is an alias, Oracle Identity Manager converts it to uppercase. Property names are case-sensitive, so ensure to specify the correct case for column names in the property files. Do not change the case (uppercase or lowercase) for column names that already contain column metadata, such as Users.User Status.

You must clear the cache when adding a new resource bundle file to the connectorResources directory or changing an existing resource bundle file in the connectorResources or the customResources directory. For more information, see "Clearing the Cache for Custom and Connector Resource Bundles".

Updating Translation Data Structures

To translate custom columns, Oracle Identity Manager creates translation data structures containing custom resource information. For the columns to be translated correctly, you must refresh the translation data structures whenever you change any of the existing resource bundle files in the customResources directory. To update the translation data structures:

  1. Open the following URL in a Web browser:

    http://host:port/xlWebApp/XellerateBootstrapServlet
    

    In the preceding URL, host and port refer to the domain name (or IP address) and port where Oracle Identity Manager is running. You should see a message confirming that the custom resource properties were successfully updated.

  2. Clear the server cache for the CustomDefaultBundle cache category by following the instructions in "Clearing the Cache for Custom and Connector Resource Bundles".

Localizing Oracle Identity Manager Reports

As described in the Oracle Identity Manager Administrative and User Console Guide, system administrators can configure reports of user entitlements and users who are allocated to resources. You can convert static fields in a report to selection lists. These selection lists are known as lookup fields. For example, fields such as user type and status can be represented as sets of lookup values. You can create and modify lookup values on input pages of a report and in results pages where there is support for filtering of results.

You customize the appearance of a report by editing the report metadata XML in the REP_XML_META column content in the REP table. This table resides in the database schema that is used for Oracle Identity Manager installation. To access the contents of the REP_XML_META column in the REP table, you can use a commercial tool, for example, Quest Software's TOAD.

The following example creates a report field as a set of lookup values:

<InputParameter name="struseremptype_in" parameterType="varchar2" order="11" fieldType="Combobox" allowedValues="Lookup.Users.Role" fieldLabel="report.userResourceAccess.label.employeeType" required="false" />

In the preceding example, the fieldType is set to Combobox. This setting configures the field as a list of selectable values. The allowedValues attribute is set to a lookup code named Lookup.Users.Role. The lookup code populates the field with data.

The following example modifies a report results filter page. This example configures the User field as a lookup field with a set of selectable values:

<ReturnColumn name="Users.Role" label="report.userResourceAccess.label.employeeType" position="SectionHeader" filterColumn="false" filterColumnName="usr.usr_emp_type" filterType="Combobox" filterLookupKey="Lookup.Users.Role" />

In the preceding example, the filterColumn attribute is set to false, filterType is set to Combobox and the filterLookupKey attribute is set to a lookup code named Lookup.Users.Role. The lookup code populates the field with data.

If you add values for a lookup code in the Design Console, you must create corresponding entries in the following file for each locale you support:

customResorces\custombundle_lang_Country.properties

For example, you would add a user role in the Lookup.Users.Role lookup code by using the naming conventions:

global.lookup_code.decode_data=unicoded_decodedata_string

See Also:

"Localizing User-Defined Data by Using Custom Resource Bundles" for examples of creating a resource string

You must clear the cache when adding a new resource bundle file to the connectorResources directory or changing an existing resource bundle file in the connectorResources or the customResources directory. For more information, see "Clearing the Cache for Custom and Connector Resource Bundles".

Naming Convention for Defining Error Codes

After creating error messages by using the Error Message Definition form, you must add new error codes and advice messages in the Oracle Identity Manager OIM_HOME/xellerate/customResources/customResources.properties resource bundle file.

The customResources.properties file contains English language property translations. These properties are used when the locale setting does not match the locales supported by Oracle Identity Manager. When there is a specific locale setting, you must add error codes and advice messages in any one of the following files:

  • customResources_en.properties: This file contains English language property translations. These properties are used when the locale setting is English.

  • customResources_lang.properties: This file contains language property translations for the language represented by lang. For example, the customResources_ja.properties file contains language property translations for Japanese.

Note:

The error code messages and the error code advice messages must be UTF-8 encoded according to the locale.

The naming convention for adding the error codes in the resource bundles is shown in the following syntax:

global.genericerror.error_code=error_code_message
global.genericerror.advice.error_code=error_code_advice_message

All spaces in error_code must be replaced by the tilde (~) sign.

The following is an example of an error code definition:

global.genericerror.ADAPTER.MY=Invalid String Received While Running Process Task Adapter
global.genericerror.advice.ADAPTER.MY=An invalid string was received as input while running the process task adapter. Check the input values, and then try again.

See Also:

The "Creating an Error Message" section in Oracle Identity Manager Design Console Guide

For all adapter-related errors, even if error code is not defined in the Error Message Definition form, you can localize the error messages by making entries in the custom bundle file by using the error code displayed in the Administrative and User Console.

You must clear the cache when adding a new resource bundle file to the connectorResources directory or changing an existing resource bundle file in the connectorResources or the customResources directory. For more information, see "Clearing the Cache for Custom and Connector Resource Bundles".

Workflow Designer Localization

While using the Administrative and User Console, you can implement localization in the Workflow Designer by using the corresponding locale xlWebAdmin.properties and xlRichClient.properties files. These files have the localized values of the different labels and properties that provide the necessary localization.

For certain tasks that cannot be updated but are required by the system, you can localise their system-defined names so that they appear in the local language. You can do so by using English at the back end and their localized values at the front end. However, you cannot edit these values by using the front-end user interface. Consider the following sample entries in the xlRichClient.properties file:

global.workflow.viewer.Discovered-By-Reconciliation=Discovered By Reconciliation
global.workflow.viewer.Reconciliation-Insert-Received=Reconciliation Insert Received
global.workflow.viewer.Update-Detected-By-Reconciliation=Update Detected By Reconciliation
global.workflow.viewer.Reconciliation-Update-Received=Reconciliation Update Received
global.workflow.viewer.Deletion-Discovered-By-Reconciliation=Deletion Discovered By Reconciliation
global.workflow.viewer.Reconciliation-Delete-Received=Reconciliation Delete Received
global.workflow.viewer.Action-Taken-On-Service-Account=Action Taken On Service Account
global.workflow.viewer.Service-Account-Alert=Service Account Alert
global.workflow.viewer.Service-Account-Transferred-To-Another-Owner=Service Account Transferred To Another Owner
global.workflow.viewer.Service-Account-Moved=Service Account Moved
global.workflow.viewer.Service-Account-Updated=Service Account Updated
global.workflow.viewer.Service-Account-Changed=Service Account Changed
global.workflow.viewer.Enabled=Enabled
global.workflow.viewer.Disabled=Disabled
global.workflow.viewer.User-Attestation-Occurred=User Attestation Occurred
global.workflow.viewer.User-Attestation-Event-Occurred=User Attestation Event Occurred
global.workflow.viewer.Resource-Attestation-Occurred=Resource Attestation Occurred
workflowDesigner.workflow.name.recon_insert=Discovered By Reconciliation
workflowDesigner.workflow.name.recon_update=Update Detected By Reconciliation
workflowDesigner.workflow.name.recon_delete=Deletion Discovered By Reconciliation
workflowDesigner.workflow.name.service_alert=Action Taken On Service Account
workflowDesigner.workflow.name.service_moved=Service Account Transferred To Another Owner
workflowDesigner.workflow.name.service_changed=Service Account Updated
workflowDesigner.workflow.name.enable=Enabled
workflowDesigner.workflow.name.disable=Disabled
workflowDesigner.workflow.name.attestation_user=User Attestation Occurred
workflowDesigner.workflow.name.attestation_resource=Resource Attestation Occurred

Similarly, the tasks that are added as part of the field change events use the following property:

global.workflow.startMarker.UpdatedField=Field {0} Updated

The Start icon label is localized by using the following property:

workflowDesigner.workflow.name.provisioning=Start

The System validation task uses the following:

global.workflow.viewer.System-Validation=System Validation

Any value that cannot be changed from the back end by the system and must be in English, can still be localized for the front end.

See Also:

The "Using the Workflow Designer" section in Oracle Identity Manager Administrative and User Console Guide for information about the Workflow Designer

Other Localization Changes

This section discusses the following topics:

Special Character Restrictions

Alphanumeric characters (a through z, A through Z, and 0 through 9) and the underscore character (_) can be used in all Oracle Identity Manager attributes.

The following special characters can be used in the Password field:

  • Percent sign ( % )

  • Plus sign ( + )

  • Equal sign ( = )

  • Comma ( , )

  • Backslash ( \ )

  • Single quotation mark ( ' )

  • Slash ( / )

  • Vertical bar ( | )

The single quotation mark ( ' ) can be used only in the following attributes:

  • Login

  • Manager ID

  • First Name

  • Last Name

  • Middle Name

  • Group Name

  • Organization Name

  • Resource Name

The semicolon ( ; ) can be used only in access policy names.

The following special characters are not supported in any Oracle Identity Manager attribute:

  • Period ( . )

  • Number sign ( # )

  • Slash ( / )

  • Percent sign ( % )

  • Equal sign ( = )

  • Vertical bar ( | )

  • Plus sign ( + )

  • Comma ( , )

  • Backslash ( \ )

  • Double quotation mark ( " )

  • Less than symbol ( < )

  • Greater than symbol ( > )

Localizing E-Mail Notification Messages

At run time, Oracle Identity Manager generates e-mail messages that are localized in the language that you selected during installation.

As described in the Oracle Identity Manager Design Console Guide, the Process Management folder provides system administrators with tools for creating and managing Oracle Identity Manager e-mail templates. The Email Definition form enables you to create templates for e-mail notifications.

The predefined e-mail templates are localized in the supported languages. In the Email Definition form of the Design Console, if you search for a template with a particular name, the returned template contains all configured languages. You can edit all language versions of the template.

Note:

In the Oracle Identity Manager Administrative and User Console, some of the text in the notes field on the task details page appears in English. This occurs for task instances with the following task names:
  • Reconciliation Update Received

  • Reconciliation Insert Received

  • Reconciliation Delete Received

Design Console

The Oracle Identity Manager Design Console is not localized. All static strings and messages appear in English. However, the Design Console can handle native language input, and it can generate data as Unicode-encoded strings.

For more information about the restriction on the types of data encoding supported on the various attributes, see Appendix B, "Oracle Identity Manager Application Language Support and Restrictions".

Diagnostic Dashboard

The Diagnostic Dashboard application generates HTTP responses by using the language setting of the Web client browser.

Deployment Manager

The Deployment Manager exports and imports data by using UTF-8 encoding. If you export a file by using an older release of Oracle Identity Manager, and the data in the exported file does not use UTF-8 encoding, you must convert the file to UTF-8 encoding before importing it again into the current version of the Deployment Manager.

Remote Manager

During installation, you must specify the name for the Remote Manager in English.

Adapters

Some Oracle Identity Manager adapters provide connectivity to provisionable target systems. These adapters handle language-specific character string data for the supported language. The strings can have multibyte character encoding. The adapters pass data from Oracle Identity Manager to the targets by using UCS-2 Unicode encoding in the Java layer. This data can be converted to either UTF-8 or native character sets, depending on the target system or target system-specific native code.