SDRefugeeTutoring / sdrt-custom-functions

Custom Functions for SDRefugeeTutoring.com
The Unlicense
2 stars 0 forks source link

Caldera Forms should be replaced with Gravity Forms #56

Closed JasonTheAdams closed 3 years ago

JasonTheAdams commented 3 years ago

Caldera Forms is going to be sunset on December 31st, 2021 and therefore needs to be replaced. The plan is to replace it with Gravity Forms. I will use this Issue to track everywhere Caldera Forms is used and needs to be replaced.

Forms

Orientations

Registration Form

Registration Form for Minors

RSVP Form

New Contact Form

Newsletter Signup This form doesn't appear to be used anymore. It shows up an a boxzilla-box post-type post, but it looks like this was replaced by the Beaver Builder Mailchimp module.

Volunteer Waiver Volunteer Waiver page

Code of Conduct Code of Conduct page

Login Form

Entries

I'm going to leave Caldera Forms installed and activated for a while after the migration to provide access to entries. New entries will be stored in Gravity Forms. I will coordinate with the SDRT leadership to determine a good time to remove Caldera Forms and possibly export the old entries and store them somewhere safe.

Acceptance Criteria

JasonTheAdams commented 3 years ago

@dreazee Question for you. I've noticed that when creating an event the admin has the option to select an RSVP Form:

I looked through the forms, and 86% of the forms use the standard RSVP form. The rest are the Orientation form. It looks like the last event to use the Orientation form was in 2020.

Here are my questions:

Thank you!

dreazee commented 3 years ago

@JasonTheAdams We need Orientations form! Actually, we last used "Orientations" form this month for 4 events—anytime we hold an orientation (and this year for the Refresher events). We've held less Orientations during this pandemic as we are able to retain more tutors because we are online. Generally we would hold 1-2 Orientations up to 6 or 7 times a year. But we definitely need that Orientations form since it functions differently than the RSVP form which is specifically for "protected" events.

JasonTheAdams commented 3 years ago

Sounds good! Thanks for clearing that up! 👍

JasonTheAdams commented 3 years ago

Just dropping in for an update on this. I'm 90% finished with the two most critical forms: Orientation and RSVP

I have the two forms complete and am now working through the integration. Upon pushing the new forms to production, I'm going to run two scripts (that I've already written and tested) to replace ALL the existing event form settings from the Caldera Form to Gravity Forms — this way all existing events will automatically switch to the new forms.

I'm testing, testing, testing to make sure all the orientation and RSVP data is present with the new form entries, as well as the expected emails are sent out.

JasonTheAdams commented 3 years ago

Another update:

I've wrapped up the RSVP form with a couple nice new additions per my discussion with @dreazee:

I ran into a minor bug with Gravity Forms which I've submitted to them. I doubt they'll fix the issue too quickly, but we're able to move on. The only odd thing with the workaround is that the "yes" and "no" options on the form aren't capitalized. Once the fix comes out I'll capitalize them to look better.

Next up is the Orientation form. I already have the form created, I just need to test it out and make sure it's all working.

dreazee commented 3 years ago

SUPER! @JasonTheAdams So when can I expect the RSVP Gravity Form to go live? Just keep me in the loop so I know to watch out for the form submissions. Also, we still need to make sure that a User is unable to cancel their own RSVP. Not sure where that functionality lives and if it will be hijacked with the addition of this new Gravity RSVP Form. I imagine it will not, but wanted to double check!

JasonTheAdams commented 3 years ago

@dreazee I just pushed the changes for the RSVP forms. I also, as I said, updated all existing events to use the corresponding RSVP or Orientation form.

Regarding giving volunteers the ability to change their RSVP status, I think that's a great idea. I started looking into what it would take, thinking there could be a quick way to pull it off in Gravity Forms. Alas, what I was hoping was natively possible, isn't. So to avoid expanding the scope of this too much, let's bump that to after the form migrations. You will, however, get a distinct email based on whether the user RSVPs as yes or no to attending.

Please let me know in the next day if you have any issues with volunteers RSVPing to events or you receiving any of the emails.

JasonTheAdams commented 3 years ago

Alright! And with that, the migration to Gravity Forms is complete! All in all, that went pretty smoothly! 🎉

I've left Caldera Forms installed for now so we can refer back to existing entries for a bit. Once we have the migration to Google Workspace done, I'll store the old form entries as CSVs on Google Drive and provide access to the data.

dreazee commented 3 years ago

Awesome. 2 points:

  1. We should really have access to RSVP entries permanently... If we uninstall gravity Caldera Forms would we not have access to reporting data through the backend like how many times a User has attended tutoring events? We need to have their history indefinitely... hopefully in something that isn't a csv, unless I am grossly underestimating the possibilities of reporting using a csv!

  2. We do NOT want a user to have access to change their RSVP. We want them to email us directly when unable to attend a tutoring event and need to cancel. We want to make it harder for them and hold them more accountable.

JasonTheAdams commented 3 years ago

1. RSVPs

So there are two different types of data at play, here, which is a bit confusing: Entries and RSVPs. When a user fills out a form and submits, an Entry is created which shows up under that form. The Entry is just a ledger of all the fields and data that the user filled out.

Image 2021-10-28 at 6 45 38 PM

The RSVP and Orientation forms are special forms. They create both and Entry and an RSVP. The RSVPs are what you see when you click on "RSVPs" in the left admin-menu.

image

The key difference here is that Entries belong to the form plugin, but RSVPs do not. That means that even if we were to remove Caldera Forms, the RSVPs would remain exactly the same. They're not tied to the form. The Entries, on the other hand, would go away. So for forms like Contact and Volunteer Waiver, those entries would no longer be accessible.

If I leave Caldera Forms, then access will remain to all Entries, but Caldera Forms will slow down the site simply by it being installed and active. It's best to clear it out. That said, we could leave it for, say, 6 months. After that we export the Entry data to CSV files and then store those for safekeeping. But I wanted to make it clear that under no circumstances will the RSVPs be affected.

2. Changing RSVPs

Oh, I guess I misunderstood a previous comment then.

Yup, I just went back and realized I misread the operative word "unable" in "unable to cancel" — I read that as "able to cancel". Hahah! Glad I didn't do that. I don't believe volunteers have a way to cancel at this time. Let me know if I'm missing something.

dreazee commented 3 years ago

Awesome @JasonTheAdams Thank you for clarifying this! Hey another thing I've been wanting to ask regarding RSVPs. When searching a user, in this case "Grant", why are there multiple RSVP listings for the same event? (In the case of the Thanksgiving RSVP, it's like 8+) It's been like this forever but never took the time to ask about it.

EDIT: I don't even think it's necessary to keep caldera active for that long if it's just causing the site to be slowed down. Do you see any reason why Caldera should remain active? All the entry data would be able to accessed via CSV file, and I don't believe anyone even accesses the raw every data anyway.... ? We'll defer to whatever you think is best.

JasonTheAdams commented 3 years ago

@dreazee Something was all messed up with the RSVP search queries. I'm sure it worked at one point and was likely broken in a WordPress update. I've updated the query to work now and made sure it doesn't show duplicate RSVPs. I'm sure having that working will be helpful!

Agreed on Caldera Forms. We'll give it a few more weeks and then I'll export everything and deactivate it.

dreazee commented 3 years ago

Thanks @JasonTheAdams !! So glad that all these loose ends now have space to be addressed and fixed!