Performance Issue after Upgrade and Installation of Oil & Gas and Utilities Add-ons

Recently I involved in a project where we need to upgrade Maximo to the latest version and install several big add-ons which include SP, HSE (which is Oil & Gas), and Spatial (which is the same as Utilities). This is the first time I see a system with that many add-ons installed. The DB in use is SQL Server.

Although we’ve done all recommended steps for the upgrade like running integrity checks before and after the upgrade; and updating statistics and rebuilt all indexes. After the upgrade, it was still a lot slower compared to the before upgrade version. To analyze the problem, I tested and compared the performance of several different queries on the WORKORDER table and the TICKET, some intended to use indexes, some intended to create a full table scan. With the queries that use more indexes, the performance gap seems to be smaller (upgraded version is 2-3 times slower); and the one which requires full table scan is significantly slower (10-20 times slower).

With that result, we concluded that the slower performance is due to

Blank parameter page when trying to run report from Eclipse/BIRT Designer

The issue with Eclipse/BIRT designer showing a blank parameter page when we try to run a report has been around for a while. This problem is due to newer versions of IE installed on Windows. When I was using an older Windows version, I can simply uninstall IE to restore it to an original, older version. Recently, I had to switch to Windows 10 which comes with IE11 and uninstalling IE is not possible. The problem is described here in this IBM technote



After trying the various solutions found on the web, the following seems to work for me:

Start Center - Result Set not displaying

When creating Start Center Template, I often run into the issue of users not being able to see data in result sets with the error 'This portlet has not been setup'. I often waste a bit of time to figure it out and then forget about it. And, I would run into the same issue again and again. So I will post a check list here for my own future reference. Hopefully it will help some of you Maximo technies out there.


To allow the user to access the data, and generate start center from the template, the user must be given the following access:

  • 'Read' access to the main application. For example Work Order Tracking if the result set is for listing work order.
  • 'Run Report' and 'Create Report' signature option in the main application. If the main app is a custom app, you'll need to create the same Signature Option in App Design first.
  • Access to 'All Site' or at least one Site.
  • Access to the 'Layout and Configuration' application
  • Access to the Report Object structure used by the result set (which is given in the 'Report Administration' app > Select Action > Set Report Object Structure Security
  • The Saved Query used by the portlet must be marked "Public"





Process Inbound Twilio SMS message in Maximo

In the last post, I uploaded some demos on how we can process inbound text messages to create SR and route Workflow. There are a few people on LinkedIn asked me how to do it. I also like to explore the option of integrating Maximo with Twilio directly without the need for App Connect. With Maximo 7.6, we can create a simple API using automation script. So, the video below is how we can create a simple script API and direct Twilio HTTP requests to Maximo:



Interacting with Maximo via SMS

Voice call and SMS are being used as a user interaction interface in many systems and services provided by large organizations. However, in the past, this integration is quite complex and expensive, and thus, I never had a chance to play around with. Recently, I posted an article on how we can easily configure Maximo to send notification as SMS message. This is made easy and (free for developers) by using Twilio. 

Sending inbound command to a system from Twilio is more complex as it requires setting up of a Web Server and writing code to parse HTTP POST data and forward the message to an on-premise Maximo system. With App Connect, it becomes easy (and free for developers) to set up an API gateway on cloud and routing message to a system hosted in-house. So I decided to give it a try by imagine a two easy-to-achieve use cases as follow:
  • Field workers sending a text message to Maximo to create a new Work Request, report Incident, or Defect. This could be useful to quickly register an action item without having a smart device or 3G connection. Below is a quick demo of this scenario:


SMS Notification for Maximo using Twilio

Every once in a while, someone would ask me if we can configure Maximo to send notification via text messages? With Maximo, the answer to such questions is always Yes. However, with this one, it will cost some money, very cheap though.

Since it is not free, I would say for most Maximo notification scenarios, the user would be ok with email notification which is free. However, there are certain scenarios where SMS notification can add value such as:
  • Notify a field worker when a new high priority Work Order is assigned to him/her
  • Notify an asset owner when the asset deviates from normal operating parameter range or when downtime is reported
  • Notify Maximo admin when there are repeated login attempts from an uncommon IP address or when there is a major problem tracked by Escalation app.


IBM App Connect - Integrate Maximo with Google Sheet, SalesForce, and ServiceNow

While having a break between projects, I have some free time to play around with IBM’s new toy: App Connect. After several years working with Enterprise applications, I’ve got to a point where I can tell if a system is great or not after playing around with it for a short time.  Some examples of great systems or platforms I have experience with is Maximo (of course), React Native (for mobile development), and SAP. Some examples of *not so great* systems I played with include Oracle EBS, Infor SunSystems, Maximo Anywhere mobile platform.

With App Connect, I can tell this is an excellent tool after going through a few beginner tutorials. I can immediately come up with some useful use case using it to enhance Maximo by integrating it with other cloud applications. Below are two examples: