Drupal 10, the latest version of the open-source digital experience platform with even more features, is here.We need to make updates/upgrades easier. To do this, we should be able to identify one platform as a successor or 'upgrade path' for another platform. This'd mean we only need to have an 'upgrade' task, instead of migrating to some arbitrary platform. The upgrade task would just call migrate under the covers, of course. But the UI would be greatly simplified.
This is essentially how we already operate in Aegir. A new platform is created, and probably through naming conventions, designated as the target for upgrades from previous platforms. I usually build platforms with the date as part of the name, to simplify this as much as possible. So Rune 2015-08-21, for example, would be a newer version of Rune 2015-07-18. I've also seen version tags used (kplatforms_3.2).
The problem, to begin with, is just that we're using a 'migrate' task to do updates. 'Migrate' describes the underlying process well, but it's not at all intuitive to end users. Next, migrate provides a list of all available platforms, which is fine, in and of itself. But it means that the person triggering the migration has to know (or at least be actively aware) of more than they really should.
It seems like the Relation module would provide us with an API we could use to define such relationships between platforms. We could then use that in the 'upgrade' task to figure out the target platform. We might want to add a 'create upgrade path' task to platforms that would essentially open the platform creation form, but pre-populate the source platform. #906936: Allow creation of a platform using an existing platform's information would probably be relevant here too.










Comments
Comment #2
gboudrias CreditAttribution: gboudrias at Praxis Labs Coop commentedThis is an excellent idea and has been needed for a while.
Even if it was just for documentation purposes it would be good to have an explicit relationship between platforms.
Comment #3
ergonlogicAs a further enhancement, once something like this is in place, we could pretty much completely automate platform updates. For example, a new tag on a git repo containing our platform's makefile could trigger the build of a new platform. This'd result in essentially subscribing to a makefile/distribution, and getting updates automatically.
Comment #4
helmo CreditAttribution: helmo at Initfour websolutions for Aegir Cooperative commentedJust closed an old duplicate of mine ... #2274747: Create auto (up)migrate task
New related is #2704799: RFC: Add a 'distribution' content type
Comment #5
ergonlogicAegir Distributions now accomplishes pretty much all the feature requests in here, including automatic platform updates, and "upgrade" tasks for both platforms and sites. See the related issue for details.