{
  "model" : "readiness@1",
  "from" : "7.6.1.3",
  "to" : "9.2",
  "counts" : {
    "MUST_FIX" : 2,
    "REWIRE" : 0,
    "RETEST" : 0,
    "CLEAN_UP" : 0,
    "CHECK" : 1
  },
  "actions" : [ {
    "id" : "custom-java",
    "bucket" : "MUST_FIX",
    "title" : "1 custom Java class needs rebuilding",
    "found" : "A class outside IBM's product packages, in `com.kestrel.maximo`, were supplied as source or JARs.",
    "why" : "MAS does not take a businessobjects folder on a server. Custom classes ship in a customisation archive and must compile against the 9.2 classes they extend. Manage runs on Java 17 from 9.1 and on Java 25 at 9.2, and IBM asks for a recompile and a test pass for each move. A class that fails to load takes its object or screen down with it.",
    "do" : "Get the source, or at least the deployed JAR. Rebuild each class with Java 25 against the 9.2 Manage libraries and check the parent classes and methods still exist. Package them as a customisation archive and reference it in the Manage workspace.",
    "doneWhen" : "Every class loads in a 9.2 test environment, and each object and screen that uses one opens and saves.",
    "owner" : "Java developer",
    "when" : "Before the first test upgrade",
    "evidence" : [ "com.kestrel.maximo.PermitGate — source PermitGate.java" ],
    "sources" : [ {
      "label" : "IBM: Manage transition to Java 17",
      "url" : "https://www.ibm.com/support/pages/ibm-maximo-manage-transition-java-17-maximo-application-suite-91-support-announcement"
    }, {
      "label" : "IBM: Maximo Manage 9.2 and Java 25",
      "url" : "https://www.ibm.com/support/pages/node/7270577"
    }, {
      "label" : "IBM: applying a customisation archive",
      "url" : "https://www.ibm.com/support/pages/applying-customization-archive-ibm-maximo-manage"
    } ]
  }, {
    "id" : "removed-methods",
    "bucket" : "MUST_FIX",
    "title" : "Your code calls Maximo methods that 9.x removed",
    "found" : "1 file references classes whose methods are gone by 9.2: `PermitGate`.",
    "why" : "A call to a removed method fails at run time, the first time that line runs.",
    "do" : "Read each call. Replace it with the supported API, or remove the code if it is no longer needed.",
    "doneWhen" : "No supplied script or class calls a method the 9.2 API index does not carry.",
    "owner" : "Script / Java developer",
    "when" : "Build",
    "evidence" : [ "PermitGate — Person.getAvailableHours, Person.getAvailableMbo, Person.getAvailableMboList" ],
    "sources" : [ {
      "label" : "IBM: Manage transition to Java 17",
      "url" : "https://www.ibm.com/support/pages/ibm-maximo-manage-transition-java-17-maximo-application-suite-91-support-announcement"
    } ]
  }, {
    "id" : "own-fields",
    "bucket" : "CHECK",
    "title" : "Your own objects and fields carry across",
    "found" : "0 custom objects and 8 custom fields on IBM tables.",
    "why" : "These are yours and the upgrade keeps them.",
    "do" : "After the test upgrade, confirm they exist and the scripts that use them run.",
    "doneWhen" : "Every custom object and field exists in 9.2 and its scripts run.",
    "owner" : "DBA + script developer",
    "when" : "After the first test upgrade",
    "evidence" : [ ],
    "sources" : [ ]
  } ],
  "standardSteps" : [ {
    "step" : "Run Integrity Checker on a copy of production and clear every error",
    "why" : "The Manage upgrade stops on dictionary inconsistencies. In MAS, run it through the Manage Tools API, not the GUI tool."
  }, {
    "step" : "Take the capture from production",
    "why" : "A capture from a development system may differ from production."
  }, {
    "step" : "Do a full test upgrade on a production copy before design sign-off",
    "why" : "It surfaces what no static check can: data volumes, long-running scripts, UPDATEDB failures."
  }, {
    "step" : "Confirm the database version the 9.2 workspace supports",
    "why" : "MAS supports a narrower database range than 7.6."
  }, {
    "step" : "Clean duplicate or missing primary emails in MAXUSER, PERSON and EMAIL",
    "why" : "Duplicate emails are a common cause of MAS user-sync failures."
  }, {
    "step" : "Disable custom database triggers and commit pending database configuration",
    "why" : "IBM upgrade checklist step."
  }, {
    "step" : "Map every user to an AppPoints licence type",
    "why" : "MAS licenses by AppPoints per user type."
  }, {
    "step" : "If you use JMS queues, move them to the Liberty JMS bundle or Kafka with a persistent store",
    "why" : "WebSphere SIBus is gone; the default Liberty store is lost on pod restart."
  }, {
    "step" : "Train users on the new UI and start centres",
    "why" : "9.x changes the look of every classic screen."
  } ],
  "read" : [ "1 automation script(s)", "1 screen(s)", "dictionary", "1 Java class(es)" ]
}
