For a Hippo CMS core project and certified modules version in maintenance mode reload-on-startup of bootstrap initialize items should (become) no longer used as these make the upgrade process to a next (major) version of the CMS much more difficult.
Instead, maintenance fixes should only use bootstrap initialization 'patches' with their own initialization item which thus are fine to be used for incremental maintenance releases.
For the development of a major new version (trunk), until it goes into maintenance mode itself, reload-on-startup however is OK to be used when really needed.
bootstrap initialization 'patch' items added in earlier maintenance releases then also can/should be 'rolled up'.
To allow checking and enforcing this new rule for Hippo CMS core/certified module development (only), we need an optional mode/flag to disable and disallow usage and execution of such reload-on-startup initialization items.
The proposed solution is to introduce a new system parameter -Drepo.bootstrap.reload-on-startup (default true), which will provide this flag to enforce this restriction.
Note: this flag of course only is active when also -Drepo.bootstrap=true is set, enabling the bootstrap initialization itself.
And by default, when the -Drepo.bootstrap.reload-on-startup parameter is not specified, or specifiedwith value true, the current behavior will remain preserved.
When during initialization bootstrap processing with reload-on-startup disabled an 'active' initialization item is encountered, the item will not be processed but instead an error status will be recorded for this item in the repository, as well as an error message.
This new restriction will already be implemented and enforced (internally) for maintenance of current/future CMS 7.9 releases.
A separate issue will be created to backport this.