<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>EAMStream</title>
    <link>https://eamstream.com/</link>
    <description>Recent content on EAMStream</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 15 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://eamstream.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>About</title>
      <link>https://eamstream.com/about/</link>
      <pubDate>Thu, 15 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/about/</guid>
      <description>&lt;h1 id=&#34;about&#34;&gt;About&lt;/h1&gt;
&lt;p&gt;Hi, I&amp;rsquo;m &lt;strong&gt;Jacky Qiu&lt;/strong&gt; — an IBM Maximo / EAM developer with 10+ years of hands-on experience across Maximo 7.6.x and IBM Maximo Application Suite (MAS 9).&lt;/p&gt;
&lt;p&gt;My work covers the full EAM stack: MIF integration (publish channels, enterprise services), automation scripts, NextGen REST APIs, BIRT reporting, workflow configuration, and MAS 9 deployment and migration. I hold IBM Maximo Application Suite / Manage v9.0 certification.&lt;/p&gt;
&lt;p&gt;I write these notes to document real problems I&amp;rsquo;ve solved and patterns I&amp;rsquo;ve found useful in production Maximo environments. If an article saved you some debugging time, I&amp;rsquo;m glad.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Part 1 — Maximo Automation Testing through Selenium with Python — Dev Environment Setup and SSO</title>
      <link>https://eamstream.com/posts/maximo-automation-testing-selenium-python-part1/</link>
      <pubDate>Sun, 08 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-automation-testing-selenium-python-part1/</guid>
      <description>&lt;h3 id=&#34;1-background&#34;&gt;&lt;strong&gt;1. Background&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Comparing to manual testing, automation testing definitely has a lot of advantages: More precise testing, decrease testing time dramatically, integrate with DevOps process, etc. But the major challenge is to implement automation testing, especially for the complicate scenario. For example, some test cases required combine the functional and integration testing together. In my current Maximo project, there are a lot of test cases complicate like this. Each release requires a lot of effort to retest some of the test cases manually, also need to do the full regression testing manually to make sure the updates in the new release not breaking existing functions / interfaces. I started to look into automation testing solution for Maximo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Customized Inbound Message Processing Logic for Maximo Enterprise Service through Automation Script</title>
      <link>https://eamstream.com/posts/customized-inbound-message-processing-automation-script/</link>
      <pubDate>Sat, 06 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/customized-inbound-message-processing-automation-script/</guid>
      <description>&lt;p&gt;&lt;em&gt;If you don’t have Medium account, you can read this blog through this &lt;em&gt;&lt;a href=&#34;https://jackyqiubao.medium.com/customized-inbound-message-processing-logic-for-maximo-enterprise-service-through-automation-script-1d07d3f9d425?sk=e828db62e7c8aea1cff6b09453419031&#34;&gt;&lt;em&gt;friend link&lt;/em&gt;&lt;/a&gt;&lt;/em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In my previous blog “&lt;a href=&#34;https://medium.com/eamstream/introduce-maximo-enterprise-service-to-accept-inbound-messages-from-other-systems-fcd4a9dce729&#34;&gt;Introduce Maximo Enterprise Service to Accept Inbound Messages from Other Systems&lt;/a&gt;”, I introduced how to configure Maximo Enterprise Service for accepting inbound messages. In this blog, we will discuss how to implement customized logic in Maximo Enterprise Service through automation script to meet some special requirement.&lt;/p&gt;
&lt;h3 id=&#34;1-automation-script-vsjava&#34;&gt;&lt;strong&gt;1. Automation Script VS Java&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Maximo provides multiple options to allow you customize out of box (OOO) Maximo function / feature. For the Maximo Integration Framework (MIF), You can develop your customized integration logic through Java or Automation Script. The major difference between the java and Automation Script options is that Automation Script doesn’t require redeploy EAR file, but Java code need to rebuild EAR and redeploy it to Maximo Server.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduce Maximo Enterprise Service to Accept Inbound Messages from Other Systems</title>
      <link>https://eamstream.com/posts/maximo-enterprise-service-inbound-messages/</link>
      <pubDate>Tue, 07 May 2024 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-enterprise-service-inbound-messages/</guid>
      <description>&lt;p&gt;&lt;em&gt;If you don’t have Medium member, you can try this &lt;em&gt;&lt;a href=&#34;https://medium.com/eamstream/introduce-maximo-enterprise-service-to-accept-inbound-messages-from-other-systems-fcd4a9dce729?sk=c1e6f1ebfd965a48856ef130d1ff19e0&#34;&gt;&lt;em&gt;friend link&lt;/em&gt;&lt;/a&gt;&lt;/em&gt; to read.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In my previous blog &lt;a href=&#34;https://medium.com/eamstream/introduce-maximo-publish-channel-for-sending-outbound-messages-11b4bfdbe971&#34;&gt;&lt;em&gt;Maximo Publish Channel for Sending Outbound Messages&lt;/em&gt;&lt;/a&gt; introduces outbound message from Maximo. How Maximo can accept inbound message from other system? There are 2 ways Maximo can receive outbound message from outside system to update the data in Maximo: (1) Through Object Structure Restful API (You can refer to my other blog “&lt;a href=&#34;https://medium.com/eamstream/introduction-of-maximo-nextgen-rest-apis-part-2-update-maximo-data-e3db83751709?source=your_stories_page-------------------------------------&#34;&gt;&lt;em&gt;Introduction of Maximo NextGen Rest APIs — Part 2 Update Maximo Data&lt;/em&gt;&lt;/a&gt;&lt;em&gt;”&lt;/em&gt;, or (2) Through Enterprise Service, which will provide step by step instruction in this blog.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Maximo Asset/Location Hierarchy Query</title>
      <link>https://eamstream.com/posts/maximo-asset-location-hierarchy-query/</link>
      <pubDate>Wed, 01 May 2024 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-asset-location-hierarchy-query/</guid>
      <description>&lt;p&gt;In Maximo, Asset / Location hierarchy is a pretty standard data format for asset and location management. The following is an example of HVAC asset hierarchy in Maximo asset drilldown function.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://cdn-images-1.medium.com/max/800/1*re4t8_dxEth34rhE2Kle9Q.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;It would be very common for the business user asks to have asset / location hierarchy report along with other information. There is an out of box (OOO) Asset Hierarchy in Maximo with very limit information (only asset num and description fields). To query the asset / location hierarchy information along with other information, for example, level information, custom format description which can show the layer indent description make it looks like a tree instead of flat table.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Object structure in Maximo is how you construct your data to bind the inbound payload to Maximo</title>
      <link>https://eamstream.com/posts/maximo-object-structure-inbound-payload/</link>
      <pubDate>Wed, 21 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-object-structure-inbound-payload/</guid>
      <description>&lt;p&gt;Object structure in Maximo is how you construct your data to bind the inbound payload to Maximo database&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Originally published on &lt;a href=&#34;https://medium.com/@jackyqiubao/object-structure-in-maximo-is-how-you-construct-your-data-to-bind-the-inbound-payload-to-maximo-0000c1fcb37f&#34;&gt;Medium&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduce Maximo Publish Channel for Sending Outbound Messages</title>
      <link>https://eamstream.com/posts/maximo-publish-channel-outbound-messages/</link>
      <pubDate>Tue, 16 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-publish-channel-outbound-messages/</guid>
      <description>&lt;p&gt;Maximo Publish Channel is part of Maximo Integration Frame (MIF) to send outbound message / data from Maximo to external system. This article is to provide the instruction on how to configure Maximo Publish Channel along with other MIF modules to send data from Maximo to other systems.&lt;/p&gt;
&lt;p&gt;You will gain the following knowledges on the following modules in MIF after following this instruction:&lt;/p&gt;
&lt;p&gt;(a) Object Structure (OS)&lt;/p&gt;
&lt;p&gt;(b) Publish Channel (PC)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Maximo Login Error “loginerror.jsp?group=system&amp;key=NoLogin”</title>
      <link>https://eamstream.com/posts/maximo-login-error-nologin/</link>
      <pubDate>Fri, 14 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-login-error-nologin/</guid>
      <description>&lt;p&gt;Recently I tried to install Maximo Spatial package to a Maximo instance. After the Spatial package was installed, I tried to login Maximo to verify the result of the installation, got the following error:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Login Error You cannot login at this time. Contact the system administrator&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;And the error page parameters are loginerror.jsp?group=system&amp;amp;key=NoLogin&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://cdn-images-1.medium.com/max/800/1*J9WxoRVsW5cBwctA27x-VQ.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Investigated on the log, cannot find any useful information since no exception happened for this case. After research through Mr. Google, looks like it was caused by useAppServerSecurity was updated issue. To verify my assumption, opened the file &lt;em&gt;maximo.properties&lt;/em&gt; (default location in Windows &lt;em&gt;C:\IBM\SMP\maximo\applications\maximo\properties&lt;/em&gt;), the value mxe.useAppServerSecurity=1, means it will use LDAP authentification. But in my Maximo instance I was configured it used Maximo application authentication. It might be updated during the Maximo Spatial package installation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduction of Maximo NextGen Rest APIs — Part 2 Update Maximo Data</title>
      <link>https://eamstream.com/posts/maximo-nextgen-rest-apis-part2-update-data/</link>
      <pubDate>Thu, 30 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-nextgen-rest-apis-part2-update-data/</guid>
      <description>&lt;p&gt;In previous blog “&lt;a href=&#34;https://jackyqiubao.medium.com/introduction-of-maximo-nextgen-rest-apis-part-1-query-maximo-data-6c082087e8f2?sk=a3eb2b199c4fabb83a54c901376e2370&#34;&gt;Introduction of Maximo NextGen Rest APIs — Part 1 Query Maximo Data&lt;/a&gt;”, I introduced how to query Maximo data through NextGen Rest APIs. In this blog, we will have experiment on how to update Maxim data in through NextGen Rest APIs.&lt;/p&gt;
&lt;p&gt;We will continue using the MXASSETSPEC OS we built in previous blog for the this experiment. If you don’t get chance going through my &lt;a href=&#34;https://jackyqiubao.medium.com/introduction-of-maximo-nextgen-rest-apis-part-1-query-maximo-data-6c082087e8f2?sk=a3eb2b199c4fabb83a54c901376e2370&#34;&gt;previous blog&lt;/a&gt;, please follow the section “**2. Object Structure (OS)” **to create MXASSETSPEC OS first.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduction of Maximo NextGen Rest APIs — Part 1 Query Maximo Data</title>
      <link>https://eamstream.com/posts/maximo-nextgen-rest-apis-part1-query-data/</link>
      <pubDate>Tue, 28 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-nextgen-rest-apis-part1-query-data/</guid>
      <description>&lt;p&gt;I received couple private messages from audiences for my previous blogs relate &lt;a href=&#34;https://jackyqiubao.medium.com/azure-iot-integration-with-maximo-part-1-b141c4210db0?sk=5345c390bd704aff8349231bbef7ec7d&#34;&gt;Azure IoT integration with Maximo&lt;/a&gt; to ask for more detail on the instruction on Maximo NextGen Rest API. I would like to have these serial blogs to introduce how to query and update data through Maximo NextGen Rest API. In this part 1 blog, I will provide the information on Maximo NextGen Rest API, and how to construct Object Structure (OS) in Maximo and query OS data through Maximo NextGen Rest API. In &lt;a href=&#34;https://jackyqiubao.medium.com/introduction-of-maximo-nextgen-rest-apis-part-2-update-maximo-data-e3db83751709?sk=b00d77be3db4a40f1c87b408984a2b4e&#34;&gt;Part 2 blog&lt;/a&gt;, I will leverage the same OS in part 1 blog to update Maximo data through NextGen Rest API. After you walk through the experiment of these serial blogs, you should have clear picture on how to query and update Maximo data through IBM recommended approach NextGen Rest API.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Turn Your Lego EV3 Robot to Azure IoT Device — Part 1 Connect to IoT Hub through MQTT</title>
      <link>https://eamstream.com/posts/lego-ev3-azure-iot-part1-mqtt/</link>
      <pubDate>Thu, 23 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/lego-ev3-azure-iot-part1-mqtt/</guid>
      <description>&lt;p&gt;In my previous serial blogs “&lt;a href=&#34;https://jackyqiubao.medium.com/azure-iot-integration-with-maximo-part-1-b141c4210db0?sk=5345c390bd704aff8349231bbef7ec7d&#34;&gt;Azure IoT integration with Maximo&lt;/a&gt;”, introducing how to build a python IoT device simulator sending IoT device sensor data (for example, temperature data) to Azure IoT hub, through Azure Event Grid to pass telemetry to Azure Function. In Azure Function, call Maximo NexGen Rest API to post telemetry data to Maximo Asset meter reading.&lt;/p&gt;
&lt;p&gt;In this serial blogs, I will introduce how to turn your Lego EV3 robot to be IoT device to replace the IoT simulator in &lt;a href=&#34;https://jackyqiubao.medium.com/azure-iot-integration-with-maximo-part-1-b141c4210db0?source=friends_link&amp;amp;sk=5345c390bd704aff8349231bbef7ec7d&#34;&gt;previous blog&lt;/a&gt;, and how to connect EV3 through MQTT instead of Azure IoT Device SDK. In the &lt;a href=&#34;https://jackyqiubao.medium.com/turn-your-lego-ev3-robot-to-azure-iot-device-part-2-create-work-order-in-maximo-6f7427ffcbaf?sk=9489b17541c2d307327a8201a15af53f&#34;&gt;part 2 blog&lt;/a&gt;, I will demonstrate how to create Work Order in Maximo through Maximo NextGen Rest API based on the color sensor data from Lego EV3 Robot.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Turn Your Lego EV3 Robot to Azure IoT Device — Part 2 create work order in Maximo</title>
      <link>https://eamstream.com/posts/lego-ev3-azure-iot-part2-maximo-workorder/</link>
      <pubDate>Thu, 23 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/lego-ev3-azure-iot-part2-maximo-workorder/</guid>
      <description>&lt;p&gt;In previous part 1 blog, we demonstrated how to connect Lego EV3 to Azure IoT hub through MQTT, and send EV3 color sensor data to IoT hub. In this blog, we will experiment to update Azure Function which we built on blog “&lt;a href=&#34;https://jackyqiubao.medium.com/azure-iot-integration-with-maximo-part-2-1200d2e2ad5b?sk=b79fe9dca04db0ce3d69e27f9471a571&#34;&gt;Azure IoT integration with Maximo — Part 2&lt;/a&gt;” to create work order in Maximo through Maximo NextGen Rest API based on the color sensor data sent from Lego EV3.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure IoT integration with Maximo — Part 1</title>
      <link>https://eamstream.com/posts/azure-iot-integration-maximo-part1/</link>
      <pubDate>Mon, 06 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/azure-iot-integration-maximo-part1/</guid>
      <description>&lt;p&gt;IoT (Internet of Things) is getting more and more popular in the world, especially when 5G technology was rolled out to our real life and industries, more and more IoT use cases were adopted in different industries. In the following content, I would like to introduce a POC to leverage IoT technology in EAM (Enterprise Asset Management) area.&lt;/p&gt;
&lt;p&gt;IBM Maximo is the major player in EAM market, and Azure IoT is the most popular IoT platform, In this POC, I would introduce how to integrate Azure IoT platform with Maximo through Maximo NextGen Rest API. The purpose of this POC is to demonstrate sending IoT device sensor data (for example, temperature data) to Azure IoT hub, through Azure Event Grid to pass telemetry to Azure Function. In Azure Function, call Maximo NexGen Rest API to post telemetry data to Maximo Asset meter reading. The following is the high level of the architecture diagram:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure IoT integration with Maximo — Part 2</title>
      <link>https://eamstream.com/posts/azure-iot-integration-maximo-part2/</link>
      <pubDate>Mon, 06 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/azure-iot-integration-maximo-part2/</guid>
      <description>&lt;p&gt;In the previous &lt;a href=&#34;https://jackyqiubao.medium.com/azure-iot-integration-with-maximo-part-1-b141c4210db0?source=friends_link&amp;amp;sk=5345c390bd704aff8349231bbef7ec7d&#34;&gt;part 1&lt;/a&gt; blog, we built Azure IoT Hub in Azure cloud, developed an IoT device simulator running in local machine to connect and send ramdom temperature data to Azure IoT Hub , created an Azure function, and configure Azure event grid to pass through Azure IoT Hub telemetry data (temperature) to Azure Function. In Azure Function, we parsed event data to retrieve device and temperature information from event data and log them. In this part 2 blog, we will continue to configure and build the rest of the components inside the red rectangle in the following architecture diagram.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to shrink docker volume after delete containers / images in Windows 10</title>
      <link>https://eamstream.com/posts/shrink-docker-volume-windows-10/</link>
      <pubDate>Fri, 01 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/shrink-docker-volume-windows-10/</guid>
      <description>&lt;p&gt;Docker becomes more and more popular in the development process, especially for the organization adopting DevOps process. I have couple projects require to use docker to build local development environment. My local hard disk space started to getting red after 2–3 rounds of rebuilding local docker environment for different branches of the code change. I did run rm command to remove containers, images and volumes. Since Docker Desktop for Windows uses WSL to manage all the images and container files and keeps them in a private virtual hard drive (VHDX) called ext4.vhdx. This vhdx will not automatically shrink when you remove docker, images or volumes. You need to follow the below step to shrink it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MAXIMO BIRT Report PDF format page crossing issue</title>
      <link>https://eamstream.com/posts/maximo-birt-pdf-page-crossing-issue/</link>
      <pubDate>Mon, 20 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-birt-pdf-page-crossing-issue/</guid>
      <description>&lt;p&gt;Yes, I am still working on BIRT report as fire fighter for one of my projects. Now was into another tricky issue. The BIRT report I am helping on looks all good except when try to export it to PDF. Some particular page the content cross the footer, such as below:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://cdn-images-1.medium.com/max/800/1*h_P98mlv2b7JfkiTzK4tRQ.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Tried different options, such as setting page break, modified padding of the row. But none of them solved this issue. Tried asked MR. Google, but didn’t find any useful solution on it. The client can accept to move the paging number to the top, but it will require to update the master page template, and I thought it is not a good solution as well. I can understand this should be caused by pdf export function on calculating the page content might be different with how BIRT report, but cannot figure out which setting might cause the problem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to use Regular Expression in Maximo BIRT Report</title>
      <link>https://eamstream.com/posts/maximo-birt-regular-expression/</link>
      <pubDate>Fri, 10 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-birt-regular-expression/</guid>
      <description>&lt;p&gt;If you read my &lt;a href=&#34;https://jackyqiubao.medium.com/solution-for-maximo-birt-report-exception-of-mxreportscriptcontext-is-not-defined-320d36088f49&#34;&gt;previous blog&lt;/a&gt;, you might know I am recently working as fire fighter on Maximo BIRT reports. One of requirement on a complicated report is required to retrieve number inside parentheses from long description, for example, need to get (2) from the following long description content:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(2) this is long description text, might content rich text format&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The solution in my mind when I heard this requirement is to use regular expression. Since in current project the Maximo database is DB2, asked Mr. Google to found DB2 did support regular expression in the query. After looked up regular expression functions on DB2 document, REGEXP_INSTR function is what I need. For example, if you run the following query:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Solution for Maximo BIRT Report Exception of “MXReportScriptContext” is not defined.</title>
      <link>https://eamstream.com/posts/maximo-birt-mxreportscriptcontext-not-defined/</link>
      <pubDate>Fri, 20 May 2022 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-birt-mxreportscriptcontext-not-defined/</guid>
      <description>&lt;p&gt;2 years ago was working on developing Maximo BIRT report in client laptop, which was installed firefox browser by default. There was not issue when I installed and configured BIRT report development environment at that moment. Recently in my project one of the my team member was on paternity leave, I had to roll up my sleeve again to pick up the a BIRT Report he was working which was required hard deadline (Firefighter is always my other role in the projects). Followed the instruction to install and configure my local BIRT report development environment, everything was good until tried to run the report in Eclipse, got the following error:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Maximo: How to update system property value</title>
      <link>https://eamstream.com/posts/maximo-update-system-property-value/</link>
      <pubDate>Tue, 25 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-update-system-property-value/</guid>
      <description>&lt;p&gt;In Maximo, there are a lot of system default property for different purposes. You can define your own property in System Properties Application, which can be used in your customized script code, configuration, or Maximo Integration Framework (MIF).&lt;/p&gt;
&lt;p&gt;As default setting, you cannot change the value for system default property. For some special scenarios, you might have to change the system property default value. To be able to modify system default property, the following instruction will provide an example on how to change the property: mxe.int.binarytext&lt;/p&gt;</description>
    </item>
    <item>
      <title>Maximo Workflow Error: BMXAA4299E</title>
      <link>https://eamstream.com/posts/maximo-workflow-error-bmxaa4299e/</link>
      <pubDate>Wed, 30 Dec 2020 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-workflow-error-bmxaa4299e/</guid>
      <description>&lt;p&gt;Recently encountered a pretty strange issue when tried to release an simple Maximo workflow to production environment. The workflow is to allow business team (Maximo Support team) to review new service request, to decide to create related work order, or cancel service request. The following is the workflow diagram:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://cdn-images-1.medium.com/max/800/1*pWNz4k3EJeLpNmhD-mxCaQ.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;This workflow is working fine in testing environment. When we implemented the same workflow in production, doing the production check-out: created a new SR, attached it to this workflow, started the workflow, got the error message: BMXAA4299E&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to query data in Maximo through Restful API</title>
      <link>https://eamstream.com/posts/maximo-query-data-restful-api/</link>
      <pubDate>Sun, 06 Dec 2020 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-query-data-restful-api/</guid>
      <description>&lt;p&gt;For Maximo integration with external system, there are two directions from Maximo’s perspective: Inbound and outbound interfaces. There is a lot of business scenarios for the requirement of query data from Maximo, which we consider it as outbound interface for Maximo. For example, external system ServiceNow might need to query service request data in Maximo to pull out the service request current status.&lt;/p&gt;
&lt;p&gt;There are couple ways to query data from Maximo. Maximo support Web Service and Restful. The return result can be xml or json format. In this article, will show you how to leverage Maximo Restful API to query data in Maximo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to solve the issue of start center cannot be edited for being modified by someone</title>
      <link>https://eamstream.com/posts/maximo-start-center-cannot-be-edited/</link>
      <pubDate>Sun, 15 Nov 2020 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-start-center-cannot-be-edited/</guid>
      <description>&lt;p&gt;On one of the Maximo production release, we need to modify one of the start center template in production. But when click the start center template would like to modify, but got the following error:&lt;/p&gt;
&lt;p&gt;BMXAA7941E — You cannot modify this template because it is being modified by another user&lt;/p&gt;
&lt;p&gt;The issue was caused by someone open this start center template to modify, but forget to save or cancel the modification. It will keep this start center being locked by this user, until he/she save or cancel the change. We need to identify which user is modifying this template, and ask him / her to unlock the template by save / cancel. Unfortunately Maximo doesn’t provide the way to check who is locking the start center template. The only way you can figure out is through query the table “scconfig” in Maximo database directory. Open sql tool, execute the following sql script:&lt;/p&gt;</description>
    </item>
    <item>
      <title>What is Maximo Recurrence of inbound transactions and how to use it?</title>
      <link>https://eamstream.com/posts/maximo-recurrence-inbound-transactions/</link>
      <pubDate>Sun, 08 Nov 2020 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/maximo-recurrence-inbound-transactions/</guid>
      <description>&lt;p&gt;IBM Maximo is very powerful and flexible EAM Platform, especially its integration framework. In Maximo Integration Framework (MIF), there are a lot of options you can configure or develop inbound and outbound interfaces to integrate Maximo with other systems. I will try to introduce more details on MIF in other topics, this topic will introduce recursion of inbound interface in Maximo and how to use it in real business case.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Latest Ethereum Solidity Smart Contract Development Tutorial (Part -3) — Compile, Deploy and</title>
      <link>https://eamstream.com/posts/ethereum-solidity-tutorial-part3-compile-deploy/</link>
      <pubDate>Thu, 11 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/ethereum-solidity-tutorial-part3-compile-deploy/</guid>
      <description>&lt;p&gt;If you following my previous 2 serials:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://medium.com/@jackyqiubao/the-latest-ethereum-solidity-smart-contract-development-tutorial-part-1-develop-solidity-4ee15bdb1dee&#34;&gt;(Part -1) — Solidity Smart Contract development environment setup for Visual Studio Code with Truffle framework&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://medium.com/@jackyqiubao/the-latest-ethereum-solidity-smart-contract-development-tutorial-part-2-develop-solidity-871f743ad113&#34;&gt;(Part -2) — Develop solidity smart contract in truffle&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;you should be able to setup your solidity smart contract development environment and write your first smart contract. Now let’s take further adventure to compile, deploy and test the smart contract we developed in previous tutorial.&lt;/p&gt;
&lt;p&gt;**Step 1 **— Compile smart contract&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Latest Ethereum Solidity Smart Contract Development Tutorial (Part -2) — Develop solidity</title>
      <link>https://eamstream.com/posts/ethereum-solidity-tutorial-part2/</link>
      <pubDate>Thu, 04 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/ethereum-solidity-tutorial-part2/</guid>
      <description>&lt;p&gt;On the previous tutorial &lt;a href=&#34;https://medium.com/@jackyqiubao/the-latest-ethereum-solidity-smart-contract-development-tutorial-part-1-develop-solidity-4ee15bdb1dee&#34;&gt;(Part -1) — Solidity Smart Contract development environment setup for Visual Studio Code with Truffle framework&lt;/a&gt;, we learned how to setup our development environment and the high level of the requirement for rock-scissors-paper game which we are planning to build smart contract for. Now in this tutorial, we will start to write a solidity smart contract and test it in truffle.&lt;/p&gt;
&lt;p&gt;Before you start the following section, please make sure you follow the &lt;a href=&#34;https://medium.com/@jackyqiubao/the-latest-ethereum-solidity-smart-contract-development-tutorial-part-1-develop-solidity-4ee15bdb1dee&#34;&gt;Part -1&lt;/a&gt;to complete development environment setup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Latest Ethereum Solidity Smart Contract Development Tutorial (Part -1) — Develop Solidity</title>
      <link>https://eamstream.com/posts/ethereum-solidity-tutorial-part1-develop/</link>
      <pubDate>Tue, 02 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/ethereum-solidity-tutorial-part1-develop/</guid>
      <description>&lt;p&gt;There is blossomed increasing blockchain development skills resource request in the job market in the last year (2018), and this trend is continuing in 2019. To increase your job opportunities if you are willing to embrace blockchain revolution, learning popular smart contract development technology such as solidity will arm yourself.&lt;/p&gt;
&lt;p&gt;Thanks for many of selfless writers, there are a lot tutorials you can find through google. But since blockchain technology is still evolving, the related development tools / languages keep updating in months. If you are follow out of date articles to start your smart contract learning, I am pretty sure you will lose a lot of your hairs :). To save your hair, I write these serial tutorials to guide you how to develop smart contract in Solidity for a real use case, and more than that, you can learn some of the key technologies related to smart contract development, and the whole software development life cycle from requirement to production. You can get benefit from these articles whether you are developer or technical manager. Here are the highlights you will learn from these serial articles:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Modify Maximo data through Restful API</title>
      <link>https://eamstream.com/posts/draft-modify-maximo-data-restful-api/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/draft-modify-maximo-data-restful-api/</guid>
      <description>&lt;p&gt;In my previous blog I introduced &lt;a href=&#34;https://jackyqiubao.medium.com/how-to-query-data-in-maximo-through-restful-api-aef45c47c14e&#34;&gt;how to query Maximo data through Restful API&lt;/a&gt;, in this blog, I will show you how to modify (Create, Update, Delete) Maximo data through Restful API.&lt;/p&gt;
&lt;p&gt;You can modify Maximo resources by using the HTTP PUT, POST, and DELETE methods with Restful API. The PUT, POST, and DELETE methods can be used to modify business object resources and object structure resources. However, the business rules of an object might prevent it from being updated by a REST API request. For example, a DELETE request on a work order resource might fail if the business object validations prevent deletions because of the current state of the work order.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Latest Ethereum Solidity Smart Contract Development Tutorial (Part -4) — Build Frontend html</title>
      <link>https://eamstream.com/posts/draft-ethereum-solidity-tutorial-part4-build-frontend/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://eamstream.com/posts/draft-ethereum-solidity-tutorial-part4-build-frontend/</guid>
      <description>&lt;p&gt;In previous serial articles, you learned how to setup development environment, built a solidity smart contract in truffle, and deployed it to a testing blockchain network ganache. You can refer to the following links for the previous sessions:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://medium.com/@jackyqiubao/the-latest-ethereum-solidity-smart-contract-development-tutorial-part-1-develop-solidity-4ee15bdb1dee&#34;&gt;(Part -1) — Solidity Smart Contract development environment setup for Visual Studio Code with Truffle framework&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://medium.com/@jackyqiubao/the-latest-ethereum-solidity-smart-contract-development-tutorial-part-2-develop-solidity-871f743ad113&#34;&gt;(Part -2) — Develop solidity smart contract in truffle&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://medium.com/@jackyqiubao/the-latest-ethereum-solidity-smart-contract-development-tutorial-part-3-compile-deploy-and-de653ff1367f&#34;&gt;(Part -3) — Compile, Deploy and Test solidity smart contract in Truffle&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
