Blog
MxLoader now supports Web Services
By default MxLoader uses plain Object Services through HTTP calls. These services are automatically exposed when an Object Structure is created in Maximo. Using Web Services is possible to have more control over data defining processing classes, user exit classes, XSL maps, and processing rules. MxLoader 5.1 now allows to use Web Services as well. To enable MxLoader to work with Web Services you need two settings in the Config sheet:
May 3, 2016
Display bullettin board messages opened by default
A common requirement is to display the bulletin board messages in a more visible way. A simple solution is to display the formatted message opened by default. To achieve this you can edit the following JSP file: [SMP]\applications\maximo\maximouiweb\webmodule\webclient\components\bulletinboard.jsp On my Maximo 7.5.0.6 i have this line of code at row 335: style="display:none;overflow:visible" If you change the display attribute to ‘inline’ it will show the full message without clicking.
April 19, 2016
Restricting status changes in Maximo Anywhere
A common requirement in Maximo projects is to restrict work order status changes based on some internal business rules. This can be achieved on Maximo with the technique described in this article. Unfortunately the rules set in the WOSTATUS domain on the server are not applied automatically to the Anywhere mobile applications so we need to customize the mobile apps to follow the same rules. Lets first analyze how the status changes are managed in the Work Execution app. The application.business.WorkOrderStatusHandler script implements a state machine where the matrix of allowed status changes are defined (state machine).
April 5, 2016
Remove the 200 record limit in Anywhere simulator
The mobile app simulator is a great tool when developing mobile applications with Maximo Anywhere. Obviously it does not replace a good test on the real device but it is essential during development especially when the browser development tools are used to inspect and debug the app. One limitation of the simulator is the 200 records limit when downloading lookup data so the following message is displayed: When running in a browser, a maximum of 200 records are downloaded per lookup.
March 25, 2016
Maximo Anywhere Simulator issues with Google Chrome
You know that Google Chrome is the preferred browser for previewing mobile apps when developing with Maximo Anywhere. However, it seems that Google Chrome automatic updates are a big pain because sometime the simulator stops working correctly. I know there were at least 3 problems caused by a Chrome update: Menu is not displayed correctly Mobile app is not responding to clicks Javascript error: win.doc.getCSSCanvasContext is not a function I these situations you can always open a PMR to get a fix from IBM but I believe there is a better strategy. Use Chromium ! It is the OpenSource version of Chrome sharing the same code base but with no automatic update. You can download it from here: https://sourceforge.net/projects/crportable/files/?source=navbar I’m currently using Cromium 44.0.2383.0 and I no longer have to worry for a bad update.
March 24, 2016
Overview of Maximo Industry Solutions and Extensions
This page has been published in 2015 and contains obsolete info. 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.
November 20, 2015
Avoiding Java classes conflicts using a_customer.xml file
Consider this scenario (which I came across). You have extended psdi.app.workorder.WO out of the box MBO class with your own cust.app.workorder.WO 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 psdi.skd.app.workorder.SKDWOSet instead of your custom cust.app.workorder.WOSet 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.
November 13, 2015
Create attachments through MIF
Starting from Maximo 7.1.1.6 it is possible to import 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 DOCLINKS 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.
October 22, 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 :-)
May 20, 2015
Extract attachments (DOCLINKS)
This post explains how to extract a set of attachments from the server. First of all you have to find the root folder where the attachments are stored. This can be found in mxe.doclink.doctypes.defpath system property (System Configuration - Platform Configuration - System Properties). Unfortunately, from the file names you cannot understand to which records each file is linked to. In order to do this you have to run an SQL query. In this example I’m showing how to extract all the file names of work orders attachments.
February 17, 2015