This weeks SnTT post is about Lotus Connections and how to more easily get access to and change the translation files for the UI of the Profiles feature.
Configuring which pieces of information are surfaced in the Profiles feature is pretty easy and well documented using the profiles-config.xml file. Changing the label text however is harder and not that easy to do. As it is documented it involves stopping profiles, locating a jar-file, extracting it using WinZip, changing a properties file, repackaging the jar-file, redeploying the jar-file and finally restarting profiles to see the change. This is well and good and acceptable if you only need to change the file once, but chances are that it's an iterative process and you need to do it multiple times. Wouldn't it be easier to simply stop profiles, change the file and restart profiles? Well read on to see how.
The labels for the fields (and all the other pieces of text for that matter) in Profiles are stored in property files in a jar-file in the Profiles application. Changing the property files for the appropriate language causes the text to change in the UI after a restart of the Profiles application. This is easy enough but require a lot of repeated steps every time since you have to unpack the jar-file, change the property file and repack the jar-file.
Since Profiles is just another Java web application we can move some of the classes and property files out of the jar-file (in the "lib"-directory) and into the "WEB-INF/classes"-directory. This means that we only have to repack the jar-file once and for all since the property files are now available from the "classes"-directory.
On your Websphere Application Server where the Profiles feature is installed (with Profiles stopped) do the following using a file explorer:
- Open the profile directory for the profile you're using
- Open the installedApps directory and the node directory underneath it (chances are that there's only one node directory)
- Open the Profiles.ear directory
- Open the peoplepages.war directory
- Open the WEB-INF directory
- Create a new directory called "classes", and inside this directory create a com/ibm/peoplepages/webui directory (a total of 4 directories)
- Open the lib directory and locate the peoplepages.web.jar file and make a backup copy of this file
- Now unzip the jar-file (maybe renaming it to a zip-file first), navigate through the directories to com/ibm/peoplepages/webui and move the resources folder to the "classes/com/ibm/peoplepages/webui"-directory you created above
- Navigate back to the extracted jar-file and zip the "com" and "META-INF" directories back up into peoplepages.web.jar and overwrite the peoplepages.web.jar file you located in step 7
Now when ever you need to change a label for a field simply locate the label or text you would like to change in the property files underneath WEB-INF/classes/com/ibm/peoplepages/webui/resources and restart Profiles.
Please note that the above probably isn't supported by IBM... :-)