Google Doc
You might find the Google Doc for this meeting (from which the notes are copied) to be easier to consume and to include additional detail (e.g. comments) not present in this issue. If this meeting hasn't happened yet, find and add to the agenda in that doc anytime before the meeting.
Member Platform Meeting
February 12, 2026 at 10:00am CST
Meeting Notifications, Agendas, Past Notes, Slack Channel
See [Meta] Member Platform meetings
Who is here?
Include your Drupal.org username in parentheses if you have one.
- JD Leonard (jdleonard)
- Scott Wolpow (scottwolpow)
- Bob Snodgrass (bsnodgrass)
- James Shields (lostcarpark)
- Steve Ayers (bluegeek9)
- Erica Stevenson (speckles)
- Luke McCormick (Cellear)
- Adam John (mradamjohn)
- Janice Chow (janiceychow)
What Topics Should We Discuss? / Limited Human Notes
- Recording
- Quick introductions
- Track statuses and next steps
- Event management / event registration
- Composing/sending emails to members
- Member profile and directory
- Membership tracking (CRM Membership; not needed for MP 1.0, but high current interest)
- CRM
- Wireframes / mockups
- Documentation
- Coworking time following the meeting
Action Items
Fathom AI Summary
VIEW RECORDING - 137 mins (No highlights)
Meeting Purpose
Review track statuses and test CRM integration with MailChimp.
Key Takeaways
- CRM Beta Progress: The CRM module is nearing completion of a key feature: mapping person contact fields to user entities. This enables user profile editing and registration form data collection.
- MailChimp Integration Success: A live demo proved CRM can sync with MailChimp. The key is adding a MailChimp subscription field to the person contact type, which enables the MailChimp module's mapping UI.
- Critical Blockers Identified: The demo revealed two critical bugs: a persistent hash error in the MailChimp module and a missing field_ui_settings config that blocked field creation. Both require community fixes.
- New Use Cases Driving Development: Luke McCormick (SFDUG/BadCamp) and Bob Snodgrass (MidCamp) are adopting CRM, providing real-world data and integration challenges that will guide future development.
Topics
CRM Module Status
- Key Feature Nearing Completion: Mapping fields from the person contact type to the user entity.
- Rationale: Allows users to edit their own profile data and enables data collection on registration forms (e.g., address, t-shirt size).
- Scope: Intentionally limited to the person contact type to enforce correct data modeling.
- New Dependency: The image module is now a required dependency for CRM.
MailChimp Integration Demo
- Goal: Test syncing CRM contacts with MailChimp, a critical step for user groups like SFDUG.
- Initial Blocker: A persistent hash error in the MailChimp module prevented connection.
- Resolution: An AI assistant (Claude) provided a temporary drush config set workaround.
- Root Cause: A missing field_ui_settings configuration, likely a local anomaly, was the underlying issue.
- Successful Sync: After resolving the blocker, the demo confirmed bidirectional sync works.
New Use Cases & Data Import
- SFDUG/BadCamp (Luke McCormick):
- Challenge: Consolidating data from a fragmented ecosystem (Meetup, MailChimp, Luma).
- Proposed Solution: Install CRM and sync with MailChimp as a first step toward making Drupal the source of truth.
- MidCamp (Bob Snodgrass):
AI as a Development Tool
- Application: AI assistants (Claude, Copilot) were used to diagnose and resolve the MailChimp integration errors.
- Discussion: The team debated the impact of AI on junior developers, weighing its potential to accelerate tasks against the risk of hindering foundational skill development.
Next Steps
- Luke McCormick: Install CRM and the MailChimp module to begin syncing SFDUG/BadCamp data.
- Bob Snodgrass: Test importing MidCamp contact data using the Feeds module.
- JD Leonard:
- Create a test MailChimp audience to continue testing the integration without affecting live data.
- File a bug report for the MailChimp module's hash error.
- All:
Action Items
- Add Image field to CRM; verify update path; Bob test update - WATCH (5 secs)
- Create CRM issue branch re: Image submodule vs required Image - WATCH (5 secs)
- Install CRM + MailChimp on SFDUG site; map fields; test sync - WATCH (5 secs)
- Install Feeds; import Bob's CSV (contacts+orgs+relationships) - WATCH (5 secs)
- Open MailChimp Lists issue re: hash/config error; propose fix - WATCH (5 secs)
Fathom AI Transcript
VIEW RECORDING - 137 mins (No highlights)
@0:00 - Scott Wolpow
Thank JD.
@0:11 - JD Leonard (modernbizconsulting.com)
Good morning. Thank you, Scott.
@0:15 - Bob Snodgrass
Yeah, JD. Hey, Scott. Hey.
@0:27 - Scott Wolpow
God, it's getting faster. The weeds are going by faster and faster.
@0:32 - Bob Snodgrass
Tell me about it. Hey. go. Yeah. Yeah. All right. Steve, I haven't been running away from you. I just haven't had time.
Yeah, I mean, they may also be prepared to help with Meetup, it sounds like, and some other expenses. Yeah, good.
Okay. Well, we can look into it, but I have a whole list of Meetup user group stuff I've to work on.
Not a pressing issue, just free money. I just haven't got there yet. I was out a good part of the day on Tuesday for my wife's second cataract surgery, so I've been a nurse and a driver the last couple days.
I'll take some free money.
@2:51 - JD Leonard (modernbizconsulting.com)
Always taking free money.
@2:53 - Bob Snodgrass
Just wire that six-figure amount over, please. I'm sorry, do you run a Drupal Meetup?
@3:00 - JD Leonard (modernbizconsulting.com)
I do. Yeah, he does.
@3:03 - steven.ayers
Wow. Wow.
@3:04 - Bob Snodgrass
And I was thinking maybe we should collaborate on a sponsor for Central Time Zone Meetup. You know, Central Time Zone, too.
We don't have any expenses, though.
@3:18 - JD Leonard (modernbizconsulting.com)
Yeah. Well, maybe we should.
@3:20 - Bob Snodgrass
I don't know. Who's doing the next one, by the way? We've got to figure that one out, too. But that's a side topic.
We're on a member platform right now, right?
@3:31 - JD Leonard (modernbizconsulting.com)
In theory, yes.
@3:32 - Bob Snodgrass
In theory.
@3:38 - JD Leonard (modernbizconsulting.com)
I put a link to the meeting notes in the Zoom chat. It's also in Slack. Please hop on in and add your name.
Okay. dies. Let's
@4:08 - Scott Wolpow
Thank you.
@4:30 - steven.ayers
So I think it might not be the end of the world if we added the image module as a dependency.
@4:37 - JD Leonard (modernbizconsulting.com)
Whoa.
@4:40 - steven.ayers
Yeah. freezing over. I prefer to start from the position of can it be done without adding it as a dependency.
@4:54 - JD Leonard (modernbizconsulting.com)
Sure.
@4:58 - steven.ayers
Still, hell, it's pretty cold today.
@5:03 - JD Leonard (modernbizconsulting.com)
I noticed that everyone is responding in a Slack thread.
@5:09 - Scott Wolpow
Well, no, we're not supposed to.
@5:11 - JD Leonard (modernbizconsulting.com)
Well, Scott started the trend, but seeing as you all reliably make it to these meetings, the reason for that would be just if you want it, like, I mean, there's actually no prompt suggesting that.
So, to the meeting notes, to the meeting notes. Don't we like redundancy?
@5:33 - Scott Wolpow
Well.
@5:36 - JD Leonard (modernbizconsulting.com)
Steve, do you like redundancy?
@5:41 - steven.ayers
No comment. That's what I thought. I like the LORX keyboards.
@5:57 - JD Leonard (modernbizconsulting.com)
That disqualifies you from voting. voting. Welcome, everyone. Let's get started. I think we all know each other here. So let's skip ahead to track statuses and next steps.
Does anybody have an update on event management and event registration?
@6:25 - Bob Snodgrass
Not really.
@6:26 - JD Leonard (modernbizconsulting.com)
I saw John Oltman noted that he will have a new release of entity registration out this weekend. I don't know whether that includes anything.
I don't know.
@6:36 - Bob Snodgrass
I don't know if it much. Did that happen or not? It's a little unclear.
@6:44 - JD Leonard (modernbizconsulting.com)
There's been work in an issue about it. I'm going to guess that's not a part of this upcoming release.
Yeah.
@6:51 - Bob Snodgrass
Okay.
@6:55 - JD Leonard (modernbizconsulting.com)
Anyone else on events? All right. Anybody on composing or sending emails to members?
@7:06 - Scott Wolpow
No, I'd to try and get together with others on that action group and sit down and have a talk on more actions.
I know we can schedule time. We can do that.
@7:25 - JD Leonard (modernbizconsulting.com)
And anyone on member profile and directory?
@7:34 - estevenson
Oh, I know. I personally have been out of the loop, and I'm trying to get back into it. So technically, I might be able to, kind of, but yeah.
But this is just asking for updates, just to clarify.
@7:47 - JD Leonard (modernbizconsulting.com)
This is for updates, but volunteers also welcome. Okay. And I think, let me see here. If you're interested in member profile and directory, there's...
There's a thread for you to respond to in Slack to connect with those to kick off. Anybody on membership tracking?
updates? Didn't think so. CRM! Steve, I know you have some things to say.
ACTION ITEM: Add Image field to CRM; verify update path; Bob test update - WATCH
@8:20 - steven.ayers
So, right, I guess there might be a new release maybe today. No.
@8:30 - Scott Wolpow
I'm going to, I guess we're going to add the image field.
@8:34 - steven.ayers
You can delete it if you want, but, you know, it's going to be useful. So, I mean, kind of would me doing something like installing the latest and just trying to do just a smoke test on it be helpful?
You could do that. I mean, there's some issues in the backlog. I don't know. I don't think we have any bugs.
I
@9:02 - JD Leonard (modernbizconsulting.com)
Just one, the one that I added last night.
@9:09 - steven.ayers
Well, I stand correct.
@9:12 - JD Leonard (modernbizconsulting.com)
But yes, I would say, Erica, yes, smoke testing, helpful, familiarizing yourself of what's there, helpful, identifying any opportunities for improvement, helpful.
Yes, all of above. Anything else on CRM?
@9:30 - steven.ayers
Oh, yeah. mean, there's this, I mean, there's a handful of items that are keeping us in beta. One of them is pretty close to being completed, right?
It's allowing the fields on the person contact type to be put into the form and view displays as fields in the person, like in the user that they're mapped to.
So we've seen, right? Kind of. Contacts is a separate project, and they use users, right? So there are some use cases out there where people are expecting fields or other data to be on the user, and this just sort of accommodates for that.
It also lets you include stuff like on the registration form when somebody signs up, like if you need their address or their drupal.org username or their sci-fi convention alias or...
I guess their head size, right, if they need a cap or something. You know, whatever you need. And it's fieldable.
@10:37 - JD Leonard (modernbizconsulting.com)
For the record, I've got an extra large head.
@10:42 - James Shields
Ah, but do you know your measurements?
@10:44 - estevenson
I sure don't.
@10:48 - Bob Snodgrass
I was told once you need that to buy a hat as opposed to a cap.
@10:55 - estevenson
I mean, like, if I had to think of where it could come up, it's definitely inside cosplay. it it come
When they're talking about making wigs, go, sort of, I've got a friend who's into that. then, you know, kind of extreme, like, very precise measurements are important for that.
@11:08 - steven.ayers
I don't know if they're precise measurements, but Florida Drupal Camp, for example, if you tell them your shirt size before they send it to the printers, they will give you a shirt.
So, Steve, the contacts module has any type of contact as a user, right, including organizations. It does, and that's just wrong, so.
@11:36 - JD Leonard (modernbizconsulting.com)
Right. So that's not something that this feature supports. It only supports person contact types. Well, it supports any contact type that can be mapped to a user, which includes and only includes person.
Is there a way to, an easy way to map an additional contact type?
@11:59 - steven.ayers
No. it's intentionally designed to not allow you to do that.
@12:04 - JD Leonard (modernbizconsulting.com)
That's what I thought. Just checking. Because that would be wrong.
@12:07 - estevenson
It would. Kind of. I'm entirely on board with this.
@12:10 - steven.ayers
I mean, put a relationship to the organization, right? You're, well, whatever it is. But I try not to have a lot of like, you're doing it wrong rules, but this is like the only one.
Like, you're not going to map, I'm not going to let you map cats to people.
@12:32 - JD Leonard (modernbizconsulting.com)
Save that for the ecosystem. And then back to the image field. So you're thinking about adding the image field as an optional config?
No. Or as a default? It's required.
@12:53 - steven.ayers
It's a dependency you have to have. Well, you can delete the image field from the contacts. But the. The image module is a dependency and will be installed when you install CRM.
@13:07 - Bob Snodgrass
Will it be installed when you update CRM?
@13:10 - steven.ayers
It should be. That's the last thing I need to check. Okay.
@13:14 - Bob Snodgrass
I can test that for you if you want.
@13:18 - JD Leonard (modernbizconsulting.com)
Is there not a useful middle ground of having a submodule such that you don't have to have the image module enabled if you're not using this feature?
@13:31 - steven.ayers
That seems like more work than the complicated way I had it set up to check to see if the image field is installed or if you are installing the image field and then responding as such.
ACTION ITEM: Create CRM issue branch re: Image submodule vs required Image - WATCH
@13:45 - JD Leonard (modernbizconsulting.com)
I don't know if the submodule is more work.
@13:52 - steven.ayers
You can create a separate branch on the issue and propose your solution there.
@13:58 - JD Leonard (modernbizconsulting.com)
See what you did there. there.
@14:00 - estevenson
Duocracy at its finest. Very good.
@14:06 - JD Leonard (modernbizconsulting.com)
Anything else from CRM?
@14:10 - steven.ayers
Not really, just, you know, this would then give us two issues. If the field thing gets merged in, then we have two things keeping us in beta.
Yes, you've said that already, Steve.
@14:27 - JD Leonard (modernbizconsulting.com)
And February 20th, there is a CRM talk at Drupal Camp Florida, sorry, Florida Drupal Camp by Steve and JD.
@14:44 - steven.ayers
At least that's the rumor.
@14:47 - JD Leonard (modernbizconsulting.com)
I will be there, by the way.
@14:50 - Bob Snodgrass
Excellent.
@14:51 - JD Leonard (modernbizconsulting.com)
You have to create the presentation first.
@14:52 - steven.ayers
I assume it was the Drupal Camp themed stickers that brought you over the top?
@14:59 - Bob Snodgrass
No. Well, it was finally talking my wife into taking a vacation to Florida at the same time. So, you know, I'm just trying to be sneaky to sneak in a Drupal camp.
But it might work. It will work.
@15:21 - JD Leonard (modernbizconsulting.com)
And I think if anybody would like to give a similar presentation at a different Drupal camp, we would be happy to provide materials and send you on your way.
@15:36 - steven.ayers
There is a Ottawa meetup, Drupal meetup group. They are doing something, I think, the 19th. Or at least that's what I'm led to believe based off the drop times.
@15:51 - estevenson
19th of February or 19th of March?
@15:55 - Bob Snodgrass
February, I think. Okay.
@15:57 - estevenson
That would be a tight timeline. timeline. But yes, no, I'm going to Google that, because technically I'm inside Canada, so Ottawa's probably not, but on the other hand, it's a way to sort of get into it again.
@16:12 - JD Leonard (modernbizconsulting.com)
That's true. It forces you to dive in. That's how I usually choose my conference presentations I submit. It's something I don't know much about, so that I have to go learn about it.
All right. Anybody with an update on wireframes or mockups? All Anybody with an update on documentation, functional specs, et cetera?
@16:41 - steven.ayers
I mean, there's more stuff in the CRM docs, but that's not really the member plan.
@16:48 - JD Leonard (modernbizconsulting.com)
No. Alas. Well, short meeting then. Does anybody have a topic that they think would be valuable for the entire group to discuss?
No.
@17:04 - steven.ayers
What about a meetup replacement, right, with membership? What is less than a 1.0? Steve, we've had these meetings for several months.
We've already discussed this. Please go back. No, I'm specifically thinking about camps and meetups. Odds are probably a little too much for us.
But I've heard discussion about integration with event platform. And I really don't know anything more than I've heard stuff.
And.
@17:44 - JD Leonard (modernbizconsulting.com)
Well, we lost him, but we got a good still of him picking his nose. Nice. And so.
@17:56 - steven.ayers
We'll give you the benefit of doubt.
@17:58 - Bob Snodgrass
We think you were just rubbing it.
@19:00 - JD Leonard (modernbizconsulting.com)
And then we write some of the stuff down, but kind of in multiple places. And there's some confusion. So we kind of need, we need some, some effort from folks to get, get that stuff in one place and agreed upon.
Right. And I feel like the tracks are one way we could do that. Right. And try to get people to get that definition done.
Right. Like the first work should be towards 1.0, not beyond 1.0. All that said, I do wonder if we should reduce our scope further.
For example, while event management and event registration is so critical for say, meetup groups, right? It's also something that could come after the other things.
Right. There's no point in having event registration capabilities. Stuff is based upon Atlanta, Doug, and their requirements. So, like, I think we're kind of already in that direction.
We just need to actually move forward.
@21:16 - Luke McCormick
I'm willing to specifically put my two related things, because it's kind of a use case for this. Batcamp and SFDoug are on Meetup, MailChimp, we're pulling in Luma.
We've got a Drupal.org group. It's a mess. We hate it. I was involved in sort of a contentious thing this week where people tried to get me to drop Meetup and move over to Luma.
And, you know, I resisted. was like, well, you know, Meetup sucks, but look, everything else is unproven. Willing to move it along.
And I mentioned us as part of that. So I'm anxious to plug in any piece you think might work, at any point you think it might work, and tell you what it does.
I've got a couple different pools, each with, you know, 1,000 to 1,500 names. Lots of sort of incomplete edge case things.
Like, for example, know, Meetup has, you know, a solid list of names, and they won't give us the email addresses.
So I've got kind of a use case in my mind, ways, and thinking about it, to map the meetup.com names and histories and things like that, to, I have their email, you I have a lot of their email addresses.
@24:00 - JD Leonard (modernbizconsulting.com)
Understand the scope and, you know, the requirements and invite anybody to cut me off, interject, et cetera. So you mentioned having like 1,500 names or something, right?
But you don't have contact information for most of those names, right? Well, let's oversimplify it.
@24:19 - Luke McCormick
I mean, we've got lots of contact information, lots of names in various ways.
@24:24 - JD Leonard (modernbizconsulting.com)
You don't have direct, you don't have a direct database of those, you know, file of that contact information at this time.
@24:33 - Luke McCormick
No, not a single one. I, sorry, I do have that for the 1,500 names in MailChimp. Ah, okay.
@24:44 - JD Leonard (modernbizconsulting.com)
And is the data you have in MailChimp expected to flow into this? Oh, yeah, absolutely.
@24:52 - Luke McCormick
We want to, we want to combine all these however we can.
@26:00 - JD Leonard (modernbizconsulting.com)
And so just thinking about like what the minimal viable steps are to get you onboarded to something and that moves in the direction of utility, given that MailChimp is something you're actively using, right, to send out emails and you've got data there, right, that is like real people with contact information, which is kind of what you're looking for.
ACTION ITEM: Install CRM + MailChimp on SFDUG site; map fields; test sync - WATCH
I wonder if an interim next step would be for you to spin up CRM and the MailChimp module and just simply sync the data between MailChimp and Drupal contacts as a first step toward, you know, an eventual migration of data into Drupal as a, you know, source of truth.
@26:49 - Luke McCormick
Yeah, yeah, yeah, totally. You know, as I said a few minutes ago, I'm happy to, you know, plug any bits of working code.
That sounds like a bit of working code. So I'm happy. Happy to plug that in and see what it is.
And I can make Member Platform the source of truth for whatever we can get there.
@27:11 - JD Leonard (modernbizconsulting.com)
Yeah. The other things are just sitting around, like, you know, doing their functions because we have them.
@27:17 - Luke McCormick
We're cuddling together. But we're happy to abandon everything that Member Platform is able to take over instead.
@27:23 - JD Leonard (modernbizconsulting.com)
So I'm kind of moving in the same direction for my neighborhood association. It's like, what can I do right now while I could install CRM and I can sync it with our MailChimp?
It's kind of basically where I'm at. And then my next step beyond that will be to move our memberships into a Stripe thing on Drupal.
So then our membership information makes it into Drupal, which makes it into MailChimp. So that's, you know, kind of the direction I'm going.
It sounds like you've got an analogous sort of situation in some ways.
@27:56 - Luke McCormick
And then when event registration is ready.
@27:59 - JD Leonard (modernbizconsulting.com)
And Right? For contacts, like then we can lump that in. I suppose with what Steve mentioned, right, of this new feature that's coming of being able to map fields, right, from person contacts to users, such that a user can just log in and edit, you know, their profile fields and stuff like that that they have permission to, to edit.
Presumably, you could have an interim step, it would be a little messy from like a data cleanliness perspective, but you could have an interim step of the associated users being registrants for events using entity registration.
I don't know that I would do that, because what I really want to track are the contacts being registered, not users, that is a subset of the contacts, right?
Like, just gets kind of messy, but you could do that if you wanted to be a little more gung-ho.
Sou bro.
@28:58 - Luke McCormick
I can Kada. know. You Sure. I didn't understand some of those words, but I mean, the basic concept sounded pretty good.
@29:05 - Bob Snodgrass
I have a question for Steven on this one. So you get a clean list that you've got in the CSV, right?
You want to bring it in to the contacts and organizations, adding organizations as contacts as well from that list.
Is that something that we have tried or set up yet with feeds or some other mechanism?
@29:35 - steven.ayers
No. I have written some code, though, that should allow it to work. Entity reference has... Part of this project means you learn all types of little inner things about how Drupal works.
@29:54 - Bob Snodgrass
Yeah, yeah. There is a...
@29:56 - steven.ayers
What is it? A value negotiator or... There is this class I had to write for primary entity reference so that you can, instead of referencing target underscore ID or primary, you can also reference entity as a property on it and have it do some sort of lookup stuff.
If, so there's a, CRM Simpsons is a recipe that will import Simpsons characters so that there are test data, right?
The cartoon, there's characters, relationships, right? So that has to be able to look up things by UIDs correctly. So it should work, but I haven't used feeds directly, I guess is what I'm trying to say.
@30:45 - Bob Snodgrass
I, because, because what, what my situation is, and it may be kind of similar to what other people will have to deal with, is that I've got a CRM that has some deduping tools in it where I can.
D-dupe those contacts. This CRM has the organization as well within the contact record. So I've got to figure out how do I get that in to be able to put the contact record in, have the organization record created, and also have the relationship between that contact and the organization.
@31:28 - steven.ayers
Can I ask you what brand CRM you're using?
@31:32 - Bob Snodgrass
That I was going to try and dig into a little bit in the not-too-distant future. What brand CRM are you using?
One-page CRM.
@31:44 - steven.ayers
Okay. I'll see if there's an API on that just to make it simple.
@31:50 - Bob Snodgrass
I think that there might be an API on it. I know we've got it connected to MailChimp. I know
I think that there are some other applications created, so I'm pretty sure the API is there.
@32:10 - steven.ayers
I see it. Okay. So you would de-dupe them in this tool, and then you were thinking you would export them as like a CSV file?
@32:24 - Bob Snodgrass
Yeah, I already have a CSV file that I've exported out of it recently. That I was going to use as a model for this on a test data set.
@32:39 - steven.ayers
This is unrelated to things like the meetup? This is like a project of yours?
@32:45 - Bob Snodgrass
It is kind of unrelated to the meetup, but it's related directly to mid-camp, for instance. We had gone through and gathered meetup organizers, camp organizers, companies that do...
@33:08 - steven.ayers
We could look at importing it with a CSV file, but just an initial look at the API, it might just be easier to, like, build a separate project and just use the API directly.
@33:23 - Bob Snodgrass
Okay. That's something we want to just put on the side in one of the tracks, the CRM track, maybe, because that's directly related, I guess, to, you know, getting data into the CRM part.
@33:44 - steven.ayers
So this is like a mid-camp contact database then?
@33:49 - Bob Snodgrass
Yeah, I have two. have one that I use for my company, and I have one that I use for, that we use for mid-camp.
@34:00 - JD Leonard (modernbizconsulting.com)
Figuring out CSV import would be a good general purpose.
@34:03 - Bob Snodgrass
I agree.
@34:06 - steven.ayers
CRM track task.
@34:07 - JD Leonard (modernbizconsulting.com)
Yeah, it would.
@34:07 - Bob Snodgrass
We wouldn't need a real big data set to do that with either, I don't think. It might be counterproductive to use a big data set, but certainly we want one that's got a mix match of, I've got just an organization, or I just have all the contacts in an organization, or I have just one contact in an organization.
organization. So a good mixture of those things would be a good test case. In that case, I don't have to worry about.
I have a pretty good handle on what the data looks like.
@34:48 - JD Leonard (modernbizconsulting.com)
What do we think our next step is on that?
ACTION ITEM: Install Feeds; import Bob's CSV (contacts+orgs+relationships) - WATCH
@35:00 - Bob Snodgrass
Programmatically, don't know.
@35:02 - JD Leonard (modernbizconsulting.com)
Install feeds and see what doesn't work?
@35:04 - Bob Snodgrass
Yeah, I mean, I could just try it. I could just try it with the local database that I've got set up for CMS2 and CRM.
Got a local project set up with both those in it. So, Bob, do you want to give us an update on the Slack meeting next week?
Yeah, I can. Well, I can try. When are we going to have a Slack meeting next week? Because we're going to be at Florida Dribble Camp next week, right?
@35:32 - JD Leonard (modernbizconsulting.com)
Well, it's on Slack. I'm going to be there.
@35:34 - Bob Snodgrass
Okay.
@35:36 - JD Leonard (modernbizconsulting.com)
It's asynchronous.
@35:38 - Bob Snodgrass
Asynchronous from Florida Dribble Camp for some of us. Can you multi-thread? I have a hard time multi-threading things. I'm getting too old for this .
@35:56 - JD Leonard (modernbizconsulting.com)
Welcome to Adam and Janice, who joined relatively... We went through our statuses for the tracks, which we didn't have a lot of status to share, and then we were talking about adopting a specific use case for an organization as a way to move us forward and say, well, what's the next thing that this organization needs to adopt portions of what we're talking about here?
So Luke has SFDoug, San Francisco Drupal Users Group, and BadCamp, which is kind of one organization, right, Luke, that he's volunteered as a guinea pig.
So we were talking about that, and then we got talking about Bob having a use case with, you know, existing data and how do we get that in so he can start playing around with it and using it, and that's sort of catching you up.
But if either of you have any updates you want to share, questions or comments, we're in a less formal portion of the meeting.
You can call any portion formal. All right. Adam, you are not audible. So maybe back to Luke's use case.
@37:28 - Luke McCormick
Okay, we need you to know.
@37:30 - JD Leonard (modernbizconsulting.com)
You have an existing website that you wish to use for this purpose, or would this be a new site?
@37:41 - Luke McCormick
Well, I have sfdug.org, which is a Drupal CMS site running on Jopita. In all of its arrows in the back, pioneer glory.
So, ultimately, I'd love I'd to have it all in there. My vision for this thing is to have the whole users group stuff actually build things within the site, have past sites and community things and questions and answers and that kind of thriving thing.
So yeah, I would say if I had my preferences, I would install, you know, member project as the beating heart of the website that people would go to to find out about the next meeting, like it's things about last meetings, get jobs, you know, all that, all that kind of things that you want to do with user groups.
@38:45 - JD Leonard (modernbizconsulting.com)
So next step for, as like, you know, for the, that project, right, is to install CRM, right?
@38:55 - Luke McCormick
Uh, yeah. Let me think about this. Peter, then, you know, I'll run somewhere else. And that's your first step.
Well, I mean, I've got like million other sites, too. So I'm certainly, I can certainly find, I've got, I've got lots of, you know, Pantheon sandboxes available, for example, so I can get things working there.
And then, if that's the call, you know, I could find the 50 bucks a month for Pantheon hosting, or move it somewhere else.
Hosting's not going to be, not going to be the thing that stops it. Got it.
@40:40 - JD Leonard (modernbizconsulting.com)
Right. At a minimum, you can develop locally and get things working.
@40:47 - Luke McCormick
Yeah. I've, I've, I've, I've, I've dozens of Drupal sites running various places that, you know, don't do anything. So, so yeah, I, I can certainly position one of those and, and have it, have it be live, you know, have it be.
be, you know, crm.sfdug.org or something like that.
@41:09 - JD Leonard (modernbizconsulting.com)
Okay, so then I think your next step is back to installing CRM, right?
@41:14 - Luke McCormick
Yeah, sure.
@41:16 - JD Leonard (modernbizconsulting.com)
Do you need anything to facilitate that?
@41:22 - Luke McCormick
Point me to the thing you actually only, like, should I, where do I get that? But where do get the latest thing that you want me to install?
@41:34 - JD Leonard (modernbizconsulting.com)
Well, I've got a question for Steve. Do you want him to wait for the release today or tomorrow or just keep moving because we support Upgrade Paths?
@41:42 - steven.ayers
Yeah, we support Upgrade Paths and it's just like a YAML field. So it's not like it's, it's not super complicated, I guess is what I'm trying to say, right?
We're just adding a field to the person and organization, right? If you...
@43:00 - JD Leonard (modernbizconsulting.com)
I bet that that'll get you excited to keep going. Yeah, okay.
@43:04 - Luke McCormick
Let me see. Let's get those more, like, when you say install the MailChimp Drupal module, and that integrates with the CRM module how?
@43:17 - JD Leonard (modernbizconsulting.com)
The MailChimp module allows you to map MailChimp fields to fields on a Drupal entity type of your choice. So, in theory, it should work with CRM contacts, just as it would work with any other entity in Drupal.
@43:37 - Luke McCormick
Now, when you say integrate, do you mean, like, write 9,000 lines of PHP code to get it to go together?
No, no. This is site-building stuff.
@43:46 - JD Leonard (modernbizconsulting.com)
This is install the MailChimp module, get your credentials or API key for MailChimp or whatever it is, or OAuth or whatever it is, connected and configure it to, you know, connect to the CRM.
Contact entities and hit a button and pray.
@44:04 - Scott Wolpow
Wait, so JD, you say that'll work automatically without having the MailChimp to say to look out for CRM?
@44:11 - Luke McCormick
That's what I'm asking. Like, where am I going to find the button that says to do this? Like, does CRM know about MailChimp or does MailChimp know about CRM?
SCREEN SHARING: Jd started screen sharing - WATCH
@44:21 - JD Leonard (modernbizconsulting.com)
Like, how? No, they both use the Drupal's entity system. That's the commonality, right? So here's the MailChimp, you know, module page.
says directly connect a MailChimp list, which you have, to any entity with an email address field. So that could be CRM, although here's the asterisk, right?
We don't have an email field on the contact. We have a primer entity reference to a contact method entity of type email address that has the email address.
Like, maybe there's something custom. There that needs to be done to get it working. I would not be surprised if you could, you know, bang out a vibe-coded AI module that, you know, glues something together there.
Watch your mouth.
@45:15 - Luke McCormick
I don't vibe-code. I employ assistants to, you know, follow my plans. Oh, I'm sure. They take orders from me.
@45:29 - JD Leonard (modernbizconsulting.com)
At a minimum, one could vibe-code. I have a question, though.
@45:34 - Scott Wolpow
So it only can see an entity that used the email address field, but how is it going know, like, the first name field, last name field, and other fields from MailChimp?
We'll see that or no?
@45:47 - JD Leonard (modernbizconsulting.com)
Yeah. Map entity fields. I mean, I'm just reading here for you guys. Map entity fields to your MailChimp merge fields.
@45:53 - Scott Wolpow
entity fields. Map entity mean, I mean, I mean, mean, it's up there so I know it works. You The same assistants that Jake was talking about, or Luke, sorry, Luke was telling me about, telling me, oh, no, the MailChimp has to be aware of the CRM to do that.
@46:12 - JD Leonard (modernbizconsulting.com)
Nope. But I know the speed bump that you will run into, right? The speed bump that you will run into is that the email address, phone number, and postal address fields are not directly on the CRM contact entity, right?
They're abstracted away into these contact method entities. That's the part that's not going to work out of the box with MailChimp here, is my assumption.
And probably there needs to be some module in the CRM ecosystem that provides the glue necessary for those things to work seamlessly.
@46:47 - Luke McCormick
Yeah, that sounds like a missing piece. Like, having these two things that, I don't know, I'm feeling like... Like, you got this, you got this, and then a miracle happens, and they're talking to each other.
@47:05 - Scott Wolpow
That's exactly what I have to do in the next week is build a directory system so I can push or link from CRM to a directory listing of companies, and then later on when they go and update their information on the directory, it notifies the CRM to use the CRM as purely customer or client relationship management other than contact.
And so when I was exploring that, it said to be aware, so that way it works. But as you said, we have to go to CRM and jump to the next connection from the CRM to these other fields, correct?
That's what you're saying?
@47:43 - JD Leonard (modernbizconsulting.com)
So the thing you could do in the interim, right, to simplify, and presumably this would work with just point and click, right, is ignore the out-of-the-box CRM contact fields, the primary entity reference fields for address.
Email addresses and phone numbers, and just add your own directly to the contact entity, right? A single value email address field, a single value phone number field, those the MailChimp module will be able to map for you to your MailChimp list merge fields, like one-to-one without any further kerfuffle.
Now, it means you're not using, right, the out-of-the-box CRM sort of place you're expected to stick email addresses and phone numbers, right?
But that lets you progress, right? You can always later, you know, migrate into that data once the miracle you were referred to has come to pass.
@48:44 - Luke McCormick
All right. I'm happy to use existing code. I'm happy to follow scripts, but if I'm architecting my own method,
If for this, then it doesn't feel like it's going to be that useful outside of maybe sort of development stuff, right?
Like, I need to be doing something where I'm not the only person doing it in order for me to able to, if nothing, I'll sell it to the other people in the group, you know, they're...
@49:23 - JD Leonard (modernbizconsulting.com)
Do you have other willing collaborators in the group? Yeah, sure.
@49:29 - Luke McCormick
So, mean, I guess my question is, do you have other people who will do it with you? Oh, yeah.
Yeah. I'll have people around me like, okay, here's what we're doing. But it has to be prescriptive. Like, it could even be like, you know, if you want to send me like, like a, you know, five bullet list saying like this, this, this, but like, they have to be like prescribed bullets so that, so it's not open-ended.
Like, like I have to get to a failure point. have to try it. And if it doesn't work, I have
Be able to come back and say, JD, didn't work. And then, you know, like, not have like an endless, like, okay, keep developing until it somehow works, right?
Like, it's got to be some kind of recipe that either succeeds or fails.
@50:16 - aj-audio
I think we've outlined a little bit of that in the conversation, if I'm not mistaken. JD, may be, I may be stepping on you here, but I wanted to test my audio.
Can you guys hear me okay? Yeah, I'm good. So, yeah, I think we outlined your name.
@50:31 - Luke McCormick
What's that?
@50:32 - aj-audio
You've literally got audio in your name, you know. Yeah. Well, yeah, laptop problems. But thinking about what we've covered here so far, what you were saying with Luke and JD, you know, the prescription, would say so far, and certainly this is not complete, but so far, it's install the MailChimp module.
Determine if there's a mapping to the fields and if there's...
@52:00 - JD Leonard (modernbizconsulting.com)
I got dropped though now, so talk to you later.
@52:04 - aj-audio
Yeah.
@52:05 - Scott Wolpow
But this is good because it solves the problem I have is connecting everything back to CRM because the CRM should be, you know, contact relationship, but should be very clean.
I want to have little fields for, you they update their information, they've made a purchase, they can click on that, you see what purchase they made.
Those are extensions of the CRM, but should not be in the CRM.
@52:28 - JD Leonard (modernbizconsulting.com)
So I've got a question that's inspired by this discussion, and that is there are lots of external systems like MailChimp where a contact has one email address, right, not more than one.
Obviously CRM is built to be more extensible and to support multiple email addresses, but I'm wondering if there is a general thing that we could, a general way we could enhance CRM to better.
Support cases of integration with external systems where there's just one email address and a way to map that to the primary email address, let's say, in some way where existing modules like the MailChimp module that maps fields could maybe map to, I don't know if it's a calculated field or quite how that would work, right, such that the syncing can just kind of work out of the box?
@53:30 - steven.ayers
I think the way you would reference it is the same way you would with the entity reference field if you need to create an entity with migrations, but I guess what I'm trying to say it really depends is how is the data being consumed, right?
Feeds is a different system than the migration system versus some third-party sync process, right?
@53:52 - JD Leonard (modernbizconsulting.com)
Or even looking at like Salesforce, like the Salesforce module, Salesforce suite module, right, for syncing. data from Salesforce, the simplest version of that, right, would be syncing, whatever the right terminology is, contact objects, right, in Salesforce to contacts in Drupal.
And let's say in Salesforce, you've got a single value email address field or something, right? You know, Salesforce suite has its own mapping kind of UI that you use to kind of map the fields, right?
And I don't think it would work. Like, don't think you could accomplish what you want to accomplish right now because CRM requires, right, that that email address be over here in this referenced entity.
@54:41 - steven.ayers
Again, it comes to that, I don't, I'm not familiar with the Salesforce suite in particular. So I guess a side question, does anyone here use Salesforce?
Nope.
@54:53 - Scott Wolpow
Not presently.
@54:54 - steven.ayers
Salesforce. So I guess that would be something we would. We need to look into and maybe even require getting a small Salesforce account just to verify that it works.
But I don't know if I got an answer.
@55:14 - estevenson
I know one thing I want to ask even if it's kind of dumb is that like because it's sort of importing from another system, could we just have contact act sort of a dumb way where kind of if you're importing from another system that basically treats each contact as if it's a unique user, so it just has an email address, that you just import that way and you don't take advantage of the sort of extra complexity of, you know, kind of CRM because the system that you're importing from doesn't.
take advantage of that.
@55:46 - aj-audio
I think you're on a good track there. I think it's a matter of making simple default choices that work in a general use case, right?
So, but I don't want to glance over what's... Steve said about, so I don't know your first name, E?
@56:03 - estevenson
Oh, Erica, I really should have fixed that.
@56:06 - aj-audio
Yeah, so I think that's a good point, Erica, but I don't want to glance over what Steve said about the different methods that there are for, you know, that kind of integration to take place.
There's, and Steve probably would know better, there's the migration approach, there's the feeds approach, and there are even customer approaches in some of these modules that map to CRMs.
So the higher level question is, is there anyone that's using a CRM that has a module that does an integration of some kind?
And that's, you know, we've mentioned MailChimp, we've mentioned Salesforce, we mentioned OnePage, I don't know what else we might have mentioned, but that's, I think that's a key is finding someone that has that, a module that's doing something in one of the, probably in one of those methods that Steve had outlined.
Does that make sense?
@56:58 - JD Leonard (modernbizconsulting.com)
Yeah, I think we've got at least... There three people who were actively using MailChimp, including myself, that could try to map that.
I guess more my question is, is there something simple we could do as a helper in CRM that, say, puts a faux email address field on the CRM contact entity that when you write to it, say, because some third-party module can map to a single field, right?
Then it flows through to the primary email address where it belongs.
@57:31 - steven.ayers
I don't know if this is a real issue, though. Are we sure that we can't already do that, I guess is what I'm trying to say?
@57:42 - JD Leonard (modernbizconsulting.com)
You mean whether these various third-party sync modules support...
@57:49 - steven.ayers
Any de-reference, right? It's a data type, not a field type. So it's not, like, outrageous to think that it might work.
project point. about Let's Thank
@59:00 - JD Leonard (modernbizconsulting.com)
For some organizations, they have an external system that only supports one email address for a contact, and the question was, can we do something to better support onboarding them into this more sophisticated system from a sort of less sophisticated information architecture?
And Steve made a good point, but we should verify that the modules don't actually already support this. So I think that is a good next step.
@59:30 - Scott Wolpow
Okay.
@59:33 - JD Leonard (modernbizconsulting.com)
Erika?
@59:35 - estevenson
Oh, kind of, I'm just trying to remember, because maybe this was already addressed, but when it comes to sort of importing, that if I am just sort of, this is thinking of future sort of functionality, kind of the ability to easily merge contacts, because you've imported it from a kind of a system, you know, kind of, and you're able to sort of know that actually sort of we could do that.
And then two. But yes, guess sort of getting into the complexity of it is kind of touching onto those, which is definitely valid, but yeah, kind of, I'm assuming we can very safely push them to the future and only worry about the sort of dumbest import that we can get away with right now.
I don't know. Yeah, probably.
@1:01:32 - JD Leonard (modernbizconsulting.com)
Um, so I can commit to today, possibly in the next hour, if anyone wants to hang out and do it with me, um, connecting my local, um, install for my neighborhood association site, uh, to our MailChimp and just seeing how that syncing goes.
If it's something that is possible out of the. or whether the theoretical problem of the email address being, you know, on a referenced entity is actually a problem.
That'll help us probably understand, you know, have a quick data point, right, about like, is this a real problem?
@1:02:16 - aj-audio
I want to play. Cool.
@1:02:20 - Scott Wolpow
I would absolutely love to be a fly on the wall.
@1:02:23 - JD Leonard (modernbizconsulting.com)
Very good.
@1:02:25 - aj-audio
Yeah, we have a play date.
@1:02:27 - JD Leonard (modernbizconsulting.com)
You got me for the next hour. Okay. What else? What else should we do? What are good next steps, you know, for anybody else?
@1:02:40 - Bob Snodgrass
Someone asked me, JD, to make sure to say happy birthday to you.
@1:02:47 - JD Leonard (modernbizconsulting.com)
Oh, I didn't know. It is my birthday today.
@1:02:51 - Bob Snodgrass
Happy birthday.
@1:02:52 - aj-audio
Wow.
@1:02:52 - Bob Snodgrass
you.
@1:02:53 - estevenson
I'm sure you all brought presents.
@1:02:55 - Bob Snodgrass
My source was not incorrect then. know.
@1:02:59 - JD Leonard (modernbizconsulting.com)
It was. It was. It was Phil Alonso that blew the whistle on that one.
@1:03:05 - Bob Snodgrass
There you go.
@1:03:07 - aj-audio
There's your present. Very good.
@1:03:09 - JD Leonard (modernbizconsulting.com)
And for my birthday party, I will be connecting MailChimp to my neighborhood associate.
@1:03:17 - Bob Snodgrass
Yay. Yay. Oh, great.
@1:03:21 - JD Leonard (modernbizconsulting.com)
Sorry if anybody didn't receive the explicit invitation.
@1:03:27 - Bob Snodgrass
But I have to run to another meeting, so thanks, and thanks, Bob. Take care. Bye.
@1:03:36 - JD Leonard (modernbizconsulting.com)
All right. So any other thoughts, strategic direction, next steps before we transition into JD connecting his MailChimp?
@1:03:47 - steven.ayers
I, no, I don't got anything.
@1:03:55 - JD Leonard (modernbizconsulting.com)
Oh, come on. Would a...
@1:04:00 - steven.ayers
anyone like to see the game I bought, Marden?
@1:04:02 - estevenson
I would love to see the game.
@1:04:05 - steven.ayers
So, Erica, I want to make sure you understand that this is a product of Canada made by a Canadian.
It's called War Plan Crimson, the U.S. invasion of Canada.
@1:04:18 - estevenson
It takes place, you know, vis-a-vis, like, 1930s. I can see that being a very patriotic gift from a Canadian's perspective right now.
No offense to Americans. I thought the game would be like tapping a maple tree.
@1:04:41 - steven.ayers
If this was a product from America, I would feel bad about it.
@1:04:45 - estevenson
Oh, yeah, no, I wouldn't feel bad about it because, you know, kind of. I mean, like, there's definitely jokes inside Canada going on about us going down and burning down the White House again.
You know, kind of. Not exactly kind of a practical aspiration, but.
@1:05:00 - James Shields
I mean, Trump's done half of that for you.
@1:05:06 - estevenson
No, Trump's, oh my goodness, that is, like, he's even taken away the aspiration of burning down the White House for doing it first.
@1:05:16 - steven.ayers
Steve, have you shown us the Only the highest quality of slight cardboard knockouts for units.
@1:05:23 - estevenson
Very very nice.
@1:05:24 - steven.ayers
Only the highest quality production here. I believe it was made at Kinko's and then shipped vis-a-vis Canadian Post, so it did not arrive quickly.
And then the map, you get yourself some pieces of paper. It is two pieces of paper. You, you know, we're basically, the U.S.
is taking the St. Lawrence River. Wow. We would take Quebec City, and then since we control the St. Loris, it would prevent the British from being able to reinforce the Canadian troops.
So that's when the U.S. would then take. Steve, it sounds like you have planned this out a little too much.
@1:06:16 - estevenson
I mean, kind of like war games. I'm assuming that you kind of like other war games.
@1:06:21 - steven.ayers
Yeah.
@1:06:22 - estevenson
I have seen war games like a lot of sillier things. Do have one, Erika? I have seen war gamers plan out sillier things.
@1:06:33 - Scott Wolpow
It reminds me of the games from the early 80s. War Plan Crimson isn't a game.
@1:06:40 - steven.ayers
It's a real war plan from the U.S. Department of War.
@1:06:46 - Scott Wolpow
Do you know the board game Gettysburg? Yes.
@1:06:51 - aj-audio
Yeah, so what you just held up there, Steve, reminds me of that one.
@1:06:57 - estevenson
I mean, you know, kind of, I know, I know part of it. Kind of wonders, just given, like, the current U.S.
sort of military who, like, invited a journalist to his signal chat, you know, kind of, like, which he was using instead of using kind of secure things.
In addition to being insecure, you've deliberately done that. And whether kind of, like, this level of planning would be beyond him.
There's a difference between an insecure platform and an insecure action, right?
@1:07:24 - aj-audio
So, or an idiot.
@1:07:26 - estevenson
But, yeah. I mean, it's just given how, like, I mean, he keeps on threatening to fire all the sort of U.S.
and kind of, like, top brass. And it's just, like, I know sometimes inside my mind that I can't imagine this actually happening, but kind of him doing that and there being an insurrection, you know, kind of like that.
And it's all led by the U.S. generals who got kicked out. And then they just run around circles because sort of staffing your insurrection movement with sort of, like, your top generals with insider information is just so tactically bad.
I don't think that had ever happened, but again, thanks for a funny scenario.
@1:08:06 - JD Leonard (modernbizconsulting.com)
All right. there's a big gap between in U.S.
@1:08:09 - aj-audio
military. So fair warning, I'm a veteran of the U.S. And, you know, there's a big gap in military leadership between the generals and those folks and even the next echelon of military leadership and management.
So, you know, some of what you're saying makes a lot of sense, and some of it just doesn't translate into the way that people are connected and communicate.
@1:08:36 - estevenson
No, no, no. But I, yes, this is more thinking of silly war games, like kind of Canada's plan to invade, the U.S.'s plan to invade Canada and kind of that thing.
@1:08:46 - steven.ayers
Canada has its own plan to invade the U.S.
@1:08:49 - aj-audio
right? I mean, with someone like, you know, at the helm, as we have now, I'm sure we have plans to invade everywhere.
That's not...
@1:08:58 - estevenson
Oh, the U.S. already... We would have had plans to invade everywhere because like that's, that's, that's, that's fair.
@1:09:04 - aj-audio
Just, yeah, you got to get him out of everything. If, if the U.S.
@1:09:09 - steven.ayers
wasn't interested in invading everywhere, we would have done it in 1946 when we would have had the capacity.
@1:09:16 - estevenson
No, but you know, kind of in terms of like people who make it their career talking about each other, kind of like, yeah, that I don't think, I don't think it's serious plans.
I think it's just sort of more, here is an exercise for us to sort of evaluate the tactical strengths of our different sort of allies.
@1:09:34 - aj-audio
That's the way to say it there, Erica. Yeah, absolutely.
@1:09:37 - estevenson
But yeah, so no, no, I mean, I don't, I, I, I think that, you know, kind of the U.S.
military is far more respectable than the current leadership that Trump has.
@1:09:50 - Scott Wolpow
You may not have to invade Canada in case Russia or China invades Canada.
@1:09:55 - steven.ayers
You know, Canada has their own plan for doing a preemptive strategy.
@1:11:03 - estevenson
Wouldn't be surprised if there's a kill switch in there.
@1:11:06 - aj-audio
Yeah.
@1:11:09 - Scott Wolpow
I'd most likely there is.
@1:11:14 - aj-audio
Well, we've gotten a little off the beaten path, but that's okay. Is JD still with us? I don't see him.
You awake, JD?
@1:11:21 - steven.ayers
He's upset with what I did.
@1:11:25 - JD Leonard (modernbizconsulting.com)
I'm installing MailChimp.
@1:11:27 - estevenson
Okay, let's go see the MailChimp, if you remember.
@1:11:30 - JD Leonard (modernbizconsulting.com)
one second here.
@1:11:30 - aj-audio
I did pop into, to kind of bring things back toward JD's, I did pop into the chat, a link to a little site that's not quite launched.
I'm planning to put CRM in some fashion connected to that domain. And I've got some things with CRM and Drupal running since we last spoke that have a bunch of custom stuff around them.
But, yeah, thought I'd mention that.
@1:11:59 - JD Leonard (modernbizconsulting.com)
Very cool. Cool. All right, I'm hiding my screen for a moment while I log into Mailchimp, and then I will share it.
@1:12:11 - Scott Wolpow
That's where I have CRM wrote it. not in the front, but I'll play with it and make it all CRM visible.
I was lucky to get domain years ago when I had my 10th anniversary of high school. And I have a nice four-letter, easy-to-remember URL for testing.
@1:12:31 - aj-audio
Cool.
@1:12:34 - Scott Wolpow
I think you don't want to share what that is? AngloAmerican82.com. The most famous alum is Vin Diesel, followed by Jasmine St.
Clair. She's a female wrestler, adult star, and we've had a few other alum.
SCREEN SHARING: Jd started screen sharing - WATCH
@1:14:00 - JD Leonard (modernbizconsulting.com)
Seems a little bit fatal.
@1:14:03 - Scott Wolpow
Of course. So I'm not sure how far we're going to get here.
@1:14:08 - JD Leonard (modernbizconsulting.com)
Because you know whenever we give a demo, it has to crash. That's right.
@1:14:13 - Scott Wolpow
If you're a person with no tech skills, it will work perfectly.
@1:14:18 - JD Leonard (modernbizconsulting.com)
But you can get a sense for what this mapping can do. Although we can't actually map any fields because it has failed.
Can you go back to the failure message again? Sure. I'll even stick it in the Zoom chat. For MailChimp.
@1:14:56 - aj-audio
Not a CRM error.
@1:14:58 - steven.ayers
No, no.
@1:14:59 - JD Leonard (modernbizconsulting.com)
True. You did a little dance there, Steve, didn't you?
@1:15:20 - aj-audio
Do you want to copy-paste that error into the chat?
@1:15:23 - JD Leonard (modernbizconsulting.com)
Yes, thank you. When I'm sharing my screen, I always have trouble finding where the chat is.
@1:15:32 - aj-audio
By the way, I went to the top, a82.com, Scott, and it just gives me a directory listing.
@1:15:41 - Scott Wolpow
Really? Yeah.
@1:15:43 - aj-audio
Let me check why that did that to me. Well, there's no index, and from the directory listing, there's no index.
@1:15:50 - Scott Wolpow
Yeah, I know. But... Really, get a welcome, congratulations. This is a Drupal community site, huh? Not on CRM.the subdomain, but just on AA82.
Oh, yeah, yeah, yeah. That has nothing on it, yeah. Yeah. That I know. I would move or copy your under construction into an index page, if I were.
yeah.
@1:16:24 - JD Leonard (modernbizconsulting.com)
All right. This error has been around for two years, it seems.
@1:16:29 - aj-audio
Wow. Right? That's not promising.
@1:16:35 - JD Leonard (modernbizconsulting.com)
Once I switched to OAuth, I could then view the audience list as expected, but I am using OAuth.
@1:16:44 - aj-audio
Well, can you put that issue that you were just looking at in the chat or something? So I can look at things also.
@1:16:52 - Scott Wolpow
It's in the Slack chat.
@1:16:55 - steven.ayers
Yeah, I had to put it in Slack.
@1:16:57 - JD Leonard (modernbizconsulting.com)
It wouldn't fit in the Zoom chat. Yeah. It
@1:17:00 - aj-audio
Okay. Slack is probably a better place for it anyway. It'll live longer.
@1:17:14 - Scott Wolpow
I get the emails from, like, I have walpole.com. It says Walpole Family website, which I don't use for any purpose, except to test to see if someone gets to my server or not.
And I get people, you know, send me emails. They can fix my site and get me traffic. It's a great, tell me what I can do.
@1:17:46 - aj-audio
What thread am I looking at for this?
@1:17:49 - JD Leonard (modernbizconsulting.com)
Most recent thread in the member platform channel. at for am at thread you.
@1:19:11 - aj-audio
Thank you.
@1:19:34 - Scott Wolpow
Thank you.
@1:21:08 - JD Leonard (modernbizconsulting.com)
Well, I guess I will see if my friend Claude has any bright ideas.
@1:21:21 - Scott Wolpow
So is it failing to connect to MailChimp is the problem, or is the problem it's failing to connect to the entities?
@1:21:31 - JD Leonard (modernbizconsulting.com)
It's some error in the MailChimp lists module. I don't know more than that. I was able to connect with OAuth to my MailChimp account.
Okay. It has something to do with the lists module that does something on top of that connection.
@1:21:53 - Scott Wolpow
What does Claude have to say, or Copilot, or many other agents? It's, yeah.
@1:22:00 - JD Leonard (modernbizconsulting.com)
It's going to be my next port of call here.
@1:22:06 - Scott Wolpow
I just love the way how they all kiss your . Brilliant insight. He has a good, professional, precise answer to your question.
@1:22:15 - estevenson
I would be curious if you're willing to share some of the prompts that you're kind of doing, because that's its own sort of type of insight that, you know, kind of if you're less familiar with Drupal, you can be really dumb about.
I am happy to do that.
@1:22:29 - JD Leonard (modernbizconsulting.com)
I will say that I am a poor prompt engineer. Okay.
@1:22:35 - estevenson
I learned to say, please can answer yes and no.
@1:22:37 - Scott Wolpow
I don't need 16 screens dissertation on this.
@1:22:44 - aj-audio
Yeah, it depends on which one you're using, Scott, how to kind of rein that in. And, but there's a, there's a, and it depends on what platform, what options you have around the context and training and scoping for a given agent.
But I think that's, Erica, you've hit on a really great topic for future meetups because it's something that everyone is doing to one extent or another.
@1:23:14 - estevenson
It's also one where it's much harder for knowledge to transfer that, yeah, kind of when it comes to using AI agents, it's very easy to have them do the task for you instead of you learning it.
But on the other hand, really good at doing the tasks.
@1:23:30 - steven.ayers
Would you like me to commit the sub-agents or the agent files and skill files for CRM? I mean, I use cursor, not clawed, but that's a...
@1:23:43 - estevenson
I mean, absolutely figuring out how to start dipping my toes inside that water and take advantage of people who know what they are doing.
Because, yes, kind of, I am aware that I am kind of at the level of skill where Claude would be...
Doing it for me instead of me guiding it. So seeing how people guide it would definitely be super cool if, you know, kind of you're willing to share that.
@1:24:08 - Scott Wolpow
I've been using a lot for insight on the strategy, how to do something. So I don't trust them because they do things like the easiest path possible.
@1:24:16 - aj-audio
Exactly, Scott. Yeah, I was just going to say something like that to Erica. Yeah, I mean, that's exactly the, even when you have a decent set of stuff around it, they're going to look for, you know, an easier path typically.
@1:24:29 - estevenson
Pretty much that, you know, kind of my experience just sort of playing with AI is that it absolutely can accelerate stuff if you kind of have a clear idea of what you're But if you don't, it will just lead you all types of weird places.
@1:24:44 - Scott Wolpow
You just didn't know enough to call it out when it's done. So my clients use AI to try and do MVP and I'm reviewing it.
So where's your authentication? Where are your users? Where are your dashboards? Where Where are are Where your And yeah, I bet a lot of them are kind of like authentication.
Yeah.
@1:25:06 - estevenson
You didn't put a password on the database.
@1:25:08 - steven.ayers
It was easier.
@1:25:15 - estevenson
But yes, I know I've been very cautious to try to take advantage of those tools because I know enough to know I don't know enough.
@1:25:23 - Scott Wolpow
I saw a great theme. was a person, Claude, you deleted my database. All the work is gone. Why did you do this?
And it's, oh, that's a very good thing you brought up. Yes, I made a mistake. I'm sorry.
@1:25:40 - estevenson
Yeah.
@1:25:43 - Scott Wolpow
No, mean, kind of.
@1:25:44 - estevenson
I know enough that you don't want to give it the ability to delete your database if you don't know enough to have I mean, I totally haven't explored with agents just because, like, I just don't have kind of.
Yeah, using AI can impede sort of skills development.
@1:27:06 - Scott Wolpow
I think it can impede the skills development on the new generation, because we already have the beginnings of skills.
We know that we're missing things out. They won't know. It's like, do you know how many people under 25 can't read an analog clock?
Like 80% of them. Yeah.
@1:27:27 - estevenson
Yeah.
@1:27:28 - aj-audio
And I, yeah, that's a, I'm sorry, Erica, go ahead.
@1:27:30 - estevenson
No, you go ahead.
@1:27:32 - aj-audio
I think that's a fantastic point, Scott. And I feel like I've, I've talked about the, this, um, almost ad nauseum for me, but maybe it's new to this audience is that, uh, we're, we're, we're absolutely slaughtering our young engineers, our young developers, because, um, not only are we not giving them jobs, but we're also, uh, taking away like the basic.
So it's basic human nature that we, that we, uh, you're going somewhere, you get directions, you, you make a mistake.
basic nature we, that Guess what? Next time you're going to make the mistake probably again, but remember, and then reverse yourself, and then maybe the third time you'll catch yourself, right?
So that's just the way that human brains work. We have to learn through experience. And so we're taking away the opportunity for the young engineers and developers to have the experience that they need to be, you know, vetted and mature senior developers.
And that's a significant loss in my mind.
@1:28:28 - estevenson
Well, I know kind of the metaphor that I've come up that I've, you know, kind of friends said, oh, that's really smart, is it feels like we're inside kind of an era where we're celebrating, reducing the number of chairs instead of game of musical chairs, instead of increasing it.
@1:28:44 - aj-audio
Right.
@1:28:45 - estevenson
You know, kind of that, you know, it's only going to be those with even the greatest opportunities who kind of get to the point that they can even start getting good.
Right.
@1:28:54 - Scott Wolpow
Which, you know, we also don't know the impact that will have. They've said that about a lot. said lot.
said of things over the years, and the Luddites didn't like the fact, the saboteurs, that were automating weaving machines at one point, and all the weavers would be out of business.
It turned out it improved a lot, because there was more weaving, meant more business.
@1:29:15 - estevenson
I mean, this is where it gets kind of weird, that one thing I will observe is that kind of one of their points is that, you know, by not having the thing be valuable, like we won't use it effectively.
And I look at kind of fast fashion today, where we kind of like have people producing far more clothes than we need, kind of at lower quality, so we have to keep buying it than we want.
And then a huge amount of it ends up inside trash, which to me kind of resembles AI slop. You know, kind of, I'm not saying all AI thing is everything by AI slop, but there is absolutely AI slop.
Where because kind of we have, yes, you know, kind of like, from, you know, taking... From the Luddites book, that if we had approached sort of close more mindfully and then use sort of automation, but we're still kind of going for a high level of quality, we're factoring in sort of the full life cycle of developing stuff and throwing it away, that I kind of think the Luddites had a bit of a point there.
I think it's a brave new world.
@1:30:20 - steven.ayers
I'm excited about it. People are smart, intelligent, and capable.
@1:30:25 - estevenson
If it means we have half as many people writing software, that means we have those people doing something else productive in society.
@1:30:33 - Scott Wolpow
I am not concerned about this.
@1:30:39 - aj-audio
I love your sentiment there, Stephen. I'm on board with you. I just think that there are people that have a slightly different design on things that it may be not necessarily as optimistic.
@1:30:52 - estevenson
No, and to me, kind of like, that is absolutely a way things can go, but are we designing things that way?
That you're kind of... As a society, we've sort of, we've kind of taken as a given that because kind of, you know, more junior developers would be assigned these tasks that also simultaneously train them.
If kind of like we're automating the way, and yes, kind of like that is a good use of things, but we aren't kind of replacing that kind of track with what we do with doctors or engineer or kind of like architects, where there's absolutely kind of professions where while you are learning, you can't, yeah, you can't learn.
@1:31:30 - Scott Wolpow
What doing?
@1:31:30 - estevenson
Like sort of a doctor needs to, needs to sort of like operate on a lot of kind of corpses and kind of simulations before they ever do the real thing.
So kind of, and programming could absolutely transition to something like that, but, you know, kind of, there needs to be an aspect of design that I don't think is getting addressed right now, if that makes sense.
@1:31:53 - Scott Wolpow
But then again, remember, it was right before my time, but the people taught me. Letters, drawn out, and was giving it a one-foot-by-one-foot board, little pins, and handed a barrel full of little black thingies that you put in, and that's how he made a font.
And the people came before him and said, ah, you know, you're not going to make it perfectly because you have to hand carve it, that's how you get the feeling into it.
And they would take this board and shoot it down to, you know, small letter size, get rid of perfections, and would tie in the same thing.
When I started doing AutoCAD, my dad criticized me for using colors instead of different stroke sizes for different areas.
Oh, no, you need the stroke size. It's always going to be that way. It's always going to be that way in the future.
You know, how long will be before, you know, we can now just talk into the device and say, I need an app that does this, and it builds it.
You don't have to type anymore.
@1:33:56 - aj-audio
Well, that is the next interface. You've seen the rabbit, right?
@1:33:59 - Scott Wolpow
Yeah. Yeah, I bought one.
@1:34:02 - aj-audio
I a couple friends of mine to buy them, too.
@1:34:05 - estevenson
What is the Rabbit?
@1:34:08 - aj-audio
It's a handheld device, little orange. It was launched, I think, maybe two years ago now. It's a little orange square that you talk to.
Exactly that you talk to. It has agents that do things for you and runs through. It has one of the leading UI, UX kind of automation things behind the scenes that runs it.
I think it's rabbit.io is a domain, if I'm not mistaken. But it's tied to an AI that with a company that's a startup that is out there, got popular for a little bit, didn't quite deliver on the promise right away.
But if you fast forward between what they promised two years ago and what they're able to do now, it matches.
@1:34:56 - Scott Wolpow
So it just took them a little longer to get there. Yeah. As I I'm 62, so I'm not only concerned in eight years, I'm not going to give a damn.
You know, that's when I plan to retire.
@1:35:10 - aj-audio
I wouldn't have pegged you at 62, Scott.
@1:35:12 - Scott Wolpow
Is what? I would not have pegged you at 62. Thanks. The key is pretty good for 47.
@1:35:24 - aj-audio
Did you say Scott looks good for 47, or you look good for 47, Steve?
@1:35:28 - steven.ayers
JD looks good for 47. Not being 47, I don't know if that's a compliment or an insult to JD.
@1:35:38 - aj-audio
Also not being 47, I'm not sure. Give JD a few years.
@1:35:44 - Scott Wolpow
He has a daughter growing up. Now she's in the preteens. Watch how old he gets between 12 and 15.
@1:35:52 - JD Leonard (modernbizconsulting.com)
I mean, I don't know if six qualifies as preteens.
@1:35:58 - estevenson
It is.
@1:36:00 - JD Leonard (modernbizconsulting.com)
Before teens, but. My friend has two boys and two girls.
@1:36:07 - Scott Wolpow
You know, one boy or a boy or a is, oh my God, the boys are so much easier to deal with.
They just get dirty and in trouble. He says the girls are a whole different level.
@1:36:22 - aj-audio
Yeah, boys and girls are just different animals.
@1:36:26 - Scott Wolpow
I only had cats, so they were all more or less the same.
@1:36:33 - aj-audio
You notice any trends between boy cats and girl cats?
@1:36:36 - Scott Wolpow
Yeah, the boy cats seem to be a little more affectionate, and the girls seem to be plotting, a little more plotting.
@1:36:45 - aj-audio
T-P-L-O-T-T or P-L-O-D-D?
@1:36:49 - Scott Wolpow
Plotting, P-L-O-T-T, I-N-J. They definitely plan, both of them definitely plan things out.
@1:36:58 - aj-audio
Yeah. Yeah, my understanding is that girl cats tend to align to one person, whereas boy cats tend to be more affectionate to everybody.
@1:37:12 - Scott Wolpow
My girlfriend's cat, in the morning, if she got up really early, you'd hear like, meow, I want breakfast. When I woke up, was, meow, meow.
So there's definitely a different type of flirtation and request for breakfast, depending on who's giving the food. Sure. And so we haven't figured out what the problem is with the MailChimp.
It's definitely on the Drupal side, though, correct?
@1:37:50 - JD Leonard (modernbizconsulting.com)
Seemingly.
@1:37:52 - Scott Wolpow
And what does AI tell us? Well, my Claude Billing is having a problem.
@1:37:58 - JD Leonard (modernbizconsulting.com)
I've paid for a subscription. But the subscription's not active, so I don't know what's going on there.
@1:38:02 - Scott Wolpow
Go to Copilot. Copilot's actually pretty decent. And Copilot has the advantage of going through billions of lines of code in GitHub.
@1:38:17 - JD Leonard (modernbizconsulting.com)
I think that might be too much of a stretch for me, given that I don't have this in GitHub.
@1:38:23 - Scott Wolpow
No, no, and what I'm saying is Copilot, when you run code through it, compares it to whoever's publicly available in GitHub, because it's all Microsoft.
And then it gives you an answer based on...
@1:38:39 - JD Leonard (modernbizconsulting.com)
Well, I invite anybody with a favorite tool to plug the error in and see.
@1:38:45 - Scott Wolpow
Just go to copilot.microsoft.com and drop the code in saying, what's wrong?
@1:38:51 - aj-audio
Yeah, I don't have the code right now, but I did plug it in, as you know, JD, because we were chatting on the side.
And would it... Yeah. What it did say was to, as a quick workaround, was setting the hash manually using drush config set.
I don't know if you tried that or not. What would I set it to? I'll send you what it said.
@1:39:14 - JD Leonard (modernbizconsulting.com)
Thank you. I'm feeling like that needs to be a real hash, no? Right. I also was running into a weird issue where I have Devel installed, but it's not letting me access any of the Devel tools, and I'm like, uh, I have the permission.
Meanwhile, Stack Overflow's traffic has dropped almost nothing.
@1:39:44 - aj-audio
Yeah.
@1:39:45 - estevenson
I still wonder how that feed, having that feedback loop broken is going to affect things, because part of what makes kind of, you know, sort of the LLNs sort of more effective is they have this knowledge base.
But What it did say was to, as a quick workaround, was setting the hash manually using drush config set.
I don't know if you tried that or not. What would I set it to? I'll send you what it said.
SCREEN SHARING: Jd started screen sharing - WATCH
Thank you. I'm feeling like that needs to be a real hash, no? Right. I also was running into a weird issue where I have Devel installed, but it's not letting me access any of the Devel tools, and I'm like, uh, I have the permission.
@1:40:39 - JD Leonard (modernbizconsulting.com)
Meanwhile, Stack Overflow's traffic has dropped almost nothing.
@1:40:44 - estevenson
Yeah.
@1:40:45 - aj-audio
I still wonder how that feed, having that feedback loop broken is going to affect things, because part of what makes kind of, you know, sort of the LLNs sort of more effective is they have this knowledge base.
@1:40:59 - JD Leonard (modernbizconsulting.com)
But But now kind of like the mechanism under which people create this knowledge base, like, you know, kind of public clout and all that, now isn't going to happen.
@1:41:08 - aj-audio
Are we going to reach a point where they're going to have to come up with a new incentive structure for people to kind of post about it?
@1:41:15 - JD Leonard (modernbizconsulting.com)
Like, I don't like, I mean, I think open source is a bit less silly about this. Like, if nothing else, there's still going to be kind of like bug threads.
Um, but, yeah, kind of like, I know kind of unartist stuff, people are sort of getting cagey about kind of wanting to post stuff publicly.
@1:41:35 - Scott Wolpow
Adam to the rescue here. Yeah?
@1:41:39 - JD Leonard (modernbizconsulting.com)
uh, keyed into AI and got an answer out. Amazing. some random information into a variable and now things are working.
@1:41:48 - Scott Wolpow
So what was the answer? Adam, uh, I'll put it in the group chat. It's, uh, was just, it's a, it's a temp.
It's definitely a temporary workaround.
@1:41:59 - JD Leonard (modernbizconsulting.com)
Okay.
@1:42:00 - Scott Wolpow
I didn't even fluff the caches, although I suppose I should, huh?
@1:42:05 - JD Leonard (modernbizconsulting.com)
It might break if you do. Okay. I'm sure we've all seen that. We could enable webhook events for this audience, which probably would make some sense, but I'm not going to do that right now.
@1:42:20 - Scott Wolpow
I'm going to go to fields. Why are no fields showing up? So, well, you were just looking before the ZNA, that's your community group, correct?
@1:42:31 - estevenson
Correct. So I've got two audiences in this MailChimp account, and ZNA is the one that I'm interested in.
@1:42:36 - JD Leonard (modernbizconsulting.com)
That's coming from MailChimp, which is fine, but we're trying to see what's in CRM. Well, there's nothing in CRM right now.
We're just trying to map the fields between MailChimp and CRM.
@1:42:48 - Scott Wolpow
Well, maybe they make a demo field in CRM. Well, I mean, there are fields in CRM. Okay. It's not showing anything.
And that's just how it goes across all. Of Drupal, correct? Not just CRM.
@1:43:04 - JD Leonard (modernbizconsulting.com)
Right. It should have other fields here, too.
@1:43:06 - aj-audio
This displays a list of all MailChimp subscription fields configured on your system. Well, I guess I don't have any MailChimp subscription fields configured on my system.
Is there somewhere I'm supposed to configure that? Yes. I don't know where it is.
@1:43:19 - JD Leonard (modernbizconsulting.com)
I haven't looked at in a while, but...
@1:43:26 - aj-audio
I think it's here.
@1:43:33 - JD Leonard (modernbizconsulting.com)
I mean, would it be MailChimp? Oh, no. MailChimp fields. That was what you were looking at to map it.
I know. All right. Well, I'm going to read the readme. By the way, I'm building it out of the Obsidian tool, way I can take all my chats and drop them into there so I can actually search all my chats.
Because there's no... We just search chats. Well, Services MailChimp lists is the, I'm sorry, Services MailChimp is the main admin.
There's a couple of links, URLs that I put in the chat after that, lists, sign up, and campaigns.
@1:44:21 - steven.ayers
That's in Slack or Zoom? Put it in Slack, yeah.
@1:44:27 - JD Leonard (modernbizconsulting.com)
Yeah, that's not going to help. Lists is the one that we care about for this purpose, because that's what allows us to map fields from a list in MailChimp to fields in our group install.
I'm just reading the readme for MailChimp lists. It might be because we don't have, well, no, it says create an entity type with an email address field.
@1:45:00 - aj-audio
I mean, we should already have that with user, so it should show up, I would think.
@1:45:20 - JD Leonard (modernbizconsulting.com)
Did you add a MailChimp field to an entity? Is there such a thing? It seems to imply, but it could just be poor writing.
@1:45:38 - Scott Wolpow
MailChimp subscription. Look at that.
@1:45:48 - JD Leonard (modernbizconsulting.com)
Huh. Where's the OK button? Oh, there are error messages back here. What's going on? Oops, something went wrong. Great.
Research. I was hoping for it. Well, I hit it three times, I think. Oh, okay. What do we got here?
Ajax error. That one in Slack. Let's see. That's why you went to CRM and added the MailChimp field. Did you get to this error?
Yes, that's correct. Maybe the MailChimp can't reach your DDEV instance. It shouldn't matter just adding the field. It is connected with OAuth so that the thing that can't reach would be...
There any webhook invitations, right?
@1:47:07 - Scott Wolpow
But my instance can communicate with MailChimp because clearly it pulled the audiences down. Well. That does make it difficult.
Let's see if I add this to user just to verify it's not CRM specific. Oh, wrong place.
@1:47:45 - JD Leonard (modernbizconsulting.com)
Let's go to... Oh, nope. Same error. Okay. Huh, don't need to get very far with that.
@1:48:06 - Scott Wolpow
But for getting the way MailChimp is supposed to work, generally speaking, though, MailChimp or Constant Contact would have to be aware that CRM exists to connect to it.
That's the standard way of doing it, correct? Or am I misinformed?
@1:48:22 - JD Leonard (modernbizconsulting.com)
Say that again? You'd have to tell, if have MailChimp, let's say Constant Contact, it has to know that CRM exists in order to connect to it.
So it'd have to be in its YAML file, knowing the names of, knowing to look for the fields, correct?
@1:48:43 - aj-audio
I can't speak to the Constant Contact module, but the MailChimp Drupal module, the way it should work, is seemingly if you add this MailChimp subscription field to an entity, then you get the ability to map the fields on that entity.
To the fields in a MailChimp list. But if you went to MailChimp, can you see in the CRM module the fields that are in CRM?
Or are just adding a CRM field, a MailChimp field to CRM?
@1:49:19 - JD Leonard (modernbizconsulting.com)
So MailChimp doesn't care about CRM specifically, right?
@1:49:24 - aj-audio
It just, the MailChimp module uses the Drupal Entity System. So any Drupal Entities seemingly that you add this MailChimp subscription field to, you should be able to map to a MailChimp list such that the fields can sync.
Yeah, I'm remembering working with this a few years ago, and it may not be the same, it may not be, but I'm thinking what Scott was just saying, what you were just saying, JD, reminded me that the mapping was where it was only additional.
@1:50:00 - Scott Wolpow
The fields were mapped, you didn't pick fields to map to, if that makes sense. It's worth exploring further. Do you understand what I'm saying?
So you have to create the fields that you want that MailChimp populates in your entity. Yeah, for sure you would need to add whatever fields you want to be able to sync to fields you have in MailChimp.
I mean add net new, not add map. And the mapping is just the fact that there are fields in your Drupal instance now that have data from MailChimp.
That was the way it worked. I remember this from a couple years ago. It not still work that way, but I remember that was a thing.
I mean that just leads to, you can kludge around it with a, like you were, you know, you can work around it, but, and it's worth vetting that that's not the case anymore.
@1:50:58 - aj-audio
So let's say I have... In e-commerce, in Drupal commerce, just called something else commerce, in Drupal, and someone bought something.
@1:51:07 - Scott Wolpow
How would I link that cell to a contact in the CRM? I'm not familiar enough with Drupal commerce to- It's Drupal commerce.
It's called unique commerce, a new module. Okay. Or I'm building a directory, a directory of businesses. And I want to connect the business directory to the contact who's in charge of that directory.
Because their name may not appear on the directory, just the company name and address. So how would I link those two together?
So that the person who goes in and updates directory, I can see- I can look at the CRM and say, okay, Joe Smith updated his profile in the directory.
Um If I'm understanding your question incorrectly, you're just talking about sharing fields between entities.
@1:52:06 - aj-audio
that basically what you're saying? No, So CRM is contact relationship management.
@1:52:11 - JD Leonard (modernbizconsulting.com)
So you should be able to go in and say, Scott Wolpow, and find all the information we'd like to Scott Wolpow, his RSVPs, the member platform, and anything else that's LinkedIn, I should be able to link across all entities to do that with ease.
Well, yeah, relationship, yeah, there's ways to do that, definitely. But the owners should not be on the CRM. It should be on the new module that you're putting in to do that.
You say, I made a new module, so what I thought the MailChimp was doing is you turn it on, and you go through all the entities that exist in Drupal and say, okay, I will connect MailChimp to all these.
And you click. Now MailChimp has the ability to pull that data into its system. And then in MailChimp, you obviously have to make the account.
@1:53:00 - Scott Wolpow
corresponding fields in the MailChimp, so they can sync together. Yeah, you're talking about a very classic mapping there that I think probably exists in one of these modules.
Yeah, the general pattern is you have a MailChimp list, also called an audience in MailChimp terminology. You have MailChimp merge fields associated with that list.
@1:53:25 - JD Leonard (modernbizconsulting.com)
It's on that list.
@1:53:27 - Scott Wolpow
In Drupal, you could set up a contact entity type and add corresponding fields to those merge fields from the MailChimp list.
Add the MailChimp subscription field to that contact type, the person contact type, right, let's say. And then supposedly on that fields page, you'd be able to then map, right, the fields from one to the other and support bidirectional sync if you wanted to.
@1:54:01 - aj-audio
But whatever new module you create has to have the ability to know that CRM exists. That's what I thought was the way it does.
But if you look at MailChimp, it doesn't know CRM exists. It detects it by going through all the entities in Drupal, correct?
@1:54:16 - JD Leonard (modernbizconsulting.com)
That's what it's... Correct. Correct.
@1:54:18 - aj-audio
It doesn't have anything... MailChimp doesn't know about CRM inherently. Right.
@1:54:22 - Scott Wolpow
Right?
@1:54:22 - aj-audio
It just knows about the Drupal entity system that CRM uses. Right. Because that's a much better system because then you don't have know the other thing exists, so you don't have to change it every time something future comes up you want to attach to.
@1:54:44 - Scott Wolpow
I mean, if JD comes out the JD module tomorrow, you know, and I went to link into that, I'd have to know that JD exists, but this way I don't have to know JD exists.
The JD module exists. The MailChimp way seems to be...
@1:55:01 - aj-audio
I'm looking at the way that Mailchimp does this, and it looks like the connector is the email address itself, which is interesting.
Mailchimp uses as its unique key. Exactly, as unique IDNFR, yeah. Yeah, so I mean, that points to some issues around what we were saying before about multiple email addresses, but it does look like there's a hook here that we remember we were saying about the hash bit and that error.
Yeah, I think, I'm just, sorry, I'm just thinking out loud a little bit, and that doesn't make sense.
@1:55:48 - Scott Wolpow
You would need, if you build a new module, you want to link to anything in Drupal, you have to build something that sees all entities, not just what Mailchimp does, is link the email address, because it's the only thing it really cares about.
Yeah, if you're talking about a net new connector module, yeah, you're absolutely right, Scott. And I think that's, I mean, if I were putting on JD's ad, I'd say that's definitely a track that should be, that's a long-term area that we're going to, if we're talking about onboarding or integration, that's a long-term area in my opinion.
And Scott got a call. All right. Quan figured out its billing issue finally. I send you the org ID if, I don't know, I was looking to see.
I saw that. I wasn't actually sure what to do with it. Yeah, that's okay. But I'm in now, so.
Okay, all right.
@1:56:46 - aj-audio
Well, I got to build that connector anyhow for stuff I'm doing, so.
@1:56:50 - Scott Wolpow
They're like, JD says, I get to learn on the fly to give my presentation. You love it, Scott. Yes.
SCREEN SHARING: Jd started screen sharing - WATCH
And hopefully it really goes a coin to. So I've redesigned the site, I've got the ability to put it together, get it launched by March 1st with the archives, and I'm also building, and I'll be using for this, a curated newsletter system, you know, taking the feeds and kick out only what you care about.
So, that's my tack to make enough money to retire off of in the next five years.
@1:58:26 - James Shields
All right. I haven't sold enough rubber ducky, I always put it as my favorite rubber ducky. I am not a duck.
@1:58:39 - Scott Wolpow
he has a tie.
@1:58:42 - aj-audio
So I hung up my brain to dry, and I'm just shoving Claude at this. My brain to dry.
@1:58:51 - JD Leonard (modernbizconsulting.com)
Adam, that was a mixing duck. Mixing?
@1:58:55 - aj-audio
Mixing. Oh, really? Okay. Thank you. you. Thank Thank Thank You get it at DrupalCon or something?
@1:59:01 - JD Leonard (modernbizconsulting.com)
No, sell them. You sell them? I sell rubber duckies for fun at Comic-Con. I sell rubber duckies, dragons, minerals, other weird stuff, and something called furry bones statues.
All right. And by the way, if anyone ever needs collectibles, just let me know.
@1:59:23 - aj-audio
I probably know who sells them. All Drupal rubber ducks? Rubber ducks have about 600 different ducks.
@1:59:35 - JD Leonard (modernbizconsulting.com)
But have you a Drupal one? I do not have a Drupal duck yet.
@1:59:40 - Scott Wolpow
When things get better for me, I will make a Drupal duck.
@1:59:45 - JD Leonard (modernbizconsulting.com)
This looks like problem, JD. Well, maybe. Believe it when I see it. It thinks it has fixed the problem.
Right. you.
@2:00:01 - Scott Wolpow
Hey, you got us past that part, all right.
@2:00:14 - aj-audio
All right, so I'm adding the MailChimp subscription field. I'm selecting my MailChimp audience that I care about.
@2:00:25 - JD Leonard (modernbizconsulting.com)
And if I'm guessing correctly, then it's adding that field with a relationship to its own data, right, with that audience?
@2:00:34 - Scott Wolpow
Yes, I think so. So that should add in the CRM a field called subscription that allows you to toggle the subscription on and off, right?
@2:00:43 - JD Leonard (modernbizconsulting.com)
Hey, there we go. So we go into the fields, and now we have, because we added the field there, right, under the MailChimp subscription fields tab, we have CRM contact, bundle person has this field, update MailChimp.
@2:02:00 - aj-audio
Crack, at least you eventually run off it, but until you fix the problem, keep adding, you know, JD, it's four o'clock in morning, get to sleep already.
@2:02:13 - JD Leonard (modernbizconsulting.com)
My only concern with what we've done so far is that adding that hash is not a programmatic solution.
@2:02:20 - estevenson
It's not a long-term solution. Yeah, that's, there's just a bug in MailChimp that we need to address there.
@2:02:30 - JD Leonard (modernbizconsulting.com)
Yeah. Hey, everyone, have a good weekend.
@2:02:45 - estevenson
Take care, Scott.
@2:02:46 - JD Leonard (modernbizconsulting.com)
Thanks, Bye-bye. So I'm trying to, I'm just trying to understand what this step does with confidence before I damage my MailChimp account.
@2:02:57 - estevenson
you? Do Do you have a backup? Sorry. Well, I'm not going to do it until I'm confident.
@2:03:08 - JD Leonard (modernbizconsulting.com)
I also have some automations and stuff in the MailChimp account, so I have to be very careful about what I do there.
@2:03:15 - estevenson
Because you might end up sending a bunch of email out.
@2:03:17 - JD Leonard (modernbizconsulting.com)
Yeah, I don't want to do that. Is it worth creating kind of a separate test MailChimp account so you're just definitely not messing up any of your stuff?
@2:03:27 - aj-audio
Yes, that's the better way to do it. I should have a separate audience in MailChimp, which is a separate list, which MailChimp, in MailChimp terminology, it basically is kind of like a subaccount.
Well, not in MailChimp terminology. worked with MailChimp enough in order to know how difficult that would be. It's easy enough.
@2:03:51 - JD Leonard (modernbizconsulting.com)
And yes, that's probably the best solution, so I'm going to go do that.
@2:03:59 - aj-audio
Kinda. aäray's in the this No, no, no, having a dev environment, not having that is so painful. Yeah.
@2:04:21 - JD Leonard (modernbizconsulting.com)
I'll show you all me doing these steps, but I've got a bunch of PII that I need to... By the way, I think some of the errors we saw before is coming from...
I'm sorry, what were you saying? No, go ahead. Oh, I was just on my own train of thought. Mailchimp posts subscriber changes back to Drupal.
That's how it updates the entity field. So that's using webhooks, that webhook cache. So that's a possible limitation with DDEV, is it not?
@2:04:51 - aj-audio
It is. It's, you can get around that by using a tool, I'm forgetting what the class of tools is called.
Yeah, I know exactly what you're Are you using that right now or no?
@2:05:06 - JD Leonard (modernbizconsulting.com)
I'm not. Okay.
@2:05:08 - aj-audio
But it shouldn't be necessary for just the basic syncing, like the, at least the syncing in one direction.
@2:05:16 - JD Leonard (modernbizconsulting.com)
Right, you just won't have your sync from MailChimp to Drupal is all. Possibly, there's probably a way to initiate that sync.
@2:05:30 - aj-audio
From Drupal is my guess. All right, let's see.
@2:05:55 - JD Leonard (modernbizconsulting.com)
Does Slack not have the command brackets to... Way to format that text in a better way? Oh, yeah, it probably does.
No, I tried it. I tried both triple ticks and single ticks, and neither of them worked. Single tick should work.
Triple tick should work, too, no? That's what I thought. it works for me. There's also code button in the WYSIWYG there.
Huh. There's also a of of of little bit of of of All right, I've created a new MailChimp audience with one contact in it, and now I'm going to share my screen.
Am I already sharing my screen somewhere? I am. Let me go to the right window.
@2:07:28 - aj-audio
Ooh, where did the window go?
@2:07:34 - JD Leonard (modernbizconsulting.com)
Here it is. All right, let's go back to our audiences. We need to refresh audiences from MailChimp. Now I can see ZNA test.
That says zero members, but I definitely have somebody in that audience. And so, I'm not sure what's going on there.
Let's go back to CRM. Oops, I need configuration. Go to the contact type. Switch to the ZMA test audience.
Error has been found. Oh, here's where you map the fields. So these are the merge fields from MailChimp.
@2:08:56 - estevenson
So email address. Let's see if I can...
@2:09:03 - JD Leonard (modernbizconsulting.com)
Let me get the content. What's going on here? I'm sorry. These are emails, email. Maybe it does work. Address is address.
Let's find a name. That's not what I want. First name, if I can get it. There's middle name. name.
I can see middle, oh, given, that's it. Yep. Full name, family. Phone number is under telephones. All right. Let's see if there's anything I haven't done that I should have done.
That seems about right. Okay. So if I go to contacts, now this person here is the default person created when you install CRM.
@2:10:46 - aj-audio
The email address that it has set here happens to be the same email address that I populated the MailChimp audience with.
All right.
@2:11:00 - JD Leonard (modernbizconsulting.com)
I guess what happens, it put my username as my given name. That's interesting. I don't know. Let's see what happens if I save this.
SCREEN SHARING: Jd started screen sharing - WATCH
Anything? Does it do anything in MailChimp? I don't think it will.
@2:11:27 - aj-audio
Oh. Let's see. Date changed. Oh, it did actually update it.
@2:11:40 - JD Leonard (modernbizconsulting.com)
Let me just verify that one more time. And I can share. Going out should update. Going out should update based on the email address.
Good. There Dynamics Yes. Okay.
@2:12:06 - aj-audio
All right.
@2:12:06 - JD Leonard (modernbizconsulting.com)
So let me share my screen here. I'm sorry. I've got like too many windows open. I'm not sharing my whole screen, but so this is my MailChimp account and you can see the first name, last name is JD2, Leonard2, which is what I just submitted in CRM.
@2:12:26 - estevenson
Yep. Yeah, because that goes through the process of chat.
@2:12:31 - JD Leonard (modernbizconsulting.com)
It goes through the hook and updates MailChimp.
@2:12:38 - aj-audio
So possible.
ACTION ITEM: Open MailChimp Lists issue re: hash/config error; propose fix - WATCH
@2:12:40 - JD Leonard (modernbizconsulting.com)
Yeah. Which is nice.
SCREEN SHARING: Jd started screen sharing - WATCH
@2:12:44 - aj-audio
That's better than I expected. So we'll need to open up a bug about that hash error.
@2:12:54 - JD Leonard (modernbizconsulting.com)
And then I don't quite understand. don't What Claude did to fix, I'll have to go back and see. To fix what?
To fix that error where we couldn't add the MailChimp subscription field to the contact entity. It said that it created the missing configuration and set field prefix to its default value of field underscore.
Oh, I guess my field prefix was missing.
@2:13:25 - aj-audio
I will say that is a rather impressive demonstration of Claude. Oh, yeah. It figures things out. It's pretty amazing.
@2:13:37 - JD Leonard (modernbizconsulting.com)
How did that field get in there without the prefix? It added the prefix here. I'll share my... No, I know it added the prefix, but how did the field get into the database without the prefix?
I'm assuming it was a previous... The field wasn't there yet. Oh, okay. Like, it was at the point of trying to add the field that it wouldn't, presumably because field prefix was null.
@2:14:01 - estevenson
So that may very well be some anomaly related to my local configuration.
@2:14:10 - JD Leonard (modernbizconsulting.com)
Right. I mean, I would imagine if field prefix were an empty string, maybe it would have worked, but because it was null, it choked.
@2:14:24 - estevenson
Yeah. That's my guess.
@2:14:28 - aj-audio
I mean, yeah, field UI settings configuration didn't exist. So that's probably your core thing to chase down. Yep. I agree.
All right. Okay. Well, we've proven we can do this. If with some stumbles along the way.
@2:14:51 - estevenson
I thank you all for joining me on that journey.
@2:14:54 - JD Leonard (modernbizconsulting.com)
I'm going to excuse myself for lunch and, um, thank you. you. Thank you so much for, like, I mean, I feel a little bit like that picture of, like, construction site where you've got, like, five managers watching one person do the work, but thank you for doing that as well.
I will say, Erica, if you're new to, I don't know, if you're new to using some of the AI tools.
@2:15:17 - estevenson
Yes.
@2:15:20 - JD Leonard (modernbizconsulting.com)
I mean, I've definitely kind of, like, done chatting at a tool in order to sort of, like, develop a problem, but that is a different thing.
It's a different thing, but your lessons from, I'm sorry, JD, mean, I was going to say it's a different thing, but your lessons from there around hallucination and going down a rabbit hole the wrong way and things like that are incredibly useful.
Oh, kind of, yeah. No, like, like, just sort of, like, this is the type of. Son of a, I'm going to go in three seconds because my phone is deciding to reboot on me.
I'm sorry. sounds like a good time to stop. Thank you so much. I really appreciate the insights. Hey, you might, you.
You might want to just, you might look at doing Claude Code. They've got, I think Pro Plan is $20 US a month.
Yeah, kind of like a way to sort of start getting up to speed because it is so powerful and I feel so kind of.
No, I mean, even just what you saw, right?
@2:16:22 - estevenson
Like just simple like, hey, I've got an, like, here's what I did. Here's an error message. Like, what's the problem?
@2:16:27 - JD Leonard (modernbizconsulting.com)
It went and fixed it, right? Like, and yeah, so it can, it can be a huge time saver. So I would recommend that as just a basic, like, upskilling of like how to use the tool.
Um, I use it within, uh, PHP storm, um, cloud code is just a terminal. can run it in the terminal separate, you know, um, in PHP storm, I think there's a, an add-on like a plugin or whatever, um, for cloud code that helps it integrate a little bit better with the, um, the IDE, but it's not like that tightly integrated in the IDE.
@2:17:03 - estevenson
It's mostly just terminal based. kind of does what you want, um, does what you tell it to hopefully. Um.
Yeah. But yeah, I'd give it a shot. You can't exceed $20 a month unless you ask it to, basically.
@2:17:21 - JD Leonard (modernbizconsulting.com)
Okay, so yes, there is a safe window that I... Yes, it's not going to explode on me. Because I've totally heard of horror stories about that.
Yep, yep. So anyway, that's what I've used most recently. I'm not super experienced in these AI things. A lot of other people are way ahead of me on that.
Steve is using Cursor, which is just another similar tool. I haven't used Cursor myself, but it's another popular one.
Yeah, no, and to some extent, I just have to start diving into stuff again. For sure. Erica, let me know if you want to connect next week or something and sync on anything.
Happy to dive in. Yeah, sounds good. I'm going to, like I discussed, I want to complete that concrete task so that I've completed a concrete task.
It probably isn't the most urgent. But it is something I've done before, so clearly I can do it and then kind of figure it out from there.
yes, I'm to get that done this week. Thank you. I will follow up with you kind of, yeah. Thanks, Erica.
Have a great day. You too, right. Bye. Bye.
Comments
Comment #2
jdleonard