Question 10
At fictional Juniper Hospitality, the Business Central development team is supporting property purchasing and billing and reviewing extension environment and deployment preparation during a production readiness review (MB820-2.2-037). The observed development issue is that an emergency hotfix changes code but the app's manifest version is unchanged and the service rejects the expected upgrade. Which Business Central or AL development principle best explains the right response?
Explanation
Correct Answer
The governing principle is that versioned app identity is central to the extension lifecycle. The engineering response is to increment the extension version and follow the supported package publish/upgrade path. Verification should show that the extension's installed version reflects the new artifact and data remains consistent.
Incorrect Answers
“Controlled deployment should promote tested artifacts rather than unverified rebuilds” supports the separate task “promote a versioned extension artifact through sandbox acceptance before production deployment”, not the reported problem: an emergency hotfix changes code but the app's manifest version is unchanged and the service rejects the expected upgrade. This case instead calls for “increment the extension version and follow the supported package publish/upgrade path”.
“Debugging does not constitute an extension rollback mechanism” concerns the separate step “separate debugger lifecycle from extension publish, install and uninstall procedures”. The reported issue is that an emergency hotfix changes code but the app's manifest version is unchanged and the service rejects the expected upgrade, so the direct response is to increment the extension version and follow the supported package publish/upgrade path.
“Installation lifecycle hooks differ from ordinary page execution and upgrades” concerns the alternative task “use an installation codeunit with appropriate company initialization and idempotent setup”, but the stated failure is that an emergency hotfix changes code but the app's manifest version is unchanged and the service rejects the expected upgrade. The required measure is to increment the extension version and follow the supported package publish/upgrade path.