MxMobile Update October 2022 Release

A3J Group is #AlwaysInnovating in order to bring state-of-the-art enhancements to the IBM Maximo community. Our 20+ years of experience in Maximo allows us to deliver end users the proper support and solutions needed to maximize efficiency. We strive to remain thought leaders in the community and we face common issues and challenges head-on. Our suite of mobile apps for IBM Maximo, MxMobile, gives users access to IBM Maximo in the palm of their hand. Our apps allow Maximo users the ability to create and edit work orders, generate meter readings, manage inventory, and more.

As an IBM Maximo mobile solution provider, A3J Group consistently improves the functionality and features of MxMobile. Enriching the experience of MxMobile users is not only our passion, but necessary. Our users enjoy the freedom of Maximo mobility and are happy to report bugs and request interface features, and our team actively delivers on those requests. You can download MxMobile apps from the Apple App or Google Play store.

A3J Group is happy to announce the latest MxMobile news below. This release is available as of Monday, October 3, 2022.

Policy Update

We have a new MxMobile support ticket policy! Going forward we ask that all MxMobile support tickets be submitted the following way: 

By doing this we hope to expedite support issues and requests providing the highest level of customer satisfaction. As always, you can also email support@a3jgroup.com or call 877-235-4774 ext 1 with any questions regarding the new process. 

October Release Updates

A3J Group is happy to announce the latest MxMobile news below. The releases will be available on Monday, October 3, 2022.

MxWork 

  • Ability to create Follow Up Work Orders
  • Ability to enter Failure Reporting information
  • Conduct Inspections from a Work Order
  • General bug fixes and performance improvements

MxTicket 

  • Sending communications from a service request
    • Please note this requires some Maximo components, such as an automation script, to be installed.
  • General bug fixes and performance improvements

MxApprove 

  • General bug fixes and performance improvements

MxAsset 

  • General bug fixes and performance improvements

MxCount

  • General bug fixes and performance improvements

MxMeter 

  • General bug fixes and performance improvements

 

What do you need to do?

  • Updates are available to current clients automatically by updating your apps via the appropriate app store.  
  • If you would like to request a new feature or report a bug, please follow our new support ticket guidelines by submitting a video and a support form describing the request.  

We hope you enjoy the new updates of A3J Group’s MxMobile suite of IBM Maximo mobile apps. If you have any suggestions, feature requests or need to report a bug, please contact support@a3jgroup.com. If you would like to be notified via email when A3J Group posts a new blog sign up in the form below.

MxMobile Update September 2022 Release

A3J Group is #AlwaysInnovating in order to bring state-of-the-art enhancements to the IBM Maximo community. Our 20+ years of experience in Maximo allows us to deliver end users the proper support and solutions needed to maximize efficiency. We strive to remain thought leaders in the community and we face common issues and challenges head-on. Our suite of mobile apps for IBM Maximo, MxMobile, gives users access to IBM Maximo in the palm of their hand. Our apps allow Maximo users the ability to create and edit work orders, generate meter readings, manage inventory, and more.

As an IBM Maximo mobile solution provider, A3J Group consistently improves the functionality and features of MxMobile. Enriching the experience of MxMobile users is not only our passion, but necessary. Our users enjoy the freedom of Maximo mobility and are happy to report bugs and request interface features, and our team actively delivers on those requests. You can download MxMobile apps from the Apple App or Google Play store.

A3J Group is happy to announce the latest MxMobile news below. The releases will be available on Monday, September 5, 2022.

Policy Update

We have a new MxMobile support ticket policy! Going forward we ask that all MxMobile support tickets be submitted the following way: 

By doing this we hope to expedite support issues and requests providing the highest level of customer satisfaction. As always, you can also email support@a3jgroup.com or call 877-235-4774 ext 1 with any questions regarding the new process. 

September Release Updates

MxApprove 

  • Push notifications are enabled in MxApprove, allowing proactive notifications when a new workflow assignment is received.
    • Please note this requires some Maximo components, such as an automation script, to be installed. The solution also comes with minor additional cost.
  • MxApprove is now available within the MxMobile app
  • General bug fixes and performance improvements

MxAsset 

  • Filter for historical work orders
  • Create a new asset
  • General bug fixes and performance improvements

MxWork 

  • Ability to create meter readings from a work order
  • Bug fix for Dark Mode on Android
  • General bug fixes and performance improvements

MxTicket 

  • New app available within MxMobile
  • This is a ticket management app for interacting with Service Requests and other ticket types

MxCount

  • General bug fixes and performance improvements

What do you need to do?

  • Updates are available to current clients automatically by updating your apps via the appropriate app store.  
  • If you would like to request a new feature or report a bug, please follow our new support ticket guidelines by submitting a video and a support form describing the request. 

We hope that you enjoy the new updates of A3J Group’s MxMobile suite of IBM Maximo mobile apps. If you have any suggestions, feature requests or need to report a bug, please contact support@a3jgroup.com. If you would like to be notified via email when A3J Group posts a new blog sign up in the form below.

MxMobile Update June 2022 Release

A3J Group is #AlwaysInnovating in order to bring state-of-the-art enhancements to the IBM Maximo community. Our 20+ years of experience in Maximo allows us to deliver end users the proper support and solutions needed to maximize efficiency. We strive to remain thought leaders in the community and we face common issues and challenges head-on. Our suite of mobile apps for IBM Maximo, MxMobile, gives users access to IBM Maximo in the palm of their hand. Our apps allow Maximo users the ability to create and edit work orders, generate meter readings, manage inventory and more.

As an IBM Maximo mobile solution provider, A3J Group consistently improves the functionality and features of MxMobile. Enriching the experience of MxMobile users is not only our passion, but necessary. Our users enjoy the freedom of Maximo mobility and are happy to report bugs and request interface features, and our team actively delivers on those requests. You can download MxMobile apps from the Apple App or Google Play store.

 

Here are the improvements that the A3J Group developers have made to MxMobile as of Monday, June 13, 2022:

A3J Group is happy to announce a new app has been released to the apps stores. The new app is our first iteration of the all in one app called MxMobile. This release will include the following apps:

  • MxWork
  • MxAsset
  • MxCount
  • MxReceive

 

We have added some additional features included in this release of MxMobile. They are the following:

  • Have more control of what offline data is pulled down prior to going out into the field.
    • Support for more offline functions included
  • Work Management, Asset Management, Receiving, Inventory counting included in this release
    • Other apps will be added in future releases, including more enhanced security controls
  • Start Center shows available app and result sets, allowing you to jump right into a given list of records.
  • Users can hyperlink between applications
    • For example, pull up a work order in MxWork and hyperlink over to the associated asset record in MxAsset

 

What do you need to do for this update?

  • If the MxMobile applications on your devices are set to auto update no action is needed.
  • If the MxMobile applications on your devices are set to update manually you can find the updates in the App Store or Play Store to download.

We hope that you enjoy the new updates of A3J Group’s MxMobile suite of IBM Maximo mobile apps. If you have any suggestions, feature requests or need to report a bug, please contact support@a3jgroup.com. If you would like to be notified via email when A3J Group posts a new blog sign up in the form below.

MxMobile Update April 2022 Release

A3J Group is #AlwaysInnovating in order to bring state-of-the-art enhancements to the IBM Maximo community. Our 20+ years of experience in Maximo allows us to deliver end users the proper support and solutions needed to maximize efficiency. We strive to remain thought leaders in the community and we face common issues and challenges head-on. Our suite of mobile apps for IBM Maximo, MxMobile, gives users access to IBM Maximo from their mobile device. Our apps allow Maximo users the ability to create and edit work orders, generate meter readings, manage inventory and more.

As an IBM Maximo mobile solution provider, A3J Group consistently improves the functionality and features of MxMobile. Enriching the experience of MxMobile users is not only our passion, but necessary. Our users enjoy the freedom of Maximo mobility and are happy to report bugs and request interface features, and our team actively delivers on those requests. You can download MxMobile apps from the Apple App or Google Play store and enjoy a 30-day trial.

Here are the improvements that the A3J Group developers have made to MxMobile as of Monday, April 4, 2022:

 MxReceive:

  • Print labels online or offline via a Bluetooth connected printer! Stay tuned for a video demonstration from the team…

MxWork:

  • Show data from the multiple assets, locations and CIs table on the work order.
  • Better handling of session token expiration.
  • Additional data type of duration has been added.
    • Users can now enter hours as 2.5 or 2:30

MxAsset:

  • Barcode scanning capability has been enhanced to support Bluetooth scanning devices
  • Bug Fixed – When entering a meter reading value of 0 it was not working properly. This has been fixed.
  • Additional API Key support added

MxCount:

  • Barcode scanning capability enhanced to support Bluetooth scanning devices

What do you need to do for this update?

  • If the MxMobile applications on your devices are set to auto update no action is needed.
  • If the MxMobile applications on your devices are set to update manually you can find the updates in the App Store or Play Store to download.

We hope that you enjoy the new updates of A3J Group’s MxMobile suite of IBM Maximo mobile apps. If you have any suggestions, feature requests or need to report a bug, please contact support@a3jgroup.com. If you would like to be notified via email when A3J Group posts a new blog sign up in the form below.

A3J Group Launches New Ninja Fix Solution: Approval Summary Tab Creator

A3J Group continues to produce products that can be purchased through our Ninja Fix suite of self-service IBM Maximo configuration options. The Approval Summary Tab solution was released March of 2022 and acts as a one-stop shop for viewing specific records in IBM Maximo.

The A3J Approval Summary solution introduces a new tab, Approval Summary, to the Work Order Tracking, Purchase Requisition, Purchase Order and Invoice applications. The Approval Summary tab is designed to show both the Active Assignee, to whom the record is currently assigned, and a history of approvals. At a glance you will know immediately who is responsible for approving the record as well as where the record is at in the approval chain. Instead of having users navigate the workflow history and assignment applications to determine the approval status for a record you can simply point them to the Approval Summary tab for all the pertinent information.

The Approval Summary solution consists of a tab with two tables. The first table displays the current active assignee(s) for the record.

ibm-maximo-self-service-managed-service-configuration

This table contains the user ID and display name of the active assignee(s). In addition, a description of the assignment is included for easy reference.

The second table lists the approval history of the record. The user can see who previously approved the record, any memo that was included with approval of the record as well as some workflow details.

ibm-maximo-automation-scripts-work-order-tracking-purchase-requistion-purchase-order-invoice-application

The Approval Summary tab focuses only on workflow transactions originating from an Input node and that are either assigned or reassigned in order to reduce clutter and help the user focus solely on the assignment. Additional nodes may be included by simply updating the A3JWFTRANSACTION relationship on the parent object. You can also contact A3J Group for assistance with expanding the Approval Summary design to other use cases.

 

ibm-maximo-configuration-approval-summary-tab-record-approval-status-history-assignment

 

Learn more about the Approval Summary Tab creator and other solutions from Ninja Fix here. If the solution is a fit, purchase, download and experience immediate IBM Maximo enhancements from A3J Group today!

MxMobile: Using Saved Queries with A3J Group’s Mobile Apps for IBM Maximo

As we all know, saved queries can make our workload much easier to manage when you’re having to sort through hundreds of records in Maximo.  However, have you ever created a saved query in Maximo and you weren’t able to find that query on one of A3J Group’s mobile apps?  You’re not alone, it’s happened to me too and the solution is very simple to follow.

 

For this example, I will use MxWork as the mobile app. In Maximo, I created a query on the Work Order Tracking application called “Environmental Group WOs” that displays all of the work orders with a person group of “ENV” and with a status of “APPR” and “INPRG”.

 

saved queries MxMobile IBM Maximo Mobile App

 

When I save this query and log into the MxWork mobile application and navigate to the Saved Queries list, I won’t see this query.  Why is that?  Well, the saved query has to be available in the API in order to access it from the mobile apps.  So, with the addition of Query Definitions in Maximo 7.6.0.3, we can select the query in the Object Structure for that specific application which will then allow the query to be accessible from the API.

 

If you open the details of the Object Structure, in this example we’re looking at MXWODETAIL, you’ll see Query Definitions listed under More Actions.  This is where you will add your query.  If you do not see your query in the lookup, you may need to make your query public by accessing View/Manage Queries and checking the box underneath Public.  Below are the three fields that are required:

  • Query Type: appclause
  • App Name: WOTRACK
  • Query Clause Name: Environmental Group WOs

asset management saved queries MxMobile IBM Maximo Mobile App

 

After I click OK and reload the Saved Queries list in MxWork, I now see the Environmental Group WOs query.  What’s also great about this solution is that the same process applies to all of A3J Group’s mobile apps!

using saved queries MxMobile IBM Maximo Mobile App

Maximo Mobile App saved queries used in MxMobile A3J Group asset management

Unable to Find Records in IBM Maximo

If you are searching for items and your descriptions do not present any search returns then you may need to read this article…

IBM Maximo attributes such as the Description field are natively configured to use TEXT search instead of WILDCARD.  A text search will use the database’s text search engine.  This is important because text searches are more efficient due to the database using indexes to locate records.  In addition, a text search is not case-sensitive so users typically prefer this type of search over WILDCARD.

I recently had an experience where an IBM Maximo environment using a Microsoft SQL Server database was unable to locate item records using the search term ‘WELL PUMP’ on the Description field.  A search for ‘WELL’, ‘%WELL%’, or ‘WELL PUMP’ brought back zero records.  The pump could only be found by searching for ‘PUMP’.

Since ITEM.DESCRIPTION is a text search enabled attribute, I knew it had to be full text search related. However I was unsure how it was related.  I first rebuilt the text catalog located under Databases > [database_name] > Storage > Full Text Catalogs > [text_catalog_name].

Maximo-Object-Explorer

A rebuild of the catalog had no effect.  Next I increased logging on the ITEM object so I could get the exact query IBM Maximo was sending to the Microsoft SQL Server.  This produced the following query:

select *

from item 

where ((status != 'OBSOLETE' and contains(description , 'FORMSOF(INFLECTIONAL,"WELL")') 

and itemsetid = ITEMSET1))

and (itemtype in (select value from synonymdomain where domainid='ITEMTYPE' and maxvalue = 'ITEM'))

Running the above query in SQL Server Management Studio produces zero records.  I was getting closer! The complexity of some of IBM Maximo enterprise asset management system requires much patience, and thoroughness, especially when troubleshooting…

The downside is that there is no shortage of articles on the Web discussing SQL Servers Full Text search capabilities.  I found myself down quite the rabbit hole.  My esteemed coworker, Kelly Nimmo, dropped in to set me down the correct path as she so often does.  She suggested I look into something called a Stop List.

A Stop List in SQL Server is a list of commonly occurring words that SQL Server will discard while searching.  These words are omitted from the full-text index.  A query of the SYS.FULLTEXT_SYSTEM_STOPWORDS table

SELECT * FROM sys.fulltext_system_stopwords where stopword = 'WELL'

for the word ‘WELL’ reveals the following entries:

Search-feature-Stopword

Bingo!  I now had a decision to make.  I could look at removing these entries from the table. Instead, I chose to omit the ITEM table from using the Stop Word list via the following statement:

ALTER FULLTEXT INDEX ON dbo.item SET STOPLIST = OFF

I will roll this out to other tables where WELL may be used to prevent this behavior in the future.

Securing Attachments in IBM Maximo

Need help securing attachments in IBM Maximo?

 

So you have secured your IBM Maximo installation using SSL, perhaps by following one of the secure articles in our A3J Group blog library, and are feeling pretty comfortable that your IBM Maximo users are protected. Just as you are about ready to lean back in your chair and enjoy the fruits of your labor you receive an urgent communication with a screenshot showing an IBM Maximo attachment being served up with the unsecured HTTP rather than HTTPS. Sound familiar? Thankfully you will be back to your feeling of tranquility in no time as this fix is a piece of cake.

*Note you could have been prevented the above scenario from occurring by not binding IBM Maximo to an unsecure port. This would not have allowed the attachment to work but would have prevented an unsecure connection.

Creating an Automation Script End Point in IBM Maximo

The IBM Maximo Integration Framework offers a wide variety of capabilities for publishing or consuming information to or from external systems. Some of the available methods for communication are:

  • Flat File Exchange
  • XML File Exchange with XSLT Mapping
  • Database Table Exchange (both internal and external to Maximo)
  • HTTP or SOAP Service Consumption

However, there may be times when the available end point handlers do not fit exactly what you need. What options do you have to customize the way the data is exchanged (method, format, content, etc.)?

1. Java customizations: This is old and tired. However, it is possible to write your own Router Handler class to deliver an outbound message to its destination. It is also possible to deliver the message using one of the available handlers above, and then write a custom IBM Maximo cron task to move the message to its destination. For me, that is too many moving parts.

2. Third-party solutions: Implementing a third-party middleware solution, such as Node Red or MuleSoft, can be an option for removing specific system differences when exchanging information between two systems. This is especially useful in large enterprises where many systems are exchanging data. This can allow for a single source of business logic to exchange information across a wide range of systems. For smaller integrations however, this can just add another layer of management and skills necessary to support the organization.

3. Automation Scripts: This is an easy, simple way to build your own end point handler in IBM Maximo without introducing unnecessary Java customization. Luckily, IBM provides a hook that allows us to do just that.

To create an Automation Script End Point in IBM Maximo, you will first need to register the Script Router Handler class. Please note that this class was introduced in the IBM Maximo 7.6.0.8 release. In the 7.6.1.1 release, the SCRIPT handler was added by IBM, which means that these steps can be skipped if you are on 7.6.1.1 or later. If you are running a version between 7.6.0.8 and 7.6.1.1 you can follow these steps to create the Script Router Handler in IBM Maximo:

  1. Log into IBM Maximo as an administrator
  2. Navigate to the Integration > End Points application
  3. Under the More Actions menu, choose the Add/Modify Handlers option
  4. Click the New Row button
    a. Handler: SCRIPT
    b. Consumed by: INTEGRATION
    c. Handler Class Name: com.ibm.tivoli.maximo.script.ScriptRouterHandler
  5. Click the OK button

end point-autoscript-IBM Maximo-mif-automation scripting-integration-scripting-python-code-script-Maximo-customization

Once you have the SCRIPT handler, you can use it to register a new End Point in IBM Maximo:

  1. Log into IBM Maximo as an administrator
  2. Navigate to the Integration > End Points application
  3. Click the New End Point button
    a. End Point: TEST-SCRIPT
    b. Description: TEST SCRIPT HANDLER END POINT
    c. Handler: SCRIPT
  4. After populating the Handler with SCRIPT, a SCRIPT property will appear
    a. Value: <The name of your Automation Script>, e.g. TEST-SCRIPT
  5. Click Save

end point-autoscript-IBM Maximo-mif-automation scripting-integration-scripting-python-code-script-Maximo-customization

At this point, you have an End Point that calls an Automation Script that has not yet been created. The next step is to define that Automation Script and implement your own logic:

  1. Log into IBM Maximo as an administrator
  2. Navigate to the System Configuration > Platform Configuration > Automation Scripts Application
  3. From the More Actions menu, choose the Create > Script option
  4. In the ensuing dialog, enter the basic script information:
    a. Script: TEST-SCRIPT
    b. Description: TEST AUTOMATION SCRIPT FOR END POINT
    c. Language: python
  5. Enter the source code from below and press the Create button

end point-autoscript-IBM Maximo-mif-automation scripting-integration-scripting-python-code-script-Maximo-customization

Source Code:
# ------------------
# This script will write a message to the file system 
# and FTP the file to another server for processing.
# 
# Implicit Variables:
#   INTERFACE - the name of the triggered Publish Channel
#   requestData - the message payload
# 
# Alex Walter
# alex@a3jgroup.com
# 21 JAN 2021
# ------------------
from java.io import File
from java.io import FileWriter
from org.apache.commons.io import FileUtils
from org.apache.commons.net.ftp import FTPClient
from org.apache.commons.net.ftp import FTPReply
from psdi.util.logging import MXLoggerFactory

logger = MXLoggerFactory.getLogger('maximo.script.a3jtutorial')
if logger.isDebugEnabled():
    logger.debug('Starting TEST-SCRIPT script')
    logger.debug('INTERFACE: ' + str(INTERFACE))

# If the file exists, then delete it and create it new
ftpFileName = "C:\Temp\ftpfile.xml"
ftpFile = File(ftpFileName)
if ftpFile.exists():
	ftpFile.delete()
ftpFile.createNewFile()

# Write the file to disk
fileWriter = None
try:
	fileWriter = FileWriter(ftpFile)
	fileWriter.write(requestData)
finally:
	if fileWriter:
		fileWriter.close()

# Setup FTP variables - usually good idea to create System Properties
ftpHostName = "ftp.company.com"
ftpUserName = "username"
ftpPassword = "password"

ftpClient = None
fileInput = None
try:
	# Make an FTP connection
	ftpClient = FTPClient()
	ftpClient.connect(ftpHostName)
	reply = ftpClient.getReplyCode()
	if logger.isDebugEnabled():
		logger.debug('ftp reply: ' + str(reply))
	
	if not FTPReply.isPositiveCompletion(reply):
		if logger.isDebugEnabled():
			logger.debug('not a positive ftp reply')
		ftpClient.disconnect()
	else:
		if logger.isDebugEnabled():
			logger.debug('positive ftp reply!')
		# Log into the FTP server
		if ftpClient.login(ftpUserName, ftpPassword):
			if logger.isDebugEnabled():
				logger.debug('Logged into FTP site')
			# ftpClient.setFileType(2);
			fileInput = FileUtils.openInputStream(ftpFile)
			# Put the file in the default directory
			ftpClient.storeFile(ftpFileName, fileInput)
			if logger.isDebugEnabled():
				logger.debug('File sent to Server')
		# Log out
		ftpClient.logout()
		if logger.isDebugEnabled():
			logger.debug('Logged out of FTP site')
finally:
	if ftpClient:
		ftpClient.disconnect()
	if fileInput:
		fileInput.close()

 

NOTE: If you need help installing this automation script in your IBM Maximo, or have questions with other Maximo CMMS configurations don’t hesitate to reach out! Leave a comment below, or email info@a3jgroup.com

 

Opening an Attachment on List Tab in IBM Maximo

For this scenario I wanted an option to easily open attachments without having to go to each individual record, then the attachment icon, then waiting for the dialog to open then selecting the image to open it. I wanted to save time looking at attachments for a bunch of records. (Note: This only works if there is only one attachment that you can identify to open.)

In this case we took a meter reading and have an image that goes with that meter reading in Maximo. So, there is only one image per reading.

In order to do this, you need to go to Application Designer. Find the application you want to add an image link to. Find the table you want to use and add a new tablecol to that table. Open the tablecol properties and fill out the following fields:

Type: OPENURL (Note: This was done in the xml by exporting the application and updating the field and importing the application. This value is not an option in most IBM Maximo environments in the drop-down list for the type field)

Attribute: DOCLINKS.DOCUMENT

URL Attribute: DOCLINKS.WEBURL

opening-attachements-doclink-application designer-user interface-customization-relationship-attributeopening-attachements-doclink-application designer-user interface-customization-relationship-attribute

 

For the Attribute and URL Attribute you can append as many relationships as you need. For our scenario we added a relationship to the MEASUREMENT table called DOCLINKS with a Child Table of DOCLINKS table that has the image. The whereclause for that relationship is “ownertable = ‘MEASUREMENT’ and ownerid = :MEASUREMENTID”. The table that we are adding the tablecol to is MEASUREMENT.

Once you have updated the application. Save your changes and go to the application. You will see an update to your table that looks like:

opening-attachements-doclink-application designer-user interface-customization-relationship-attribute

 

 

 

The underline and the blue text indicate that you can click that and the attachment will open.