Problem/Motivation
We need to build an upgrade path for Drupal 7 to Drupal 8. This issue is for the D7 to D8 migrations which are not multilingual. The multilingual migrations are in #2208401: [META] Remaining multilingual migration paths.
This issue is to track progress of the Drupa7 to Drupal 8/9 migration. All the top, medium and low priority issues are now complete and removed from this issue summary. See the Remaining tasks for the remaining work.
The work on these migration originally took place in the sandbox repository and its issues. Many thanks to everyone who contributed to the work there.
Proposed Resolution
The Migrate API, and the Drupal 6 upgrade path, are stable enough start getting an upgrade path from Drupal 7 into core.
I propose we do this by module. Modules are a clean, understandable way of separating functionality, and I think they'd be a sensible way to group related migrations. There can be a separate issue for each core module that needs an upgrade path.
Remaining tasks
Other
API changes
API changes were handled in individual issues.
| Comment | File | Size | Author |
|---|---|---|---|
| #7 | interdiff-2456259-6-7.txt | 2.85 KB | phenaproxima |
| #7 | 2456259-7.patch | 56.53 KB | phenaproxima |
| #6 | 2456259-6.patch | 54.27 KB | phenaproxima |
| #5 | 2456259-5.patch | 76.27 KB | phenaproxima |
| #2 | drupal-d7-d8-migrations-2456259-2.patch | 29.78 KB | kdechant |
Comments
Comment #1
benjy commentedComment #2
kdechant commentedHere is a patch of all the D7 migration definitions, source plugins, and process plugins from the old IMP sandbox. I have personally tested the d7_user, d7_taxonomy_vocabulary, d7_taxonomy_term, and d7_file migrations. I have not tested the other migrations (d7_field, d7_field_instance, and the variables).
Comment #3
ultimikeComment #4
kdechant commentedI'm looking at #2469623: Process for creating migration source DBs for automated tests and I realized that my patch in #2 is breaking the SimpleTest tests created in that issue's patches. I might need to get the D7 source DB situation figured out sooner rather than later. Stay tuned.
Comment #5
phenaproximaInterim patch that tunes up #2 and brings it in line with HEAD. And adds tests for the migrations therein. I'm not marking this for review because it won't pass the testbot (although the tests I wrote in there do pass, but they depend on another patch that is currently RTBC).
I offer this up for initial review, to make sure that I'm on the right track.
This depends on and extends the patch at https://www.drupal.org/node/2410625#comment-9948249.
Comment #6
phenaproximaUpdated patch, with moar assertions. These tests should now pass testbot.
Comment #7
phenaproximaUpdated the patch with a test of the d7_file migration.
Comment #8
phenaproximaI have begun splitting patch #7 into smaller, piecemeal patches in the various child issues. I like the idea of being able to get this done a bit at a time, instead of waiting on one giant patch which will take eons to merge into 8.0.x.
Comment #11
phenaproximaThis patch no longer needs to be tested, since I've split it out into several smaller sub-issues.
Comment #12
phenaproximaComment #13
phenaproximaAs I've started fiddling with the child issues, writing tests for them and trying to bring them in line with HEAD, I've found two hard blockers before any of them can proceed:
#2495755: Create MigrateDrupal7TestBase
Every single D7-D8 migration will of course need a test. Those tests will need a base class.
#2495851: migrate_source data type needs to define the constants mapping
This one, I'm less certain about. When writing tests for the D7-D8 migrations on my localhost, I kept running to configuration schema exceptions. The solution I present in that issues solves it for me, but I have to confess that I don't really know why it solves it, or what the real nature of the problem is.
Both these issues need to be resolved before we can start committing D7-D8 migrations into core.
Comment #14
phenaproximaComment #15
phenaproximaAdded a prioritized list of D7 core modules to the issue summary.
Comment #16
phenaproximaUpdated the issue summary again.
Comment #17
phenaproximaCrossed out modules that were taken out of core.
Comment #18
phenaproximaAdded dedicated issues for low-priority modules.
Comment #19
phenaproximaAdded Views to the list of high priority modules.
Comment #20
phenaproximaAdded an issue for the Profile module.
Comment #21
phenaproximaOn second thought, the System module is pretty damn major.
Comment #22
phenaproximaComment #23
webchickAdding standard metadata for "Big, Important Migrate Stuff"™
Comment #24
quietone commentedChange link to Comment issue to the current one, not the duplicate
Comment #25
webchickJust some house-keeping, ignore me.
Comment #26
googletorp commentedComment #27
benjy commentedFixed the link.
Comment #28
googletorp commentedPut new link into correct sorting.
Comment #29
skyredwangI just tested a 7.39->8.0.0-rc3 upgrade/migrate. Everything worked out expectedly, except that Image Field doesn't get migrated. More specifically: image fields got created in D8, field files were copied to the new site, but no value were created or stored in the new image fields in nodes. Drush reported some errors below, but I don't see them directly related to image fields:
I am not sure where to debug this broken image field migration. Could anyone point the direction?
Comment #30
skyredwangFound the related issue. I didn't realize it's a task: #2604484: Migrate Drupal 7 image and file fields
Comment #31
googletorp commentedThis is probably not the right place to talk about random migration errors.
Anyways, regarding your errors.
Missing filter plugin: filter_null.
I'm not sure about this one, there is a filter_null but it's not usable. You need to save the filters that has this and they will be usable. filter_null plugin is intended for migrations.
text_plain, link_url, i18n_taxonomy_term_reference_link missing plugins is probably all field formatters that doesn't exist. I'm not sure about text_plain, but the others I know. This code snippet can probably help you, it removes the errors but I haven't tested much on the data. Basically you add some mapping from D7 to D8 field formatters:
Comment #32
mikeryanComment #33
mauriciomedeiros commentedHi guys,
I am kinda lost here. I am trying to figure it out how to migrate books from d7 to d8, but the drupal 8.0.2 does not migrate it yet and I am having no luck trying to get the necessary files to patch it from the issues listed in this post: https://www.drupal.org/node/2409435. Looks like someone got it already :)
Can somebody help me out please?
Thanks in advance!
Mauricio
Comment #34
jofitzI have come across some bugs when migrating users from D7 that do not have a language set - I have created an issue for this:
#2671312: No default value for User langcode when migrating D7 users with no language
Comment #35
jofitzI have added a few more issues & patches regarding d7 migration:
Comment #36
jofitzHere is issue regarding migrating custom fields on users:
#2674152: D7 User fields content not migrating first time
Comment #37
quietone commentedComment #39
DocDJ-forum commentedHello,
Let me 1st apologize if this is not the correct place to post my migration problem.
I'm a fairly new user, trying to migrate my development 7.43 database to my clean install of 8.1. I used Drush migrate_upgrade --legacy (etc.).
My structure and block definitions got migrated, but there was no content copied over. I have checked the forums and this set of postings and have not seen anything about how to proceed to determine whether my content got copied and how to enable it or to find out what I've done wrong.
I am hosting both versions (7.43, 8.1) on my own PC, running Windows 10 Pro.
Any tips you can offer will be greatly appreciated.
Comment #40
DocDJ-forum commentedI have found that some of my content does appear to have migrated, but my "front" page layout is not being applied. ONE navigation link (left sidebar) for HOME took me to SOME of that layout, but it is incomplete.
Comment #41
steinmb commented@DocDJ-forum please create a new issue. This is a [META] – issue tracking the overall work on migration and not for random support req.
Comment #42
gábor hojtsyIs this issue still being used to track migrations development? Adding the master issue for the migration system as parent.
Comment #43
hussainwebAdding a couple of issues and patches:
Comment #44
DocDJ-forum commentedI apologize (again) for posting here. It was unclear to me that this forum was only for developers. I have posted my problems and help-requests elsewhere.
Comment #45
hussainweb@DocDJ-forum: Just clarifying FYI, this forum is for everyone, but this issue was only meant to track the overall work on migration. You are very welcome to create a new 'Support Request' issue in this forum (issue queue) to get help. :) We do this so that we stay on topic and don't get distracted with unrelated conversation.
Comment #48
heddnGood job us. It looks like we are done with all the Top and Medium priority issues for D7=>D8. We should probably review the IS and update. There are some entity reference and CCK migration issues we should add into the list.
Comment #49
jcnventuraI've just started work on upgrading my real-world D7 site, and the upgrade path looks quite good. At least I got some content in the D8 site. This D7 site contains ~15K nodes with about 1K being multilingual. For that in D7 I used the Internationalization, Entity Translation and Title. Most of these are now in core.
The problems I found after the migration:
I'd expect that these D7 modules that were being worked on by the core i18n team to be supported in the d7 to d8 upgrade paths, but I don't see them int the issue summary.
One final note, which may be related to the missing summary, I have to remove a null filter from each text format after the migration.
Comment #50
gábor hojtsy@jcnventura: we recently completed #2669964: Migrate Drupal 7 core node translations to Drupal 8 which supports core translations migration. We did not yet get around to even looking at supporting entity translation migrations (issue at #2073467: Migrate Drupal 7 Entity Translation settings to Drupal 8). All help is welcome there for sure :) We are working on more i18n module migrations like menu items, taxonomy, etc at the moment. See more at https://www.drupal.org/project/issues/search?issue_tags=i18n-migrate
Comment #51
jcnventura@gábor, see you in Sevilla :)
Comment #54
maxocub commentedUpdated the issue for the Search path.
Comment #55
itsnadeem commentedPlease see below link , which is very useful for those who are going for upgrade.
how to estimate drupal 8 migration
Comment #56
heddnIs it true we only have 2 more things for D7? Then we can close down this meta?
#2763637: D7 taxonomy term fields are not migrated with allowed vocabularies
#2587063: Variable to config: search_active_modules [d7]
Comment #58
gábor hojtsy@heddn: re #56 that first one is not even in the issue summary. It would be nice to keep this meta so long as there is more than one children.
Comment #59
heddnWe should update the IS. Looks like it is already tagged.
Comment #60
quietone commentedAdd #2993367: Add the migration from D7 Picture to Responsive Image
Comment #61
naheemsays commentedPoll module is crossed out in the list but many people will need it to migrate from Drupal 6/7.
I have created an issue for it but the migration path is not complete: #2638406: Poll migrate support
The main remaining issue is figureing out how to create a reference to the poll from the poll node type during migration.
Comment #62
quietone commentedUpdated the IS. Added all the Drupal 7 issues to the IS even though I'm not sure if they are all blockers to migration path.
@nbz, thanks for working on the migration for poll. It isn't included in the list here because this module list here is limited to those in core.
Comment #63
heddn@nbz, I have added it though to #2906878: [Meta] Support for D7 -> D9 contrib migrate.
Comment #65
quietone commentedRemoving fixed issues from the remaining tasks
Comment #67
quietone commentedComment #68
quietone commentedAnother one committed, #2993367: Add the migration from D7 Picture to Responsive Image
Only a few more to go!
Comment #69
quietone commentedComment #70
quietone commentedAssigning to self to update IS.
Comment #71
quietone commentedComment #72
quietone commentedComment #73
quietone commentedRemoving #3008202: Migrating more than 1 entity reference field instance fails because entity reference fields have a migration and if that is a problem it is a bug.
Comment #74
quietone commented#3187320: Migrate Drupal 7 user settings was committed, removing from IS>
Only four left now.
Comment #75
quietone commented#2565931: Handle long comment bundle names committed
Three more to go.
Comment #76
quietone commentedMake that four more to go
Comment #77
quietone commentedFix typo in IS.
Comment #78
quietone commentedBack to three more to finish
Comment #79
quietone commented#2814953: Migrate Drupal 7 node/user reference fields committed!
Thanks larowlan!
Comment #80
quietone commentedRemoving fixed items from the IS #2814953: Migrate Drupal 7 node/user reference fields and #3005969: Add support for migrate d7 telephone field.
There is only one issue remaining, #3051252: Upgrade path for Multiupload Filefield Widget and Multiupload Imagefield Widget, so there the need for a Meta to track them all is no longer needed.
Thank you to everyone who working on the Drupal 7 to Drupal 8 or later upgrade path!
Cheers!
Comment #82
effulgentsia commentedTagging this issue for a 9.2.0 release highlight, because a bunch of additions and fixes for various contrib sources, such as #2814953: Migrate Drupal 7 node/user reference fields, landed into 9.2.x. Unfortunately, I don't have the full list in front of me, so this might need to be a vague statement rather than a list of specific issues, unless someone is able to put together that list.
Comment #83
quietone commented@effulgentsia, here are the ones that are source related, or improve something at /upgrade.