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.

Core migration issues

Next video meeting

2021-10-07 - 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.

0️⃣ Who is here today? What is your favorite Pokemon?

benjifisher Benji, one of the maintainers of the migration subsystem.I do not have a favorite Pokemon, but maybe others do.My :imp: project at work is finishing this week, one way or another. I should have more time for Drupal contribution next week/next month.
danflanagan8 Dan was never into Pokemon, but my favorite Chinpokomon is Shoe. I'm an ordinary drupaler. (edited)
benjifisher I never heard of Chinpokemon. Link?
Matroskeen Ivan, developer and a little bit contributor :wave:Not a Pokemon fan, but I like gifs with Pikachu.
Matroskeen pickachu (137 kB)Posted using /giphy
danflanagan8 https://en.wikipedia.org/wiki/Chinpokomon
Matroskeen @danflanagan8 :wave: Thanks for the review of my several migrate issues/patches! (edited)
benjifisher Oh, South Park. I can imagine.
danflanagan8 You bet, @Matroskeen! Trying to help keep the migrate train rollin'.
benjifisher Looking at 3️⃣, it seems there are a lot of stale issues, but there is also a lot of progress NR -> RTBC -> Fixed for newer ones, and I think both of you have contributed to that. :thankful: !
mikelutz (he/him) Hi all.
quietone Hi. What is a pokemon?
mikelutz (he/him) It's a long running anime show. Gotta catch em all!
mikelutz (he/him) That's Pikachu. He's the best. :-)

1️⃣ What should we talk about today? Suggest topics here and I will add threads. I will also check for comments on the issue for today's meeting.

Matroskeen @quietone mentioned in this comment:I'll check with the other migrate maintainers.If it didn't happen yet, you can add a thread so we can continue the discussion there.
andypost Hi, would be great get more eyes on #3239298: Fix \Drupal\migrate\Plugin\migrate\destination\EntityConfigBase::updateEntity() so that config translation migrations can be rolled back it's the last blocker for PHP 8.1 compatibilityI'm not much in migrations but happy to help

2️⃣ Action items. To be added later.

benjifisher Work on #3213947: Drush core migrate commands integration refactor without support from Drush core: @benjifisher
benjifisher NW: #3239298: Fix \Drupal\migrate\Plugin\migrate\destination\EntityConfigBase::updateEntity() so that config translation migrations can be rolled back. @mikelutz (he/him)
benjifisher Reroll #3186449: Rolling back a migration implementing MigrationWithFollowUpInterface does not clear the generated follow up migrations from the cache.: @danflanagan8
quietone Update the date of the video call in meeting issue IS, when it is decided @quietone
mikelutz (he/him) Next week would be the first 2100 UTC meeting of the quarter. I forgot, but I'm up for it.
benjifisher Next week works for me. @heddn?
heddn works for me!

3️⃣ Statistics

benjifisher Fixed since last week's meeting: 4 (not counting the issue for the meeting).
benjifisher RTBC: 10, 1 of which is Major.
benjifisher NR: 37, including 4 Major and 13 that have not been updated in more than three months.
benjifisher Google sheet for recording stats: https://docs.google.com/spreadsheets/d/1o0Rjlc1vnnLP5bM5P-SMMyGzqn7258hi...

4️⃣ How can I help? Comment in this thread if you are looking for ways to help. Give us some idea of what you would like to do: documentation, code review, testing, project management, ...

danflanagan8 I'm continuing to have lots of free time and would be happy to review or write tests for any pet issues for anyone.
danflanagan8 Anything other than the Drush/Migrate Tools thing which is overwhelming!
benjifisher Can you do a reroll? See the link I posted just before today's meeting.
danflanagan8 Should be able to.

5️⃣ Previous minutes.

benjifisher Is there anything to follow up? Anything need to be changed in those minutes?
benjifisher #3236461: [meeting] Migrate Meeting 2021-09-23
benjifisher The issue says that the next video meeting will be 2021-10-14. But that is 2 weeks from today, in the earlier time slot. I think we should make it October 7 or 21.
quietone I vote for the earlier date.

6️⃣ Calling EntityConfig::import() with multiple destination IDs fails

benjifisher #3118262: Calling EntityConfig::import() with multiple destination IDs fails
quietone Since this is altering the destination I would like to see a Kernel rollback test.

7️⃣ Drush and Migrate Tools

benjifisher After last week's meeting, I tried again to convince the Drush maintainers to review my PR https://github.com/drush-ops/drush/pull/4826, but they seem uninterested.

I guess we will have to do it the hard way. :disappointed:

8️⃣ Allow menu_link source plugin to filter menu links by menu name(s)

benjifisher #3064016: Allow menu_link source plugin to filter menu links by menu name(s)
benjifisher This issue does not meet the usual test of being used in the core migrations. However, it is a simple patch and would be harder to implement in a contrib module. So far, none of the migration maintainers have objected to making an exception to the usual test.
quietone Yea, lets move that along. I have added a comment and set to RTBC.

9️⃣ Fix \Drupal\migrate\Plugin\migrate\destination\EntityConfigBase::updateEntity() to not trigger deprecations in PHP 8.1

benjifisher #3239298: Fix \Drupal\migrate\Plugin\migrate\destination\EntityConfigBase::updateEntity() so that config translation migrations can be rolled back
benjifisher I think that @mikelutz (he/him) agreed to look at that issue. Any progress?
mikelutz (he/him) Not yet, but it's still on my list for this week.

1️⃣0️⃣ DrupalCon Europe

benjifisher Next week, right?
benjifisher If we are going to participate in the contribution "event", then someone has to create an event.
benjifisher The only thing I see at https://drupalcontributions.opensocial.site/group/contribution-area-drup... is the mentored contribution.Am I looking in the right place? If so, then this structure is not working well. That is, we are not the only ones who have not signed on.
dinarcon What about scheduling a BoF? I can schedule one. Any day or time preferences? (edited)
benjifisher I am not planning to attend the conference itself. I can attend a contribution event (maybe just one day). I may even create such an event, but not today.
radelson Looks like if we want to create a topic, we only need a description and a title.
benjifisher What you really need is a commitment that someone will show up. I think I am willing to commit to one day, but I have to look at my schedule and I have too much going on at work do do it before the weekend.
radelson We have some time to contribute at work next week, I looked forward to join others and work on migrate ! By "someone", do you mean maintainers ? Well, if not, yeah, I can be there so it looks lively (probably not all days)
benjifisher Can I ping you on Saturday or Sunday to choose a day?
radelson Yes ! Thanks
quietone I certainly can commit time but will anyone in Europe be awake at the time?
radelson @benjifisher What's up ? Did you think about it ?
radelson Juste created a topic for migrate contributions during Drupalcon Europe : https://drupalcontributions.opensocial.site/group/contribution-area-drup...'ll be around the whole week I think but my timezone is GMT+1 soooo, we'll see ! @benjifisher If you decide on a day/time, let me know
benjifisher Sorry, I was catching up on sleep an working on other things over the weekend ... like #2934995: Add a "Manage permissions" tab for each bundle that has associated permissions
benjifisher The event says Oct. 4, which was yesterday. Is this an ongoing event?

1️⃣1️⃣ Process plugins are supposed to return string|array.

benjifisher API docs for the transform() method: https://api.drupal.org/api/drupal/core%21modules%21migrate%21src%21Plugi...…]ace.php/function/MigrateProcessInterface%3A%3Atransform/9.3.x
benjifisher The dom plugin (migrate_plus module) already violates this, returning a DOMDocument object.
benjifisher Are there any core process plugins that violate it? For example, returning NULL is technically not allowed.

Now that we have added phpstan to the CI pipeline at work, it complains if my custom process plugin returns NULL.

benjifisher What are the BC implications of relaxing the return type?
benjifisher What other mechanisms are there for declaring a return type?
benjifisher I like the @param comment for $row:

The row from the source to process. Normally, just transforming the value is adequate but very rarely you might need to change two columns at the same time or something like that.

Last week, I did a terrible hack: I used setDestinationProperty() in a custom process plugin, letting the source determine which destination property to set.

danflanagan8 entity_exists can return FALSE
danflanagan8 A number of others can return NULL (download, file_copy, migration_lookup, null_coalesce) (edited)
huzooka What if one has a process plugin which retuns an object?
huzooka (And e.g. the next process plugin serializes the object)
danflanagan8 I think there could definitely be use cases for returning an object, like the dom plugin referenced above. I think mixed would be a great return type!
danflanagan8 O would that have to be null|mixed?
quietone I asked larowlan about the BC implications. It seems there aren't any here, it is just a guide. Unlike the case if it was a type hint. So, shall we make an issue to update the phpdoc?
quietone Silly me, there is already an issue.
benjifisher Link?

1️⃣2️⃣ Wrap up

benjifisher Thanks for participating! I already updated 2️⃣. Please continue to add comments in the threads. In 1-7 days, we will post a transcript for today's meeting.

Participants:

Matroskeen, andypost, benjifisher, danflanagan8, quietone, mikelutz (he/him), dinarcon, radelson, huzooka

Comments

quietone created an issue. See original summary.

quietone credited Radelson.

quietone credited dinarcon.

quietone credited huzooka.

quietone credited mikelutz.

quietone’s picture

Issue summary: View changes
quietone’s picture

Status: Active » Needs review
benjifisher’s picture

Issue summary: View changes
Status: Needs review » Active
benjifisher’s picture

Status: Active » Needs review

Sorry, I did not mean to change the status when I updated the issue summary. Back to NR.

benjifisher’s picture

Status: Needs review » Fixed

I reviewed the transcript and the people given credit during today's meeting. Both look good to me.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.