 So, welcome to Leveling Up on Building Forms. I'm Jonathan Perlman. I can find my slides, by the way, at Jay Purpleman LCA. And that's where these slides are going to be. I am Canadian. I'm from Montreal, Quebec. Sorry. Just again. Jay Purpleman is a purple and color man at LCA. So, yes, I'm Canadian. I'm a senior web developer at Dawson College. Dawson College is a higher education institution. 10,000 students, 10,000 faculty and staff. I'm also a teacher of the college. I teach no credit. I teach, essentially, work for us. I teach our web development and databases, and all the fun stuff that we do during our day times. Also, I speak at work camps at the Toronto, Montreal, Rochester, Portland before. So, why do we need to create a form? Well, there's a few things why we need to create forms. We need to apply for things. I've got 12,000 applications for Dawson College, so that's all through a very complicated form. People register for events. Well, we've got events across the college, across the campus, registering for, like, you know, somebody wants to have a track record, so that's an event. People need to register for that. Capturing leads. Well, what happens is that non-credits division, they've got classes, but not all of them are running. So, therefore, they want to capture interest in classes that are not running at the time that's considered a lead. So, that means they can capture the interest and then contacting them down the road when the class is available. Generating content from users. Well, what happens is that with certain departments, we get our graduates to submit content to the department through form, and then from that form, from that submission, we actually can create pages for the graduate and say, okay, basically highlighting what the graduate has done over time. And, yes, actually, even in higher education, we can sell things and we can take in money for products where we're selling... We're selling sort of like YMCA memberships, but not for selling, basically, memberships to our campus recreation. So, we're definitely taking in money for services and those are the four models that we're playing. So, this is just one example of a registration where they're registering for events. We can take in their name, their email address, a phone number to contact them back at. Capturing leads. Well, here's our waiting list form for the Center for Training and Development for, basically, for non-credits. Again, name, email address, phone number, which course are you interested in taking down the road. And here is user-generated content. So, what happens is that this person, Alex, he submitted his own information, gave us a couple of pictures, gave us some YouTube links, and this page got created based on that submission. So, to generate forms, there's a whole slew of different tools out there and as we go into 2018 through 2019, even more tools are coming on the scene. So, the first tool, not that I'm a fan of Jetpack, but, yes, Jetpack actually has a form-creation tool built in. So, if you're using WordPress.com, Jetpack is the features of WordPress.com on the self-hosted websites. So, that means you can be using Jetpack. And then you have a very simple contact form. So, that is one option for you. If you want to make a bit more advanced, a bit more customizable, well, you can use contact form 7. But, here's the thing, I don't recommend it, only because of the fact that nowadays everything is dragged and dropped when you collect. Contact form 7 isn't dragged and dropped. It's very code-based. It's very HTML and code-based. So, at that point, it's not exactly useful for the faint part. There are mainly two or three form plugins that I do recommend in terms of drag-and-dropability. Ninja Forms is one of the longer, more established form companies that have been doing forms. They've got a very drag-and-drop interface. They're talking about fields in the moment. But, basically, you take to the field, you drag and drop. You say, there's your form. Thank you very much. Within the field itself, you just click the field, click the name field, and you've got a whole slew of buttons, a whole slew of options that you can customize on the name field, per se. Now, the thing with Ninja Forms is that its base plugin is free. You're going to find Ninja Forms in the WordPress.org plugin directory. No problem. There's a lot of good functionality for free. But the thing is, at that point, when you want to get into more complicated things, that's where they're going to want some money. That's where you're going to have to buy an add-on. An add-on is essentially extra functionality for Ninja Forms, but you're not going to get it for free. You need to pay for these add-ons. At that point, with Ninja Forms, with all their add-ons, it is going to get expensive down the road. You're going to need a lot of different add-ons. It might be better off to go with a different plugin solution. So, there's a whole slew of add-ons. These are just nine of them. We're front and posting, as an example. Front and posting is basically the creation of the pages. Multi-part forms, multi-part forms. We're going to talk about it, too, basically multi-page forms. If you want to take money with the forms, paypal, you got to pay money for that. File uploads. If you want people to upload files to you, you got to pay for that. They're basically nickel and diamond here, which is not a bad thing, because if you only need to take in name, phone number, credit card number, strike or paypal, in the story, you're done. So, ultimately, one plugin might suffice for me. But if you need to do multi-page, plus conditional logic, plus taking in money, plus formats in front and posting, it might get extended. So, it depends on what you need to do with your forms. Now, another big player in the forms market is Gravity Forms. Gravity Forms is a bigger plugin to begin with. You're not going to find it in the plugin repository because it's a paid plugin. Now, is paid plugin better? Yes and no. Again, it depends on what you need to do. Because Gravity Forms gives you the same kind of functionality, drag and drop. You create all your forms, you create all your fields through a very intuitive, one-click interface. It's a well-established company. I've known it for years. What happens is that you can definitely pay it's a low cost of entry with premium features. So, what happens is that you pay, I don't remember the pricing of these days, but last I checked it was less than 100 bucks and you're getting a lot of complicated features for one price. It is definitely very useful if you're going to do multiple forms and on top of that it's going to be very useful if you have a very complicated process with your form. It's got a very large user base and on top of that they've got extensive documentation. If you're a developer in the room, what happens is that there's also very extensive hook and filter features. So, you can do a lot of different things. You can push and pull with Gravity Forms with all that data internally. Now, because of time, I'm going to focus on Gravity Forms just because I can't focus on the same features in three different four plugins. So, in terms of what we're going to talk about right now, we're talking based on Gravity Forms. So, field options. What kind of field options do you want to, can you use on your forms? What do these field options mean to you? So, the thing is, you've got single line text fields. Single line text fields are basically your de facto standard in fields. A name field, a phone number field, an email address field. Single line text, okay? Paragraph text though is if you want to take in a block of text, use your comments, a message, you know, multi paragraphs, that's essentially what a paragraph text field would be. Drop downs. So, you've got multiple options and the person has to click into it and it drops down. Well, that's your drop down field. Gravity Forms gives you a number field and then in that number field, what happens is that it allows you to only enter numbers. Age from a person? Well, that age is not going to be characters. It's not going to be letters. So, at that point, the number field walks down so that you can only type in numbers into that box. Checkboxes and multiple choice are similar to a difference. Essentially, it's checkboxes or read-a-buckets. It's similar to drop downs where it gives the user a selection of options, but either it's check one of many or check all that applies. So, let's say, for example, you're doing arts VP form for a wedding. What happens at that point is you want a person to check. You either want chicken, fish, or beef. One of the three, not all. That's essentially a radio button or multiple choice where they can only choose one. But then, if you want something whereby somebody is going to give you their opinion on different categories of options, that's checkboxes. Hidden fields are very powerful. Hidden fields are basically fields on the form which you technically can't see. They are there, but they're not visible to the normal person. You can get to them from code. You can get to them from different ways, but it's generally a field that you're not supposed to see. An HTML field is actually not really a field. It's basically us having the ability to put in whatever HTML we want into the form. Basically, we can put in a whole block of style as text, a whole block of really anything, and you can basically put in information into form. Now, if these little section page break features give you more functionality where you can then section off your field to put your fields, your form fields into logical groupings. You're basically asking people to put in all the stuff about themselves, and then at that point in another section they can put in, let's say, their credit card information. That's two different sections. That could be two different sections. Page breaks work similarly where you can essentially make them go to a different page to fill in the rest of the form. Which I'm going to talk about in a few minutes. Within Gravity Forms, similarly like in Ninja Forms, you've got extra advanced fields. So what they do is they kind of make it a lot easier to fill in those complicated fields like name, where by name could really be first name, last name could be the prefix, could be the suffix. You could turn those on, turn those off. So instead of you adding five boxes for the name, well, you just have to add in one field and there you go. Date time is a specific field that you might want to use so that people have the ability to use a date picker. They pick a date from a calendar and then you get to date in the format that you want. Phone number and actor. Well, phone number is basically a field in Gravity Forms that allows you the ability to show in the North American standard a number where it'll automatically put in brackets and put in the dash and people just type their numbers. There is also the address field and the address field basically allows you the ability to put in a North American standard address and you can do all the fields needed for that. So you don't have to put in five or six different fields. Here's just one shot. Here's your address that you're very much questioning about. I know you're in the United States and I know you need to sound spoiled but the United States will be at the very end of the drop box. Is there a way to have the functionality read with the United States? What happens is that the question basically was in the U.S. because of the fact that the United States is essentially with a U and if you sort alphabetically the United States is their functionality that you can move it all the way the top, actually yes you can it'll give you a preset list and you can then change the preset list after a fact. Same thing for Canada for the record. I always have to get C like two or three times from Cambodia to Canada. So yeah, it would be it is a good thing if you can give your users the ability to modify that list. Website at that point allows people to type in web addresses so it'll do a little bit of detection on the format of the web address. Email, same thing, it'll basically for validation purposes and try to check to see if an email is in the right format. It won't check to see if the email exists it'll just check to see if it's got all the bells and whistles like the ad sign and the period. File uploads this is a very complicated field file upload with a lot of potential security ramifications. What happens is that with the file upload field you can actually upload documents to your server, to your site and that is built in by the way to gravity force. You don't have to add on to that. And then capture is another kind of field that you can invoke with Google Recapture which essentially is an alternate level of spam blocking so spam blocking is essentially required because if you weren't into any security talks in the morning, spam can get into your form, basically lots out there, random scripts out there are just basically hammering in forms and trying to submit information. This is all automated questions. Yeah, there's a lot of information that you can collect obviously in these fields. Yes. A lot of these builders have add-ons or features that allow you to basically manage your leads or manage your database. Good question. I'm going to talk about that after. The question was with all the form builders add-ons, is there any lead management capabilities? Absolutely. We'll talk about that later. So in terms of collecting the data, helping the person enter the information this is actually a screenshot of forms whereby you've got sections. So it may not be completely readable in the back. I do apologize for that, but basically it gives you titles for a category, for a whole set of fields. That would be considered a section and then you can put in stuff. If you put the fields into grouping, so the first group is about you group and in the about you group you're giving the name, you're giving the email address and then at that point after the next section is what's on your mind and then what's on your mind is essentially two fields where the user can put in a whole paragraph of what's on their mind and then here's that recapture, which I was talking about before. Where does the data go when it gets in there? The data goes into the database. It goes into the WordPress database and at that point we can then manage those entries after the fact. So in terms of layout, what happens is that you can actually control the layout to a certain degree. There are tools in there and there's features in grouting forms and ninja forms to help you create multiple columns of fields. Having the columns in multiple, sometimes having columns in multiple fields, having both fields, sorry, sometimes having fields in multiple columns is actually better for the user, but be careful because at that point sometimes it's not. Sometimes people are going to get confused of jumping from left to right, left to right, sometimes having one column down is better off. So it depends again on the form that is being put towards the users. Conditional logic, this is a very, very useful tool for form builders. What happens is that conditional logic essentially in grouting forms, yes, could be applied to a field to section and submit by itself. Essentially here's the thing. So with the form, imagine you're saying here, I'm going to go to the next one. Basically you're saying at Dawson, we have a situation in Montreal in Quebec that a lot of our students are coming from high school. Most of our students are coming from high school, they're not coming internationally. Now I realize in other scenarios of the schools they really rely on those international. We don't need them and it just adds work and the process to us that we kind of don't want. Therefore we have a form, we have a very open form where basically everybody can ask a question. And we ask are you an international student? Right off the bat, if you're an international student, there's conditional logic in place that says okay, here's some text have you tried going to our international students page for all to answer all the questions that you're going to have, all those answers are over there. So essentially the form almost, I won't say shuts down, but it gives them helpful tips and hints based on the fact that they're international. If they click any other choice, they don't see the whole thing about international. So essentially if you've seen on forms before, if you apply to this category, then fill in this field. It's something like that. We're by now with grab reforms and conditional logic. You can then test have you applied, yes or no. If you've applied, then you show them a whole series of fields. If they haven't applied, well then at that point they don't need to see the fields. So sometimes less fields are more. Because at that point you're not showing fields they don't have to enter. Another another way to do conditional logic is essentially if you're doing multi, if you have a big sales team, a billing team or department team or support team you can then tailor the form so that if they're contacting sales well it's essentially subject and message, but if they're trying to contact customer service, at that point have you submitted a trouble ticket, yes or no? If you have then the trouble ticket number field comes up and then you can submit a subject and message. So all that is essentially conditional logic. Conditionally showing fields condition showing sections conditionally showing pages is all feasible. And for the record I'll talk about conditionally showing the final submit button. So if they haven't filled out all the fields, you can then hide that submit button. Now multi-page forms is another way to help the user, actually because what happens with multi-page fields, they're going to go through a process and they're going to go through let's say a four-step process in my demo here whereby they're showing we're showing them information to enter above themselves they hit next then their address they hit next or they can go previous they can go back and change information they entered before then they hit next again after entering their address they can enter now what is their message and who do they want to send it to the support department, the sales department what this basically does for you is that it gives you gives the user less to focus on at one time it doesn't overwhelm the user so what happens is that with multi-page forms it actually makes the process easier to fill out because they can then focus on the fields that they're showing you and then move on to the next and then of course at the end if you want you can have a terms of service and they can agree to the terms of service nowadays on top of that we have to be asking for privacy information we have to ask them if they can send to giving us our email address we have to tell them that there's a whole thing with GDPR whereby it's an entire law on using the email address for marketing purposes so this entire form you saw four pages but it could have been a very very long page to fill out very daunting for the user in terms of restricting access you can actually restrict access within priority forms to your forms and why would you want to restrict access because ultimately you want as many people as you want to fill out the forms wait a second, not really because forms like a registration form for WordCamp there's only so many spots at a WordCamp there's only so many spots at an event as an example so yes you can disable the form for a number of submissions and also on top of that you can disable the form based on the date and time why would somebody want to register for WordCamp tomorrow a little bit out of the question because WordCamp is today it's not happening tomorrow so you want to shut down the form there aren't going to be situations where you want to shut down the form at a specific date and time because the event is over and the form is longer required there's also a hook there's a whole slew of hooks in priority forms where you can interact with third party data you can send data to third parties you can do a whole slew of different things with the hooks hooks and filters now after submit after somebody had submit what did they see, what did they get what happens well ultimately they should see something on their screen they should see some text thank you for your submission of the form ultimately it would be also a good thing that you e-mail the information to them to say thank you also by e-mail that you receive the form and that you're going to get back to them in a certain time frame or this is the next step to that process you filled out and so on and so forth so this is confirmations in gravity forms where it's essentially on the screen right after submission and notifications are basically e-mails to the person and also on top of that to the administrator so this is the e-mail that the administrator would get the person managing the form they get all the details, no problem but the real person filling out the form can get a very very plain simple e-mail saying in this case thank you for submission and we look forward to seeing you at a certain date in time don't forget to bring this, don't forget to bring that so sending e-mails from forms is a good a good measure of the form because then you're reinforcing that relationship between you and the client or you and the person filling out the form now I'm going to talk a little bit about e-mail and sending e-mail from forms there's a when you're sending e-mail from forms it's using the basic wordpress e-mail features which is then at that point relying on the host sending your e-mail so there's been a lot of situations whereby and I've heard this that e-mails don't go out this is not a problem of the form itself, it's not a problem wordpress it's at the hosting level so if you're not sending e-mails out because of these form submissions it's not grabbing forms it's not wordpress, well generally it's not it's generally not the technology it's more at the host level because of the nature of how a host is set up and how e-mails are generated what will happen is that if one site gets compromised on a shared host ultimately they all get compromised so if one site gets compromised there's an IP address that gets blacklisted if your site is on that server with that IP address you're going to get blacklisted too so as another way to send e-mail there's services, there's plugins out there that you can use with your form with your wordpress install to ensure that e-mail goes out through a third party service another service is going to send out that e-mail not your wordpress website not your web host so you might want to look into that if you're relying on those e-mails running out now in terms of database management what happens is that there's a whole slew of database so when the form gets entered then at that point you can log into your wordpress backend and you can see a whole list of entries in your gravity forms or ninja forms so yes you can definitely see the entries you can definitely resubmit those notifications you can read e-mail yourself read e-mail people not a problem ultimately you can delete those entries down the road and of course you can export those entries from gravity forms into scsv which at that point you can import that into excel or import that into any other system that you want so does that enter data management questions we will have time for questions I'll answer your question after that so with gravity forms there's also resources there's a whole slew of resources and you've got documentation about all the books all the features getting started definitely there's a whole slew of that stuff there there's also another what the what the gravity forms company has done is that they've not let sorry they've allowed their people to do side things so this company is actually by the company that does gravity forms so one developer from gravity forms is behind this site which means it's completely reliable completely legit and I've found the best information that I can that I can find off this better than I find the lid-offs and this is part of that information that I find that's really good is that they've got a hook reference so if you're a developer you want to know at what point when those books fire off what tool to use to see at what point when those hooks and filters are firing so at this point we definitely have time for questions we've got a good ten minutes a good nine minutes for questions I do want to open the floor up so in terms of asking you had a question about data entry and management mostly where it goes so you said there's like another gravity form screen if you go and pull the data off is there a way to email a form like looking thing to somebody so here's the thing so in terms of emailing a form off looking thing so as you see here there is a way to export the data from one to you as a person controlling the form you're going to see a list of entries in the WordPress backend log it to your WordPress backend you've got a forms button on the left and then again it goes from the forms button you've got entries in the entries you're going to see a whole list of all the form submissions and then on top of that you can export all that data to CSV to accentuate yourself at that point it's a manual thing now what you can also do with all these notifications this is actually going to need to be emailed so by default it emails the administrator on the site and this is your default email to the administrator after every single form submission all fields from the form going today not wrong you can definitely have all fields you can definitely have all fields going into any mail and this by the way is default this actually you don't have fields set up it's already there when the form gets created question over there yeah yeah you initially had mentioned hidden fields can you give me an example of what that is and why you use those so hidden fields basically allow you the ability to pull data from other systems is that I'm pulling data I'm pulling data from a third student information system so what will happen is that I created a hidden field on the form in fact here it's telling you sure maybe masters so I'm basically using hidden fields to pull data from WordPress or somewhere else for that matter I'm putting that data that in this case this text I'm putting it into a hidden field and then at that point it goes into the field which means it goes the form submission which means the administrator sees this person register for that event so I've got one form for the event but I can have many events that this form applies to so instead of if I have 20 events I don't need to create 20 forms for registration I can create one thank you very much so the point is basically grabbing the data of the page it's on and knowing what page it's on means it knows what event it is and it dumps that into the form therefore the administrator gets that information so I create one form for 20 events could you also do that with like tracking not wrong yeah not wrong so I'm plugging that I recommend for the emails I don't only because I've got my hosting is a control hosting I don't host with sure hosts so I've got a very very tight system for hosting but in terms of third party solutions send grid is one of them mail gun is another one that I know of so send grid or mail send grid or mail gun is that still a plugin you can use to test whether your emails are getting filmed now? absolutely yes definitely but we can kind of work with some to get it working but on top of that what you can do with plugins which just means one more plugin to worry about for the record you can then actually if you fill out the submission yourself you'll know whether the emails are coming out or not you can send an email to yourself not a problem okay? question to the back it's not a question it's just a statement sometimes with gravity forms I've had this problem a lot and sometimes just sending it to like a Gmail account instead of the same address as your website fixes that problem so the thing is the statement was basically the fact that sometimes sending it to your website address so info at something.com it might be actually well received actually there is a feature where you can VCC in the gravity form you can VCC those emails and you can send that off to a Gmail address and therefore Gmail if you send it off to Gmail there's different rules on how those emails are being received and ultimately different stamp filtering is applied so that's actually not a bad idea to send it off to another address has a fallback but as a third level fallback remember you have access to the WordPress backend which has access to all the entries in the list you will never lose ultimately that data because WordPress is open source and you know full control of the data oh yeah you had a question is gravity are gravity forms accessible is gravity forms accessible that's a very good question in this in 2018. Gravity forms is accessible and they're working on making it even more accessible there is another plugin that you can install to make it gravity forms 2.0 to make it to WK 2.0 accessible because what happens is that by default it doesn't do a few things that gravity is required by 2.0 so there is actually a plugin out there in the plugin directory that enhances the accessibility that is free that is definitely free does gravity forms do anything for GDPR does gravity forms do anything for GDPR at this point in time today they have actually a blog post highlighting their new version 2.4 and they do have features in the upcoming release 2.4 that is addressing GDPR in terms of a consent field in terms of data protection and also whether you store the data or don't store the data but absolutely not a problem that's a very good question in relation to GDPR because you've got to be concerned about how long you store the data in your gravity forms and your important factor forms as a whole how long you store the data what you store what you can do what you can do all accessible That's it Thank you