MXH + mxR
Prove every Maximo upgrade fix before go-live
MXH reads your Maximo before the upgrade and lists what has to change. mxR checks each change on your upgraded test site and tells you what is done and what is left. Both are free.
From MXH to mxR and back
- MXH finds — 22 things the move to 9.2 changes, in 8 work packages.
- mxR plans — One check for each work package.
- mxR checks UAT — Runs every check on your upgraded test site. Nothing is changed.
- MXH gets the result — Which work packages are done, and what is left to do.
Sample upgrade · Kestrel Energy · 7.6.1.3 → 9.2
Result on UAT: 2 of 8 work packages done
| Work package | How it is checked | Result | State |
|---|---|---|---|
| Your Java code uses a class that 9.2 removes (Blocks go-live) | mxR builds your Java against 9.2. | Add your Java project to mxR, then run the checks again. | Add your code |
| Fields whose data type changes (Needs checking) | Someone on your team signs it off. | Waiting for sign-off. Check these 3 fields against 9.2, then sign it off. ASSET.ASSETHEALTH, ASSET.GEOMETRY, LOCATIONS.HEALTH | To do |
| Your Java code calls methods that 9.2 removes (Needs checking) | mxR builds your Java against 9.2. | Add your Java project to mxR, then run the checks again. | Add your code |
| Fields that 9.2 removes (Needs checking) | mxR checks the fields are gone from UAT. | Done. All 2 fields are gone from UAT. | Done |
| Fields that change how they are stored (Needs checking) | Someone on your team signs it off. | Waiting for sign-off. Check these 2 fields against 9.2, then sign it off. ASSET.GEOMETRY, ASSET.METHODNAME | To do |
| Numbers that get a different number of decimal places (Needs checking) | Someone on your team signs it off. | Waiting for sign-off. Check these 2 fields against 9.2, then sign it off. ASSET.ASSETHEALTH, LOCATIONS.HEALTH | To do |
| A screen shows one of your own fields (Needs checking) | mxR checks each field is on UAT. | Done. The field is on UAT. | Done |
| Your own fields have to come across (Set up) | mxR checks each field is on UAT. | 2 of 8 fields are on UAT. Add the other 6, then run the checks again. FAILUREREPORT.KEROOTCAUSECODE, LOCATIONS.KEPLATFORM, WORKORDER.KEFLARINGHOURS, WORKORDER.KEPERMITSTATUS, WORKORDER.KESHUTDOWNREF, WORKORDER.KEWELLID | To do |
Run it on your Maximo
- MXH reads your Maximo export and code, and lists what the upgrade changes, grouped into work packages.
mxh assess --from ./kestrel --output build/assessment - mxR writes one check for each work package.
mxr mxh plan build/assessment/assessment.json - mxR runs every check on your upgraded test site. It changes nothing there.
mxr inspect --site UAT --jobplan mxh-closure - mxR tells MXH which work packages are done and which are left.
mxr mxh close WO1042
The files mxR writes for this upgrade · jobplans/mxh-closure.yaml
name: mxh-closure
description: Closure tests for MXH assessment 5a249250012e (7.6.1.3 → 9.2, Kestrel Energy). Run on the upgraded site: mxr inspect --site <SITE> --jobplan mxh-closure
tasks:
- id: mxh-compile
type: java
on: true
gate: true
tags: [mxh, "mxh:WP-ee4980cc", "mxh:WP-395a9c9b"]
with:
workPackages: [WP-ee4980cc, WP-395a9c9b]
- id: mxh-wp-cf44bbb5
type: mxh
on: true
gate: true
tags: [mxh, "mxh:WP-cf44bbb5"]
with:
workPackages: [WP-cf44bbb5]
review: true
- id: mxh-wp-232873dd
type: mxh
on: true
gate: true
tags: [mxh, "mxh:WP-232873dd"]
with:
workPackages: [WP-232873dd]
attributes:
- { object: ASSET, attribute: PLUSSGEOJSON, expect: absent }
- { object: WORKORDER, attribute: PLUSSGEOJSON, expect: absent }
- id: mxh-wp-15e67888
type: mxh
on: true
gate: true
tags: [mxh, "mxh:WP-15e67888"]
with:
workPackages: [WP-15e67888]
review: true
- id: mxh-wp-1683a233
type: mxh
on: true
gate: true
tags: [mxh, "mxh:WP-1683a233"]
with:
workPackages: [WP-1683a233]
review: true
- id: mxh-wp-253434f3
type: mxh
on: true
gate: true
tags: [mxh, "mxh:WP-253434f3"]
with:
workPackages: [WP-253434f3]
attributes:
- { object: ASSET, attribute: KEINSPECTIONCLASS, expect: present }
- id: mxh-wp-1af3c60d
type: mxh
on: true
gate: true
tags: [mxh, "mxh:WP-1af3c60d"]
with:
workPackages: [WP-1af3c60d]
attributes:
- { object: ASSET, attribute: KECORROSIONLOOP, expect: present }
- { object: ASSET, attribute: KEINSPECTIONCLASS, expect: present }
- { object: FAILUREREPORT, attribute: KEROOTCAUSECODE, expect: present }
- { object: LOCATIONS, attribute: KEPLATFORM, expect: present }
- { object: WORKORDER, attribute: KEFLARINGHOURS, expect: present }
- { object: WORKORDER, attribute: KEPERMITSTATUS, expect: present }
- { object: WORKORDER, attribute: KESHUTDOWNREF, expect: present }
- { object: WORKORDER, attribute: KEWELLID, expect: present }How MXH and mxR fit together
MXH reads your Maximo before the upgrade. mxR checks the upgraded site and hands the result back.
| Phase | Who | Step | Reads | Writes |
|---|---|---|---|---|
| 1 · Assess | Your Maximo | Your Maximo today (7.6.1.3 export + code) | Nothing: you export it. | An export of your objects, attributes, screens and scripts, plus your Java customisations. |
| 1 · Assess | MXH | MXH assesses (mxh assess) | Your export and code, on your own machine, against what IBM changed between 7.6.1.3 and 9.2. | assessment.json: 22 findings in 8 work packages, each with the test that closes it. |
| 2 · Plan | mxR | mxR plans (mxr mxh plan) | assessment.json from MXH. | jobplans/mxh-closure.yaml and tests/mxh/closure.json: one closure test per work package. |
| 3 · Test on UAT | mxR | mxR tests on UAT (mxr inspect --site UAT) | The job plan, the UAT site through MXR.AGENT, and your build against the 9.2 jars. | Inspection work order WO1042: every closure test run, tests only. |
| 3 · Test on UAT | Your Maximo | Your upgraded Maximo (9.2 UAT · MXR.AGENT) | The closure tests, through one API key and one Jython script (MXR.AGENT) on the site. | Answers only: which attributes are there, with type and length. The inspection deploys nothing. |
| 4 · Close and ship | mxR | mxR records (mxr mxh close WO1042) | The results of WO1042 and the review decisions your team records. | .mxr/runs/WO1042/mxh-closure.json: closed, open or not run for every work package. |
| 4 · Close and ship | MXH | MXH closes the packages (mxh verify-closure) | mxR's closure record, and the upgraded system's export for a second proof. | Each work package closed with the run as its evidence; each finding closed, not closed or not checked. |
| 4 · Close and ship | Your Maximo | Ship to PROD (DEV → UAT → PROD) | The fixes, once every gating work package is closed. | Each change moved by mxR as a work order with its job plan of tests, the same runner and steps on every site. |