Hello all, it’s time for the weekly migration initiative 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 here: https://www.drupal.org/project/drupal/issues/3158024. 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: RTBC, NR, all open.

0️⃣ Who is here today? Did you sleep well last night?

mikelutz Michael Lutz - Fair, according to Fitbit, I got a sleep score of 78/100, 6hr, 29 minutes asleep, 59 minutes awake, 12% restless. (not sure if you wanted that much detail) :stuck_out_tongue: (edited)
benjifisher I had insomnia. I also have a Fitbit: 63/100, 6:23 asleep, 1:41 awake
heddn Lucas, I think I slept well. I was asleep so I'm not 100% sure if I tossed and turned the whole time or not. I don't think I did, because my wife would have told me if I had.
benjifisher My wife had insomnia, too.
Bisonbleu Will you forgive a stranger who overheard your conversation for barging in…I was awake at 4h with langcode: fr statements and paragraphs_item_field_data and migrate_map_ tables floating in my head… oh and an unknown girlfriend…Migrations will do that to a newbie I guess :wink:
benjifisher Will you forgive a cultural stereotype? The phrase "unknown girlfriend" seems very French. Do you attribute that to the migrations? :wink:
Bisonbleu Hm… interesting, in what way does it appear very French? Disclaimer: I don’t have a girlfriend at the present time, and the lady in my dreams I have never met before :thinking_face:
damienmckenna Catching up after the fact.
mikelutz I've been doing migrations for a long time, they still give me nightmares..
mikelutz Just like I finished college 20 years ago and still have nightmares about a surprise final that I haven't studied for.
dinarcon Hi :wave: Catching up with the meeting.
quietone Hi, also catching up.

1️⃣ What should we talk about today? Suggest topics here and I will add threads.

quietone A big thank you to daffie for reviewing and RTBC'ing #3110669: Migrate d7 menu language content settings

2️⃣ Action items. To be added later.

benjifisher #3006750: Remove memory management from MigrateExecutable: @quietone, can you move this issue forward?
benjifisher #3134470: Switch to entity owner in EntityContentBase during validation: @heddn
benjifisher #3047328: Allow logging for non-strings values: @benjifisher
benjifisher #3063856: Add ability to view migrate_message table data: @benjifisher

3️⃣ Statistics

benjifisher There was a push by the core committers to close out RTBC issues. At one point, there were only two RTBC issues in the core migration system.We skipped last week's meeting, so it has been two weeks since I last recorded this.
benjifisher Fixed (in the last two weeks): 12
benjifisher RTBC: 7, including 1 Major and 1 more than a month old (edited)
benjifisher NR: 42, including 3 Major, 3 that are nearly 2 months old, and 20 more that are more than 1 month old. (edited)
benjifisher I did not count meeting issues in the Fixed count. In all cases, "old" means since last comment.
benjifisher The NR list is long. The total number has been fairly steady, but there has been movement (new issues added, others resolved).

4️⃣ Move memory management from MigrateExecutable to an event subscriber

benjifisher #3006750: Remove memory management from MigrateExecutable
benjifisher I suggested major changes to make the new class more testable. I was outvoted: that can be done in a follow-up. Current status is NW, to address a few points in Comment #62.

5️⃣ Switch to entity owner in EntityContentBase during validation

benjifisher #3134470: Switch to entity owner in EntityContentBase during validation
benjifisher Feedback requested at the last meeting. There was feedback on Slack and a review posted on the issue. Current status is NW.
heddn I need to circle back and post a new patch

6️⃣ Allow logging for non-strings values

benjifisher #3047328: Allow logging for non-strings values
benjifisher This is the oldest of the NR issues. I will review it before the next meeting.
benjifisher Good news: I reviewed it.Bad news: I set it back to NW.

7️⃣ Why not make messages into entities? (edited) 

benjifisher It would not be hard, and then they would be available to views. We could use views or entity queries instead of direct database queries when listing them.
heddn Sure, great idea. We could probably even wrap the existing message tables (maybe) or do something.
heddn BC is always a concern
benjifisher Yes, BC is a great motivator to get things right the first time around. ;)
benjifisher If we add a MigrateMessage entity type, and the bundles correspond to migrations, then maybe we can use the same table names. The annotations on the entity class can be used to map the required keys to the existing database fields (columns).If we have to add new columns, then there is a BC issue: someone may have custom queries that join with other tables. If they use a field name from another table and do not specify which source table it comes from ...
benjifisher We would have to rewrite the code that manages the map and message tables. They are created dynamically, and I think they are truncated at some point. Are they ever explicitly deleted?
heddn there is an API for deleting them. truncating is done manually.
steinmb Late, I know. Are there performance regression by turning them into entities? Except that concern from me, it is a good idea.
heddn probably not as all properties would be columns on a single database table. i.e. the fields would be base fields

8️⃣ Expose full set of debugging data in migrate_message table (filterable/searchable)

benjifisher #3063856: Add ability to view migrate_message table data (edited)
benjifisher There has been some progress on this issue, currently NR. I owe a review of the latest patch, worked on by @Fredy and @quietone.
benjifisher One thing worth discussing: the original proposal was to have a single page, and one of the filters would select the migration. The current patch, modeled on Migrate Tools (?) has a summary page with links to separate pages, one for each migration. Those pages allow you to sort, search, and page through results.
benjifisher I think I like the idea of a summary page, showing you which migrations actually have messages (and how many). I certainly do not want to select one migration at a time and reload the page to find out that there are not any messages!With the original proposal, I guess we could disable (or even remove) the options corresponding to the migrations with 0 messages.
benjifisher We need screenshots!
benjifisher I did some manual testing and added screenshots. Back to NW. Thanks to @heddn for adding a link to an issue related to one of the bugs I noticed.@quietone or @Fredy, can you update the patch?

'9️⃣ Add a migration source plugin for JSON:API

benjifisher #3150949: Add a migration source plugin for JSON:API
benjifisher @mglaman mentioned that someone might have started this already with a Commerce application in mind. I have not seen any follow-up. AFAIK no one made any progress here, although it was a suggested issue for DrupalCon contribution.
mglaman I forgot to follow up. Posted message https://drupal.slack.com/archives/C1TLCCF9B/p1595514236160200
benjifisher Thanks! There are no new comments on the issue since then, so maybe we are not so lucky.
benjifisher On the issue, I already mentioned this 2016 blog post by @KarenS: https://www.lullabot.com/articles/pull-content-from-a-remote-drupal-8-si...
benjifisher Here is part of the configuration from that post:source: plugin: url data_fetcher_plugin: http data_parser_plugin: json urls: http://sourcesite.com/jsonapi/node/article ids: nid: type: integer item_selector: data/ fields: - name: nid label: 'Nid' selector: /attributes/nidOne place we might start is with a failing test, and this gives us an idea of what the test migration would look like. We would use the new jsonapi source instead of the url source from Migrate Plus (?) with its data_* options.For testing purposes, we would want to support getting the JSON from a file as well as from http.IMO it is important that the source plugin manage paging. That is part of what it means to be a JSON:API source and not a JSON source. I am not sure how to test that. I guess the primary source file has a "link" to the "next page" of results. I have not looked at the JSON:API spec: does this break it? That is, does the spec allow file:// for links as well as https://?
heddn yes, paging is required (I think)
benjifisher Does the spec give us enough information that we can leave off the fields: section of the source config? That would be sweet.
heddn probably. we could dynamically surface it most likely
benjifisher I looked at Links in the spec: https://jsonapi.org/format/#document-links. A link object has to contain a URL, but it does not say anything about the protocol of that URL. The examples are all http:// , but I do not see any reason not to use file:// for testing purposes.
mglaman It could be any protocol AFAIK

1️⃣ 0️⃣ Wrap up

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

Participants:

mikelutz, benjifisher, heddn, Bisonbleu, dinarcon, quietone, steinmb, mglaman, damienmckenna

Comments

benjifisher created an issue. See original summary.

benjifisher’s picture

We will not have a meeting on 2020-07-16, since that will be during DrupalCon Global. I will update the title of this issue to 2020-07-23, but not until the original date has passed.

We will have a BoF at DrupalCon Global: see the BoF schedule.

We will also have a "virtual table" during contribution day: please join the Migrate API contribution group.

benjifisher’s picture

Title: [meeting] Migrate Meeting 2020-07-16 » [meeting] Migrate Meeting 2020-07-23

We skipped the 2020-07-16 meeting because of DrupalCon Global. I am repurposing this issue (i.e., changing the title) for 2020-07-23.

benjifisher’s picture

Issue summary: View changes
benjifisher’s picture

In case anyone is curious, the first few agenda items are

  1. Suggested topics
  2. Action items
  3. Statistics (how many issues Fixed, RTBC, NR)

Anyone can contribute to (1) and we will add a thread for it.

We fill in (2) after the scheduled meeting, and add threads for any open items from the previous meeting's action items.

benjifisher credited heddn.

benjifisher’s picture

Issue summary: View changes

benjifisher’s picture

benjifisher’s picture

Status: Active » Fixed

Status: Fixed » Closed (fixed)

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