Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Problem/Motivation
We need an upgrade path from 7.x for the core System module.
Remaining Tasks
Write migrations, with tests, covering:
High priority
- Any variables maintained by system need to be moved into configuration (already merged into this issue)
- All file entities (in file_managed) need to be migrated to D8 file entities: #2503861: Migrate file_managed table to file entities
- Menu links are maintained by System, but there is a separate issue for it: #2382985: Migration Files for Drupal 7 Menu & Menu Entries
- URL aliases, stored in the url_alias table, need to be migrated: #2504513: Migrate URL aliases
Lower priority
- The actions table needs to be migrated to configuration data owned by the D8 Action module (#2503047: Migrate the D6/D7 actions table to D8)
- The blocked_ip tables needs to be migrated (#2503049: Migrate D7 blocked IPs to D8)
- Date formats and date format types are maintained by System, and need to be migrated to their D8 counterparts
This is a lot of work, so let's create child issues for each of these.
Contributors
Keeping track of contributors who submitted patches for child issues which have been merged with this one: hosef, oadaeh, samhassell, miguelc303, javisr
Comment | File | Size | Author |
---|---|---|---|
#40 | interdiff.txt | 1.63 KB | quietone |
#40 | 2500533-40.patch | 29.34 KB | quietone |
#38 | 2500533-38.patch | 29.36 KB | quietone |
#34 | interdiff-2500533-30-34.txt | 516 bytes | quietone |
#34 | 2500533-34.patch | 29.34 KB | quietone |
Comments
Comment #1
phenaproximaComment #2
phenaproximaMerged, with tests:
Comment #3
phenaproximaMentioned contributors from merged issues.
Comment #4
phenaproximaComment #5
phenaproximaMerged the following, and collapsed all the tests into a single monolith, since copying and pasting the same logic was getting really annoying.
Comment #6
phenaproximaMerged:
Comment #7
phenaproximaComment #8
phenaproximaComment #9
phenaproximaFixed a typo in the issue summary.
Comment #10
quietone CreditAttribution: quietone commentedComment #11
quietone CreditAttribution: quietone commentedRerolled. Getting errors in MigrateSystemConfigurationTest.php but let's see if there is anything else.
Comment #12
naveenvalechaComment #15
quietone CreditAttribution: quietone as a volunteer commentedComment #16
quietone CreditAttribution: quietone as a volunteer commentedReroll. Interdiff against #6.
How to handle system.filter, which has been moved to a container parameter?
Comment #17
quietone CreditAttribution: quietone as a volunteer commented#16 is a bad patch.
Comment #19
quietone CreditAttribution: quietone as a volunteer commentedFor now, removed the system.filter migration. Maybe that should be in a separate issue now that it is a container parameter?
Comment #20
quietone CreditAttribution: quietone as a volunteer commentedComment #24
quietone CreditAttribution: quietone as a volunteer commentedMoved the migration of filter_allowed_protocols to a separate issue, #2682229: Variable to container parameter: filter_allowed_protocols [d7]. It really is different from these 'simple' migrations.
Uploaded a new patch to remove filter_allowed_protocols from the test fixture.
Comment #25
benjy CreditAttribution: benjy at PreviousNext commentedJust a code style issue below, I think could be fixed on commit. RTBC.
Indent is wrong here.
Un-needed new line.
Comment #27
quietone CreditAttribution: quietone as a volunteer commentedThe test is failing on system.mail. \Drupal::config('system.mail')->get() returns 'test_mail_collector' but it really contains php_mail.
Comment #28
quietone CreditAttribution: quietone as a volunteer commentedAdded a check so that when 'system.mail' is being tested the actual config data is retrieved with getRawData so that overrides are avoided.
Comment #30
quietone CreditAttribution: quietone as a volunteer commentedA bit of a cleanup only. The migration templates for action_settings, file_settings, system_image, system_image_gd, system_logging, system_maintenance and system_rss are the same for d6 and d7 and have been merged. action_settings has been moved to the action module, where d6_action_settings was. file_settings has been moved to the file module, where d6_file_settings was.
Comment #32
quietone CreditAttribution: quietone as a volunteer commentedMerged the d6_system_site and d7_system_site templates.
Comment #33
quietone CreditAttribution: quietone as a volunteer commentedComment #34
quietone CreditAttribution: quietone as a volunteer commentedRestore accidentally removed blank line in MigrateUpgradeTestBase.php.
Comment #37
mikeryanComment #38
quietone CreditAttribution: quietone as a volunteer commentedRerolled.
Comment #39
mikeryanLet's use assertSame() instead of the deprecated assertIdentical(). I know the corresponding D6 test has assertIdentical(), and it's out of scope to address that here, but let's not introduce deprecated uses in new files.
assertSame()
Otherwise this looks good - I'm ready to RTBC with the above changes.
Comment #40
quietone CreditAttribution: quietone as a volunteer commentedChanged the assertions as per #39.
Comment #41
mikeryanThanks! Setting RTBC on the assumption the bots still pass...
Comment #43
quietone CreditAttribution: quietone as a volunteer commentedRetested because the failures were not related to the patch. Passing again, so back to RTBC
Comment #44
alexpottCommitted and pushed ffde245 to 8.3.x and 9c705b8 to 8.2.x. Thanks!
As this is for migrate this is rc eligible.
Fixed on commit.