Hello all, it’s time for the biweekly 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 second 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. #3456078: [meeting] Migrate Meeting 2024-07-18 2100Z)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 👤 emoji. To take a comment or thread off the record, start with a 🚫 emoji.
| Migrate Initiative Meeting |
see below |
| Migrate Initiative Meeting |
(Original Request) https://drupal.slack.com/archives/C226VLXBP/p1740692412133349?thread_ts=... (edited) |
| benjifisher |
Another thing to come out of #florida DrupalCamp is that @Salim wants to train a LLM to do migrations. I suggested two things. |
| benjifisher |
First, the output of the LLM shoul be YAML files to run a migration. They can be inspected, audited, and tweaked. If you just push a button and get a new site, how do you audit the quality of the migration? |
| benjifisher |
Second, I said that if @Salim could find 100 simple, non-profit D7 sites, then I could find volunteers to migrate them. The site owners will be happy (I hope) and we will have some training data for the LLM. |
| benjifisher |
Who would like to help by migrating a few sites? |
| alison |
Well that's cool |
| alison |
I do not have the bandwidth for this at the moment, and idk if I'm a great candidate given that I've only ever done a few migrations (I just love (and desperately needed :laughing:) this community so I spent a lot of time here during each of those migrations).BUT. I would consider participating, if you have a need for volunteers in May/June/July! I'm tied up through April. Totally understand if that's later than you hope to be doing this. (edited) |
| benjifisher |
I do not think we will get through 100 migrations in a month or two. We might not even get 100 candidate sites ... on any particular timeframe. |
| xurizaemon |
I have worked with many non-profits and I am sure this proposal would sound appealing to folks tasked with keeping the website online.I have concerns about providing NP website databases (which are likely to contain personal contact / supporter data, and other potentially sensitive data) for LLM analysis. There is a gold rush data grab happening for data at present and once your data is included in someone's training set you won't get it out.There's a similar concern here for the volunteer pool. Even if they are all fantastic people, there's a huge handover of data to a pool of people with little recourse for the NP if something goes wrong.I know how hard it is to anonymise any single DB. I probably sound pretty paranoid right now, but please be very careful with this proposal. |
| xurizaemon |
Ah, maybe you are thinking to provide the generated migrations for each of those sites to LLM, not the source site data.That would be far less alarming to me 🙂 (edited) |
| benjifisher |
Your concerns are valid. In order to train the LLM, we have to provide it with something like the source database.I was thinking of using drush sql-san. That will at least get rid of actual e-mail addresses and password hashes from the database. As you say, it does not sanitize everything. We should be very clear about the privacy challenges.If we are asking for volunteers, we can ask them to treat the data confidentially, but I do not think we can enforce that agreement.
I probably sound pretty paranoid right now, ...
I often say that an important part of my job is to find the right level of paranoia. Too much, and work grinds to a halt. Too little, and my sites get hacked. |
| alison |
I probably sound pretty paranoid right now,
...I often say that an important part of my job is to find the right level of paranoia. Too much, and work grinds to a halt. Too little, and my sites get hacked.
Balance Is Hard |
| xurizaemon |
Awesome. It sounds like a good initiative, I hope it works. I'm very cautious of how we treat customer data and I think NGOs/NPs deserve every bit of that, irrespective of whether the labour is voluntary or not. drush sql-san is not a complete solution - it's a start point. I have seen personal data retained in lots of places it doesn't touch by default. The gaps can be filled with knowledge of the target site and some custom hooks - but that will be hard if tackling lots of sites at once.This sounds like a really interesting challenge and I love the intentions behind it. |
| benjifisher |
Vaporware: let's leverage ECA to get a UI for editing migrations (as migrate_plus.migration.* config entities). |
| benjifisher |
We obviously need this, and it fits with the "ambitious site builder" target audience. The question is how hard it will be to do. |
| benjifisher |
At #florida Drupal Camp, @cosmicdreams brought up an overlapping idea. Clearly, the time is right. |
| benjifisher |
We agree that Step 1 is to generate flowcharts in the style of ECA to visualize migrations. |
| benjifisher |
We disagree about Step 2. I want it to be editing migrations through that UI. @cosmicdreams wants it to be visualizing data flow through the flowchart. |
| benjifisher |
We agree on the end goals. The only question is what to do second. |
| benjifisher |
Once we have a flowchart, maybe we can integrate it with migrate_sandbox for data flow. What do you think, @danflanagan8 ? |
| benjifisher |
How hard is it? At the moment, harder than I had hoped. I started a thread in the #eca channel to discuss it. @jurgenhaas seems interested in refactoring things to make it easier. |
| benjifisher |
|
| benjifisher |
But, as I warned at the top of the thread, this is still vaporware. |
| danflanagan8 |
I always assumed this must be really hard because I know that there was a lot of work on Migrate UI that stalled real bad. As for Migrate Sandbox, I think it's fine for what it does. But the code's kind of a mess and my gut feeling is that starting from scratch would be smarter than trying to repurpose Migrate Sandbox into something it was never really intended to be. |
| benjifisher |
The ECA module has already solved a lot of the hard problems. It translates an ECS config entity into a flowchart. I should really say that it translates it into a "model" and that the recommended modeller is BPMN.io (as in the bpmn_io module, recommended for eca). |
| benjifisher |
You can use the modeller to inspect and edit the ECA config entity. |
| benjifisher |
How hard can it be to replace "eca config entity" in all that with migrate_plus config entity? |
| benjifisher |
Well, for now the answer is "harder than I had hoped". |
| cosmicdreams |
I still think. that's where we should start. Let's not compound the complexity of directly using ECA. Let's use BPMN.IO directly to build out a graph that looks like a migration.We anticipate that we might need to create new components for the Source, Process, and Destination that make up the ETL responsibilities of the migraiton. |
| jurgenhaas |
This indeed sounds like a good starting point. I just wonder what you mean by "create new components for the Source, Process, and Destination". The components in a BPMN based UI are the circle, arrows and rectangles. Are you suggesting changing them? Or is it that you want to map e.g. source plugins to circles, process and destination to rectangles, etc.? |
| jurgenhaas |
When it comes to executing that plan, at least the first part to extract all modeller related functionality from ECA and pushing that into a separate modeller API module, I'd like to build the architecture for that such that we can ensure seamless ECA migration and also get a second "consumer" like migrate to leverage it so that we can prove that it really is generic and functional. I want to be hands-on in that process. But resources and funding are a bit of an issue. Just throwing that in so that you know where we're coming from. |
| cosmicdreams |
Also, @jurgenhaas: I'll try to distill my pitch for how I am envisioning this module for you this weekend. I can't explain it without visual aids |
| jcandan |
As noted here, I have the start of this ready to push to a project.However, I want to get a better idea from the team here about why a BPMN diagram would be helpful. |
| jcandan |
Diagraming what I’d put together earlier…  |
| jcandan |
I realized that there’s no flow to diagram. We may as well just go with forms. (edited) |
| jcandan |
But, if we change the items charted to be the fields… |
| jcandan |
Then a flow chart begins to make more sense. We can even run into conditional or sub-process loop flows. |
| jcandan |
Anybody have any thoughts on this second approach? |
| benjifisher |
I think of the source, process, and destination sections of the flowchart as separate. The interesting "flow" is when we have a process pipeline. It gets most interesting when we use the sub_process plugin. There is also some "flow" (maybe) for nested arrays, like source -> constants -> path -> 'sites/all/files'. |
| benjifisher |
If you look at the ECA module, it supports alternatives to BPMN. One of the options is form-based. My impression is that it is perfectly functional, but no one likes it. |
| cosmicdreams |
@jcandan You can create a sandbox project and push your code there right? Somewhere somebody suggested a better name for this project that we came up with. I can't find that now. |
| cosmicdreams |
Ha! it was you. "Migrate Tools Visualizer" |
| jurgenhaas |
X-posting https://drupal.slack.com/archives/C0287U62CSG/p1741426001023289 here, as I really would like us to consider the benefits of a generic approach with all of the migrate maintainers. I think we have a huge opportunity to build something together which still serves application-specific needs, but will help us to save tons of hours while not having to maintain redundant technologies. |
| benjifisher |
@jurgenhaas: I agree with you :100: , but other people have other ideas and I do not want to discourage them from exploring those ideas. Maybe we can work in parallel tracks, and when the Modeller API is in alpha the other track can decide to start using it. I will also follow up on the thread in #eca |
| cosmicdreams |
I also like this idea. After spending a little bit of time researching different modeling apps, the complexity isn't in defining a model that the modeler's rendering engine knows how to display, but with doing anything of significance with the result. We want a Modeler API that can:
- render the kind of diagrams we need
- A UX paradigm for interacting with all the bits/states/nodes/components/whatever
- Can allow developers to be in control over these interactions for custom implementations
Simple graphing / flowchart making doesn't appear to go far enough
|
| cosmicdreams |
If I could wave a magic wand and get whatever I want, I would want a canvas like what XB built that we can create our own set of components for. The Modeler API would provide:
- An initial set of components
- Methods for parsing data into metadata (BPMN uses XML)
- Methods for parsing the metadata in a diagram
- Implement admin interactions for each component
|
| benjifisher |
At FL DC, @mrconnerton pointed out that BPMN.io is more than a flowchart editor.
I think it is possible to design the Modeler API so that it is extensible. It defines a plugin type and a plugin manager. OOTB it gives you some of what you need: displaying and editing. The bmnn_io module implements the plugin type. Then you can extend the classes from bpmn_io and add additional functionality. |
| benjifisher |
I think you are right: one "l" in Modeler. |
| cosmicdreams |
We definitely need to go down the road of using BPMN to its fullest. I've been exploring using its libraries directly, without Drupal in the mix.
So far I have seen a way to create additional components beyond the set provided by the library. I do recall us talking about that and maybe we won't need to extend. If it's not an option then we can see if not being able to extend it is really a problem |
| jcandan |
There is no need to reinvent the wheel with novel BPMN.iO components. The real work will be in determining the interaction user experience and what the flow diagram should consist of. |
Comments
Comment #10
benjifisherComment #11
smustgrave commentedSeems all threads captured