I know there have been subsequent posts on technical limitations etc, of where/how/when things like the application cache must be cleared, but I thought I might throw this in the mix.
I also use an application called xwiki for my House & Automation documentation, and after every upgrade it presents me with a series of dialogue screens, to address remaining steps in the (post) upgrade process
https://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/Features/DistributionWizard
I’m not putting this here as some panacea/reference model that OpenHAB should adopt, but maybe just some ideas which could be taken from the approach.
I’m no xwiki expert, but at a HL, it sort of does this:
- First checks that I am logged in as an admin user (and allows me to log in if not)
- Then it checks that the versions of the extensions/flavours that I have are compatible with the new base version of the product, and presents me with a screen which warns that the current installed extensions etc, are not compatible
- It will then propose what changes it will make, and I get to accept (or deny) that
- It goes away, and downloads the updated extensions/flavour etc, and upgrades them
- At the end it lists the changes made (and in the case of the wiki, the affected pages)
- And from time to time (if my memory serves me correct), it also then asks if I want to remove deprecated items (I think pages/extensions)
So putting that in a OpenHAB context, perhaps if ‘extensions/flavours’ from the above was replaced with the words ‘Marketplace Add-ons/rules/widgets’, you could see how a similar experience could ‘theoretically’ feel for Openhab.
Reading the thread, I know there is potentially the issue that marketplace add-ons are ‘removed’ by the upgrade process, so there may be an issue of how you present a list of previously installed add-ons which need upgrading and/or re-installation (Perhaps the upgrade process can write this somewhere before it removes them?)
But I am also sure that the above could be adapted to show the release notes, etc, and for xwiki, once I finish the process, it is no longer presented to me, and there is also an option to suppress the dialogue from repeating on next startup, if you choose not perform the post-upgrade steps. (There was a process (but not in the UI) to make it run again on next startup, as well, if you had suppressed it initially)
There is also probably the dependency of the Marketplace being able to store multiple versions of the same add-on/rule/widget, so if the Author publishes a new version, say only compatible from a future 5.2 version onwards, somebody can still upgrade from say 4.x to 5.1, with having the prior compatible version still available via this process.