7.6.1.3 → 9.2, across 4 object(s) and 3 source file(s). Each finding states what was observed and where it was read from, then the grade — mxh's reading of it — and the recommended action and closure test, which are advice.
Coverage
| Objects in your dictionary | 4 |
|---|---|
| Objects compared against the target | 4 |
| Objects with at least one finding | 4 |
| Objects your code, screens, rows or grants reach | 2 |
| Attribute references tied to an object | 10 by object hint; 14 untied |
Every finding says how far it reaches: cited when a line, screen, row or grant names it; referenced when something supplied works on the object; inventory when the dictionary changed and nothing supplied goes near it. The comparison is the whole dictionary; the reach is the priority.
Blocking — 1
BLOCKING class-removed
psdi.iface.jms.ErrorQueueNotfCronTask no longer exists in 9.1 and your code references it
- Read from
- A2 · IBM's API at 9.1
- In your code
- examples/customer-upgrade/src/java/com/kestrel/maximo/PermitGate.java:8
- Owner
- Customisation developer
- Recommended action
- Replace the reference. The type does not exist at the target, so the customisation will not compile; find the supported equivalent or remove the dependency.
- Closed when
- The customisation compiles against the target's
businessobjects.jarwith no unresolved import. - Proposed
- Replace — The type or member is gone at the target (A2). What references it has to point at what the target ships for the same purpose.
Review required — 13
11 on objects your code, screens, rows or grants reach, in full below; 2 on the rest of the dictionary, in the table after them.
REVIEW screen-field-local-extension
ASSET.KEINSPECTIONCLASS is bound on a screen through WORKORDER.ASSET → ASSET, and it is your own column: in your export, not in IBM's shipped dictionary at either release. The stock 9.2 dictionary not carrying it is expected — an in-place upgrade carries your own columns forward — so this is not a release removal and the screen is not known to be broken. Confirm the column is present on the upgraded system before cutover; if it is, the binding is unaffected. At least one hop was read from the 9.2 relationship graph mxh ships rather than from your own MAXRELATIONSHIP rows, so which object the field lands on is our assumption about your install — confirm the relationship too.
- Read from
- B2 · not present in IBM's shipped dictionary at either release; bound by the screen, followed through the 9.2 relationship graph mxh ships
- In your code
- examples/customer-upgrade/src/screens/wotrack.xml
- Owner
- Application Designer / configuration
- Recommended action
- Confirm the column on the upgraded system, then leave the screen alone. The field is your own column, which an in-place upgrade carries forward; the stock target dictionary not listing it is expected, not a broken binding. If the column is not there after the upgrade, re-apply it — a database change — before the screen is opened.
- Closed when
select 1 from maxattribute where objectname = <object> and attributename = <attribute>on the upgraded system returns a row, and the screen renders with the field populated.- Proposed
- Retain — Your own column or object: in your export, not in IBM's dictionary at either release. An in-place upgrade carries it forward; confirm it on the upgraded system.
REVIEW attribute-removed
ASSET.PLUSSGEOJSON is removed on the path to 9.2 (no reference found in the code supplied)
- Read from
- A1 · IBM upgrade script, 9.0
- Owner
- Customisation developer
- Recommended action
- Change every cited site before cutover. The column is gone at the target: a read throws and a write fails.
- Closed when
select 1 from maxattribute where objectname = <object> and attributename = <attribute>on the target returns no row, and no cited site references it.- Proposed
- Investigate — The removal is stated by IBM's own evidence (A1) but no supplied line was seen to depend on it. Confirm nothing outside the supplied surfaces does.
REVIEW attribute-removed
WORKORDER.PLUSSGEOJSON is removed on the path to 9.2 (no reference found in the code supplied)
- Read from
- A1 · IBM upgrade script, 9.0
- Owner
- Customisation developer
- Recommended action
- Change every cited site before cutover. The column is gone at the target: a read throws and a write fails.
- Closed when
select 1 from maxattribute where objectname = <object> and attributename = <attribute>on the target returns no row, and no cited site references it.- Proposed
- Investigate — The removal is stated by IBM's own evidence (A1) but no supplied line was seen to depend on it. Confirm nothing outside the supplied surfaces does.
REVIEW method-removed
psdi.app.person.Person.getAvailableHours(Ljava/util/Date;Lpsdi/app/person/PersonCalRemote;Lpsdi/app/common/AvailCalc;)D is gone in 8.7; you reference the class — check the call
- Read from
- A2 · IBM's API at 8.7
- In your code
- examples/customer-upgrade/src/java/com/kestrel/maximo/PermitGate.java:9
- Owner
- Customisation developer
- Recommended action
- Check each cited site. The class survives but this member does not, so a call compiles today and fails at the target.
- Closed when
- The customisation compiles against the target's
businessobjects.jar, and the cited lines either no longer call the member or call its replacement. - Proposed
- Replace — The type or member is gone at the target (A2). What references it has to point at what the target ships for the same purpose.
REVIEW method-removed
psdi.app.person.Person.getAvailableMbo(Ljava/util/Date;Lpsdi/app/person/PersonCalRemote;Lpsdi/app/common/AvailCalc;)Lpsdi/mbo/MboRemote; is gone in 8.7; you reference the class — check the call
- Read from
- A2 · IBM's API at 8.7
- In your code
- examples/customer-upgrade/src/java/com/kestrel/maximo/PermitGate.java:9
- Owner
- Customisation developer
- Recommended action
- Check each cited site. The class survives but this member does not, so a call compiles today and fails at the target.
- Closed when
- The customisation compiles against the target's
businessobjects.jar, and the cited lines either no longer call the member or call its replacement. - Proposed
- Replace — The type or member is gone at the target (A2). What references it has to point at what the target ships for the same purpose.
REVIEW method-removed
psdi.app.person.Person.getAvailableMboList(Ljava/util/Date;Lpsdi/app/person/PersonCalRemote;Lpsdi/app/common/AvailCalc;)Ljava/util/List; is gone in 8.7; you reference the class — check the call
- Read from
- A2 · IBM's API at 8.7
- In your code
- examples/customer-upgrade/src/java/com/kestrel/maximo/PermitGate.java:9
- Owner
- Customisation developer
- Recommended action
- Check each cited site. The class survives but this member does not, so a call compiles today and fails at the target.
- Closed when
- The customisation compiles against the target's
businessobjects.jar, and the cited lines either no longer call the member or call its replacement. - Proposed
- Replace — The type or member is gone at the target (A2). What references it has to point at what the target ships for the same purpose.
REVIEW type-changed
ASSET.ASSETHEALTH type INTEGER → DECIMAL. Check stored values and consumers for case, rounding and conversion effects. A type difference alone does not establish a failure. No line of the supplied code reads or writes it, so nothing you own is known to break; anything outside the supplied code that carries it — an integration, a report — is what to check. The same column carries this change on 2 tables: ASSET, LOCATIONS.
- Read from
- B2 · dictionary 7.6.1.3 vs 9.2
- Owner
- Customisation developer
- Recommended action
- Validate existing values and every cited consumer against the new type, including case, rounding, range and truth semantics. A metadata difference alone does not establish a failing operation.
- Closed when
- Each cited site has been read against the new type and either changed or recorded as unaffected, with the reason.
- Proposed
- Investigate — The column still exists with a different definition. Whether a cited site cares is a judgement about the code, not a fact in the dictionary.
REVIEW scale-changed
ASSET.ASSETHEALTH scale 0 → 2 The same column carries this change on 2 tables: ASSET, LOCATIONS.
- Read from
- B2 · dictionary 7.6.1.3 vs 9.2
- Owner
- Customisation developer
- Recommended action
- Check arithmetic and rounding at every cited site, and any total that has to reconcile.
- Closed when
- A worked example at the new scale reconciles against the same example at the old one, or the difference is accepted and recorded.
- Proposed
- Investigate — The column still exists with a different definition. Whether a cited site cares is a judgement about the code, not a fact in the dictionary.
REVIEW type-changed
ASSET.GEOMETRY type BLOB → CLOB. Check stored values and consumers for case, rounding and conversion effects. A type difference alone does not establish a failure. No line of the supplied code reads or writes it, so nothing you own is known to break; anything outside the supplied code that carries it — an integration, a report — is what to check. The same column carries this change on 3 tables: ASSET, LOCATIONS, WORKORDER.
- Read from
- B1 · dictionary 7.6.1.3 vs 9.2, corroborated by IBM's upgrade script, 9.0
- Owner
- Customisation developer
- Recommended action
- Validate existing values and every cited consumer against the new type, including case, rounding, range and truth semantics. A metadata difference alone does not establish a failing operation.
- Closed when
- Each cited site has been read against the new type and either changed or recorded as unaffected, with the reason.
- Proposed
- Investigate — The column still exists with a different definition. Whether a cited site cares is a judgement about the code, not a fact in the dictionary.
REVIEW persistence-changed
ASSET.GEOMETRY persistent true → false The same column carries this change on 3 tables: ASSET, LOCATIONS, WORKORDER.
- Read from
- B1 · dictionary 7.6.1.3 vs 9.2, corroborated by IBM's upgrade script, 9.0
- Owner
- Customisation developer
- Recommended action
- A non-persistent attribute is not in the table. Anything that queries, indexes, reports on or joins to it stops working, even though reading it through the MBO still does.
- Closed when
- No SQL, report or integration references the attribute as a column on the target.
- Proposed
- Investigate — The column still exists with a different definition. Whether a cited site cares is a judgement about the code, not a fact in the dictionary.
REVIEW persistence-changed
ASSET.METHODNAME persistent false → true The same column carries this change on 2 tables: ASSET, LOCATIONS.
- Read from
- B2 · dictionary 7.6.1.3 vs 9.2
- Owner
- Customisation developer
- Recommended action
- A non-persistent attribute is not in the table. Anything that queries, indexes, reports on or joins to it stops working, even though reading it through the MBO still does.
- Closed when
- No SQL, report or integration references the attribute as a column on the target.
- Proposed
- Investigate — The column still exists with a different definition. Whether a cited site cares is a judgement about the code, not a fact in the dictionary.
The rest of the dictionary — 2 review required finding(s) on objects nothing supplied references
The same comparison and the same evidence, listed compactly because no line, screen, row or grant of yours names them.
| Kind | Object.attribute | Observed | Evidence | Proposed |
|---|---|---|---|---|
| type-changed | LOCATIONS.HEALTH | LOCATIONS.HEALTH type INTEGER → DECIMAL. Check stored values and consumers for case, rounding and conversion effects. A type difference alone does not establish a failure. No line of the supplied code reads or writes it, so nothing you own is known to break; anything outside the supplied code that carries it — an integration, a report — is what to check. | B2 · dictionary 7.6.1.3 vs 9.2 | Investigate |
| scale-changed | LOCATIONS.HEALTH | LOCATIONS.HEALTH scale 0 → 2 | B2 · dictionary 7.6.1.3 vs 9.2 | Investigate |
Environment-dependent — 8
6 on objects your code, screens, rows or grants reach, in full below; 2 on the rest of the dictionary, in the table after them.
ENVIRONMENT local-extension
ASSET.KECORROSIONLOOP is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. Your code reads or writes it.
- Read from
- B2 · not present in IBM's shipped 7.6.1.3 dictionary
- In your code
- examples/customer-upgrade/src/screens/wotrack.xml:24
- Owner
- Database / migration
- Recommended action
- Decide whether to carry it forward. It is your own field, not part of IBM's dictionary at either release, so its absence at the target is not release evidence — re-applying it is a database change, not a code change.
- Closed when
- Either the attribute exists on the target with the type, length and required flag your code expects, or every cited site has been changed to stop using it. One or the other, recorded.
- Proposed
- Retain — Your own column or object: in your export, not in IBM's dictionary at either release. An in-place upgrade carries it forward; confirm it on the upgraded system.
ENVIRONMENT local-extension
ASSET.KEINSPECTIONCLASS is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. Your code reads or writes it.
- Read from
- B2 · not present in IBM's shipped 7.6.1.3 dictionary
- In your code
- examples/customer-upgrade/src/screens/wotrack.xml:25
- Owner
- Database / migration
- Recommended action
- Decide whether to carry it forward. It is your own field, not part of IBM's dictionary at either release, so its absence at the target is not release evidence — re-applying it is a database change, not a code change.
- Closed when
- Either the attribute exists on the target with the type, length and required flag your code expects, or every cited site has been changed to stop using it. One or the other, recorded.
- Proposed
- Retain — Your own column or object: in your export, not in IBM's dictionary at either release. An in-place upgrade carries it forward; confirm it on the upgraded system.
ENVIRONMENT local-extension
WORKORDER.KEFLARINGHOURS is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. Your code reads or writes it.
- Read from
- B2 · not present in IBM's shipped 7.6.1.3 dictionary
- In your code
- examples/customer-upgrade/src/screens/wotrack.xml:15
- Owner
- Database / migration
- Recommended action
- Decide whether to carry it forward. It is your own field, not part of IBM's dictionary at either release, so its absence at the target is not release evidence — re-applying it is a database change, not a code change.
- Closed when
- Either the attribute exists on the target with the type, length and required flag your code expects, or every cited site has been changed to stop using it. One or the other, recorded.
- Proposed
- Retain — Your own column or object: in your export, not in IBM's dictionary at either release. An in-place upgrade carries it forward; confirm it on the upgraded system.
ENVIRONMENT local-extension
WORKORDER.KEPERMITSTATUS is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. Your code reads or writes it.
- Read from
- B2 · not present in IBM's shipped 7.6.1.3 dictionary
- In your code
- examples/customer-upgrade/src/screens/wotrack.xml:14
- Owner
- Database / migration
- Recommended action
- Decide whether to carry it forward. It is your own field, not part of IBM's dictionary at either release, so its absence at the target is not release evidence — re-applying it is a database change, not a code change.
- Closed when
- Either the attribute exists on the target with the type, length and required flag your code expects, or every cited site has been changed to stop using it. One or the other, recorded.
- Proposed
- Retain — Your own column or object: in your export, not in IBM's dictionary at either release. An in-place upgrade carries it forward; confirm it on the upgraded system.
ENVIRONMENT local-extension
WORKORDER.KESHUTDOWNREF is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. Your code reads or writes it.
- Read from
- B2 · not present in IBM's shipped 7.6.1.3 dictionary
- In your code
- examples/customer-upgrade/src/screens/wotrack.xml:13
- Owner
- Database / migration
- Recommended action
- Decide whether to carry it forward. It is your own field, not part of IBM's dictionary at either release, so its absence at the target is not release evidence — re-applying it is a database change, not a code change.
- Closed when
- Either the attribute exists on the target with the type, length and required flag your code expects, or every cited site has been changed to stop using it. One or the other, recorded.
- Proposed
- Retain — Your own column or object: in your export, not in IBM's dictionary at either release. An in-place upgrade carries it forward; confirm it on the upgraded system.
ENVIRONMENT local-extension
WORKORDER.KEWELLID is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. Your code reads or writes it.
- Read from
- B2 · not present in IBM's shipped 7.6.1.3 dictionary
- In your code
- examples/customer-upgrade/src/screens/wotrack.xml:12
- Owner
- Database / migration
- Recommended action
- Decide whether to carry it forward. It is your own field, not part of IBM's dictionary at either release, so its absence at the target is not release evidence — re-applying it is a database change, not a code change.
- Closed when
- Either the attribute exists on the target with the type, length and required flag your code expects, or every cited site has been changed to stop using it. One or the other, recorded.
- Proposed
- Retain — Your own column or object: in your export, not in IBM's dictionary at either release. An in-place upgrade carries it forward; confirm it on the upgraded system.
The rest of the dictionary — 2 environment-dependent finding(s) on objects nothing supplied references
The same comparison and the same evidence, listed compactly because no line, screen, row or grant of yours names them.
| Kind | Object.attribute | Observed | Evidence | Proposed |
|---|---|---|---|---|
| local-extension | FAILUREREPORT.KEROOTCAUSECODE | FAILUREREPORT.KEROOTCAUSECODE is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. | B2 · not present in IBM's shipped 7.6.1.3 dictionary | Retain |
| local-extension | LOCATIONS.KEPLATFORM | LOCATIONS.KEPLATFORM is not part of IBM's own 7.6.1.3 dictionary either — it is your own field, not something the release removes. Decide whether to carry it forward to 9.2. | B2 · not present in IBM's shipped 7.6.1.3 dictionary | Retain |
Decisions
What to do about each finding. mxh proposes one of five words from the kind, the grade and the evidence class, and says why on the finding; the proposal is advice. A reviewer's decision, where the package carries one, is printed beside it and never over it.
| Disposition | Proposed by mxh | Decided by the reviewer |
|---|---|---|
| Retain — keep it as it is; confirm it on the upgraded system | 9 | 0 |
| Change — change the cited code, screen or row before cutover | 0 | 0 |
| Replace — replace it with what the target ships for the same purpose | 4 | 0 |
| Retire — remove it; nothing supplied needs it on the target | 0 | 0 |
| Investigate — read it against the target before deciding | 9 | 0 |
0 finding(s) decided, 22 not yet decided.
Work packages
The findings grouped into related decisions and tests with a common owner, blocking first. Counts are of findings, not of days; sizing a package is the partner's, against their own delivery model. A package's acceptance test is the closure tests of the findings in it, listed under each package below.
| Package | Owner | Subject | Blocking | Review | Environment | Proposed | Decided |
|---|---|---|---|---|---|---|---|
| WP-ee4980cc | Customisation developer | Class removed | 1 | 0 | 0 | 1 replace | 0 of 1 |
| WP-cf44bbb5 | Customisation developer | Validate changed datatypes against actual usage | 0 | 3 | 0 | 3 investigate | 0 of 3 |
| WP-395a9c9b | Customisation developer | Method removed | 0 | 3 | 0 | 3 replace | 0 of 3 |
| WP-232873dd | Customisation developer | Attribute removed | 0 | 2 | 0 | 2 investigate | 0 of 2 |
| WP-15e67888 | Customisation developer | Persistence changed | 0 | 2 | 0 | 2 investigate | 0 of 2 |
| WP-1683a233 | Customisation developer | Scale changed | 0 | 2 | 0 | 2 investigate | 0 of 2 |
| WP-253434f3 | Application Designer / configuration | Screen field local extension | 0 | 1 | 0 | 1 retain | 0 of 1 |
| WP-1af3c60d | Database / migration | Local extension | 0 | 0 | 8 | 8 retain | 0 of 8 |
WP-ee4980cc — Customisation developer, Class removed
- First action
- Replace the reference. The type does not exist at the target, so the customisation will not compile; find the supported equivalent or remove the dependency.
- Acceptance
- The customisation compiles against the target's
businessobjects.jarwith no unresolved import.
- The customisation compiles against the target's
WP-cf44bbb5 — Customisation developer, Validate changed datatypes against actual usage
- First action
- Validate existing values and every cited consumer against the new type, including case, rounding, range and truth semantics. A metadata difference alone does not establish a failing operation.
- Acceptance
- Each cited site has been read against the new type and either changed or recorded as unaffected, with the reason.
WP-395a9c9b — Customisation developer, Method removed
- First action
- Check each cited site. The class survives but this member does not, so a call compiles today and fails at the target.
- Acceptance
- The customisation compiles against the target's
businessobjects.jar, and the cited lines either no longer call the member or call its replacement.
- The customisation compiles against the target's
WP-232873dd — Customisation developer, Attribute removed
- First action
- Change every cited site before cutover. The column is gone at the target: a read throws and a write fails.
- Acceptance
select 1 from maxattribute where objectname = <object> and attributename = <attribute>on the target returns no row, and no cited site references it.
WP-15e67888 — Customisation developer, Persistence changed
- First action
- A non-persistent attribute is not in the table. Anything that queries, indexes, reports on or joins to it stops working, even though reading it through the MBO still does.
- Acceptance
- No SQL, report or integration references the attribute as a column on the target.
WP-1683a233 — Customisation developer, Scale changed
- First action
- Check arithmetic and rounding at every cited site, and any total that has to reconcile.
- Acceptance
- A worked example at the new scale reconciles against the same example at the old one, or the difference is accepted and recorded.
WP-253434f3 — Application Designer / configuration, Screen field local extension
- First action
- Confirm the column on the upgraded system, then leave the screen alone. The field is your own column, which an in-place upgrade carries forward; the stock target dictionary not listing it is expected, not a broken binding. If the column is not there after the upgrade, re-apply it — a database change — before the screen is opened.
- Acceptance
select 1 from maxattribute where objectname = <object> and attributename = <attribute>on the upgraded system returns a row, and the screen renders with the field populated.
WP-1af3c60d — Database / migration, Local extension
- First action
- Decide whether to carry it forward. It is your own field, not part of IBM's dictionary at either release, so its absence at the target is not release evidence — re-applying it is a database change, not a code change.
- Acceptance
- Either the attribute exists on the target with the type, length and required flag your code expects, or every cited site has been changed to stop using it. One or the other, recorded.
Suggested order, which is advice and not a finding: packages with blocking findings first; within them, dictionary and migration work before code, code before configuration and screens, because a screen or an escalation is tested against the column and class it will find on the target.
What depends on each object
Every cited site of every finding, arranged by the object it depends on. Change the object's columns and these are the places that notice. The count is of findings on the object; a site appears once however many findings cite it.
| Object | Findings | Depends on it |
|---|---|---|
ASSET | 9 | screens (1): examples/customer-upgrade/src/screens/wotrack.xml |
FAILUREREPORT | 1 | no supplied site cites it — the finding is dictionary-only |
LOCATIONS | 3 | no supplied site cites it — the finding is dictionary-only |
WORKORDER | 5 | screens (1): examples/customer-upgrade/src/screens/wotrack.xml |
The route and its prerequisites
| Source | 7.6.1.3 — your export at examples/customer-upgrade/export (4 objects); IBM's own at this release: mxh's shipped evidence at 7.6.1.3 |
|---|---|
| Target | 9.2 — mxh's shipped 9.2 dictionary (1866 objects), metadata pack 2026.09, signed |
| Evidence between them | 7.6.7.1 (scripts) → 7.6.7.2 (scripts) → 7.6.7.3 (scripts) → 7.6.8 (scripts) → 7.6.8.1 (scripts) → 7.6.8.2 (scripts) → 8.5 (scripts) → 8.6 (scripts) → 8.7 (scripts) → 8.9 (scripts) → 9.0 (scripts and dictionary) → 9.1 (scripts and dictionary) → 9.2 (scripts and dictionary) |
| Add-ons applied | oilandgas |
| Product scope | No product marker was established from the supplied surfaces. |
The prerequisites of the move, each with what the package established and what to do next. A row whose evidence is imported was checked from what you supplied; a row with none names the artefact that settles it.
| Prerequisite | Established | Next | Evidence |
|---|---|---|---|
| Source release 7.6.1.3 | 7.6.1.3 is one of the three classic levels the Manage upgrade accepts (7.6.0.10, 7.6.1.2, 7.6.1.3). The system's own level is not in the package. | Export MAXVARS (varname, varvalue) into the configuration directory; MAXUPG is then checked against the declared release here. | none supplied: configuration/maxvars.json |
| Integrity Checker on the source database | Run IBM's Integrity Checker on the source database before cutover; its log is not in the package. | Supply the checker's log as configuration/integrity-checker.log; its error and warning lines are then counted here. | none supplied: configuration/integrity-checker.log |
| Customisation deployment | Supply the deployed customisation JAR (or its lib directory) as java-jars; every class the findings cite is then checked for presence in what is deployed. | Take businessobjects customisations from the deployed lib directory, not from a developer's build, so the check is against what runs. | none supplied: java-jars |
| Platform, database and licensing | Confirm the target's OpenShift, database and AppPoint prerequisites with the platform team. No table a Maximo export carries states them, so the package cannot. | Record the confirmation in the work package that carries cutover; nothing in this assessment moves with it. | not an export: no artefact establishes it |
| Industry solutions at the target | oilandgas applied to both sides of the comparison; the source's installed products are not in the package. No product marker was established from the supplied surfaces. | Read applications/maximo/properties/product/*.xml on the source server into configuration/products.json; the installed add-ons and their levels are then compared with what the manifest declares. | none supplied: configuration/products.json |