Active
Project:
Drupal core
Version:
main
Component:
base system
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
7 Nov 2019 at 21:28 UTC
Updated:
11 Apr 2023 at 21:04 UTC
Jump to comment: Most recent
Comments
Comment #2
heddnThis was discussed in #3085755: Automatic updates meeting on 7 November 2019.
Symlinks on windows was a concern.
This is also a pre-task for doing composer updating. And could provide some benefit for non-composer managed sites as well.
Some PoC work is available in https://github.com/php-rot.
Comment #3
dstolComment #4
dstolComment #5
xjmThis would be a minor-only change. Since 8.9.x and 9.0.x are now in beta, I'm moving this to 9.1.x. Thanks!
Also bumping to critical, since this is like... the future and survival of Drupal.
Comment #6
xjmWhere's our roadmap meta? That should be the parent of this issue.
Comment #7
xjmThere we go.
Comment #8
xjmInaugurating a new issue tag for the initiative's issues.
Comment #9
xjmComment #10
poniesComment #11
heddnFrom looking at https://github.com/php-rot/d7_poc/blob/master/docroot/index.php and https://github.com/php-rot/rot/blob/master/static/index.php, there seems to be 2 sides to this A/B feature set. Which makes sense.
Side 1) There is a static index.php that regularly checks if there is any need to download a newer version of the code. This feature set is probably do-able using d.o's update.xml and update services. The other part of the static index.php is that it checks if there is valid, fully functioning and updated version of the code-base that it should switch to.
Side 2) A bootloader in the app. This duplicates some of the logic from Side 1 so it can flip us over to a valid, fully functioning and updated version of the code-base. But it has no logic about updating the site.
I think what we could PoC first here is the shared logic of deciding if it should flip over from A/B. See if we can externalize that logic into some type of shared code that might be able to be depended upon as a composer dependency. Does such a thing already exist out in the wild in packagist or a gist somewhere?
Comment #12
effulgentsia commentedCan either side 1 or side 2 from #11 use Composer dependencies? This lives outside of the A or B codebases, so how would those dependencies get updated?
Comment #16
stephencamilo commentedComment #17
andypostComment #20
catchDiscussed this briefly with @xjm and @tedbow - the approach automatic_updates uses is composer-stager, which is not this. There could still be a use-case for an A/B controller like running updates, but that makes this a feature request and not critical - so changing priority/category.