November 20, 2015

Overview of Maximo Industry Solutions and Extensions

After 2 years of blogging on MaximoDev and more than 100 posts to explain how to configure and customize Maximo I want to spend few minutes to explain how to NOT customize Maximo.
Customizing Maximo may be challenging and fun but should always taken carefully because it can inject problems and generate additional costs and risks when upgrading.

One of the most interesting features of Maximo is its ecosystem of extensions, add-ons, integration modules and industry solutions. This ecosystem is populated by many IBM and non-IBM products and solutions that allows to extend the product's core features.
The following picture describes the IBM portfolio of Maximo extensions and industry solutions.

Before starting to implement your own solution to a common problem, take a look at this list of the available Maximo Industry Solutions and Extensions.


Industry Solutions
  • Maximo for Transportation helps address stringent regulatory requirements and managing all transportation asset types, including fleets of cars, trucks, buses, locomotives and rail vehicles, aircraft and vessels.
  • Maximo for Aviation MRO is designed to transform the managing of maintenance, repair, and overhaul (MRO) activities for service providers working in the Aviation industry.
  • Oil & Gas provides oil & gas companies with best practices to help improve the productivity and efficiency of their critical assets.
  • Maximo for Utilities supports work and asset management for transmission and distribution in water, gas and electric utilities.
  • Maximo for Nuclear Power Supports industry-specific requirements by modeling nuclear objects and business processes, including tech specs, lineups, clearances, permits, surveillance testing, and corrective actions.
  • Maximo for Life Sciences Helps monitor, track and manage equipment, facilities, mobile and IT assets on a single platform and be fully FDA compliant. Consolidates solutions under one umbrella – asset and service management, calibration, mobile calibration, CAPA support – and integrates with RFID, SCADA systems, LIMS.

Mobile Solutions
  • Maximo Anywhere is the brand new mobile solution for Maximo built on IBM Mobile First platform..
  • Maximo Mobile Suite is a family of solutions to provide remote access to the Maximo Asset Management processes for work, asset and inventory management.
  • Maximo Everyplace provides the ability to use Maximo from supported mobile devices and smartphones using a web browser.

Free Integration Modules on ISM Library

November 13, 2015

Avoiding Java classes conflicts using a_customer.xml file

Consider this scenario (which I came across). You have extended out of the box MBO class with your own class to implement you own business logic for work orders. After a while you install the Maximo Scheduler extension and you soon discover that all your custom logic has gone because the WORKORDER object handler in Database Configuration is now instead of your custom class. This is because the Maximo Scheduler installation has overwritten your custom handler.

Lesson learned: If you have custom classes and extend the same classes which other products also are extending, then those classes will get overwritten when other products are installed and your customizations will be lost.

In order to maintain the customizations, you must define a_customer.xml file in the applications\maximo\properties\product folder. The following example shows a sample a_customer.xml file.

<?xml version="1.0" encoding="UTF-8" ?>
  <name>My custom classes</name>
    <mbo objectname='WORKORDER' extends=''></mbo>
    <mboset objectname='WORKORDER' extends=''></mboset>

Also, you need to create a directory called "a_customer" inside your tools\maximo\en directory. This directory can be left empty.

This will tell the Maximo installer to merge your custom code with the add-ons code.

For more details refer to the following articles:

October 22, 2015

Create attachments through MIF

Starting from Maximo it is possible to add an attachment (aka doclink) to an objects through MIF.
In this example I will show how to add a short text file to an asset record.

First of all you have to create an Object Structure with DOCLINK as a child object of ASSET.

Now you can use HTTP or REST calls to add an attachment to an asset. If you are not familiar with this things I suggest you to take a look at this post.

After server attempts I have managed to find the minumum set of attributes to do the job.

<SyncMYASSET xmlns:xsi="" xmlns="">
<ASSET action="AddChange">

Modify the XML above for your case:
  • ASSETNUM and SITE uniquely identify the asset record
  • DOCTYPE is the folder where you want to put your attachment
  • DESCRIPTION is the descriptive name of the file
  • DOCUMENTDATA is the binary content of your file encoded with Base64 algorithm

May 20, 2015

Differentiate Maximo production, test, development environments

A common need is to differentiate Maximo production, test, development environments.
The easiest technique I know is to customize the login and header messages.
Open Database Administration application and select the Messages action. Search for 'welcome' and change the messages in the 'login' group as you wish.

The welcome message is displayed on the login page, the welcomeusername message is displayed in the upper left corner of the start center main page, the welcomemaximomessage ... I don't know :-)

If you want to automate the procedure you can use the following database updates.

update MAXMESSAGES set VALUE='Welcome to Maximo (TEST)'      where MSGKEY='welcome';
update MAXMESSAGES set VALUE='Welcome to Maximo (TEST), {0}' where MSGKEY='welcomeusername';
update L_MAXMESSAGES set VALUE='Welcome to Maximo (TEST)'      where ownerid=(select maxmessagesid from MAXMESSAGES where MSGKEY='welcome');
update L_MAXMESSAGES set VALUE='Welcome to Maximo (TEST), {0}' where ownerid=(select maxmessagesid from MAXMESSAGES where MSGKEY='welcomeusername');

If you wish to change tho logo and other elements of the login page you can look here.