THE BPD Blog

From blogs to case studies to news, we love sharing our tips and tricks for asset management, cloud, IoT and smarter operations.

by | Feb 18, 2020

Maximo Custom Add-on Products

There are instances when organizations want to add client-specific validations, functionalities or new applications to Maximo Asset Management that don’t exist out-of-the-box. Luckily, Maximo caters to this with its add-on methodology and packages can be installed numerous times on different Maximo installations.

~ Sometimes clients want to incorporate specific validations into Maximo ~

Why is custom component necessary?

Sometimes customer-built customizations are lost during the process of installing or rebuilding an add-on product. For example, if the customer is extending their custom classes with other extending products, then those classes will be overwritten by other products once they have been installed, causing the customer customizations to be lost in the process.

Product.xml

The functionality and integrity of the add-on products can be maintained through the customproduct.xml.

What is customproduct.xml?

The customproduct.xml file tells us which Maximo objects we are extending and can also be used to point Maximo installations – updatedb – to the proper database change scripts (dbc) that will then install the product. It is vital to register all customizations and add-ons through the customproduct.xml file, otherwise the functionality will be lost during the patching/upgrading stage.

Where can the product.xml be placed?

In order to maintain the customizations, the custom product xml file should be placed in applications\maximo\properties\product folder. This customproduct xml file is a uniquely named XML file.

XML files in the product folder are run alphabetically.

If a customproduct.xml file needs to be run first, then it should be named as a_customproduct.xml (example a_XYZ.xml).

If a customproduct.xml file needs to be run last, then it should be named as z_customproduct.xml (example z_XYZ.xml).

Below is an example of a customproduct.xml file

~ Customproduct.xml file ~

What these XML tags imply:

dbmaxvarname – The dbmaxvarname is the varname in the maxvars table for the custom product. It will be created automatically when the updatedb utility is run with this customproduct xml file for the first time.

dbscripts – The directory in tools\maximo\en\cust where all script files will be located.

dbversion – Current database script number. Scripts will run in this version.

lastdbversion – Last released version or first script number for this release.

depends – Name of the file on which this product depends.

extensions – This is useful when more than one product implements the same object. For example, if productA has a class file for object PO and productB has a class file for the same object PO, then class file of productB should extend from class file of productA.

The customproduct.xml files defined in the product directory are run by using Updatedb utility in the tools\Maximo folder.

How it works:

For each product description file in the Product folder, Updatedb runs database scripts in tools\Maximo\en\cust first, followed by the extensions. In the event that the ‘depends’ tag is present in the customproduct.xml file, then the updated utility checks if (a) the file name has been specified in the product directory and (b) if this file has already run before. If the file exists and has already run previously, it will continue running this file. Alternatively, it will skip this file and continue with the next file in alphabetical order. For example, Mobile-Calibration depends on Mobile. Mobile-Calibration should only be run if Mobile is already being run. In this case, we can add the ‘depends’ tag in the Mobile-Calibration product file.

If the customer wants to run part of the custom script\classes before the depended part, they can keep customproduct.xml without the depends tag to run at the beginning and then create another customproduct.xml with the depends tag to run later on for other products.

Extensions can contain mboset, mbo, attributename, service name, bean class name and regular java class name.

If you have any queries or comments about the contents of this blog, please send a message to BPD Zenith.

Saravanaperumal Sankaranarayanan

Saravanaperumal Sankaranarayanan

Saravanaperumal is the Principal Consultant at BPD Zenith. He has gained IT industry experience encompassing a wide range of skill set, roles and industry verticals. He was involved in business analysis, process designing, requirement gathering, data loading, data mapping, user training and user/system testing. His passion for MRO pushed him towards Maximo. He has implemented and enhanced Enterprise Asset Management systems (IBM Maximo) in Oil & Gas, Nuclear Energy, Transportation Industries clients in America, Europe and ANZ. Out of office, he enjoys spending time with family, long-distance drives, and of course, he follows Cricket and AFL. His favourite home teams are Perth Scorchers and West Coast Eagles.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Maximo Inspection Forms extension for Procurement

Maximo Inspection Forms extension for Procurement

Since the release of Maximo Work Centers, Inspection Forms have gained popularity in the work management circles, however, this powerful tool seems to be under-utilized for Maximo’s purchasing module. The below is an attempt to harness the potential for procurement. A...

What’s new in IBM Maximo version 7.6.1.2

What’s new in IBM Maximo version 7.6.1.2

IBM released Maximo v 7.6.1.2 on July 24, 2020 to bring new and enhanced functionality to the user community of a leading, world-class asset management solution. IBM continues to assist the Maximo community optimise and enhance the performance of their assets while...

An Introduction to the Service Requests Work Center

An Introduction to the Service Requests Work Center

Service Requests Work Center The Service Request tool is used to create service requests, monitor the status of existing active requests as well as view completed requests. You have the ability to create SRs on your desktop computer, laptop computer, or mobile device....

Moving to Predictive Maintenance Today – For a Better Tomorrow

Moving to Predictive Maintenance Today – For a Better Tomorrow

Maintenance Strategy - Uptime and Reliability Focused For all asset intensive companies, regardless of industry vertical, maintenance strategy is key to achieving uptime and reliability targets.  While there are a number of methods of measuring the maturity of your...

Digitalization, Remote Operations and Smarter Maintenance  

Digitalization, Remote Operations and Smarter Maintenance  

As the effects of COVID-19 continue, it is reasonable to consider that the ‘new normal’ may be with us for some time. To preserve the long-term health of your organization in these unprecedented times, the value of data to inform activities cannot be overstated.  What...

Sign up to our free newsletter to explore emerging technologies, industry events and Maximo best practice.

Come with BPD Zenith to the future of Asset Management

Listen to your assets!

Most companies are aware of waste in their preventative maintenance efforts, but aren’t quite sure how to eliminate it.