Blog
Raspberry PI installation and first setup
In this post I will describe how to install the Raspbian operating system on a Raspberry PI 2 or 3 and some basic configuration settings to start your IoT projects. The described procedure will not require a display and keyyboard and can be performed just connecting the PI to your router using a LAN cable. Raspbian OS installation First of all you need to download the latest Raspbian OS image from here. This procedure is tested with Raspbian Jessie with Pixel (version January 2017). If you are running on Windows, download the Win32DiskImager utility from here and use it to flash the ISO image to the SD card. Refer to this guide for more details. If you are running on Linux or MaxOS look here.
May 6, 2016
IoT and IIoT
The Internet of Things (IoT) is one of the most significant trends in technology today. A melding of innovations in the fields of computing and communication, IoT and its “smart” devices are poised to revolutionize not only user-machine interaction but also the way in which machines engage with one another. IoT is now permeating in every industry energy, healthcare, automotive, and other industries are beginning to grapple with the Industrial of Internet of Things (IIoT), where devices such as sensors, robots, mixing tanks, and insulin pumps are becoming increasingly more connected.
May 4, 2016
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