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

January 15, 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)
  • Janice Chow (janiceychow)
  • Bob Snodgrass (bsnodgrass)
  • Rich Gerdes (richgerdes)
  • Scott Wolpow (scottwolpow)
  • James Shields (lostcarpark)
  • Steve Ayers (bluegeek9)
  • Adam John (mradamjohn)

What Topics Should We Discuss? / Limited Human Notes

  • Recording
  • Quick introductions
  • New Year’s resolutions
  • CRM Beta imminent
    • Core deprecations have broken some things…
  • Meetings for CRM vs. meetings for Member Platform
  • Working groups / leaders for Member Platform
  • Scheduled coworking time?
  • Event / Entity Registration status
  • Any other topics?
  • Wireframe coworking time

Action Items

Fathom AI Summary

VIEW RECORDING - 92 mins (No highlights)

Meeting Purpose

Align on project direction, structure, and progress for the Member Platform initiative.

Key Takeaways

Topics

CRM Beta Release

CRM Architecture: Profiles vs. Relationships

Event Registration Generalization

Member Platform Scope & Delivery

Project Structure & Working Groups

Next Steps

Action Items

Fathom AI Transcript

VIEW RECORDING - 92 mins (No highlights)

@2:04 - Scott Wolpow

Greetings. Thank you.

@3:24 - steven.ayers

I suppose JD is not present at the moment.

@3:30 - Scott Wolpow

You should be just sending out a blast on Slack in five minutes. There's JD.

@3:55 - JD Leonard

Hey, good morning, everyone. Happy New Year. Happy New Year.

@3:58 - Scott Wolpow

Happy New Year.

@4:00 - Bob Snodgrass

Or as the cats would call it, Happy New Year. Oh, you got Bob.

@4:09 - JD Leonard

Yeah, you did.

@4:10 - Bob Snodgrass

Chuckle, chuckle. How's everyone's kitties and dogs doing in New Year?

@4:16 - Scott Wolpow

I always ask because no one ever asks about them.

@4:21 - Bob Snodgrass

We could show them, but I don't have any. Yeah, unfortunately, mine have passed.

@4:28 - Scott Wolpow

But I do have a god cat. Yeah, I have a grand dog. And when I go to my friend's house, the cat was in the closet, didn't want to be bothered, and I heard my voice.

I'm like, meow! I'm just running out to see me.

@4:45 - Bob Snodgrass

I used to have this old cat that would sit outside my office door when it was closed. And I was on a Zoom meeting or something, and he would yowl so loud.

Good morning. Yes, Thank Thank you. He was just, he was ready to, you know, ready to kick the bucket, you know, how they get.

@5:06 - Scott Wolpow

Yeah. Well, I had one cat that would paw the rug by my front door, by my office door. That was Baby.

And after he passed, they still heard the noise for years. And then Bijou was like, you know, Baby's all black, Bijou's all white.

And they would have gone along, had they known each other. And after Bijou passed, the noise stopped. Very strange.

@5:39 - JD Leonard

Steve's got a kitty. Oh, meow.

@5:45 - Scott Wolpow

You're on mute, Steve.

@5:48 - steven.ayers

I have a kitty who doesn't really want to be here, but will tolerate. Oh, a little bit. All right, he's done.

Until he doesn't. All right.

@6:00 - JD Leonard

Let's get started, because we all love cats, but we love member platform more. get us on track.

@6:07 - Bob Snodgrass

Get us on track, JD.

@6:12 - JD Leonard

Why don't we do quick introductions? So I'm JD. I think everyone knows me. And let's see, what New Year's spin can I put on this?

My New Year's resolution, one of them, is to direct more of my time and energy into moving member platform along as a project.

Yay!

@6:35 - Bob Snodgrass

And I will pass it along to Bob.

@6:38 - JD Leonard

Oh, Bob Snodgrass from St.

@6:40 - Bob Snodgrass

Charles, Illinois, west of Chicago, about an hour, straight west of the loop. And I've been doing Drupal for a while, and I want to get more Contrib stuff going, more Contrib effort going.

Because I got a little bit of time now. We're waiting for some projects to come in. You know, come on, let's go.

We'll take all of your time, Bob.

@7:09 - JD Leonard

It will take all of my time once that happens, I'm sure. Steve?

@7:19 - steven.ayers

I'm from the great city of New Lenox, Illinois. From here, I write code and do various other stuff with Drupal.

And in my spare time, I try to get liberals to say nice things about Condoleezza Rice.

@7:40 - JD Leonard

And Steve is the lead maintainer of the CRM project, which, platform heavily depends on and has been contributing to.

So thank you for all your efforts, Steve. Janice? Hi, everyone.

@7:55 - Janice

I'm Janice in New York City. I'll be going to Austin. be I'll Later this month, so hopefully I'll see JD.

@8:03 - JD Leonard

Absolutely.

@8:04 - Janice

Yeah, and I used to be in project management. I have a lot to learn from all of you. So, yeah, here I am.

Thanks for returning.

@8:19 - JD Leonard

And Rich?

@8:21 - Rich Gerdes

Hi, Rich Gerdes. I'm in New Jersey. My New Year's fun fact is that I just started a new job this week.

@8:30 - Bob Snodgrass

So it's pretty exciting.

@8:33 - JD Leonard

Or possibly boo if it means we get less of your time. At the moment, I'm not sure.

@8:38 - Rich Gerdes

So we'll see.

@8:41 - JD Leonard

Congratulations.

@8:42 - Janice

Thanks.

@8:44 - JD Leonard

And over to James.

@8:48 - James Shields

Hello, I'm James in Ireland. And I have been an interested member of the platform for various things I'm involved with, including science fiction conventions and a Lego group.

And over Christmas, I've been working on migrating my convention registration module to drupal.org from GitHub, and hopefully that will be moving closer to integration with member platform in the coming months, and we'll figure out where it fits in.

@9:29 - Scott Wolpow

Very exciting. Thank you, James.

@9:33 - JD Leonard

All right. Anybody else have some member platformer-related New Year's resolutions they'd like to share?

@9:39 - Scott Wolpow

Yeah, it's mine for my resolutions. What's that? I'm from Astoria, New York City. Oh, did I miss you, Scott?

@9:47 - JD Leonard

I'm so sorry.

@9:48 - Scott Wolpow

I'm home to a couple of movie studios, Stonway Piano, and various other things. He's a little nicer as a certain person moved from my neighborhood to my friends.

They were able to become the mayor, like Gracie mentioned, and I'm trying to upgrade my skills in AI and PHP and a few other things because I've to build some custom modules that I need for my projects.

And once I have things that going, I'll contribute them back in when I can support them. Very good.

@10:23 - JD Leonard

Thank you, Scott. All right, anyone else want to give a shot at a New Year's resolution? As it relates to member platform?

Trying to con somebody into committing to something.

@10:41 - Bob Snodgrass

We know your tricks. I will commit to get the wireframes for the event thing I was working on.

@10:52 - Scott Wolpow

Next two weeks, I'll work on that.

@10:55 - JD Leonard

Very good. Or possibly today because it's later on our agenda. I will try. Very good. So CRM beta is imminent.

Steve, you want to say a few words?

@11:12 - steven.ayers

Somebody at, I don't know, involved with Drupal Core decided to deprecate some stuff last night or push something that deprecated some stuff last night.

So, you know, my test, my, code that was, you know, testing perfectly last night now has an error in 41 deprecations.

So we'll see. I think most of it's from the address module though.

@11:38 - JD Leonard

Hmm.

@11:41 - Bob Snodgrass

Hmm. I mean, the deprecations.

@11:44 - steven.ayers

The error I'm a little bit more concerned about. right.

@11:48 - JD Leonard

Some of them though are like, you need this attribute in order to run this test.

@11:52 - steven.ayers

Otherwise it will fail. Oh, okay.

@11:58 - Bob Snodgrass

This test failed.

@12:02 - Scott Wolpow

Oh, boy.

@12:04 - steven.ayers

So, I mean, it's not like a huge effort, but I was kind of thinking it would be done before this meeting.

@12:14 - JD Leonard

So it goes. How can we help?

@12:20 - steven.ayers

Don't deprecate any more features today.

@12:27 - JD Leonard

I promise I will not do any of that.

@12:33 - steven.ayers

All right.

@12:35 - JD Leonard

Yeah.

@12:37 - steven.ayers

Very good. Very good.

@12:38 - JD Leonard

Moving swiftly along, meetings for CRM versus meetings for member platform. There was some discussion in our Slack meeting last week about sort of strategy and, like, what should we do?

Because I think in some ways, right, the CRM stuff has been very pertinent because... There's been activity there and, you know, things going on and people can contribute and opportunities for people to jump in.

And in some ways, we have been sort of neglecting member platform as a project in sort of some focus of time on CRM as a whole.

And so in talking with Steve, you know, my question is kind of, hey, how should we structure our meetings and divide our time, you know, to make sure that we get to all the other things member platform needs while still supporting CRM?

So just wanted to throw that out there for any thoughts. Welcome, Adam. Hey there.

@13:44 - Adam John

I'm sorry I'm late. I had a client call me at like 1059.

@13:48 - JD Leonard

So it goes. It is. It is.

@13:52 - Adam John

I didn't hear your question, so I apologize. Can you repeat it? Yeah.

@13:56 - JD Leonard

Glad to have you with us. We did introductions not long ago. So if you want. If to do a quick introduction, just say who you are, where you are, why you're here, we'd love to hear that, and I'll be happy to repeat the question.

Cool.

@14:08 - Adam John

Yeah, I'm Adam John, a longtime Drupal contributor and technologist, so I don't know what else to say, but I'm happy to help, happy to be here, and certainly excited about contributing.

@14:23 - JD Leonard

Fantastic. Maybe what attracted you to Member Platform? What got you in the door to the meeting?

@14:27 - Adam John

Yeah, so short story, the client that called me actually is a client that I've had for like 20 years, and he manages education in continuing development, professional development in New Jersey, and I built a Drupal-based member platform for him quite some time ago, and used what was available at time, continued to keep it up to date.

Just last year, we decided to shift to something else, but he's not enjoying it, so I might end up having to, you know, shift him back.

but... but... Yeah, There's also discussion about sale of the business and stuff like that. So it's not trivial. But yeah, so hopefully that will help a little bit.

@15:09 - JD Leonard

Well, welcome. Glad to have you with us. So the most recent question was around our meeting cadence. And so, you know, we have some discussion in our Slack meeting.

Related to CRM?

@15:21 - Adam John

Yes. Related to CRM.

@15:23 - JD Leonard

So, you know, when do we want meetings to be and which meetings do we want to be about CRM versus about member platform and, you know, the things that are not specifically CRM.

And adding confusion to the matter, right, for context, right? You know, member platform is an initiative, right? And we aim to do as much as we can upstream and, you know, create modules that are more general purpose and contribute to existing modules and projects of which CRM is one, right?

And so a lot of the things that we might end up creating or contributing to might actually be in a CRM namespace.

Even though it's sort of about this initiative, and we're not picky about kind of where things go. want to go wherever is best.

But it makes it a little hard for us to say, well, member platform, we're going to talk about, you know, things that don't have the word CRM in them.

But a lot of everything we might be doing might have CRM in it. So that's kind of the open-ended question for people's thoughts.

@16:29 - Adam John

In my mind, meeting service, really two things functionally. One is to monitor progress, and one is to kick progress in the .

So, excuse my French. And so I think whatever serves us to do that. I do think there was some conversation around CRM being kind of distinct meetings.

And I don't know what the conversation in the room has been about that. But I think that there's a danger if you split it off that there...

... That you lose gas in both. So my thought for now is that keeping them, you know, separate but combined in the meeting space would be probably most effective, in my opinion.

Anyone else?

@17:22 - steven.ayers

I don't know if it makes much sense to have separate meetings about CRM, when in a few months, there's not going to really be a lot of activity on CRM.

Not saying it's a dead project, but like, it was never a goal in of itself. It's just a dependency to do something else.

So I see the energy moving to other CRM related projects.

@17:46 - Bob Snodgrass

So like, contributed CRM modules that extend this?

@17:53 - steven.ayers

Yeah, so like, one of the other projects is about case management, right? I don't You let's say you're supporting lotto machines, right?

And so the gas station operator can go on to the website and fill out some issue with their lotto machine, right?

And that then gets, you know, you're paying somebody to then answer that question, right? Assuming you're like the state, right?

There's another one about CRM membership that, right, tracks membership into an organization. There are separate projects, separate namespaces as well.

I don't know if you're aware of this, but there's a lot of code in CRM for it not really doing a lot.

@18:41 - JD Leonard

There is. And we also have something like three times as many lines of test code as we do code code.

@18:51 - steven.ayers

So. Which speaks volumes.

@18:55 - JD Leonard

Well done, Steve. Well, I mean, we can't run the code coverage job.

@19:07 - Scott Wolpow

I think that the CRM is the foundation for everything else we're doing, so that has to be in perfect shape, so everything else will work, because you really can't do much with the member platform if the foundation is constantly changing a little bit due to any possible reason, like deprecation last night.

If we had a member platform running, that would break because the deprecation broke CRM. So maybe we'd focus getting CRM.

I think technically it just broke the test.

@19:42 - steven.ayers

Okay. Like, it's not a real bug. doesn't actually interfere with using the software. It just makes my tests not pass, which is the most important part of this project, to be clear.

@19:55 - Scott Wolpow

So it just winds that things it doesn't like.

@20:00 - steven.ayers

Yes. Okay. A lot, too. Like 41 of them.

@20:11 - JD Leonard

So, you know, we had some sort of mixed reactions in the Slack meeting, but I'm kind of erring on the side of not making any drastic changes here.

But perhaps given the increasing maturity of CRM, there will be less CRM specific things to discuss, but certainly there'll be plenty to discuss around other CRM ecosystem projects, right?

Such as CRM member and whatever comes out of the effort to generalize entity registration and the event module to allow CRM contacts to register for events, which is key functionality for member platform.

So that's my sort of default direction. You know, absent strong opinions to the contrary. And so segueing then into our next item on the agenda around working groups and leaders for a member platform, this initiative.

So I think one of the things that I have noticed is when we get people in a room and we start working on something, we're making some progress.

But we're often not making all that much progress on member platform when we're not sort of accountable with somebody on the screen in front of us.

And so two things I wanted to address there. One is, should we have more well-defined working groups or leadership roles for people to feel more empowered and more responsible to take things forward?

And if so, what should those be? And who is willing to step up to lead those?

@21:58 - Adam John

So I'll go on record as... Saying that I think, you know, more defined roles is typically helpful in a larger group.

The other thing I'll suggest is maybe, and if you've tried this, I'm sorry, but maybe the introduction of working sessions.

So something I've, like you're talking about where people are working on the screen, that sounds like that's a working session to me, which is where you have folks, right?

So I see you nodding. So I think that the idea is understood. If anybody else doesn't, yeah, good, good.

So, yeah, I think working sessions are really powerful, especially with distributed groups like this. So those are my thoughts.

Agreed. And we have had those.

@22:40 - JD Leonard

What we've typically done is we've sort of let this meeting then bleed over into a working session. We've already got people, you know, congregated.

And we could probably make that a little more explicit, right, and have calendar invites. And I'm also thinking it makes sense to have more of those maybe with.

with Anywho? Anywho? Anywho. As we typically do after this meeting with a predefined sort of thing for us to work on, so that people who are interested in a given topic can join, or maybe figure out who's interested in working on a topic and then schedule a time for them to get together and publicize it in case anybody else wants to hop on.

I think it makes a lot of sense. How would we break up those groups?

@23:23 - Adam John

Do you already have thoughts around that if that were to come to, if people like that idea? Yeah, that was my question, too.

@23:33 - Bob Snodgrass

Sort of.

@23:36 - JD Leonard

Bob, go ahead.

@23:38 - Bob Snodgrass

Just from the standpoint of breaking up the segments of the member platform for into functional working groups, right? In my mind, I'm thinking three to four to five, maybe, max.

I think for the bulk of the people that we've had over the course of time, we could probably recruit them into those different functional groups.

But I'm not sure what that functional group breakdown looks like.

@24:18 - JD Leonard

Anyone else? So we have sort of work streams. We've got sort of the work on CRM as a project, right?

We've got the work around events and trying to figure out how event registration all fits together, you know, by extending the existing Contrib ecosystem to support CRM contacts.

We've got sort of our efforts to create mockups or wireframes for different screens in member platform. The definition of a functional specification.

The For the initiative, as far as, you know, what we're trying to achieve, less about where we're trying to achieve it.

And then there's the membership or CRM member project, which ironically is not needed for member platform 1.0, because our 1.0 scope, as you may recall, or may be learning now, is basically assumes that anybody you're sticking in that system is a member.

And thus doesn't need to be sort of separately tracked. But longer term, very much a part of the vision, right, of the initiative is to track all sorts of different types of membership.

Organizations have lots of ways they want to track members. They need to track members. We want to support all of those so we can support all those organizations.

Can anybody think of any other groups, topics, that kind of could be addressed? I think some of it will come out.

And as we move forward on the wireframes and the functional spec, right, we'll kind of become clearer what are the next sets of tasks and groups of things, but all thoughts welcome.

I'm not good at making cricket sounds. I'm not good at making cricket sounds. I don't want that request to go unanswered.

@26:52 - Adam John

So I'm happy to do whatever. I love it.

ACTION ITEM: Schedule onboarding call w/ Adam - WATCH

@26:57 - JD Leonard

So, Adam, why don't we- is a good thing to To put him on.

@27:00 - Bob Snodgrass

Yeah, there you go.

@27:01 - Adam John

Let's go.

@27:03 - JD Leonard

Let's give him the nastiest thing nobody wants to do. Adam, let's set up a time to talk, just you and me, to kind of onboard you more forcefully to what's been done and what's going on.

@27:18 - Adam John

I have read through, as you probably saw in my comments in Google Docs and everywhere, I think I've read through most of the corpus of things that are around.

@27:27 - JD Leonard

Love it. Yeah, I've got a long backlog of things to respond to.

@27:33 - Adam John

Thank you, Adam. Appreciate your contributions.

@27:38 - JD Leonard

All right, so moving on. I lost my agenda. Here it is. Scheduled co-working time. That's kind of what we already talked about, right?

It was having these working sessions and sort of scheduling something. So I will, I will take it upon myself or find somebody else to take it upon themselves to, to try.

Try to organize that a little more concretely, get everyone who wants to be involved in that involved and figure out how we're going to schedule those things and make them happen so we can make some progress.

And then I think to Adam's point, we will have more to report on in these meetings, to report out on, and more progress to discuss, as well as hopefully more people to prod to move things forward.

I think we, let's see, James, are you in the loop any further on anything involving event and entity registration in that effort?

@28:44 - James Shields

I am not sure that I am. That's fine.

@28:52 - JD Leonard

So we had, sorry, I picked you out. Rich is here. That's great.

@28:58 - Rich Gerdes

That's Rich.

@29:00 - JD Leonard

Do you want to speak to that? I haven't done too much.

@29:03 - Rich Gerdes

I'm pretty busy with the holidays. I'm hoping to get back into some contribution stuff next week, now that I've started my new job and everything.

So, yeah, I did have the first pass of that. No real updates on that. But, yeah, we're still working on a submodule of the entity registration module that will generalize what can be registered.

Basically, we're going to add a second field that will track that alternative entity and then add some interfaces to let you select an alternative entity over a user.

So some changes there are happening, but I think it should work pretty well, at least for the first version.

And then we can look at if, you know, if we like that, if that works out, if people use it, I think the plan would possibly be to roll that into the main module in the future and consolidate, you know, replace.

you next week. It's the existing field in a future major release, but definitely don't want to force an upgrade on end users.

@30:10 - JD Leonard

Fantastic. Well, let us know if there's anything that we can do to contribute to that effort. Yeah, absolutely.

@30:19 - Rich Gerdes

All's in your court for the moment. Yeah, I think I got most of way through building the fields, field data.

I think the big thing that I'm working on is getting that interface, the form finish to form alter finish to alter and inject the fields needed.

So hopefully, once that's done, we'll just have a version we can test and we can work on some other stuff like registration flows and whatever else that might interact with.

But at least the first pass of that in the field, first major thing of that in the field is there.

@30:51 - JD Leonard

Excellent. Well, thank you for that. That'll be huge.

@30:53 - Adam John

Can I ask about that a little bit on the, on the, you're talking about some registration flows there, Rich.

And that falls into the CRM bucket, or does it fall in somewhere else?

@31:04 - Rich Gerdes

It's a general bucket. You know, the goal of Member Platform is to support registration, and a thing in Member Platform is a CRM entity.

So the idea would be to be able to register any entity for a thing, right? So not just event registration, but also course registration or, you know, child programs, whatever it might be that you might have an entity you're paying for.

So the long story is that there's two modules. I maintain the event module and the event underscore registration module.

There's also a separate project called entity underscore registration, or just registration. The title on the module is entity registration, the module name is just registration, I think.

Maybe. I don't know. Anyways. Anyways. Anyways. Let's go. Thank There's two different modules. have different approaches. The end goal here is to have a single module that is the registration module that handles registration.

It would let you register any entity, which would then let CRM or member platform register CRM entities for things.

That's sort of the context there. So yeah, would be anything. would be, you know, whether it's, you know, the party that the homeless associations have throwing or, you know, school classes or you know, fitness classes at a, you know, gym or whatever, you know, or events for the Drupal meetup or something would all be supported in that scope.

@32:39 - Bob Snodgrass

So, so Rich, just to be, to be clear, you're working with both the entity registration module, which is project registration, as well as the events registration module?

@32:53 - Rich Gerdes

Well, so I historically maintain the, I built and maintain the event registration module. And the goal is to, so the main difference is that entity registration let you register a user for any type of entity.

So you could have content nodes, you could have groups, basically anything. The event registration module let us register any type of entity for an event.

So you could register groups for events, users for events, content nodes for events, but it was specifically tied to the event entity type provided by the event module.

So the goal here is to have a single module, the registration module, let you register any entity for anything.

So you can register a user for a group, you can register a group for an event, you can register a user for a node, whatever that relationship might be, just generalizing that functionality and the appropriate forms and everything to handle that.

Gotcha. Thanks.

@33:50 - JD Leonard

And so as it relates to member platform 1.0's scope, right, we need to be able to have contacts register for a

Right. And so that more generalized complex thing that Rich described, right, will meet that need. Right. And that need is what drove the outreach to Rich.

That's sort of leading to this effort. Right. So that speaks to the pattern that we're kind of trying, I think, getting in the habit of, right, of identifying the best contrib that's already out there, efforts already underway, and sort of inserting ourselves and our requirements and trying to prompt and bring people into the fold.

Yeah, Adam. Yeah, great.

@34:35 - Adam John

Good stuff. So you said specifically context registering for events, which is, I understand the context for that in CRM.

The question I want to ask is that, what about visitors registering for events? In other words, people that are not registering?

Yes, also.

@34:56 - JD Leonard

Okay. Okay. All right.

@34:58 - Adam John

Yeah. I think you would probably...

@35:00 - Rich Gerdes

We'd probably create a contact for that person in the scope of member platform, but we do want to have this way for, you know, a member to say, oh, I'm bringing two guests.

We don't need to supply their names. That's in scope for it as well, the way like meetup.com has. Oh, I'm bringing two friends as a interaction.

So there are some mechanics that we have to still figure out. But yeah, mean, in the scope of member platform, it's, you know, a parent registering a kid for a class or something or for daycare kind of thing or, you know, a school trip or something more so than random users coming off the street, coming to our program, but not saying that should be out of scope either.

ACTION ITEM: Define registration requirements for MP 1.0 (anonymous, guests, parent-child, plus-ones) - WATCH

@35:43 - JD Leonard

And so the permutations of registration requirements, right, for member platform here, and we got to get a little more crisp on exactly what's in 1.0 versus later, right, is you've got somebody who is not, does not have a contact in the system who wants to register, right, for themselves.

And or they want to register for somebody else who might have a contact in the system or might not, or they want to register for somebody else for whom there does not need to be a contact and perhaps we should not create a contact, maybe because we just don't have enough information about them.

It's just simply a plus one, right, with no added information or things like that. And so we've got to figure out, right, how to mix that all together and identify concretely what our requirements are for member platform and then think a little more broadly about what are the generalized requirements, right, to aid Rich and team in ensuring that whatever that solution is that they're working on can facilitate those.

Yeah.

@36:50 - James Shields

Sorry, just to add, the intention is that's going to be using what's currently the entity registration model. Which is the registration namespace.

@37:05 - JD Leonard

Correct. So Rich is working on a submodule, right, in entity registration in the registration namespace.

@37:18 - James Shields

And, sorry, how did that? So have we reached out to the maintainer of that module at all?

@37:26 - JD Leonard

Rich is working closely with it. Cool.

@37:30 - James Shields

Yep.

@37:31 - Rich Gerdes

Yeah, I'm pulling it up, but I'm going to drop the ticket, the issue on Drupal.org for this in our chat here.

Oh, thanks, yeah.

@37:40 - Bob Snodgrass

For you all.

@37:41 - Rich Gerdes

The more the merrier, right, Rich? Yeah, I mean, that way people can sort of get the land as well.

Yeah.

@37:52 - Bob Snodgrass

Thanks for that.

@37:54 - JD Leonard

All right, I think we're in the portion of the program when I ask, are there any other topics people would like to discuss?

Anything on your mind? This can be any question you have on your mind. No dumb questions here. Particularly expect questions from people new to the project.

@38:13 - Bob Snodgrass

Just a comment I was on yesterday, the event platform call, and it was just me and Avi and Martin.

And we are using the events platform for mid-camp this year. We're just getting started with it. And one of the things that he has hanging out there right now is information with regard to people who are registering for like a camp.

ACTION ITEM: Coordinate w/ Avi/Martin re: Event Platform registration schema - WATCH

So they're interested in the schema, in a common schema, I think is how I'd put that. So we should have some conversation with him about that.

And Rich, is Martin also working with you on registration? The registration namespace, he's on there as a maintainer, right?

@39:07 - JD Leonard

You're muted, Rich. Just going back to find the window.

@39:11 - Rich Gerdes

I have not spoken, I don't think, with Martin, John Altman, the one who I've corresponded with. I'm sure Martin has seen the thread there.

Right. But, yeah, I mean, the way that registration works right now is you can register a user or anonymous, and then anonymous gets some extra fields, like an email and a name and some other stuff that get added to that.

But it's not an existing entity within the system, right? So the registration module does let you support registering random people, know, random user individuals off the street, just not existing entities that are not users, which is sort of the goal there.

But, yeah. I'm sure he's aware of it. I haven't personally corresponded with him. He didn't even reach out about my vent registration module at any point, but I think it kind of developed around a similar time as some other stuff was showing up in the ecosystem a couple years ago.

@40:18 - Bob Snodgrass

yeah, I mean, I'm sure it will correspond eventually.

@40:21 - Rich Gerdes

And I think once this feature lands, think it'll open up some opportunities for that as well. Yeah, that's great.

@40:29 - Bob Snodgrass

Can you speak a little bit more, Bob?

@40:31 - steven.ayers

I have this vague understanding that event platform might be using CRM, but I don't really know.

@40:37 - Bob Snodgrass

So I don't want to sound like an idiot. I don't think it is. Oh, okay. I don't think it's using anything along that line.

And yeah, we can talk more about that actually Wednesday.

@40:52 - steven.ayers

Okay. When you're over here. Yeah.

@40:55 - Bob Snodgrass

I don't know if Bobby's going to be online for that one or coming here. 24 25 27 Oh, he wants the sticker.

@41:02 - steven.ayers

He wants the stickers.

@41:04 - Bob Snodgrass

Oh, so he's coming. Oh, okay. Oh, I don't know. I'm just assuming. I'm trying to twist his arm to get him out here, but, you know, it's a long way in from the city.

Long way out, you should say, from the city. Where is here, Bob?

@41:20 - Adam John

I'm sorry. What's going on?

@41:21 - Bob Snodgrass

Here is Fox Valley, the Fox Valley area out in St. Charles, Illinois, which is about 40 miles west of the loop.

So, you know, the train comes out to Geneva, which is the town just south, but it's a ride in, you know, it's like an hour.

So, gotcha.

@41:41 - JD Leonard

And I couldn't find the, I think there was a Slack post from Martin about this, and I thought he said something to the effect of he can't see event platform leveraging CRM.

I don't have a clue that way.

@42:30 - Rich Gerdes

My flag on that is it depends on your use case and what you're trying to do. I feel like for something like an event management system where you're running a lot of events, you want to differentiate.

You want additional functionality that can work around that, where for a general, something like maybe a camp website that may or may not matter to a camp, they just want their event page.

They want the idea of registration. They want the dates. They don't necessarily care about doing a ton of stuff with that.

But if you're, you know, a... If running weekly meetups and you want to track attendance through the website, maybe you do actually want that.

So I think there's some different use cases around there. And I think if Member Platform eventually has a solution and it works and we create a paradigm, it's possible they'll adopt it or even will like whatever they've done for event management and say, we actually want that.

But I think the idea with Event Platform, and someone can correct me if I'm wrong, is that they're focused on single events, not really recurring events or event organizations.

And I think that's how I remember it. Yeah, exactly right, Rich.

@43:41 - JD Leonard

And thanks for laying that out. I was mistaken. When I was talking about CRM, I actually was remembering that conversation about events as a content type versus as an entity type that you just described.

As it relates to event platform. And yes. The difference between event platform and member platform as it relates to events is event platform is focused on large, complex events, maybe an annual conference, right?

Whereas member platform for events is focused on, well, potentially lots of little events, an event today, an event next week, and tracking that sort of over time.

And because of that, I think event platform has no need for CRM, right, for its purposes. It's not tracking organizations, right, or households.

It's just tracking people registering for events, and they use users, right? And their events happen to be content types as opposed to using an entity type.

All right, anyone else have another topic they'd like to float? All

@45:00 - Janice

I apologize if this has been discussed in past meetings and I missed it. About marketing, yeah, how are you thinking of marketing this platform to any prospecting user?

Stickers.

@45:21 - James Shields

No, I'm done.

@45:25 - Bob Snodgrass

So we are going to, I'm going to be at St.

@45:28 - steven.ayers

Charles, Illinois next week or in a few days where I'll be speaking to the Central Time Zone Multi-User Drupal Groups.

@45:43 - Bob Snodgrass

I think I.

@45:45 - steven.ayers

Central Time Zone Drupal User Group or something.

@45:49 - JD Leonard

Yes.

@45:50 - Bob Snodgrass

Work on marketing of that.

@45:52 - steven.ayers

JD and I will be in Florida next month on the 22nd. or the 21st to discuss it, and there will also be stickers there.

@46:04 - Bob Snodgrass

That's for Florida Drupal Camp, right? Yes. I'm twisting my wife's arm to have her take a vacation with me down there.

@46:14 - steven.ayers

You know, honey, Florida is in St. Charles.

@46:17 - Bob Snodgrass

Then I can go.

@46:23 - steven.ayers

But, I mean, there's not like a huge budget or momentum at the moment. And, I mean, I'm writing a blog post.

Yeah.

@46:33 - JD Leonard

And so Steve's speaking to CRM, right, and sort of what we're doing there. Also, I think CRM is going, we expect to be featured on the weekly drop as a module of the week.

Not the weekly drop, the podcast. Words are escaping me. You're talking about talking Drupal.

@46:54 - steven.ayers

Talking Drupal, that's it. Talking Drupal, right.

@46:58 - JD Leonard

Soon, and then we'll we'll see We're also lining up a full episode about Drupal CRM. But I think Janice was talking about member platform or asking about member platform or generally not just CRM, right?

If you say so.

@47:16 - steven.ayers

Ah, she nods, yes.

@47:21 - JD Leonard

Bob?

@47:23 - Bob Snodgrass

Well, was one of the things that we've been talking about quite a bit, but we haven't got any real traction yet because what is membership member platform right now, right?

It's not a thing yet. But adoption is going to be a key factor in making this thing fly. And how do we make that happen?

And, you know, I'm going to try to promote it with places where I'm able to promote it at, but that doesn't get us very far.

So, and JD, same. And, you know, I'm sure the rest of us, but. We probably should at some point talk about what a marketing approach would be for this to get the word out.

Yeah, I think getting to something where we can put code in people's hands is critical before we start doing that, in my opinion.

@48:12 - Adam John

mean, right now it's about building community and getting people together and figuring out who can do what. But, you know, like I've got two projects right now that I could really use a working something in member platform and they're proceeding without because I've looked at the dependencies, looked at what we've got in our docs.

So there's a lineup there, but there's nothing practical that I can pull from member platform to say, okay, well, now I'm working from this little core, right?

Or this, you know, recipe or this, whatever. There are a hundred different options, right? Maybe five or six different options, but the reality is there's nothing practical, no code in hand.

And that's where we've got to get to before this can really take off, in my opinion.

@48:56 - Bob Snodgrass

I agree.

@48:57 - JD Leonard

I agree, and also... High level, right, we've got a challenge, which is for any given organization that doesn't know or care about Drupal and doesn't have technical expertise to install and maintain a Drupal site or a bunch of money, right, to pay somebody to do that.

We're not a great candidate for that, right? But our mission, right, as listed on our project page, is to leverage Drupal to increase the efficiency and effectiveness of membership organizations globally, especially those with low technical or financial resources, so that they can positively impact their communities.

And that's the first part of our mission statement. Well, how do we do that, right, given the challenges that I just described, right?

And so that sort of bleeds down into part of our vision, right, which is to facilitate the existence of, but not implement,

Affordable turnkey software as a service solutions to empower membership organizations to more immediately and sustainably benefit the communities they serve.

Now, that could be something as simple as some guy in Austin, right, spins up, you know, some sort of enthusiast hosting, if you want to call it that, right, of member platform for a bunch of organizations in Austin, right, to reach organizations that would not otherwise be able to benefit from the platform, or something more structured and concrete and maybe worthwhile, you know, of either a for-profit or a not-for-profit entity launching a hosted version of member platform.

And then it's a little more on them to handle the marketing, right? Because ultimately, who do you pay? Well, you don't pay member platform, right?

I mean, would be great if you could, it would be great if you did, right? But there's not a value proposition, right, for handing money over platform.

to stop us from putting out...

@51:00 - Adam John

Donate on the page. Now, I like where you're thinking, JD, and one of things I'll say is that I've mentioned two active projects, but I've got a back burner project with an organization that I could pull up if I had something, you know, to work on and introduce to them.

One of the questions that this begs for me, I mentioned a couple of things before about ways that we might have code, and I don't know if there's been conversation around.

And look, I know some of the folks in the room have some experience, some years and their own experiences and time around the different Drupalisms and whatnot, as do I.

One of the things that has been used in the past to varying effect is install profiles. So I don't know if there's any conversation about that, but maybe that's a practical, you know, something that would be, you know, code delivered kind of an idea.

I don't have thoughts.

@52:00 - Bob Snodgrass

Yeah, there's there's there's also recipes and there's also the marketplace initiative, which is theoretically got some framework together in any way for replacement of install profiles with site templates.

But I don't know much about what's going on there as far as on the leading edge of that.

@52:23 - Adam John

Yeah. So.

@52:25 - Bob Snodgrass

So, you know, for that type of profile.

@52:29 - steven.ayers

Say again, Steve, that type of profile, a Drupal project profile, not a not the Drupal module called profile. Correct.

@52:37 - Adam John

Yeah. Yeah. Very, very, Yeah. I love the. Yeah. OK. Great. Rather than a distribution.

@52:44 - Bob Snodgrass

Right. Right. Yeah.

@52:46 - Adam John

So, I mean, there's some practical. So you could go ahead, J.D.

@52:52 - steven.ayers

Not I mean, the reason I'm working on CRM is that I also have a profile called Open Knowledge. Which is to let you practice how to build a knowledge base, how to do the KCS method.

But I need cases to do that, support cases. And as it turns out, you also need some sort of contact, organizational relationship management to have that.

So I don't know about like a member platform profile, but I don't, I wouldn't rule it out. I don't know if we'd be looking to do something, I mean, I would be looking more to just put out modules, projects that can be used together, but not like an overarching, this is the Drupal CRM that you will use.

@53:42 - JD Leonard

Right, Steve is not building a product. Yes, I am.

@53:45 - steven.ayers

You're focused on the tools.

@53:46 - JD Leonard

Well, sorry, as it relates to CRM and member platform. Yes. So we've talked, we've talked a lot about like, well, what is member platform when it comes down to it, right?

And I think broadly where we've sort of landed, right, is, well, first of all, it's a community initiative. That's why we're all here together volunteering and trying to pursue this thing, right?

And we have our mission and our vision, right? And we've talked about, you know, already on this call, how we want to contribute to dependencies upstream and help create more generalized modules and things like that, right?

But what is the thing that people install when they install member profile? They want to use member profile. And I think it is likely a set of recipes and modules depended on, right, by those recipes, including the other dependencies like CRM and things like that, right, that all get configured together into something that's more usable out of the box, right, for a general membership.

And likely also has some flavors available through more opinionated and more specific recipes. For example, I've got a neighborhood association that I volunteer with, right?

Well, maybe there's a neighborhood association recipe that builds upon, you know, the more general member platform recipe, something in that realm.

Is there a member platform module in there as well? Quite possibly, right? And certainly there are a bunch of dependencies and things that those recipes would have.

@55:33 - Adam John

Yeah, I think a member platform project or module is a near-term need, probably. I mean, at the very least, glue code and recipes are going to be a part of that.

But that's just my thought. Yep.

@55:51 - JD Leonard

But we need to get a little more crisp about what it is we're building before we go build it, which is not the typical approach taken in the Drupal community when they're building them.

But this is an initiative, and we've got a product that we're seeking to provide a solution for, so we need to maybe take an approach that's a little more traditional in the software space, as an organization developing a software project, but that also hamstrings us as far as progress.

So we've got competing challenges and stuff there that we're doing our best to work through. Rich?

@56:25 - Rich Gerdes

Yeah, I was going to say, think that when it comes to member platform as a thing, think you've said this before, is that member platform may never be a thing, right?

It's a solution, you know, it may never be a module that gets installed at a site, may just be a collection of config, right, that people use, or, you know, a recommendation, essentially, where like, I mean, I think we definitely probably will want a module, right?

We'll probably have a member platform module, at least that does some business logic for the idea of a member platform.

Whatever that might be. But, you know, the goal is to figure out what modules would typically be used together to do that, right?

Use events and registration and CRM and calendar module and all these things and have them all work together and provide the recipes that make that happen.

And it may actually just be, you know, a Composer JSON template for a Drupal project or something in the end, and that may be what it is, right?

But, yeah, I mean, it might be worth claiming the namespace, but the hard part is if you claim the namespace on Drupal.org of Member Platform, then we decide it's going to be a theme and not a module.

Changing that status within Drupal.org is tricky, right? So we do need to, as JD said, figure out what it is before or what it will, you know, what we want the Member Platform namespace to be before we actually take that over, right?

@57:58 - JD Leonard

We have the namespace.

@58:02 - Rich Gerdes

But yes, there's no code there, really.

@58:04 - JD Leonard

We need to decide what it is. Right. Go ahead, James. No, sorry.

@58:10 - James Shields

I was just going to say, I'm pretty sure it is possible to change what type of project a namespace is.

@58:16 - steven.ayers

It's just not something that I think requires opening an issue with the infrastructure team. Yeah. And they will ask you questions.

@58:27 - Rich Gerdes

Yeah, I mean, it's an issue because it is a content type in Drupal. can't change content types, right? You know, that's how physically it was implemented on Drupal.org.

So there are, you know, it's non-trivial to change the type. I'm assuming we're a module and that will probably be the best thing that we have.

And if we have a theme, it'll be member platform theme or member platform profile, whatever that gets generated from that.

But it's worth saying that we don't really know necessarily what member platform will be in the long term, right?

Fair enough.

@58:59 - JD Leonard

enough. enough. Fair enough. Fair Fair

@59:00 - steven.ayers

So, just sort of interrupting, I am publishing a beta. I don't know if anyone cares. Oh, we care.

@59:10 - JD Leonard

I mean, like, it exists.

@59:12 - steven.ayers

I'm now going in to administer releases. Yay!

@59:18 - Bob Snodgrass

Now I have my weekend plans.

@59:20 - Scott Wolpow

Congrats. I'm just finishing building a scraper to scrape some directories. Put that data existing around so we can contact people.

Nice.

@59:36 - JD Leonard

Once the beta is in hand, I intend to actually use it in production for my neighborhood association and convert us to processing membership dues registrations using Stripe and then tracking that data in CRM.

@59:59 - James Shields

We'll see.

@59:59 - JD Leonard

We'll See how quickly I can turn that around, but I'd like to get that going real quick because I have two sites of music in production.

@1:00:10 - Scott Wolpow

I'll be using production by Saturday.

@1:00:14 - JD Leonard

No pressure, Steve.

@1:00:15 - Scott Wolpow

No pressure.

@1:00:16 - steven.ayers

So do you have any idea for a short description for the release to appear on the project page? Stable release seems like it's a lie and an oversell, but not unstable.

@1:00:30 - Bob Snodgrass

Betas are not stable, I think, by definition, right?

@1:00:35 - steven.ayers

Yeah, but some people had ideas that took longer to get accomplished. so, I don't know. Business beta, right?

@1:00:45 - Adam John

I mean, business beta, can be Google was in beta for how long, right? Yeah, right. This is a business beta.

@1:00:52 - steven.ayers

It's not simply stable. Just, you know, try and break it is what a beta should be.

@1:00:58 - Scott Wolpow

All right. Business beta.

@1:01:00 - steven.ayers

Theta is the short description. Congratulations.

@1:01:03 - JD Leonard

I will blame you if this goes wrong.

@1:01:05 - steven.ayers

That sounds perfect.

ACTION ITEM: Update CRM project homepage warning re: beta - WATCH

@1:01:07 - JD Leonard

Suitable for testing and adventurous production use. Okay.

@1:01:16 - steven.ayers

JD, do you want to take a look at the homepage and maybe update our warning about alphas?

@1:01:23 - JD Leonard

We have a warning about alphas? do.

@1:01:26 - steven.ayers

Yeah, like, hey, you know, maybe we could change that to be like, totally use it now in production. This is JD's personal email address and cell phone.

He will support it.

@1:01:38 - James Shields

No, maybe not that much.

@1:01:40 - Bob Snodgrass

I think JD's rates are pretty reasonable, too. I'll take it.

@1:01:46 - Scott Wolpow

I'll take it.

@1:01:46 - JD Leonard

I'll the business.

@1:01:47 - Scott Wolpow

My friend had built a simple car for Joomla, and he finally gave up when people were demanding. He fixed their problems for free.

So, are the...

@1:02:00 - JD Leonard

Clock has just struck 11 central, so we are technically at the end of our meeting. However, I will stick around and have this bleed into a working session looking at and improving our wireframes for anybody who's interested.

Adam and Janice, I did send an invite to your email so that you can access the Balsamiq tool that we've been using for that if you're interested, but no pressure.

If anybody else doesn't already have that access and would like it, please shoot me your email. I have way too much.

@1:02:34 - Scott Wolpow

I ended up spending three days at a trade show, so that totally messed up everything I'm doing. I did get some really, really neat rare earth magnets for use on displays, have hooks, and so forth.

They may be used for another purpose. So, everyone, have a good week. Take care, Scott. Bye.

@1:02:53 - JD Leonard

Good to see you all. I also need to run, folks.

@1:02:57 - Bob Snodgrass

Catch you later. Good seeing you guys. care.

@1:03:00 - Adam John

Oh, JD, quick question.

@1:03:02 - Bob Snodgrass

Yes, sir. Before I go, did you post on D.O. for next week, Wednesday night? Not for Austin yet.

@1:03:09 - JD Leonard

I'm kind of waiting. I'm hopeful we have an in-person venue, but we might not.

@1:03:13 - Bob Snodgrass

Oh, no. Oh, okay. Yeah, we've been having trouble. Well, you're going to post it as Austin hosted U.S. Central Time Zone, right?

Something like that?

@1:03:24 - JD Leonard

I mean, I was just planning on doing our usual Austin one, which specifies, you know, about the quarterly time zone, yeah.

Okay.

@1:03:35 - Bob Snodgrass

And then I'll just check in with you on Slack when you plan to get on so you can be our host for this.

And, Stephen, I think you're still planning on being here, right? Yep.

@1:03:50 - steven.ayers

Cool. Yeah, we've got to work out some of the AV.

@1:03:53 - JD Leonard

We had some AV issues last quarter with, I think, folks not in person there couldn't hear us.

@1:04:02 - steven.ayers

I think we have that fixed now.

@1:04:04 - Bob Snodgrass

We did a pretty good trial run with Drupal Canvas last month. That's good. Thanks, Bob. All right.

@1:04:12 - JD Leonard

See you later.

@1:04:13 - Bob Snodgrass

Bye. All right.

ACTION ITEM: Send beta blurb to Steve for review - WATCH

@1:04:17 - JD Leonard

So who's the rest of y'all sticking around for a little bit?

@1:04:20 - steven.ayers

Well, I was going to answer Adam's question rather than typing to him, if that was okay.

@1:04:26 - JD Leonard

Go for it. And I will work on that blurb you asked me to, Steve.

@1:04:30 - Adam John

All right.

@1:04:31 - steven.ayers

So we literally just released the beta. You were there. So in terms of like features for CRM, there are really only two features.

I don't want to say that there's only two issues, but the first one that will probably be in beta two is to do with access control, right?

Notes have a grant table. It's essentially the same thing. And then we're providing you with an implementation where you can use relationships.

To give different, you know, access grants to different contacts. And then the second one. So this is a little bit of a thorny issue, and I'm sure JD will come in and correct me on how incorrect this assumption is.

But so, right, we have contacts, we have a person, we have organizations, right? But people are going to want to do something like create a student, I imagine, or have some other type of person.

That's really not a good idea, right? Just from a data perspective, you could have an employee and a student be the same person.

But if they're two different contact types, you know, do you have duplicate contacts? So we're trying to figure out a way to sort of subtype existing subtypes without being stupid about it.

So one idea is to do something similar to... The profile module where we could add a different, like additional entities with fields on them and then do some code magic to make it show up in like either the display view or the form view.

Others have thoughts about doing something similar, but using the relationships to do that, right? The relationships already sort of subtype the contacts, right?

If you're going to have a relationship for a volunteer to a charity, I don't know. I was waiting for JD to interrupt me by now, to be honest.

@1:06:35 - JD Leonard

Oh, I was being real polite. Oh. Steve said others referring to himself. in the room, JD?

@1:06:42 - Adam John

Sorry. that, Adam? I said best behavior with me in the room, eh?

@1:06:46 - JD Leonard

It's just for you. Moment you leave, it'll all go to . Perfect. But Steve, yes, Steve, Steve likes the approach of using relationships for as much as possible.

I prefer that relationships remain, but. Thank The relationship between two contacts, not also for information just about one contact.

It's not about one, it's about both.

@1:07:09 - steven.ayers

Can jump in there on my insight, my thoughts?

@1:07:14 - JD Leonard

Yes, we would like another scapegoat.

@1:07:16 - Adam John

Well, yeah, yeah, I'm okay being blamed for. I have broad shoulders. I like the direction that Steve is thinking.

I understand the foundation of what you're saying. I think it should be done cautiously and conservatively, but relationships are key between entities.

Here's why. So organizations change. People move within organizations and across organizations. So relationship, if you have a person entity, then that person entity can exist within a profile, tied to a profile, tied to registration, tied to an employee relationship, tied to.

So one of the concepts I've, it doesn't exist. It anywhere that I know of, but one of the concepts I use in my own thinking about things is that of a connection.

So, in fact, it's a part of one of those back burner projects that I kind of alluded to before that would be a production version of, you know, using like the member platform concepts.

But the connection idea is kind of marries to the if you're so anybody here familiar with I'm going to ramble here for a minute.

So anybody here familiar with that, with Mautic and marketing platforms? Good.

@1:08:35 - JD Leonard

Yeah, good.

@1:08:37 - Adam John

So on this project that I said is back burner, there's a marriage between Drupal profiles and Drupal users and Mautic tracking.

And that's key for anywhere where marketing is a part of growing the presence of that site or that digital presence.

So... Yeah. So... The idea of having looser connections and therefore just a relationship between two entities is really important when you don't have a lot of information, more than an IP address, more than a visit to a particular page.

And being able to relate that activity, perhaps using Maltec, perhaps using analytics within the Drupal platform, but being able to relate that information in a way that's actionable and usable to the business.

And so that was a long way around of giving a, really, think relationships are powerful between entities.

@1:09:35 - JD Leonard

So I should clarify, I love relationships, and I believe they should be used for tracking things between two contacts, 100%.

Where Steve and I diverge on our opinions here is that if you take the concept of having a profile for a contact, for example, a student profile, an employee profile, these are not the best examples.

@1:10:00 - steven.ayers

They're all best examples because they all feed my argument. They all support my position.

@1:10:05 - JD Leonard

If you take an example, this is one I keep coming back to that I think Steve finally understands what I'm saying because it's a little hard for me to convey this, but you could have a volunteer profile for a person at an organization, right?

Volunteering at an organization, right? Relationship. That's a relationship. But you could have a volunteer profile for somebody where there is no contact B, right?

It's a general, it's general information about a person who is or wishes to be a volunteer, right? And maybe also other things, right?

@1:10:42 - Adam John

So you may have some people who are volunteers or not. I need to understand that what you're saying there.

The idea of a profile, what you're talking about there, to me, a profile is a public thing. It's even if it's in network, I mean, not public necessarily, like even if it's all.

Only authenticated users. It's a published thing. And so I don't see the example you're, I don't see clearly the example that you're saying there because, yeah.

@1:11:11 - JD Leonard

Think of a profile as a named group, like a related group of fields, right? For a person, let's say.

And some people have that set of fields because of who they are, how they're classified, and some people don't.

Right? So rather than put all of the possible fields that somebody might possibly fill out and associate them with all person contact types, right?

You might have a set of volunteer fields that's about their willingness to be a volunteer, not about them being a volunteer for an organization, right?

That relevant contacts then kind of get this set of fields. But contacts for whom that's not relevant don't. How does that marry into the idea of different profile types?

Different profile types just being different sets of fields. Correct.

@1:12:11 - Adam John

Yeah. So the profile module, right, does this for users, right?

@1:12:15 - JD Leonard

You can have a set of fields for some users and a different set of fields for other users.

@1:12:22 - Adam John

Same concept.

@1:12:23 - JD Leonard

We're just talking about contacts. Okay.

@1:12:25 - Adam John

So I'm not seeing how this doesn't bolster the argument for relationships.

@1:12:33 - steven.ayers

I don't think there's actually like an argument against relationships. No, no, there's not. But the documentation on the project homepage says something to the effect that the contact is like the main entity.

And what I've discovered, it's really not. It's the relationship. That's really the main entity. And that's the heart of the disagreement.

@1:12:57 - Adam John

So how do

@1:13:01 - steven.ayers

A relationship is a link between two contacts, right? You can create different bundles, like employment, volunteer, et cetera, just like a contact or just, you know, just like any other content entity in Drupal.

Right. You can then define which contact types can be used on either side of the relationship, right? Some relationships are symmetrical, right?

Your siblings are your siblings. They're always going to be people. It's never going to be a cat. It's never going to be an organization, right?

But employment's different, right? You're employed at some organization. I suppose if you wanted to be employed by a person, you could make that work, but generally not.

I mean, that's the definition of ICs, but okay. It can be.

@1:13:51 - Adam John

So you're saying that in that case, the relationship between a company and an employee is the relationship. It can be.

be. Between those two entities, and that's what's most important, is that what you're saying?

@1:14:03 - steven.ayers

Well, that's what exists. That's what it is. Right. And what I guess I'm saying is that relationships of the volunteer example, that's what makes that person a volunteer is having a volunteer relationship to some charity, right?

And that makes them subtyped or grandchild. I'm not really sure what the correct word here is. Yeah. In the example of having some sort of skills you're trying to volunteer, like I can do welding or whatever it is, those data points, those fields would then be on the volunteer relationship.

And then through the magic of code and doing stuff underneath the hood, we could either have it appear as a field in the view or form display or have it be a separate tab next to the entity.

Thank you. Thank you. Thank you. Canonical view. If we can have it as a field in the display view, that means we can put it inside the search view, which means it's searchable for that contact.

@1:15:13 - JD Leonard

I think the only thing that Steve and I disagree on is that example of I've got a skills profile, right, as a prospective volunteer, let's call it, right?

And Steve says that should belong on a volunteer relationship, but there is no second contact, right, for that relationship, and thus I say, no, that should be a contact profile, a volunteer skills profile, something that is not a relationship.

It feels like Steve has something to say about that.

@1:15:43 - steven.ayers

Yeah, I really, this idea of like a candidate volunteer or a prospective volunteer, that's still a relationship to contact one.

Who's contact one, you ask Adam? I know. Whatever the site you're on is. You install CRM, it creates two contacts during install.

One organization, and that's contact one. It's meant to represent whatever the site is. And then contact two maps to user one.

And user one is considered employed by the site. So there's a relationship between the two.

@1:16:20 - Adam John

But it feels like there's, and I'm sure that it also feels like you've done a lot of work and thinking around this.

It feels like there's relationships that are hierarchical and there are relationships that are linear, not hierarchical. So is that a fair assessment or a fair understanding?

I think the term, because I've looked into this, is called arterial, like your artery.

@1:16:47 - JD Leonard

I'm not going to pronounce it correctly. Arterial. Yes, relationships.

@1:16:51 - steven.ayers

And those, I think really you're only going to find in like parent, child, this is my, you know, mother, my grandmother, et cetera, or supervise.

This person reports to this person who reports to that person. I haven't made any progress in terms of coding something for that, but my thought process is I've looked at the menu system.

It kind of does something similar in the sense that it has grandparents, right? And so it just stores that as fields, right?

What those IDs are. I imagine something like that could be done. Same concept in taxonomy as well. So I don't really know if I'm leading up to a point here, but I'm still talking.

So.

@1:17:33 - Adam John

Well, I mean, I like what you're saying.

@1:17:37 - steven.ayers

So contact or contact one, right? That's when you don't think there's a relationship involved, it's probably contact one. You're volunteering to be a prospective volunteer.

You're submitting to be a prospective volunteer at some other organization. Who are you giving this application to? Who are you submitting this data to?

The website. Contact one. Is that, is that, well. I mean, let's use the Meetup example as a model.

@1:18:04 - Adam John

In that case, there's some other contact below that's an organizational level contact that's below that, right? I mean, hierarchically.

@1:18:16 - steven.ayers

There doesn't have to be anyone like a sub organization below contact one. Like they don't have to have a relationship.

Like if you had Meetup and there's just different people create their own organizations on the site. I don't think they would necessarily need to have a relationship back to contact one if they're separate.

But in the context of being a potential volunteer, again, this isn't volunteering. I volunteer and I volunteer at a charity.

It has a name. It has an address. I can tell you its name. That should absolutely be a relationship.

This candidate pretend volunteer application form is either a relationship.

@1:18:57 - Adam John

Maybe there's a minimum qualification. Maybe Maybe that's what we're getting at.

@1:19:04 - JD Leonard

Yes, I would argue that that minimum qualification for a relationship is that there is a second contact involved or that will be involved.

I would say second entity, not contact.

@1:19:18 - Adam John

Because, I mean, you can have a relationship to an entity within an organization, a club, a team, something else within.

@1:19:30 - JD Leonard

Those would all be contacts in CRM, I would assume.

@1:19:35 - steven.ayers

Okay.

@1:19:36 - Adam John

There's no such thing as a container entity within CRM? I don't know what you mean by a container, like a group or?

@1:19:44 - steven.ayers

Yeah, like a group.

@1:19:45 - Adam John

Yeah. No.

@1:19:47 - steven.ayers

So if you look at like Salesforce or if you hate yourself, you can look at PeopleSoft.

@1:19:53 - James Shields

You smiled.

@1:19:54 - steven.ayers

You smiled. You know what I'm talking about. Yeah.

@1:19:57 - Adam John

You'll find that organizations often have.

@1:20:00 - steven.ayers

Additional features to them, there's a, like, they're separate entities, and they do other stuff, but they're basically a group.

Drupal has a group module, so we just sort of integrate with that, and we're just going to make do, right?

Like, I understand why, in the enterprise environment, they make organizations, groups as well, but that seemed like a lot of redundancy.

@1:20:29 - Adam John

Yeah, I mean, it comes down to what the functionality is that each of them can contribute to the member platform.

So I think that I'm not deeply familiar with CRM, obviously, but I think the overlap that you're talking about there is one that makes sense to some organizations, of course.

@1:20:46 - JD Leonard

For member platforms purposes, right, just for context, we're saying out of scope is member platform offering things on behalf of more than one organization.

Right. So like our tools, our system is designed for a single organization serving their members. And so our- That's problematic.

I'm sorry. I don't want to cut you off, but I have to there because that's problematic for me.

@1:21:14 - Adam John

One of the, one of the, so two, I'm going to say two organizations I work with and I'm going to say the names if you guys just, just, you know, don't make any assumptions.

So one, one is the Knights of Columbus and the other is the American Legion members. I'm a member of both active in both for many years.

The, in both cases, there's a, there's, right. There's, there's, and so you have 501c3s or 501c19s at the unit level.

I'm also involved in scouting, so I can use that as an example too. But my point is that you have these in one case, American Legion, I saw your finger, Steve, I'll get to it.

In one case, in the Legion case, that C-19 is, as it is. Which is a different form of a 501, but that C-19 is actually dependent by charter and bylaws on the parent organization.

In the KFC case, there's a strong financial relationship and a dependency, but the rules for the forming of the 501C3 is, in that case, very distinct and different than that of the Legion.

And scouting is another example where you have, in fact, scouting is probably a better example because you have charter organizations for each unit, which each troop or crew or packer or ship.

And so for each one of those, you have a defined, distinct relationship between the community organization and the scouting unit.

And so, anyway, my point with all that is that I have problems with the not more than one org because one troop or pack is going to operate very differently from another, and they could be on the same platform.

Or one Legion, they're called post. I should preempt Steve's response because I triggered this.

@1:23:04 - JD Leonard

I heard what I said. And that is, for member platforms 1.0 scope, we are seeking to provide a light feature set of meetup.com, basically, for a single group, right?

That's not to say that can't grow into a lot more beyond that.

@1:23:21 - Adam John

And what I want is a platform for the, for example, for the Legion to have a meetup of their own for only their posts and members.

You know, that's, I'm literally going to a conference this weekend. That's called the Midwinter Conference in upstate New York, where I want to talk about some of the work that I've done around.

So one of the things that I didn't mention explicitly before, but, you know, one of the platforms is dealing directly with those veterans and with those, those folks.

And so I would love to have this be a part of that.

@1:23:51 - JD Leonard

But anyway, that's. Well, and so I should, I should say, member plat, like, as far as what member platform's initial scope is, right, that's kind of where we start, right?

We depend on CRM. CRM supports the tracking of all these organizations, right? And you could absolutely build on top of member platform and CRM to do more complicated things.

And ideally, some of that stuff gets contributed back in such a way that other people can benefit from that, right?

So I'm not- CRM is not limited to one organization.

@1:24:24 - steven.ayers

Right, okay.

@1:24:25 - Adam John

Say again, Steve? CRM is not limited to one organization. Yeah, the limitation is not a CRM one. It's not even a limitation.

Even if it's a platform, I think what you're saying, JD, correct me if I'm wrong, is that it's not a long-term limitation for a member platform either.

It's just we've got to define what's in near-term scope, and that makes sense. Yes, it's around focus.

@1:24:45 - JD Leonard

Yeah. Yep.

@1:24:47 - Adam John

Fair.

@1:24:47 - JD Leonard

Good.

@1:24:49 - steven.ayers

You could install CRM starting today and not have to be bothered with uninstalling it because we'll provide schema updates.

of reasons for You could strategicリスト, can of it's Okay. Probably Now that we're in beta? Yeah, it's been a long road to get here.

When I made that as the cutoff point, a lot of people were like, oh, we better get in some schema-breaking changes now.

Some people, I'm not here to point fingers at anyone, just some people decided that this would be a good time.

So our beta was released today and not two months ago.

@1:25:23 - Adam John

That brings me to a question I had for you, Steve, about, you know, like I said, was, and I'd sent this just to you directly, but I don't care, who knows.

I was looking last night at CRM and some of the queue there based on the conversation in Slack in the last week, and I was, you know, looking for something.

What can I grab? And I didn't want to grab the wrong thing. So, and I'm glad I didn't because you were so close to the beta.

But so if you have any direction, I'm open.

@1:25:50 - steven.ayers

Well, did try to, I did give you those two items that are like the features in terms of like what CRM will have.

I don't, I'm not suggesting you were. I on those necessarily, but I don't have a good recommendation, I guess, is what I'm trying to say.

Do you have existing contacts in CiviCRM? I heard contacts in CiviCRM what?

@1:26:16 - Adam John

Do you have contacts in CiviCRM? Not anymore. Okay, fair enough.

@1:26:23 - steven.ayers

I mean, I hear that a lot. Yeah.

@1:26:26 - Adam John

It just, yeah, it wasn't a fit for the use case any longer.

@1:26:32 - steven.ayers

Kind of why we're here. Yeah.

@1:26:36 - Adam John

I mean, I'll go on record. I'll say I love the idea of integrating other projects and having relationships, dependencies, and so on.

It's just, it becomes something that can be cumbersome when there's, you know, things go in different directions.

@1:26:56 - JD Leonard

Agreed. I think, in general, people feel pretty good about... ... So CRM's scope and the scope not seeking to be ever increasing, right, as the base project, but being a good basis for an ecosystem to build around it, right, just as an ecosystem builds around Drupal core.

And member platform will be a part of that ecosystem, and I think will hope to build its own ecosystem, right, around it.

Can I ask, you're saying great things, JD, and it's keying thoughts in my head, which is always good.

@1:27:33 - Adam John

Can I ask then if someone has a mindset around CRM being tied to, like a sync type module? So I think having core functionality within Drupal is key and crucial, but especially large organizations will have CRM or sometimes, God forbid, more than one CRM, that they want to sync to.

And so, you know, what I call that is... Authorized sources versus authoritative sources. And so, and the authorized sources is, it's, this is verified, verifiable, and good data.

Author, you know what mean? So the difference is whether or not it's a source of data or the author of data, right?

So anyway.

@1:28:22 - steven.ayers

I worked at a big company for about a decade where, I don't know, I had like five or six different main projects that all involve pulling data out of some PeopleSoft CRM.

And so there is a, there is an issue in the backlog to create a submodule for tracking external IDs.

So sometimes you've got IDs that are just numeric. Sometimes they're UIDs. Sometimes you need a regex. So there'll be that type of integration or thought to handle integration.

But in turn. terms of being able to control what could be edited, it's not restricted, but it's not provided out of the box.

I I could imagine writing a quick and dirty couple of lines of code to just check to see if that field has some value and then, you know, access equals none kind of thing.

Sure.

@1:29:21 - Adam John

And an opportunity for somebody to contribute something to the ecosystem, right?

@1:29:27 - JD Leonard

But I think we're not seeking to increase the scope of the base CRM project, right, beyond little obvious things.

Good to see you, Janice. Anybody want to switch over to wireframes or are we – we don't have to.

@1:29:55 - steven.ayers

Yeah, I think we might be out of time for the day, but – Yeah, I'm –

@1:30:00 - Adam John

I'm pushing it right now. Very good. I'll be blunt about this. I'm okay looking at wireframes and providing feedback and thoughts, but it's not my – I don't like it, frankly.

Fair enough. Not what I like to do.

@1:30:13 - JD Leonard

I like big-level thinking, right?

@1:30:17 - Adam John

But making it look pretty is not, you know. Well, the beauty of the wireframes is it doesn't have to look pretty.

ACTION ITEM: Email JD to schedule onboarding call - WATCH

@1:30:23 - JD Leonard

It's a lo-fi, but more functional, you know, spec-oriented. I get it.

@1:30:29 - Adam John

I'm more feature-driven, more functional-driven than make-a-layout-driven. Fair enough.

@1:30:37 - JD Leonard

Adam, please reach out. Let's set up a call to talk more and figure out how to plug you in.

Yeah, cool.

@1:30:44 - Adam John

Great. Yeah.

@1:30:45 - James Shields

I think my problem with wireframes is I get too caught up on trying to make them look pretty and possibly sort of get too focused on that.

Not the actual functionality of them.

@1:31:03 - JD Leonard

Always a danger.

@1:31:07 - James Shields

Very good.

@1:31:08 - JD Leonard

All right.

@1:31:08 - Adam John

So I'll send you an email then, JD, and then I'm going to drop unless we're... I think we're wrapping up here.

@1:31:17 - JD Leonard

Okay. Cool.

@1:31:18 - Adam John

Thanks, everyone.

@1:31:19 - JD Leonard

Steve, I'll send you a message when I've saved my little beta blurb for your review. Congrats on getting to be here.

@1:31:27 - James Shields

Yeah.

@1:31:29 - Adam John

Yeah. You're on mute, and I'm sure whatever you're saying is wonderful.

@1:31:37 - James Shields

And that's where we'll leave it. Thanks. Thanks, y'all. See you next time.

Comments

jdleonard created an issue. See original summary.

jdleonard’s picture

Issue summary: View changes
Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

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