Assetize

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

  1. MXH finds — 22 things the move to 9.2 changes, in 8 work packages.
  2. mxR plans — One check for each work package.
  3. mxR checks UAT — Runs every check on your upgraded test site. Nothing is changed.
  4. 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 packageHow it is checkedResultState
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.HEALTHTo 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.METHODNAMETo 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.HEALTHTo 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.KEWELLIDTo do

Run it on your Maximo

  1. MXH reads your Maximo export and code, and lists what the upgrade changes, grouped into work packages.
    mxh assess --from ./kestrel --output build/assessment
  2. mxR writes one check for each work package.
    mxr mxh plan build/assessment/assessment.json
  3. mxR runs every check on your upgraded test site. It changes nothing there.
    mxr inspect --site UAT --jobplan mxh-closure
  4. 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.

PhaseWhoStepReadsWrites
1 · AssessYour MaximoYour 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 · AssessMXHMXH 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 · PlanmxRmxR 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 UATmxRmxR 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 UATYour MaximoYour 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 shipmxRmxR 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 shipMXHMXH 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 shipYour MaximoShip 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.