Problem/Motivation
TIL that the instructions to upgrade a site to Drupal from one major version to another are basically removed with a pointer to handbook docs and an outdated reference to these tools being experimental (I'll file an issue about that separately).
Here's what we currently have in https://git.drupalcode.org/project/drupal/blob/9.0.x/core/UPDATE.txt:
To upgrade from a previous major version (for example, Drupal 6 or 7), the
process involves importing site configuration and content from your old site
into a new Drupal 8 site. The tools and process are currently experimental,
rather than being fully supported, so be sure to test in a development
environment. You will need to use the core Migrate Drupal UI module which
provides a user interface for the Migrate and Migrate Drupal modules included
in core. See https://www.drupal.org/upgrade/migrate for details, and
https://www.drupal.org/node/2167633 for known issues.
Since we are widely communicating that the Drupal 9 upgrade will be easy, it seems like we need to not tell people to do an entire migration process for this.
Proposed resolution
Add another section to the doc describing what to do if upgrading from Drupal 8 specifically.
Remaining tasks
- Figure out what the steps actually are (for example, I believe you must be on 8.8 or later, is Composer required? etc.)
- Document them in the handbook at https://www.drupal.org/docs/8/upgrade/upgrading-between-drupal-8-versions
- Update the UPDATE.txt text to point to said handbook page.
User interface changes
N/A
API changes
N/A
Data model changes
N/A
Release notes snippet
UPDATE.txt now has instructions on how to upgrade a site from Drupal 8.
| Comment | File | Size | Author |
|---|---|---|---|
| #39 | 3090183_39.patch | 7.68 KB | owenpm3 |
| #37 | 3090183_37.patch | 7.54 KB | owenpm3 |
Comments
Comment #2
webchickAlso, per @jhodgdon, also started a handbook page for this since that's much easier to edit than patch files: https://www.drupal.org/docs/8/upgrade/upgrading-between-drupal-8-versions
Comment #7
webchickOk! https://www.drupal.org/docs/8/upgrade/upgrading-between-drupal-8-versions has some actual stuff in it! That even works! Still needs some work (esp. for non-Composer/tarball instructions but HEY!).
Crediting several people in the #composer channel, without whom this would not have been possible.
Comment #8
shimpyComment #9
webchickNah, we still need UPDATE.txt to contain a link to this page.
Comment #10
shimpyHii @webchick I added updated the update.txt to point to said handbook page.
Please review.
Comment #11
catchWe need to update some of the other text around this as well, unfortunately changing the link isn't enough.
I would add a new section (above the section about Drupal 6 and 7) for instructions on updating from Drupal 8 to 9.
Then keep the existing version about updating from Drupal 6 and 7 (but changing language so it says updating to Drupal 9).
Comment #12
owenpm3 commentedI attempted to add what catch mentioned in his comment. References to Drupal 8 updated to Drupal 9. There's a quick section about upgrading from D8 to D9 as well as the links mentioned above.
Comment #13
owenpm3 commentedComment #14
gábor hojtsyRight after it says this is about minor versions it goes into a major version update. Quite contraditory :)
We need to redefine the scope of this file entirely to cover both.
Also, you have somewhat header looking items, those would be important to make actual headers.
Comment #15
gábor hojtsyParenting into the Drupal 9 release process :)
Comment #16
owenpm3 commentedExcellent points. I've updated the patch to show that the file covers both upgrading to D9 as well as updating D9 to minor and patch version. I've also updated the headers to match the other headers in the document.
Comment #17
MixologicSince we're planning on changing the *minimum* requirements for databases, that ought to be called out as well.
Comment #18
owenpm3 commentedIs this the best place to get the minimum requirements info? https://www.drupal.org/docs/9/how-drupal-9-is-made-and-what-is-included/...
Comment #19
catchRequirements should be here: https://www.drupal.org/docs/8/system-requirements
But we need a Drupal 9 version of that page.
Comment #20
owenpm3 commentedA link to the new documentation would probably be good, but for now I think we'd be alright to add the known requirements, right?
Comment #21
jungleI think Drupal 9 and 8 support 7.4 now as #3086374: Make Drupal 8 & 9 compatible with PHP 7.4 was fixed
Comment #22
xjmComment #23
catchI don't think we should duplicate the requirements info here - for example this statement is already out of date.
Should specify ensure your Drupal 8 site is running the latest version or similar - otherwise it's not clear that we're telling people to do an interim update.
Also need to drop the PHP 7.2 reference from here as well.
Comment #24
xjmComment #25
neslee canil pintoComment #26
jungleFrom my understanding, #25 did not address concerns in #23 correct me if I were worng.
Will require,will be raiseddo not make sense to me. For me they should be certain versions, for example MySQL 5.7+, MariaDB 10.2 +, PostgreSQL x.y.z+, SQLite: x.y.z+(x.y.z is a placeholder)
Drush is not a part of Core, no sure we should mention it here. If we have to mention it, I think it's good to tell people that they have to install it as a part of the codebase first (composer require drush/drush), or it's impossible to run Drush/Drush 10 in Drupal 9.
Comment #27
catchResetting the title.
This is instructions specific to upgrading a site from Drupal 8 to Drupal 9 (things like ensuring the Drupal 8 site is updated to the latest version including contrib modules). We don't have a mechanism for migrating from 8 to 9 with migrate.
By being put in UPGRADE.txt, the patch currently mixes those instructions with migrating from Drupal 6 and Drupal 7.
I'm wondering a bit if the change here should just to be to explicitly point people to UPDATE.txt and a handbook page, rather than duplicating information elsewhere.
Comment #28
neelam_wadhwani commentedComment #29
neelam_wadhwani commentedHello @catch @jungle
I have update the patch.
Please review it.
Comment #30
jungleYou uploaded a wrong interdiff :p
Comment #31
neelam_wadhwani commentedHello @jungle,
I am sorry for it.
Please review updated interdiff.
Comment #32
jungleUnexpected tail spaces
Comment #33
neelam_wadhwani commentedUpdated the patch and interdiff.
KIndly review it.
Comment #34
jungleMaybe it's good leaving this to someone who is more professional or from the documentation team, I am not a native English speaker and can not help to write better documentation. I could only review trivial things. This is a simple task but an important one, the targeted readers are all Drupal people.
@neelam_wadhwani I appreciate your effects! But I'd suggest stopping submitting new patches for a while.
Comment #35
catchAnother possibility here would be to literally rename this file to MIGRATE.txt, then just ensure that UPDATE.txt includes the possibility of updating from Drupal 8 to 9.
Comment #36
catchRe-titling.
Comment #37
owenpm3 commentedThere are quite a few questions still going, so I don't think this will be the final--but I thought I'd just give the MIGRATE.txt idea a try. I thought we could refer updates (minor versions, 9.1.0 to 9.2.0, etc.) to UPDATE.txt and migrating (might make more sense to use UPGRADE.txt so we don't confuse people about the migrate module?) or upgrading from 6, 7, or 8 to Drupal 9 to the MIGRATE.txt file?
Comment #38
daffie commentedWhy the double dash? Please remove it.
Can we change " (e.g. Drupal 8.8+), not from e.g. Drupal 8.3" to "(e.g. Drupal 8.8 or higher). When you are on Drupal 8.7 or a lower version, then please update first to Drupal 8.8 or higher before updating your site to Drupal 9"
Can we change this to "Next, you'll need to ensure that your site does not use code that is dependent on API's that have been removed in Drupal 9. For all removed API's there are recommended replacement API's."
Can we change the link to: https://www.drupal.org/docs/8/upgrade/known-issues-when-upgrading-from-d...
Are we sure that the status of the migration is experimental instead of fully supported?
Not the correct link. It should be: https://www.drupal.org/project/drupal/releases
Please change "8.x.x" to "9.x.x".
Why the double dash? Can we change it to "to version 9. See the"
We have the same text twice.
Comment #39
owenpm3 commentedHere are those changes--so are we good with using MIGRATE.txt?
And you're right, migrate is no longer experimental, so I changed that to a recommendation to test in a dev environment first.
Comment #40
daffie commentedAll my points are addressed.
For me it is RTBC.
@owenpm3: Thank you for working on this.
Comment #41
longwaveThe dashes don't match up to the previous line length, for all other titles they do match.
e.g. = for example
i.e. = that is
I think this should say "i.e. Drupal 8.8 or higher".
Also, "When you are on Drupal 8.7" is better as "If you are on Drupal 8.7"?
Plural of API is "APIs" - no apostrophe needed.
Is the 6/7 to 8 "known issues" page really relevant to an 8 to 9 upgrade? A quick scan doesn't show anything that jumps out as useful.
This seems a bit out of place, is this better off at the very top of the document? By "previous" versions it means 7 and before, we could make this clearer. Is this also worth keeping in UPDATE.txt?
No directories are mentioned in this document? This seems more relevant to UPDATE.txt, but it has been removed from there.
The "update or upgrade" text isn't relevant here. We already told the user to "test in a development environment" further up, though reiterating this is good. I don't think "minor updates" is relevant here either, as we are talking about major version migrations.
Comment #42
owenpm3 commentedI'm good to keep working at this--but I'm still not sure if creating the migrate file is definitely what we want to do or not. #35 mentioned it as a possibility. Or, if it's the difference between "update" and "upgrade" should it be UPGRADE.txt? Mostly wondering because if we do use migrate, I imagine people will check it out expecting to find information on migrating sites instead of upgrading to D9. Thoughts?
Comment #43
catchWe shouldn't put update/upgrade information into a file called MIGRATE.txt
There are a few ways the files could be re-organised though:
1. Merge UPGRADE.txt and UPDATE.txt into the same file. Covering patch, minor, and the different major updates including 6 and 7.
2. Have UPDATE.txt for patch/minor/major and MIGRATE.txt for 6 and 7
3. UPDATE.txt for patch/minor and UPGRADE.txt for major + migrate, although that seems more of an artificial grouping than 1 or 2.
Comment #44
quietone commentedI agree with catch. And of the options I prefer #3 because of the following text at the top of Upgrading to Drupal 8.
Those definitions came about from conversations where migrate maintainers worked to clarify the use of 'migrate', 'upgrade' and 'update', for the sake of our sanity and what to display to the user in the /upgrade form. It was also decided that 'upgrade' and 'update' are shown to the user (even if migrate is being used under the hood) and the terms migrate/migration etc. are reserved for documentation meant for developers only.
Hope that helps.
Comment #45
daffie commentedComment #46
catchAlso posted #3136302: Replace UPDATE.txt with links to d.o documentation as a possible solution, given time is getting very short prior to an RC. This would not preclude adding documentation back to the codebase itself later in this issue.
Comment #47
bnjmnm+1 to the addressing this with the issue proposed in #46. This has added benefits beyond removing a beta target critical from the queue:
Comment #48
xjm#3136302: Replace UPDATE.txt with links to d.o documentation is in. Can we close this as a duplicate?
FWIW as @bnjmnm pointed out to me, UPGRADE.txt does not exist and has not existed for years, unless this is supposed to be about patching Drupal 7. (If it is, we can just move this issue to 7.x I think, since 8.8.x has now been addressed.)
Comment #49
daffie commentedI agree with @xjm. Because #3136302: Replace UPDATE.txt with links to d.o documentation has landed, this issue is no longer relevant for Drupal 8.x and 9.x. Therefor moving the issue back to 7.x and removing the tag "beta target".
My apologies to everybody who worked hard on this issue.
Comment #50
quietone commentedReading the issue summary and the first few comments this was always a Drupal 8 issue and not Drupal 7. So what to do with this? I guess this should go back to the Drupal 9 queue and then closed as a duplicate of #3136302: Replace UPDATE.txt with links to d.o documentation