Get to know your customers better (and easier) with Mugo Custom Forms
By: Thiago Campos Viana | May 2, 2019 | Business solutions and Web solutions
Customer feedback is a powerful tool for decision-making in any business. Web forms are a popular device for gathering such information, but it’s critical that site operators can easily create forms with the right questions and formats that encourage user interaction. We created an eZ Platform module that lets editors build a custom form by selecting from multiple different input types and ordering the fields as desired. In this blog post, we’ll discuss key details of our Mugo Custom Forms module.
The main goal of Mugo Custom Forms is to create a flexible tool for editors to create forms with powerful functionality, such as field validation, e-mail notifications and easily accessible data that can be exported. With that said, let’s take a closer look at theses features.
Field Types
When creating a web form, editors must define what kind of information is going to be collected and in which format. For example, sometimes you want to ask a question and let the user type whatever they desire; other times you may want to restrict the answer to a predefined list of options. Or you may want to restrict form input to a predefined format, such as email address.
In our Mugo Custom Forms module, we include “types” that define the format and behavior of each field. Currently we support the following types:
Single/Multiple Choices: Editors can define a list of options and let users select from one or more items from that list, depending on choice type: select, select multiple, radio, checkboxes.
Date: This field type lets the user to pick a date from a calendar widget.
Date and time: Similar to the Date field type, but also allows the user to select a time.
Email: This is a text input field that accepts only email address. The Email type also offers a special option to send a copy of the collected information to the email address the user provided in this field.
Integer: Whole numbers (no fractions).
Number: Any number, including fractions.
Password: A text field that does not display what the user is typing; for use when asking for any sensitive information.
Text: Single line text.
Textarea: Multi-line text.
Since the whole system is based on Symfony Forms component, developers can create custom field types for specific purposes or extend existing ones.
Validators
Sometimes you may want to validate submitted form information against certain criteria. A common use case is text field input you need to limit to a min/max amount of characters or to a custom format.
Currently, Mugo Custom Forms supports only a couple of validators, but it can be extended to support more Symfony validators or totally custom ones. For example, we created a Library Card custom validator for a client that checks if the submitted text matches a certain alpha-numeric pattern.
Organizing a form
When creating a form, editors can add any number of fields and sort them manually with drag-and-drop, as you can see in the image below:
Email notifications on submission
Editors can define a list of email addresses to send notifications of the collected information; whenever a user submits a form the system will send an email like this (it’s also possible to customize the email format):
Frontend display
Here’s an example of how the form is presented in the frontend:
If a field has a validator or is required, the user will see a helpful screen tip to that effect:
Collected Information
Mugo Custom Forms provides a view that lists all submitted information. Editors can use this interface to view and delete entries, as well as export the collected information to CSV format for use with Excel or other spreadsheet software.
Third-party systems integration
Mugo Web has plenty of experience integrating our solutions with third-party systems, and Mugo Custom Forms can readily integrate with your favorite CRM or marketing automation system.
Are you considering adding custom web forms to your eZ Platform web site? Contact Mugo for a free consultation!