Closed (outdated)
Project:
IMP
Component:
Code
Priority:
Normal
Category:
Task
Assigned:
Issue tags:
Reporter:
Created:
17 Mar 2014 at 01:54 UTC
Updated:
27 Jun 2025 at 03:59 UTC
Jump to comment: Most recent, Most recent file
there has been some back and forth in #2200379: Upgrade UI, about using a manifest or adding 'type' to the destination. i made a pass at putting type destination configuration, but this will probably change.
i believe this is the inclusive list:
configuration:
content:
| Comment | File | Size | Author |
|---|---|---|---|
| #9 | imp-content_v_config-2219129-9.patch | 48.04 KB | mikeryan |
| #3 | imp-2219129-3.patch | 2.44 KB | bdone |
| #2 | imp-2219129-2.patch | 2.41 KB | bdone |
| #1 | imp-2219129-1.patch | 39 KB | bdone |
Comments
Comment #1
bdone commenteda patch adding type to destinations
Comment #2
bdone commentednot sure of this format, file name, or how to load yet.
Comment #3
bdone commentedwith naming suggestion from @chx and split into two.
Comment #4
chx commentedComment #5
benjy commentedThis looks good, committed to 8.x
Comment #6
eliza411 commentedI'm not sure if it's correct to re-open this or to open an new issue, but I think that the list here needs to be updated so it's reconciled with MigrateDrupal6Test
I made a spreadsheet that highlights the discrepancies between the two:
https://docs.google.com/a/happypunch.com/spreadsheets/d/1AwJ5NTvlsEsDpaI...
Comment #7
benjy commentedI've moved these files into the root of the module in d0fa9a5 to fix DefaultConfigTest
Comment #8
mikeryanOnce #2200379: Upgrade UI is committed to the sandbox, I'd like to return to tagging the migrations with a 'type' option. The hardcoded manifests were helpful to get this bootstrapped, but we'll still need to do this so contrib modules can add their migrations to the upgrade process.
Comment #9
mikeryanAll right, I've rerolled bdone's patch with the config directory move, and the UI now uses the configured destination type rather than explicit manifests to determine what to import. With this patch, D8 contrib modules can simply package migration configurations for their own content and configuration, and by specifying the type have them automatically incorporated into the upgrade process in the right spot.
Comment #10
chx commented$migrations = $this->storage()->loadMultiple();this will load everything D6, D7 and even D8->D8 when that gets written. That's not optimal. The battle plan was that based on the presence of the system table and the schema version of system module therein we detect whether the source is D6 or D7 or D8 and load the content/configuration manifest accordingly. If contrib is a concern (it is) then an alter hook is in order IMO.Comment #11
xjmComment #12
benjy commentedCan we split this up and add the type: keys to the migrations in the core queue since the D6 migrations have all been committed to core.
Comment #13
mikeryanSo, there was some discussion on this in IRC a few weeks ago, and as I recall chx was on board with adding both the type: key (for identifying configuration vs. content) and a version: (or drupal_version:?) key with values like 6 or 7. This I think is optimum DX for contrib authors supporting migration of their module's data, simply adding a couple lines to their configuration file(s) so they are processed in the right context. If that sounds OK, then I think this issue, with a patch to add the keys to the D6 configuration files, should move to the core issue queue, with a new issue in the Migrate Upgrade queue for the UI to use this information.
That all being said, where should the keys go? Initially I just added type: to the top level of the YML. I'm wondering, though, if the type should be part of the destination configuration, since it represents what kind of Drupal data we're creating (well, more-or-less, because blocks are weird). And if so, why not bake that into the destination plugins themselves? One less key in the YML...
As for the source Drupal version, this makes sense to me as a drupal_version key under source. So:
Now, looking at that, I'm thinking maybe a top-level key named 'source_version'? Thoughts?
Comment #14
joelpittetLet's close this as it's had it's day