This module exposes webform submissions as a fieldable entity on behalf of webform and optionally provides a bundle for each of the content types for which webform functionality is enabled. This allows you to configure fields on a base form that are appended to the fields for the webform for that individual node and these fields can be exposed to views.

Please note that these fields, while exposed to views, do not integrate with the core webform reporting, emails or exports at this time. Supporting this will likely require upstream patches to the webform module itself.

Example Use Case

Say that you have a daily survey site. Each time someone fills out a survey you want to collect their name and email but you create new surveys every day with whatever fields are appropriate. With webform entity you can make views of all of the names and emails you've received (because they are part of your field api powered base form) without tripping over hundreds of fields from the one-time use fields for each featured survey.

Why this module exists

Drupal's form api is awesome. It allows you to create custom forms reuse fields in brilliant ways. That model works well for lots of forms. It does not, however, work well with thousands and thousands of them. API functions often have to load all that field data and lots of things in Drupal scale poorly when then number of fields gets very very high. This is the problem that Webform module solves. It creates a model that supports creating any number of forms with any number or set of fields.

The problem with webform is that this model does not allow effective integration with views or running any kinds of reports across data or fields that are common to all of the form variations. This module exists to give you the best of both worlds. You can create "base" forms out of field api fields that will be common to all forms created from that base. Then you can create any number of forms that add any number of fields to that form that are one off fields. You get cross site reporting and views integration from the field api fields for the common data you care about and you get sane storage and display for the thousands of one-offs never to be used again.

Relationship to other modules

There are lots of other modules that solve similar problems and should be considered when you are looking at webform entity.

  • webform: There would be on webform entity without webform. Create thousands of forms with an easy to use interface. If you want to be the next this module is for you. The catch is you can't easily reuse or display the data across different forms
  • EntityForm: This module is like webform entity but without the webform integration. Create survey style forms based on the entity api. A better solution then webform entity if you don't need lots of one-off forms.
  • Forms (FSE): Pretty similar to entityform. See the existing issues for details

Multistep branch:

There is a dev branch in git that exposes webform entity fields into the webform admin along with its native components, allowing you to order the fields among the components including creating multistep fields and using fieldsets. This branch adds a lot of powerful features but is a little bit scary and likely to break whenever webform makes changes.

This module sponsored in part by Usenix and

Supporting organizations: 
Funded development.

Project Information