Thanks for posting a support request @cassman. Similarly with your review, I’ll try to answer each one of your notes individually:
When someone signs up for an opportunity, a WP user is created with the role of “Volunteer” (is that the default or did I somehow set that up by accident? TBH I’m not sure, LOL!).
Haha, don’t worry. This is the default role. You didn’t set it up by accident.
Now, giving a volunteer a WP user account is fine, I guess, but what’s the purpose of it? Because:
(1) the user is not notified of the fact they now have an account on the site; (I’m looking into using WP Email Users to trigger an email to send login credentials to the user, but is there an easier way?)
(2) if I include text about their new account in the “Volunteer Signup Email,” they still don’t have a password, so they can’t login anyway. They would have to use “Forgot Password” to create a PW, which is counter-intuitive for someone who hasn’t previously been given a PW to remember or forget; (or again, is there an easier way to create and send a PW to this new user?)
(3) if they go to the trouble of setting up a password and then login, being logged in serves no benefit to them vis a vis this plugin. (Or does it? I don’t see any.) I would think that at the VERY LEAST, when this new user logs in and views an opportunity, the Sign Up Form could be filled in for them on an opportunity they haven’t signed for, and/or, for an opportunity they HAVE signed up for, it could show them that fact, and even possibly give them the ability to UN-sign up for it, or change their sign up info…
(4) Why the role “Volunteer?” Can I use this role with some other role permissions type plugin?
But my guess is these features aren’t planned because it would complicate the plugin. Creating a user is just an easy way to store volunteer info, right?
There is a lot to unpack here. Basically, the reason we used the WordPress user system to create the volunteers is for two reasons:
- WordPress already has an entire system built around dealing with people, and that’s their user system. Storing information like their name, email and phone number is very simple to do with that system, and WordPress is already set up to handle it in the most efficient way possible from a performance standpoint. Excuse the poor analogy, but it would be like building your own trash can from scratch instead of using the one provided by the city. It’s true, if you build one from scratch it might be a more appropriate size and shape for your current needs, but it would take a ton more time to build your own and once the city changes the way they handle trash your can might become useless.
- The second reason is really related to the first and covers many of your comments. By using the WordPress user system the plugin can be extended in a number of ways. If another plugin wanted to build out the permissions of volunteers, such as allowing their information to prefill into the form, they could. Or, for example, if you wanted to export all the volunteers, you can do so with a plugin like Export Users to CSV. By using WordPress’s existing system there are infinite possibilities in regards to how the volunteer system can be extended. And it also gives us the option to build out more of our own features in the future.
It’s true that initially being a volunteer doesn’t provide the volunteer themselves a ton of permissions, but like you mentioned, you can extend their permissions using one of the many role plugins available through WordPress. I completely understand why you want the plugin to do more with existing volunteers. We would too, but since this is a plugin offered for free we have to stick with the absolutely essential features given our team’s time and the complexity of building out some of these features. Most people who use the plugin actually prefer that volunteers can’t log in. If they can log in you end up having to deal with a mess of administrative tasks. People want to know where they should log in, what to do if they forget their password and why their information isn’t prefilling correctly, among other things.
My complaint is that the new signup’s email address is used as their WP Username. This caused me a headache when I tested the signup process using the same email address I use for my Admin account. I suddenly had a new user with the Username of my Admin’s email address — and both accounts had the same email address!
What you’re describing here shouldn’t happen given how the plugin is coded. The plugin actually uses the email_exists() function built into WordPress to check if the email address is already in use. If it is then WordPress only updates the information for that user. It does not create a new user. Would you mind testing this again and if it happens another time, please let me know the exact steps we can take to replicate it?
When I tried to recreate this by again signing up for an opportunity using my Admin email again, I used a dummy Firstname and Lastname. It didn’t create a new user the second time, but what it DID do was update my Admin user account FirstName and LastName.
In other words, if a NON-logged-in user signs up for an opportunity using an email address already used by an existing WP user, the First and Last name of the existing user — EVEN THE ADMIN — gets updated. That doesn’t seem like it should happen.
This is actually intended functionality. We’re trying to account for the fact that people’s names and phone numbers can change and we want nonprofits to always have the most up-to-date information. For example, if Annie Smith fills out the form to volunteer, then a year later fills out the form to volunteer again, but her name has changed to Annie Jenkins, we want the nonprofit to have the most current name, not the old one. That’s how we account for this. I agree that in certain situations this isn’t ideal. Someone could intentionally and maliciously try to change your name on the site, but they would need your email address and it would also serve basically no purpose for them to do this. That said, this is something we’re monitoring closely in the support forum to make sure a bunch of organizations aren’t running into problems here.
Thanks again for your detailed post. I know there was a ton in there. If you have specific questions about how to use the system it might be best to open up a new thread so we don’t end up having a bunch of conversations at one time. Otherwise, let me know if you have any other questions.
Jonathan