Below is a transcript of the PMPro Dev Chat held today. Thanks to everyone who participated.


jasoncoleman [3:01 PM]
Starting Soon

tubiz [3:02 PM]
ok

squarelines [3:02 PM]
Looking forward to it!

jasoncoleman [3:03 PM]
Theme Music for Today’s chat will be Twenty One Pilots Blurryface: spotify:album:3cQO7jp5S9qLBoIVtbkSM1
Spotify
Twenty One Pilots – 14. Goner

jasoncoleman [3:04 PM]
Just inviting people in. Our webinar went long. Starting in a few minutes. If you are here, introduce yourself with a one liner about yourself.

jasoncoleman [3:04 PM]
I’m Jason Coleman, lead developer of Paid Memberships Pro.

squarelines [3:06 PM]
I’m Aaron Director with Square Lines. We design and build websites, web apps, and mobile apps. And we love PMPro!

messica [3:06 PM]
hi! i’m jessica from the PMPro support forums

ghmaster [3:07 PM]
joined #development

reportica [3:07 PM]
hi I’m sheryl from Reportica

messica [3:08 PM]
good choice on the soundtrack @jasoncoleman

jasoncoleman [3:08 PM]
Some topics I’d like to cover today: Sharing the PMPro Development Board on Trello, Developer Webinars, Update to our /developers/ page… and anything you guys and gals are interested in. So let me know if there is something you want to talk about.

ghmaster [3:08 PM]
Hi everyone, I’m Harsha from the PMPro support forums

tubiz [3:09 PM]
Hi evryone. Am Tunbosun a freelance WordPress developer from Nigeria

reportica [3:10 PM]
if you can plan in advance, the best place for members-specific info? buddypress extra fields, user-extra fields or custom post type for member info I have a lot of stuff I need only for storage, rarely access it

jasoncoleman [3:12 PM]
Interesting Q @reportica. I don’t know if there is a “correct” answer, but I tend to store things in usermeta (like with PMPro Register Helper) because it’s the most standard way so other plugins are likely to play nice.

jasoncoleman [3:12 PM]
But if you need them mostly in BuddyPress, use their profile fields/etc.

jasoncoleman [3:12 PM]
it’s messy but possible to sync the fields if you need to.

jasoncoleman [3:12 PM]
So I’ll get started. Here is our development board on Trello: https://trello.com/b/9imAaI5Q/paid-memberships-pro-development

reportica [3:12 PM]
will it slow down everything to have lots of usermeta fields, these are for license information etc.

jasoncoleman [3:13 PM]
I’m going to publish that link on our site. Still figuring this out.

jasoncoleman [3:13 PM]
user meta fields shouldn’t slow your site down. they only add “weight” when being stored or retrieved.

jasoncoleman [3:13 PM]
so your checkout/profile/etc pages will load slightly slower, but as expected

reportica [3:14 PM]
thanks

jasoncoleman [3:14 PM]
RE the Trello board. Our thought is to have a form on our site for people to suggest stuff for the first “incoming” list there.

jasoncoleman [3:14 PM]
And then move it over to the other columns as we decide to work on it and actually get started working on it

jasoncoleman [3:15 PM]
I believe there are some best practices around this kind of thing that some other companies do to flag items/etc.

squarelines [3:15 PM]
Curiosity question, @jasoncoleman – why Trello?

jasoncoleman [3:15 PM]
We’ll also invite a few people in to be able to edit them and assign them to it.

jasoncoleman [3:15 PM]
We’ve used Trello internally and I notice some other plugins using it for this kind of thing.

jasoncoleman [3:15 PM]
I like the list/bucket format.

squarelines [3:15 PM]
Sounds good. It’s a new tool to me, so I was wondering.

jasoncoleman [3:16 PM]
To basically give a way to say “these are the things we’re officially working on” and “these are the things we are officially not working on”

jasoncoleman [3:16 PM]
I think it’s useful to have something like this for developers who want to get involved and just don’t know how they can help.

jasoncoleman [3:16 PM]
Trello is pretty fun.

reportica [3:16 PM]
would helping consist of working on something you are working on or something you aren’t?

jasoncoleman [3:17 PM]
We’ll still use (even though we’re often slow) the issues tracking in GitHub for core bugs and addon stuff.

jasoncoleman [3:17 PM]
Bigger items will move into this Trello board.

jasoncoleman [3:17 PM]
@reportica: So I think it might be both. So if we decide we aren’t going to work on a specific addon or feature, someone else can work on it independently and we’ll support it as much as we can.

jasoncoleman [3:18 PM]
And also we will be working collaboratively with non-PMPro employees on things.

messica [3:18 PM]
i really like how it’s very visual like a pinboard and less intimidating

jasoncoleman [3:19 PM]
Like any project management tool, it can get bogged down if we let it. But I plan to avoid some of the advanced features and really just use it to stay on top of the high level view here.

jasoncoleman [3:19 PM]
So expect a blog post about this next week. I’m open to ideas on things we can do around this.

jasoncoleman [3:20 PM]
Here’s the WooCommerce one for reference https://trello.com/b/YgRbpuze/woocommerce-roadmap

jasoncoleman [3:20 PM]
(not sure if they are using it as much post acquisition)

jasoncoleman [3:20 PM]
they have a neat voting feature that might be useful

jasoncoleman [3:21 PM]
one for jigoshop https://trello.com/b/fyzqqOoi/public-ideas-and-development-roadmap

jasoncoleman [3:21 PM]
one for Front End Submission plugin https://trello.com/b/vT8aivfj/fes-development

messica [3:22 PM]
nice

messica [3:22 PM]
i need to start using trello for more things…

jasoncoleman [3:22 PM]
Ninja Forms https://trello.com/b/8VM0MZrX/ninja-forms-public-roadmap

jasoncoleman [3:22 PM]
ok

jasoncoleman [3:23 PM]
Next up, you might have noticed we took down the /developers/ page on our site.

jasoncoleman [3:23 PM]
or I lied. it’s still there

jasoncoleman [3:23 PM]
:simple_smile:

jasoncoleman [3:23 PM]
https://www.paidmembershipspro.com/developers/

jasoncoleman [3:23 PM]
but we removed non PMPro Plus people from it and are planning to overhaul that page.

jasoncoleman [3:24 PM]
We’ve had a bit of feedback of people who found developers there and are happy.

jasoncoleman [3:24 PM]
We’ve had a bunch more feedback that they couldn’t get a response or things didn’t work out.

jasoncoleman [3:24 PM]
We need something a bit more formal for referring work to other developers, which we want to do as much as possible.

squarelines [3:24 PM]
Do you route that feedback back to the people in question? Because I’d sure want to know if people were unhappy with us!

jasoncoleman [3:24 PM]
Open to suggestions.

jasoncoleman [3:25 PM]
@squarelines: I don’t think I’ve heard back things about you. :simple_smile: I’ll doubel check.

jasoncoleman [3:25 PM]
We have sometimes sent the feedback back to the devs.

jasoncoleman [3:25 PM]
But sometimes we haven’t just because of time.

jasoncoleman [3:25 PM]
It’s kind of what I want to avoid is us managing the clients directly.

tubiz [3:26 PM]
@jasoncoleman: can I still send my application to be listed on the PMP developers page (edited)

jasoncoleman [3:26 PM]
We’re thinking of partnering with the bigger WP support shops like maintainn.com wp curve/etc who might be able to more consistently handle a large number of referrals

jasoncoleman [3:26 PM]
it’s a bad experience for users to reach out to each person on the list individually

jasoncoleman [3:26 PM]
@tubiz: Yeah. Are you a PMPro Plus member?

squarelines [3:26 PM]
One option would be providing a low-intrusion method of feedback (e.g., an “exit survey” of a dev) and then publishing results.

jasoncoleman [3:26 PM]
I think you are or I’ll promote you

tubiz [3:26 PM]
Yes

jasoncoleman [3:27 PM]
Something I’m thinking about is a form for the customer to submit project info and then automatically route that by email to the devs

jasoncoleman [3:27 PM]
so the customers submit in one place and then follow up by email with any of y’all that get back to them

squarelines [3:27 PM]
We get a reasonably steady stream of referrals from the site, so I’d not be in favor of getting bypassed for some other pre-determined shop (as you can imagine!).

tubiz [3:28 PM]
AffiliateWP has this feature whereby a contact form is on their consultants page. Once it is filled it goes out to all of ther consultants

squarelines [3:28 PM]
A project e-mail system would work well, I’d think.

jasoncoleman [3:28 PM]
@squarelines: Can you share how many you get and how many become clients?

jasoncoleman [3:28 PM]
And of the ones who don’t, the most common reasons why.

reportica [3:28 PM]
here’s my requirements sort of thing, that’s hard for some clients unless you include a non-jargony questionnaire that might be helpful to all of us

jasoncoleman [3:28 PM]
Can share here or by DM

squarelines [3:29 PM]
I’m happy to be (reasonably) transparent: I’d say we get 3-4 inquiries a month that are explicitly from the site – maybe more who don’t reference it. The ones who don’t end up going with us are usually because they have a different sense of their project scope than we do.

jasoncoleman [3:29 PM]
Yeah, I feel like the form would be like “Submit your project information to get offers from our X development partners”. And it would ask for budget size, urls, experience, project descriptions

tubiz [3:29 PM]
@jasoncoleman: link to AffiliateWP consultants page http://affiliatewp.com/consultants
AffiliateWP
Consultants – AffiliateWP
There will always be cases where you need to do something that AffiliateWP does not offer. Simply fill in the form…
PRICE
—————-
$49 USD

LICENSE
—————-
Personal (1 site)

(241KB)

squarelines [3:29 PM]
(e.g., they think their issue is a one-hour thing when it’s really 4-5, or 10+).

jasoncoleman [3:30 PM]
that’s a great form

squarelines [3:30 PM]
Of the inquiries we get, I think we engage with ~75% of them.

jasoncoleman [3:30 PM]
EDD (same developers) actually has one that inspired that idea a bit

jasoncoleman [3:30 PM]
thanks for the #s

squarelines [3:30 PM]
Sure.

squarelines [3:30 PM]
It’s not the largest part of our WP work, but it’s a decent chunk.

jasoncoleman [3:30 PM]
we probably get 3-4 inquires directly to us per day and I want to as much as possible route those people to devs who can help them.

reportica [3:31 PM]
there are some projects that would be too advanced for me, I’m not there yet (ready to be a consultant) just interested down the road, for now I’m more likely to be a client

jasoncoleman [3:31 PM]
that affiliatewp form sends to them AND offers a way to contact people directly

jasoncoleman [3:31 PM]
pretty neat

messica [3:32 PM]
yeah, i like that. like a combination of the dev directory and a form

squarelines [3:32 PM]
If you want to make it clear that you’re doing referral and not being a middleman, you’ll still probably want to note that in the copy.

jasoncoleman [3:33 PM]
what’s the dif between referral and middleman?

reportica [3:33 PM]
yes @messica and sophisticated clients can spec more, less sophisticated can just say “not sure”

jasoncoleman [3:33 PM]
oh like we won’t be involved

jasoncoleman [3:33 PM]
yeah

squarelines [3:33 PM]
@jasoncoleman: the amount of direct consumer contact you have to have.

jasoncoleman [3:33 PM]
I think ideally in most cases, you guys (developers) would still work with us in the forums when needed

jasoncoleman [3:33 PM]
instead of those clients contacting us

jasoncoleman [3:33 PM]
right

squarelines [3:33 PM]
But you might still want some kind of end-of-engagement feedback loop, I’d think? To determine if you should boot someone from the list?

jasoncoleman [3:34 PM]
ok. I think we might roll out something like that contact form over the next week or so. But we’ll still keep and highlight the devs on the list.

reportica [3:34 PM]
“referral” implies endorsement, “passing on your request to those who have expressed an interest” or just specific the criteria for the list

jasoncoleman [3:34 PM]
@squarelines: Yeah I was just going to suggest that

jasoncoleman [3:34 PM]
Some way for us to get feedback on the devs so we can manage the list better and show the good ones at the top and remove bad parties.

squarelines [3:34 PM]
Some kind of timed e-survey to the requester?

jasoncoleman [3:35 PM]
Yeah. Some of you we work with and have gotten to know are more referrals, but I feel too there is so much work… and honestly people with small budgets too … that we almost need a bigger firehose to help those people out. but maybe not

jasoncoleman [3:36 PM]
When the form is submitted, we can send a reply to the customer telling them that the devs should get in touch and they should follow up with them directly. If they don’t hear back… (need to figure out what to suggest)

messica [3:36 PM]
what about a new private forum that only admins can see for feedback on developers?

jasoncoleman [3:36 PM]
And then we can send another email a few weeks later asking them how it went. Maybe another form on our site to gather that info.

squarelines [3:36 PM]
Yeah, the follow-up e-mail with link to a form would do the trick, I’d think – “Did you hear from (dev)? Did you engage? Why/why not? How’s it going?”

reportica [3:36 PM]
just like the follow up for support, thumbs up or down with comment space

squarelines [3:38 PM]
The danger to watch for over time, I’d think, is that you also don’t want to become an Angie’s List of PMPro devs – getting complaints, negotiating responses from the devs, etc. Probably not a problem foreseeably, but something to keep an eyeball on.

reportica [3:38 PM]
or maybe you do? if this grows, somebody should

jasoncoleman [3:39 PM]
I agree… with both of you

jasoncoleman [3:39 PM]
:simple_smile:

squarelines [3:39 PM]
:simple_smile:

jasoncoleman [3:39 PM]
Nice

jasoncoleman [3:39 PM]
taking notes

reportica [3:39 PM]
more topics?

jasoncoleman [3:39 PM]
I wanted to ask for general feedback on PMPro Plus/memberlite/addon updates stuff.

jasoncoleman [3:40 PM]
I’m going to post a big post mortem on the blog soon, but in general the sale went well

reportica [3:40 PM]
dunno if this is what you are thinking of, but chris lema’s membership review made me ask myself to clarify who I do not recommend pmpro for.

jasoncoleman [3:40 PM]
and the PMPro Plus level is going better than I thought. Not as much push back RE the price as I thought.

jasoncoleman [3:41 PM]
@reportica: In general I personally suggest WC if they have shipping/shopping cart needs.

jasoncoleman [3:41 PM]
EDD if their products are all digital.

reportica [3:41 PM]
Any client who is a non-coder AND not interested in experimenting and wants to do it themselves and not pay for ongoing support from me I send them to somewhere with more handholding type support

jasoncoleman [3:41 PM]
Or again we don’t support multiple memberships per user well, but I don’t have a goto suggestion for that.

jasoncoleman [3:41 PM]
I have seen some of the newer LMS systems have billing built in and look like good options.

squarelines [3:41 PM]
I like the PMPro Plus rollout. The theming isn’t as relevant to me because we handle that kind of styling ourselves, generally, but the new PMPro levelling makes sense. As a dev who works on multiple sites, I got a little skitchy using my license code to enable a premium add-on for a client – in terms of the implications over time if they use another dev who isn’t a Plus members, or if in 10 years, that level goes away but they still need to use the add-on, etc.

squarelines [3:42 PM]
But it seems like that’s how it’s intended to work.

reportica [3:42 PM]
agreed @squarelines I’m not sure on that myself

jasoncoleman [3:42 PM]
We allow the license on multiple sites, but it’s still probably a good idea to have each client purchase their own license.

jasoncoleman [3:43 PM]
There’s an article about it (from a non-PMPro perspective) that I’ll try to find.

jasoncoleman [3:43 PM]
But basically makes sense that if you cancel your license/etc eventually you don’t want your clients to have to go through you.

squarelines [3:43 PM]
OK. Not sure I can sell a client on a $150 license to use a single one of the premium add-ons (like donations), though.

jasoncoleman [3:44 PM]
pretty sure it was Syed Balki (wpbeginner) that wrote it.

jasoncoleman [3:44 PM]
understood

squarelines [3:44 PM]
Interesting – will check it out. (Article.)

reportica [3:44 PM]
jason for multiple memberships per user, you have buy a page or buy a course, that’s it right?

jasoncoleman [3:45 PM]
If you only need one time payments for courses, you can use pmpro addons with some of the LMS plugins

jasoncoleman [3:45 PM]
but if you need multiple courses that each might be recurring, we don’t support multiple memberships at the same time or recurring addons

jasoncoleman [3:45 PM]
Not to tease, but I am trying to think of ways we might build multiple memberships per user as an addon vs a core update

jasoncoleman [3:45 PM]
because the big issue is that it breaks all addons

jasoncoleman [3:46 PM]
not that core itself breaks when you have multiple memberships per user

squarelines [3:46 PM]
Yeah – doing it as an addon would reduce my migraine level quite a bit.

jasoncoleman [3:46 PM]
so if we did it that way we could more prominently show the disclaimer about everything breaking and let people opt into it

jasoncoleman [3:46 PM]
and have less expectation that it all should “just work”

jasoncoleman [3:46 PM]
and over time we can update addons to support it

jasoncoleman [3:46 PM]
slowly

squarelines [3:46 PM]
I rely on features of some of the tables in some customizations.

reportica [3:46 PM]
personally, I”m fine with the current system, it just forces you to think logically about what is recurring and what is not

messica [3:46 PM]
maybe something simple like an array of level groups and just use the access filters?

squarelines [3:47 PM]
@jasoncoleman: I assume you’d have multiple entries per user_id for different membership_ids in pmpro_memberships_users?

reportica [3:47 PM]
I’d rather see you do a system where people can add or delete “features” to one membership. I like the fact that one membership = one person

jasoncoleman [3:47 PM]
even so I think we’ll be spending the next few months focusing on making the core and some of our existing addons better vs expanding our feature footprint

jasoncoleman [3:48 PM]
@reportica: we have some code gists RE increasing price based on register helper fields

jasoncoleman [3:48 PM]
and I also like that model as a “work around” (it’s on our multiple memberships per user work around blog post) for lots of cases

reportica [3:48 PM]
yes, I have played with them and I prefer that

jasoncoleman [3:48 PM]
@squarelines: Yes. And actually we’ve already updated the code around the DB table to support that.

jasoncoleman [3:49 PM]
So you can have more than one entry in there that is active.

jasoncoleman [3:49 PM]
You might notice the account page now says “Your Membership” and has one row for your membership. But it’s coded to be able to show more.

jasoncoleman [3:49 PM]
We did a lot of the background work to support multiple memberships.

jasoncoleman [3:50 PM]
Probablem is that a lot of addons call pmpro_getMembershipLevelForUser() (there is a plural version of that function now) and otherwise assume members have only one membership level at a time.

jasoncoleman [3:50 PM]
@reportica: I guess we could make that kind of thing easier to do as well.

squarelines [3:50 PM]
Our work usually just goes to the table directly. Would you still be able to assume that there’s only one active entry in the table per user_id per membership_id? If not, what would the reliable sorting mechanism be, then, once filtering by membership_id? Get the latest one by sorting by id or enddate DESC?

jasoncoleman [3:50 PM]
FWIW another area that would need to be worked on is all calls to $memberorder->getLastMembershipOrder($user_id)

jasoncoleman [3:51 PM]
I think it defaults to get the latest one by ID

reportica [3:51 PM]
@jasoncoleman don’t do that on my account. I have a “better half” who is actually better at that, says no problem

jasoncoleman [3:51 PM]
but in general all those calls need to be updated to handle getting an array back instead

jasoncoleman [3:51 PM]
:simple_smile:

squarelines [3:51 PM]
OK. I’ll make sure we are forward-looking on those calls in the future. Just in case. :simple_smile:

jasoncoleman [3:52 PM]
yeah. I try to add a comment when I notice I’m making those assumptions, but even I’m not good at that.

jasoncoleman [3:52 PM]
At least maybe a doc (wouldn’t want to publicize it too much though) RE how to add comments to addons RE areas that need to be updated to support mult mem levels. will make it easier in the future. hmm

jasoncoleman [3:52 PM]
I’ll think about it

jasoncoleman [3:52 PM]
That’s all I had I think

jasoncoleman [3:53 PM]
You guys have anything else.

tubiz [3:53 PM]
Ok Jason. Thats nice

reportica [3:53 PM]
I have to admit to being concerned about end users having to have their own license, I’m not built that way. I want more experience so I go out of my way to add a membership site to every client I have . Even my gas stations have membership sites

jasoncoleman [3:53 PM]
We don’t plan to shut anything down without a license key

jasoncoleman [3:53 PM]
but it’s needed to upgrade through PMPro directly

jasoncoleman [3:53 PM]
plugins are still on GitHub for free

reportica [3:54 PM]
don’t plan to leave them I guess

jasoncoleman [3:54 PM]
but they’ll still get the nags without a license

jasoncoleman [3:54 PM]
once a month

messica [3:54 PM]
didn’t you mention woocommerce was doing something like that too? jw

jasoncoleman [3:54 PM]
and they’ll see the plugin needs to be updated (if it does) but won’t be able to update it

jasoncoleman [3:54 PM]
WC doing something like what?

messica [3:55 PM]
having addons available on github, or maybe it was another plugin. never mind haha, i think you mentioned it the other day

squarelines [3:55 PM]
Nothing more that’s major on this end, Jason. Thanks for continuing to have these Slack dev chats – I think they’re helpful (and hopefully, you do, too!) Gotta jump for a 1pm meeting – but a minor thing before I go: I’ve got a support item on the forum that is hanging out there and I’ve got an anxious (and repeatedly-contacting-me) client on it, so if that could get a bump, I’d appreciate it.

jasoncoleman [3:55 PM]
there is a way to update plugins via github

jasoncoleman [3:55 PM]
instead of doing that, I built our own update/license server

jasoncoleman [3:55 PM]
and update through there

jasoncoleman [3:55 PM]
better for me to manage… and also it means we get to enforce the paywall

jasoncoleman [3:56 PM]
We’re really trying to adjust our thinking from “everything is free” to “The core plugin is free and all code is open source and available on GitHub to explore and contribute. But if you plan to use PMPro and especially the addons on a production site, we expect you to have a PMPro Plus license.”

jasoncoleman [3:56 PM]
The core/plus separation and pricing isn’t set in stone. I’ll probably do some experimentation in September.

jasoncoleman [3:57 PM]
In particular since plus launched 90% of signups are plus and the core isn’t really as valuable. So we may change the pricing to make core a true “decoy product” or change what’s offered in each.

jasoncoleman [3:57 PM]
See ya!

jasoncoleman [3:58 PM]
@squarelines: See ya. I’ll look into your forum stuff. Thanks!

messica [3:58 PM]
i think that’s a good model, especially if we keep the docs on the site updated 😉 … maybe addon pages could be locked down to Plus members? (if they’re not already…)

squarelines [3:58 PM]
@jasoncoleman: Appreciate it. Thanks! Have a good evening.

reportica [3:58 PM]
thank you!

jasoncoleman [3:59 PM]
Lots to think on.

jasoncoleman [3:59 PM]
Anything else before I wrap it up? I’ll post this to the blog. (Forgot to mention that ahead of time.)

tubiz [4:01 PM]
Will suggest you add a plugin request board to the trello board. For frequently requested plugin this way plugin developers can help to have them created.

messica [4:03 PM]
^good idea. i think it’d be helpful to split incoming requests into core/addon.. especially if this trello gets more attention

jasoncoleman [4:03 PM]
good idea

jasoncoleman [4:03 PM]4:03
yeah, we’ll need options for the form

tubiz [4:04 PM]
Am sure the trello board will get more attention. Just make sure it is promoted to developers


Leave a Reply

Your email address will not be published. Required fields are marked *