Problem/Motivation
I discovered recently that the crucial filter format migration for D7 is flawed in its handling of the format ID. It performs various transformations on the source ID that were necessary when migrating formats from D6 (which had numeric format IDs), but are wholly unnecessary when migrating from D7, which identifies formats by machine name.
In a worst-case scenario, this flaw breaks migration of nodes, text field values, and other things that depend on filter formats. It is therefore Migrate-critical and blocks the D7 migration paths for nodes, comments, and users.
Proposed Resolution
The d7_filter_format migration should migrate the format ID verbatim, without any processing.
Remaining Tasks
Review and commit the patch.
API/UI Changes
None.
Comment | File | Size | Author |
---|---|---|---|
#8 | 2555089-8.patch | 2.12 KB | phenaproxima |
#4 | interdiff-2555089-0-4.txt | 1.36 KB | phenaproxima |
#4 | 2555089-4.patch | 2.12 KB | phenaproxima |
#4 | 2555089-4-FAIL.patch | 1.51 KB | phenaproxima |
migrate-d7_filter_formats_id_fix.patch | 624 bytes | phenaproxima | |
Comments
Comment #2
mikeryanIt's nice when the right way is the simple way.
Comment #3
webchickIf this breaks so many things, we really should correct our tests so they demonstrate it.
Comment #4
phenaproximaHere ya go! A fail patch to prove the problem, with the failing assert merged into the passing patch.
Comment #5
phenaproximaComment #7
mikeryanGot a stray space in there. RTBC with that removed.
Comment #8
phenaproximaFixed.
Comment #9
phenaproximaRTBCing as per #7.
Comment #10
webchickAwesome sauce!
Committed and pushed to 8.0.x. Thanks!
Comment #13
Wim LeersFYI: this is still super confusing for sites that upgraded from D5 or D6 to D7; they do still have numerical filter format IDs: #3095337: Text formats that are migrated from D6 to D7 to D8 get a numerical ID instead of a sensible name.