Friday, October 28, 2011

How labels work in Maximo 7

How it is stored:
Maximo stores labels in multiple places. When you add a label to a field, tab or section in Application Designer, Maximo stores this in the application XML in the MAXPRESENTATION table and in the MAXLABELS table. For fields, there are also labels stored in Database Configuration, in the title field on the attribute.


How it is loaded:
When an application is opened for the first time after the application server has started, Maximo loads the application XML and gets the labels in this order: first it looks for a label in the MAXLABELS table; if no label is found it looks in the application XML for a label; and finally, if there is also no label there, it looks (only for fields) in the title field in Database Configuration. When this is done, Maximo stores the application definition in the cache memory of the application server.

If your Maximo environment has an application server cluster, every cluster member has its own cache. When the application is changed through one server, only the cache of that specific application server is refreshed. The other servers still use the old version of the application, until their cache is refreshed also by restarting the application server.

How an import is handled:
Importing an application xml in Application Designer causes Maximo to save the application XML in the MAXPRESENTATION table, save the labels in MAXLABELS and clear the cache.

How it works with multiple languages:
You can translate tabs and fields in Application Designer. To do this, select the other language on the login screen and log in. Open the application in Application Designer and edit the labels of the tabs or sections. Maximo stores the translated labels in L_MAXLABELS.

For fields, use Database Configuration to translate the title and description for an attribute while logged in with the other language selected. Maximo stores the translated labels in L_MAXATTRIBUTE.

4 comments:

  1. I have a clustered environment. How do i clear the JVM cache and reload it from the database without restarting?

    ReplyDelete
    Replies
    1. I guess you have 3 options to reload the "labels" cache in a cluster:
      - restart each JVM in the cluster (or restart the cluster)
      - reload the presentation XML in each JVM
      - write custom Java code for clearing the "labels" cache in each cluster member

      Delete
    2. Hi,

      Could you brief on
      'reload the presentation XML in each JVM'.

      Delete
    3. If you have multiple application servers, each of those applications servers has its own cache memory. To refresh the cache memory of an application server with the updated application xml file, you will have to log on to the application server (using an url with the specific port for that application server) and load the application xml file using Application Designer.

      Delete

Comment now »