Skip to main content

Posts

Showing posts with the label Maximo

Calling External Python File/Libraries with "mxe.pylib.path" in IBM Maximo

Greetings, Automation Scripting is a powerful tool in Maximo that can be used to customize the Out Of Box (OOB) behavior of Maximo without the need to deploy any class file which requires downtime of the system. While automation script provides the ability to write code into multiple different languages and their versions like Python, Jython, JavaScript, and Nashhorn, etc. Python/Jython remains the most popular language they use. One of the most powerful features of Python is the availability of reusable libraries available to achieve many tasks. Many times a requirement need an external library to be called Automation Scripting which can be done much more easily with Maximo 7.6.1.2 onwards. In this use case, we have written an action script that will be called when the user presses the Test button on the Work Order application. This automation script contains the logic to call another external file with the name externalPy.py. We create a folder in the application server and place...

Handle SQL Condition on Workflow Action’s in Maximo via OSLC API

  Maximo’s NextGenREST OSLC API(s) are very powerful but they don’t provide the capability to handle SQL Conditions associated with Actions or Nodes. For example- A manual Input node in the workflow can have multiple actions available and they are to be shown on the basis of SQL Expressions then OSLC API returns all options when making API call w/o evaluating the SQL expression. To handle this, another feature to ca l l automation script using OSLC API can be used to return the response with a flag having true or false information. In the script below, let us assume we have a workflow on the PR object and we need to evaluate SQL conditions associated with a manual input node. From Postman make a GET call for each action: GET <servername:port>/maximo/oslc/script/<scriptname>?ownerid<x>&actionid=<y>&wfactionid=<z> & response of this script shall return true or false based on SQL condition evalauted. load("nashorn:mozilla_compat.js"); im...

Playing with Time Zone in Maximo - Time Zone Rules

  IBM Maximo 7.6.0.8 onwards provides a new application – “Time Zone Rules”. This application can be accessed from Administration > Time Zone Rules. In the Time Zone Rules application, users can create rules on different processes on which time zone shall be applied from the process rule. Records will show the local date and time of the user who is accessing the record even if the record was created in a different time zone. Time zone rules can be associated with a process at the system, organization, or site level. Let us see how time zone rules work in Maximo with the example of PM Work Order generation. Following are the steps to be followed in this example- 1.First create a rule for PM Work Order Generation where Time Zone will be picked from the Asset record on the PM. 2.The current user that I am using has Time Zone set to Asia/Kolkata as shown below- 3.Maximo Application Servers are in EST time zones in the US. Now, let’s select an asset and associate Time Zone to America...

Maximo API Key - REST/OSLC API Authentication with IdP via SAML

Maximo 7.6.0.9 provides capability to integrate Maximo with Identity Providers (IdP) like Azure AD, Open Connect etc., using SAML. Security Assertion Markup Language (SAML) is an open standard that allows identity providers (IdP) to pass authorization credentials to service providers (SP). As this integration worked properly on Maximo UI application, Browser less connection for Maximo REST, OSLC APIs was not supported and needed direct local active directory connection. Maximo has added this feature of API Key from Maximo 7.6.0.9 which can be used to overcome the unseen limitation. In the earlier versions of Maximo, creation of API for specific user and management of the key was not user friendly and it needed MAXAUTH to be passed to generate the API Key from REST/OSLC API call. With Maximo 7.6.1.2, API Key feature has been improved and now administrators can generate the API keys for users from Maximo UI and revoke them on the go. Once users have integrated Maximo with SAML authen...

Docker Commands for Maximo Consultants

Containers are becoming popular day by day and provide great flexibility of running the instance locally and play around for developers. For Maximo developers, it is even more relevant as there is no need to coordinate with others while enabling admin mode, or restarting the server, etc for any developmental need. Docker for Maximo can be used by Developers to run their isolated local instance. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime system tools, system libraries, and settings. While working with docker, the following are some of the frequently used commands which every Maximo consultant should know. Happy Dockerizing! Commands Purpose docker --version Version of Docker installed on your machine docker info Details of Docker installed on your machine docker images List of images on your machine docker images -a List of images with creation time, size and all other details...

Power of Federated MBOs - Retrieve data from external system using JSON in Maximo

Greetings! Maximo Integration Framework supports the sharing of data between Maximo Asset Management and external systems based in many different ways. The most common is to replicate data between the systems. However a new feature, Federated Resource, allows the sharing of external system data with Maximo without the need to replicate the data into Maximo. With Federated Resource integration,you can associate Maximo Asset Management objects with data from an external system, and persist the data outside of the Maximo Asset Management database. To do this, the external data must be exposed through a JSON REST API in order for the data to be available as a Maximo MBO. For example - if user need Location related data like temparature, Lat or Long etc in Maximo, we can get this data from different available API. For this example I have used OpenWeatherMap api. You need to have your appid and by this you can fetch location related weather and other information. http://api.openweatherm...

Maximo OSLC Integration with External System- Get data in JSON format

Greetings! If you have noticed recent version of Maximo, couple new application in Integration module has been added which are OSLC Resources and OSLC Provider.These modules gives us ability to integrate with external system in JSON. OSLC is an open community that creates specifications for the integration of products and/or tools.  IBM is a leading contributor to this community and many software products within the IBM Software Group are implementing OSLC in order to enable cross-product integrations. An OSLC integration requires 2 players-  1. OSLC Consumer application 2. OSLC Provider application.   An OSLC provider application makes containers of associated resources(data) available for integration through service providers. Consumer applications then use these service providers to query resources and to create, update, and delete resource data.  The consumer application sends a query to the service provider for resource data. The service p...

Call publish channel w/o enabling Event Listener in Maximo

Greetings! Generally if we have to send data to external system via MIF, we create Publish Channel and enable Event Listener on publish channel. Once event listener is enabled, Maximo listens for event and send data to end point via publish channel for each Save of related MBO . But t here are many scenarios where we need to send data to external system using publish channel on specific event and not for every save. In order  to send to external system on specific event, for example - sent data to Ariba when PO status in Maximo is changed to APPR, we can use automation script or java code to call publish channel on the go. Below code can be used in automation script - server = MXServer.getMXServer() userInfo = mbo.getUserInfo() whereClause = <CONDITION> server.lookup("MIC").exportData("<Publish Channel Name>", "<External System Name>", whereClause, userInfo, 1000) Via Java class - MXServer server = MXServer.getMXServer(); ...

Power of Maximo Formulas - Build logic w/o Custom Java code or Automation Script

Greetings! Maximo 7.6 has lot of additional capabilities added in Tivoli Automation Engine as compared to older versions of Maximo which aim to allow users to make change in applications for small requirements without actually going to customization route. Automation scripts is one of such tool given for users and technical developers to change the behavior of Maximo in case where functionalities can't be changed only via use of configuration. If we have a requirement to populate some field on basis of other fields , we can easily do that with automation script but in order to do that you still need to have knowledge of Jython or Javascript to write the logic. Maximo formula is one the tool given by IBM which can be used for such business requirements and user can make changes to Maximo logic via configuration without getting into difficulties of coding. Formulas are available from Maximo version 7603. With release of Maximo version 7606, there has been addition of new capabil...

Maximo Installation : Pre Requisite Checker Tool

Saludos Amigos ! Today we are going to take a look at pretty essential time & effort saving Pre Requisite technique related with IBM Maximo installation. As we know that IBM Maximo is a unique product which need multiple components in technology stack for installation. Generally with IBM Maximo version 75 and 76 , binaries can be divided into 2 parts - MAM - Maximo Asset Management Binaries - these binaries consist base product files , tools required to apply add -on etc. MWI - Middleware Installer Binaries- these binaries consist following components whose version varies as per compatibility with MAM versions-      Application Server - IBM Web Sphere , Oracle Web Logic      Web Server- IBM HTTPS Server       Database Server - IBM DB2 , Oracle , Sql Server      Directory Server - IBM Tivoli Directory Server In order to install all these products we need different servers and infrastructure compone...

TD Tool Kit - Importing new language in Multilingual Maximo environment

Greetings! +IBM MAXIMO  gives you ability to use multiple languages like Spanish , Portuguese, Chinese , Korean , French etc other than English , if your Maximo environment is global and have users across the globe. Importing a new language in Maximo can be done by TD Tool kit. TD took kit stands for Translation Data Toolkit.  The Translation Data Toolkit is used to translate the Maximo database and handling Multi Language functionality. The TDToolkit is located under the {Maximo_install}\tools\maximo directory.  The process to import new language is a 3 step activity- 1. Take Maximo down by stopping application servers. 2. Export Labels in XLIFF file format 3. Translate the XLIFF file 4. Check for error and import translated XLIFF files. 5. Validate and start Maximo. Export Labels in XLIFF file format -  In Maximo directory , XLIFF files store all the translations for different tags related with a MBO or database table. In order to expor...