Identity Manager provides several tools for localizing or customizing the User Application’s text. This section includes the following topics:
See Table 2-3 for links to the documentation that describes how to localize User Application components.
Table 2-3 Localization and Customization Topics
Topic |
Where to find it: |
---|---|
To set the User Application’s preferred locale |
See the sections “Preferred Locale” and “Choosing a Preferred Language” in the Identity Manager User Application: User Guide. |
To localize e-mail templates |
|
To localize challenge questions |
See “Security: Best Practices” in the Novell Identity Manager Administration Guide. |
To localize the password sync status application name |
|
To localize the names of container or shared pages |
property in |
To localize portlet preferences |
See Section 7.3.5, Modifying Preferences for Portlet Registrations. |
For general information about localizing provisioning objects or customizing their display text, such as:
|
See the section “Localizing Provisioning Objects” in the Identity Manager User Application: Design Guide. |
The text displayed in the User Application is stored in either the User Application driver or in a set of language-based JAR files (UserAppStrings_xx.JAR) located in the User Application WAR. You use different tools to customize the text depending on where the text is stored. For text stored in the:
User Application driver: Use the provisioning tools in Designer for Identity Manager.
For more information, see the section “Localizing Provisioning Objects” in the User Application: Design Guide.
User Application WAR: Follow the procedure described in this section.
The text strings stored in the User Application WAR file are stored in a language-based JAR file. There is one JAR for each supported language, and the JAR file names indicate the associated language by appending the Java locale code for the associated language. The base name of the JAR file is UserAppStrings_locale-code.JAR. For example, the English language strings are stored in the UserAppStrings_en.JAR. The JAR files are copied to the l10n-resources subfolder of the User Application’s installation directory.
NOTE:To customize graphics or theming, see Section 5.1.7, Theme Administration
To customize the text stored in the User Application WAR, decide:
Once you know what to change, follow these steps:
You can follow the example outlined in Text Change Example
The User Application strings typically change between versions. This means that you have to apply your string changes or customizations to each new release.
Review the User Application tabs.
Make a list that includes each string you want to change and where the string is located in the User Application user interface. You can use this list when testing your changes to ensure that you made the text changes in the appropriate places.
Determine whether the strings are stored in the User Application driver or in the language-based JAR. The following guidelines help you determine where the strings are stored:
Navigation, headers, names, and instructions: This content is stored in language-based JARs.
Identity Self-Service tab: This content is stored in language-based JARs, unless it is related to directory abstraction layer entities (such as display name, lists, and categories). Content related to directory abstraction layer entities is stored in the User Application driver.
Work Dashboard tab: This content is stored in language-based JARs, unless it is in the Form Details section. The content in the Form Details section is stored in the User Application driver.
Administration tab: This content is stored in language-based JARs.
Roles and Resources tab: This content is stored in language-based JARs unless it is related to role or SoD names or descriptions. Role or SoD names and descriptions are stored in the User Application driver.
Compliance tab: This content is stored in the language-based JARs unless it is related to the provisioning request definition. Content related to the provisioning request definition is stored in the User Application driver.
For information on changing the strings stored in the User Application driver, see the section “Localizing Provisioning Objects” in the User Application: Design Guide.
Locate the JAR files corresponding to the language(s) you want to support. For example, English strings are located in UserAppStrings_en.JAR.
Unzip the JARs into a working directory using a zip tool or the Java JDK JAR program.
Search the files in the working directory to locate the strings you want to change.
Use a tool that allows you to search for a specified string across all of the files in a folder (the string(s) you want to change might be located in more than one file).
HINT:The strings in the files are in the properties file format of key=value. Modify only the value, and not the key. Modifying the key can cause run-time errors. Follow the additional editing tips identified below.
When editing the properties files:
Use an editor that formats properties files for improved readability, when possible.
Use an editor that displays characters rather than unicode encoding for improved readability. Some of the properties files contain unicode-encoding.
In the editor, turn off wrapping to improve readability. It helps identity each property on a separate line.
In some files, the key value might be difficult to identify, especially if your editor does not provide automatic property file formatting. In these cases, search for the equals sign, and find the first occurrence of the equals sign that does not have a backslash preceding it (\=). The key precedes the equals sign (=), and the value follows it.
Make sure to maintain the proper properties file format.
To learn more, see Java Properties Object
Add the properties files back to the JAR using the Java JDK jar program. You must maintain the folder location within the JAR.
Add the modified JAR into the User Application WAR maintaining the folder location within the WAR. You can use the Java JDK Jar program.
This example uses the Java JDK Jar program and maintains the folder location:
jar -uvf IDMPRov.WAR WEB-INF/lib/UserAppStrings_en.jar
Redeploy the WAR file to your application server.
Access the User Application.
Using your list of changes, review each occurrence of the string you changed to determine if you made the change appropriately.
This section provides a simple text change example.
Open the User Application Welcome page and notice the text that says
Securely manage the access needs of your ever-changing user community
Figure 2-7 Sample Text Change
To change this string in the English language JAR.
Expand the UserAppStrings_en.JAR file to a temporary directory.
Use a find tool to locate the string.
Notice that it is located in this properties file ./com/novell/afw/portal/portlet/message/IDMWelcomeMessageRsrc_en.properties
Open the properties file and change the text from:
Securely manage the access needs of your ever-changing user community
to
Test text change
Save and close the file.
Follow the steps described in Repackage the updated files and deploy.
Open the User Application’s Welcome page and verify your changes.
The role report feature of the Roles Based Provisioning Module uses UniGB-UCS2-H
for the PDF encoding and STSong-Light
for the PDF font for Chinese simplified, Chinese traditional, Russian and Japanese locales. For the other locales, Cp1252
is used for PDF encoding and Helvetica
or Helvetica-Bold
is used for the PDF font.
If the user's browser locale or preferred locale is set to one of the above four locales, the report will be able to display most of characters from these locales. However, some extended characters found in ISO-8859 may not be displayed properly in the report.
Conversely, if the browser locale or preferred locale is not set to one of these four locales then some Asian characters will not display properly.
To allow all characters to display properly in generated PDF files, you need to:
Extract the role-detail-xmldata.xml file
Replacing the role detail XML Data in iManager
Editing the Configuration XML Data in iManager
Configure the User Application
Detailed instructions are provided below.
NOTE:You may also notice problems displaying some characters in role reports for languages that are not in the standard set of supported languages. If you add a new language (such as Polish), you may also need to perform the steps provided in this section to ensure that all characters display properly for that language as well.
Extract the role-detail-xmldata.xml file to your local file system.
Open the file in a text editor.
Login to iManager as your Administrator.
Select View Objects icon.
Navigate to the following object:
ReportDefs.Roleconfig.AppConfig.%YourDriver%.%YourDriverSet%.%context%
For example:
ReportDefs.Roleconfig.AppConfig.UserAppDriver.TestDrivers.novell
Select 'role-detail'.
Select the 'XmlData' Attribute and press the
Button.Delete all of the content that appears in the pop-up window.Copy all of the content from the role-detail-xmldata.xml file that you opened in a text dditor in Step 2.
Paste the content into the pop-up window.
Press
on the pop-up window.Press
and then .Login to iManager as your Administrator.
Select View Objects icon.
Navigate to the following object:
AppDefs.AppConfig.%YourDriver%.%YourDriverSet%.%context%
For example:
AppDefs.AppConfig.UserAppDriver.TestDrivers.novell
Select 'configuration'.
Select the 'XmlData' Attribute and press the
Button.Scroll down to the bottom of the content that appears in the pop-up window.
Edit the </properties> tag to suit your application requirements:
Add the following lines before the </properties> tag if you need the support for the four (4) locales outlined:
<!-- Reports configuration --> <property> <key>com.novell.idm.nrf.report.PREF_FONT</key> <value>Arialuni.ttf</value> </property> <property> <key>com.novell.idm.nrf.report.PREF_ENCODING</key> <value>Identity-H</value> </property>
Add the following lines before the </properties> tag if you do not need the support for the four locales outlined:
<!-- Reports configuration --> <property> <key>com.novell.idm.nrf.report.PREF_FONT</key> <value></value> </property> <property> <key>com.novell.idm.nrf.report.PREF_ENCODING</key> <value></value> </property>
Press
on the pop-up window.Press
and then .Restart the User Application Driver.
If you edited the </property> tag (in Step 7) to add support for the four locales (by specifying Arialuni.ttf as the preferred font), the directory that contains the file Arialuni.ttf (the name of the file must match the entry specified for PREF_FONT above) has to be added to the Application Server’s classpath.
For example, if the file Arialuni.ttf was saved to the directory /home/lab/font, and the Application Server that the User Application war file is deployed on is JBoss, the start script for JBoss could be modified with the following entry:
JBOSS_CLASSPATH="$JBOSS_CLASSPATH:/home/user/font"
Restart the Application Server:
For JBoss, restart the Application Server once all configuration manual steps have been completed.
For WebSphere and WebLogic, the patched User Application war must be re-deployed with their Administration tools once all manual configuration steps have been completed.