Hello all, it’s time for the weekly migration subsystem meeting. The meeting will take place in slack in various threads
This meeting:
➤ Is for core migrate maintainers and developers and anybody else in the community with an interest in migrations
➤ Usually happens every Thursday and alternates between 1400 and 2100 UTC.
➤ Is done on the #migration channel in Drupal Slack (see www.drupal.org/slack for information).
➤ Happens in threads, which you can follow to be notified of new replies even if you don’t comment in the thread. You may also join the meeting later and participate asynchronously!
➤ Has a public agenda anyone can add to. See the parent issue for an idea of the typical agenda.
➤*Transcript will be exported and posted* to the agenda issue. For anonymous comments, start with a :bust_in_silhouette: emoji. To take a comment or thread off the record, start with a :no_entry_sign: emoji.
2021-07-01 - The hope is that most or all of the maintainers will attend. We will try to focus on longer-term goals than in the weekly meeting.
Add your items here.
| quietone |
Vicki, what popped into my head was handle_multiples |
| benjifisher |
Benji here. Yes, that is confusing. And the process plugins in migrate_plus that deal with that property are not any better: ssingle_value and multiple_values. |
| dinarcon |
:wave: Hello. That some source/process/destination plugins do not document its configuration configuration options in a centralized way. There is an issue ability implementing an interface for some. There are other parts like idmap plugins and some configuration options that might be daunting to grok. |
| alison |
Alison here :pikachu_wave: "stubs" are v confusingThe terminology took a while for me to grasp (source/process/destination + extract/transform/load) (P.S. I wasted time early on trying to wrap my head around both trios of words -- I was SO CONFUSED, even though somehow now I look at them and they make total sense to me??)I mention the terminology because understanding key terms is SO crucial for getting help (from Google and/or other people).(EDIT: I'm not sure my answers have to do with the API...)EDIT 2: Ok another answer that night be more appropriate:I get confused when I see D6/D7-specific plugins and non-version-specific plugins that seem to be related, ish? -- I can't even explain exactly what I mean, I hope it makes sense. (edited) |
| anmolgoyal74 |
Hi.. catching up late.. |
| gaurav mahlawat |
Catching up. :wave::skin-tone-2: |
| jibran |
Jibran, Sub process plugin, migration look up. |
| benjifisher |
We added some documentation recently for migration_lookup: https://www.drupal.org/docs/8/api/migrate-api/migrate-process-plugins/ch... |
| benjifisher |
We should add some simple examples for sub_process. (It does have a _, right?) It can get complicated, but we should start with the easy stuff. |
| benjifisher |
OK, I know that HEAD was broken for a bit on May 3, so tests were failing all over the place. I am not asking about that. |
| benjifisher |
I see issue labeled NR with merge requests, and the testbot is not running. Is something broken, or is there a step I am forgetting? |
| quietone |
I haven't noticed. Link? |
| benjifisher |
Now that 9.2.0-alpha1 is released, all the issues that were targeting 9.2.x now target 9.3.x. (There was a glitch there, too.) But the testbot still runs those patches against 9.2.x. |
| benjifisher |
#3211895: ThemeInstaller::[un]install() fails if files/css directory does not exist |
| quietone |
I had a similar problem with a patch that was RTBC. I did a retest and it still went to 9.2, I did another retest and then it was on 9.3. https://drupal.slack.com/archives/C1BMUQ9U6/p1620268924052900 |
| benjifisher |
Before the meeting, I looked at all the RTBC migration issues. They have all been updated to 9.3.x, and they have all been tested in the last two days. I think all of them were tested against 9.2.x. |
| benjifisher |
Actually, one of them had not been tested. I had to trigger a test for #2974128: Missing parameter in process plugin DefaultValue example . |
| benjifisher |
And see the thread right before this meeting: @Nick Dickinson Wilde says that the spell checker complained about a line that was not touched by the patch. |
| Nick Dickinson Wilde |
yeah - touched file but not a touched line |
| benjifisher |
#2976098: MigrateExecutable should add details for the migration & destination property to exceptions that cause a row failure |
| quietone |
I've been working on the patch, I am not sure of the next step so that Migrate Tools is not broken. (edited) |
| benjifisher |
I guess we need to review the issue for migrate_tools and get it committed. |
| benjifisher |
What about the suggestion from @wimleers (he/him) in #42 that we save the extra data in separate columns? |
| benjifisher |
It'd also open the door for a single migrate_messages table, to allow searching all migration messages with a single query, rather than dozens (or even hundreds) of migration_message_* tables.That would be a major change. I was thinking about similar questions, for other reasons. How does the sourceid_hash work? If I have a File migration and a Media migration with the same source, will the hashes be the same? If so, then we will need to use the hash and the plugin ID as a compound database key. |
| benjifisher |
@dinarcon, I did not quite follow what you wrote in 1️⃣. Maybe there was one typo too many. |
| quietone |
Which plugins? |
| benjifisher |
One of my favorite examples is the batch_size option for the SqlBase class. That is an abstract class, so I cannot call it a source plugin.batch_size is inherited by all descendant classes, but it is not easily discoverable. |
| benjifisher |
API docs for SqlBase: https://api.drupal.org/api/drupal/core%21modules%21migrate%21src%21Plugi... |
| quietone |
The docblock for mostly all source plugins have an @see to SqlBase, It was recently added in #3189481: [Meta] Add source plugin documentation to the codebase |
| benjifisher |
API docs for the d7_user source plugin do not mention any configuration: https://api.drupal.org/api/drupal/core%21modules%21user%21src%21Plugin%2... |
| dinarcon |
The issue I referred to is the one quietone shared above. The idea is that it would be easy to know what configuration options are available for all migration plugins. |
| dinarcon |
I have seen people asking what options are available for a source plugin for example. And I have found some that required digging to understand how to use them. |
| quietone |
That is odd. There are 2 @see in the file. |
| benjifisher |
So this point of confusion is well on the way to being fixed? |
| dinarcon |
Right, some configuration options come from base classes and others depend on the plugin class being used. I should have looked for concrete examples. |
| dinarcon |
For context, I created https://understanddrupal.com/articles/drupal-migrations-reference-list-c... and https://understanddrupal.com/articles/drupal-migrations-reference-list-c... pretty much manually. It would be great to have a way to programmatically generate similar reference documentation, ideally hosted on Drupal .org (edited) |
| quietone |
Ignore previous comment, somehow I was looking at 9.1.x.The link above does have the two @see statements, for User.php |
| dinarcon |
I think new configuration options have been added since I wrote those articles. So, something that can be generated automatically as configuration options are added would be nice. (edited) |
| benjifisher |
Something like a {@inheritconfg} PHPDoc tag? Of course, we have to allow inheritance and adding nee keys. |
| quietone |
Oh, nice idea. That would encourage people to look at the parent classes. |
| benjifisher |
I was thinking that we could extend PHPDoc so that it would have complete documentation in the API docs. |
| benjifisher |
I will post a question in the #documentation channel. |
| quietone |
Oh course, there is PHP8 annotations ... |
| benjifisher |
@alison, I think this counts as an answer to my question. |
| benjifisher |
I think the history is that Drupal developed its own terminology (source, process, destination) before anyone pointed out that there are more standard terms for these. |
| alison |
I had a moment just now where I thought we remotely jinxed or something, I didn't catch on that you were adding topics for each point of confusion people listed haha |
| benjifisher |
What can we do to relieve the confusion?Replace source, process, destination with extract, transform, load.Use both sets of terms together in all of our documentation.The overview page uses the ETL terms: https://www.drupal.org/docs/drupal-apis/migrate-api/migrate-api-overviewBut I do not think we use them anywhere else. |
| alison |
That history makes sense to me.And, it took me a while to understand the terminology even without there being "duplicate" terms -- I can't explain why it was confusing, which is a bummer, I wish I could -- it's one of those things that totally makes sense to me now, and I don't remember what I didn't understand :confounded: |
| alison |
(so to be clear, I was confused about the terminology anyway, it wasn't just the overlapping words) |
| alison |
I think the use of both sets of terms on the overview is useful. I wouldn't want to double-up everywhere. I'll think about it, tho. |
| alison |
But also, I think it's just, tricky stuff, when it's new to you/ til you get it. I'm glad I was able to be confused and figure it out before actually doing migration work. If I were helping someone get started, I would encourage them to spend time wrapping their head around the concepts beforehand or early on -- not everyone learns like that, of course, and I think I imagine myself as someone who learns by doing, but I'm glad I got a handle on the words first. |
quietone, benjifisher, dinarcon, alison, anmolgoyal74, gaurav mahlawat, jibran, Nick Dickinson Wilde
Comments
Comment #3
benjifisherWe might discuss whether to use the label "Upgrade messages" or "Migration messages" and whether it belongs in the Migrate module or Migrate Drupal UI: #3063856: Add ability to view migrate_message table data.
Comment #10
quietone commentedComment #11
quietone commentedComment #12
quietone commented