You have probably heard about the new Sitecore Forms, announced in the Sitecore Symposium 2017 and available at the Sitecore Experience Platform 9.0 Initial Release. Now, there is a question that comes to mind. Is it time to migrate your WFFM forms to Sitecore Forms?
What is WFFM?
It enables marketers, content authors, and others to create and insert new forms, customize default ones, add fields, as well as configure the submit button in a simple and straightforward manner. A simple usage of Web Forms for Marketers would be, for example, a request information form that captures basic information such as name, email and question, and then sends one or multiple emails on submission.
Additionally, the Web Forms for Marketers module provides users with Web analytics and reporting capabilities. It also records and reports all the information that Web site visitors enter in forms regardless of whether they successfully submit the form or not.
What is Sitecore Forms?
Available at Sitecore Experience Platform 9.0 Initial Release, the new Sitecore Forms, with a completely redesigned UX, enables marketers and content authors to create forms from templates, create new forms by dragging and dropping Form elements such as textboxes, labels, lists, and etc.
Sitecore Forms also enables the user to apply form validation, customize forms with company styling, run reports on form performance, and export data from forms to Excel.
Web Forms for Marketers – Once Sitecore 9 is installed, you need to download and install the Web Forms for Marketers (WFFM) package from the Sitecore Downloads page – https://dev.sitecore.net. Also, you have to follow some post-installation steps described in the Web Forms for Marketers 9.0 Installation Guide.
Sitecore Forms – Sitecore Forms is part of Sitecore 9. Therefore, it does not require any additional step after installing Sitecore 9.
Web Forms for Marketers – Fields consist of a name and a type. Field types are divided into three categories:
- Simple types – Single-line text, Multi-line text, Password, Date picker, File upload, and others
- List types – Drop list, List box, Radio list, and Checkbox list
- Complex – CAPTCHA, Password confirmation, Credit card, and others
Sitecore Forms – Fields are named Form elements. You use the elements in the Form elements pane to build your forms by dragging elements directly to where you need them. There are default elements available for form fields such as Text, Email, Dropdown list, and so on. All elements are organized into four categories:
- Basic – Single-line text, Multi-line text, and others
- Lists – Drop list, List box, Radio list, and Checkbox list
- Structure – Section, Page, and Submit Button
- Security – Password and Password confirmation
I made a simple table comparing the fields available at WFFM and Sitecore Forms.
As you can see, fields such as CAPTCHA, Credit Card and File Upload are not present in this first Sitecore Forms release. If you want to migrate to Sitecore Forms, but need some of these fields, you will have to implement them by yourself.
Both Web Forms for Marketers and Sitecore Forms enable you to create custom fields.
Web Forms for Marketers – You can create a custom MVC field type by extending the Sitecore.Forms.Mvc.ViewModels.FieldViewModel class or by extending an existing field type class and then customizing it by overriding methods and properties. Web Forms for Marketers module supports ASP.NET MVC as well as ASP.NET Web Forms.
Sitecore Forms – To build a custom form element, you must create a new field template, a new class that derives from the Sitecore.ExperienceForms.Mvc.Models.Fields.FieldViewModel class, a razor view file (.cshtml), and a field type item that uses the razor view file (.cshtml) to do the rendering. Sitecore Forms only supports ASP.NET MVC.
Both Web Forms for Marketers and Sitecore Forms support styling.
Web Forms for Marketers – You can customize the appearance of ASP.NET MVC (MVC) forms as well as ASP.NET Web Forms (non-MVC) forms. There are fields with pre-defined style options (e.g. Form Type, Form Alignment, Right-Column Style, Left-Column Style), but also a field named CSS Class which you can add custom styling. See more at The customizable fields of an MVC form.
Sitecore Forms – In the Form Designer page, there is a Styling section of the Form elements pane, you can set CSS styles for form elements.
Security and privacy standards
Web Forms for Marketers – Out-of-the-box, Sitecore does not encrypt the information it captures from forms in the Web Forms for Marketers database. If an organization is considering the WFFM for sensitive data, it is recommended an evaluation of the effort required to introduce the necessary encryption, secure transmission tunnels and infrastructure adjustments. To learn how to implement the encryption, please see WFFM data encryption – Sitecore 8 and Encrypt Web Forms For Marketers Fields in Sitecore/.
Sitecore Forms – Sitecore does not encrypt the information it captures from forms in the Sitecore Forms database as well. Again, if an organization is considering the Sitecore Forms for sensitive data, it is recommended an evaluation of the effort required. See this StackExchange thread for more details.
Web Forms for Marketers – To give access to all the features in the WFFM, you can assign the following roles to a user: Sitecore Marketer Form Author, Sitecore Client Developing, and Sitecore Client Securing. See more at The security roles in the Web Forms for Marketers module.
Sitecore Forms – To give access to all the features in the Sitecore Forms application, you only need to assign the Forms Editor role.
Both Web Forms for Marketers and Sitecore Forms support field validation.
Web Forms for Marketers – You can set a custom error message per field in the Form Designer.
Sitecore Forms – You don’t have the option to customize an error message.
Form verification is a feature available at Web Forms for Marketers that you use to verify the information when the form is submitted. If form verification fails, the visitor is returned to the form, and an error message is displayed. For example, you want to check if the user is authenticated or if he is a member of a given role.
Sitecore Forms – This feature is not available in Sitecore Forms.
Save Actions are additional actions performed when a form is submitted. For example, when a form is submitted you want to generate a lead in a CRM system, and then send a confirmation email to the customer. Both WFFM and Sitecore Forms enable you to create custom Save Actions.
Web Forms for Marketers – WFFM comes with sixteen Save Actions out-of-the-box. Also, you can easily find additional Save Actions in the Sitecore Marketplace that perform all types of actions.
Sitecore Forms – In Sitecore Forms, Save Actions are named Submit Actions. Submit Actions are assigned to Submit Buttons. It comes with only five Submit Actions out-of-the-box.
As you can see, many Save Actions are missing in Sitecore Forms.
If you need to send an email message after a form submission, for example, you need to implement a custom Submit Action. See Walkthrough: Creating a custom submit action for more information.
Both Web Forms for Marketers and Sitecore Forms do not go through a workflow. That being said, they are not subject to approval processes that are likely set up for content.
To work this around, you can limit access to out-of-the-box security roles. For Web Forms for Marketers, you can also limit access to the content tree where Forms are located.
Dynamic Field Logic
Web Forms for Marketers – the module comes with a Rules Engine for each field that allows you to influence that particular field based on conditions evaluating to true. For example, you could hide a particular field in the form if the visitor is from a certain geographical region, or you could pre-fill a form field with a value from the user’s profile.
Sitecore Forms – In this first release, this features is not available. Also, I do not know if Sitecore has plans to implement it on Sitecore Forms. If you have more information about this, please leave your comments.
Web Forms for Marketers – Sitecore offers a free connector to Microsoft Dynamics CRM for the Web Forms for Marketers. Basically, this connector provides additional Save Actions that allow form data to be saved into the CRM. At Sitecore Marketplace, you can find third-party connectors such as Salesforce, Eloqua, and etc. You also have the option to create custom Save Actions to integrate with other third-party systems.
Sitecore Forms – Up to this moment, Sitecore Forms does not come with any connector to Microsoft Dynamics CRM. Also, you don’t find any third-party connector available for Sitecore Forms. If you want to integrate Sitecore Forms with Microsoft Dynamics CRM or other providers, you will need to develop a custom Submit Action. See more at Walkthrough: Creating a custom submit action.
So, should you migrate your WFFM forms to Sitecore Forms now? The answer is…
You have to take into account which features you currently need for your forms. If you need integration with CRM or other systems, Sitecore Forms might not be the best solution now. Also, if you need any of the mentioned fields and features that are missing in Sitecore Forms, you can either afford to implement them or extend your relationship with WFFM a bit more.
My bet is that WFFM will die soon. And everybody will need to migrate to Sitecore Forms in the future.
BONUS: I made another table comparing the features to help you make up your mind.