Ted Bowman's picture

Why?

Everybody knows about Webform so why would we want another survey system in Drupal? Entityforms takes a very different approach by using an entity and standard fields approach to forms.  Entityform submissions are field-able entities.

This has many advantages including being able to use virtually any field module in Drupal. Now you can easily gather geographic information, reference site content and include media references in your surveys and other forms. It also allows for simple integration with popular entity-aware modules such as Views, to handle submission lists and Rules, to handle notifications and form access.

While Webform does have some integration with Views and Rules the process is not as simple as dealing with field-able entities such as Entityform submissions.  With Entityforms thanks to the Entity API module, Rules and Views have complete knowledge of the submission information just as they do with the field values attached to other entities such as Nodes and Users.

Also for programmers the process of interacting with Entityforms should be much more familiar than writing custom code that integrates with Webform.  As I learned through developing Webform Conditional, programming for Webform is a great way to learn the Form API but your existing knowledge of Drupal programming may not get you as far.  Since Entityform Types and Entityform submissions are both entities you can use the standard hooks to interact with them.   You can also use great helper classes such as the EntityFieldQuery and Entity Metadata Wrappers to make dealing with these entities much easier.

Multiplier of Effort

A great ecosystem of modules has built up around Webform through the years. This has added great functionality beyond what Webform itself offers(which is a great deal).  One problem with this situation is that all of these modules only benefit those who are using Webform.  My aim in development of Entityforms is to keep the main module as lean as possible.  When there seems a need for added functionality the solution will most likely be an existing or new contributed module.  For instance Entityforms currently doesn't have a robust results analysis system.  Instead of adding this functionality directly to Entityforms the Field Analytics module was created(thanks to Scott Rigby for his work on this).  This way this results analysis will be able to be used on any field-able entity.  The need for results in Entityforms then provides benefit beyond Entityforms.

Webform Lives On

Obviously with over 250,000 installs Webform is a useful, reliable, and proven module. The ease of creating new forms in Webform(especially with Form Builder) is currently not matched in Entityforms. In the case that your clients will need to create forms on an going basis Webform seems to be the only game in town(depending on how tech savvy your client is). Also because of the way fields are stored in the database in Drupal, Webform will be able to handle forms with a larger number of questions.

A short video introduction:

Visit Entityforms Project page to download and try it out.

Feeds: 

Comments

I am new to drupal, and just getting into intermediate level and dabbling deeper into the system, and loving this great platform (Jeeze, why would any serious developers consider wordpress as a better alternative? )

Anyways, am learning to make choices between different ways of building great sites:
panels versus boxes/context
all about the awesome views

My initial peek a webforms told me I needed to 'concentrate' (LOL) and it could take some getting into .. Now, I stumble across your site and this video .. Entity forms seem like a much less 'codie' way of doing forms, and I will certainly be spending plenty of time trying to fully understand it.

Any suggestions on how best to approach learning it enough, s I can eventually get to extend it ways that suit particular needs?

By the way, openfolio rocks as a learning tool .. Big up, for releasing this to the community.

Ted Bowman's picture

goondaba,
Glad you find these useful.  Some people have written a few pages of documentation on Entityforms.  I would suggest checking those out first. 
http://drupal.org/node/1432894
Ted

Hi Ted,

great module, I was never feeling well when using Webform because it is so different from teh default Drupal way of living.
I have one important question for you: what about multilangual options for Entity Forms?
The "Form override save" button text is now not translatable...
I was looking at Entity Translation, but that doesn't solve my problem.

Thanks

Ted Bowman's picture

Max,
Glad you like it.  Check out this issue http://drupal.org/node/1689854

Very useful!!

By reading this article I am convinced that I must use Webforms for over 200 fields I stand to be corrected.

Can someone confirm?

Ted Bowman's picture

Probably that would be best.
It is really a question of how many fields can be attached to bundle of fieldable entity type.  The problem is not limited to just EntityForms but Nodes, Users, Terms and any fieldable entity.
If you were to trying to search to find an answer to this quesiton I would reccomend searching for a limit of how many fields you can attach to a content type(nodes).  You will probably find a more discussion about this than about entityforms though the answer should apply to both.
I have not found a definitive answer as to the number fields.

I'm loving the point that as a entity based facility, entityforms leverages and extends standard drupal functionality.

I'm just getting started with webforms (pause for noobie siren going off!), implemented a great webform on my test system... and now it seems I have to research half a dozen modules to discover which is the most appropriate solution for exporting the webform from test to live platforms. WTF? Parden my klatchian.

Tell me support for this is automatically provided for by the Features module and you've made a sale.

Ted Bowman's picture

Yes, Features is easier with Entityforms because the Entity API takes care of most of this for me. You don't have to worry about UUID and other modules you might need for Webform.

This is a very good module.

However, just in case, what should we do if we need comment system to be integrate with the form to allow communication between user and, say, form moderator. It seems there has been no solution to this issue yet.

Ted Bowman's picture

In that case I would content type that Entity Reference field that selects an Entityform Type.  Then you could have the comment system for the node.  See this video Embedding an Entiyform on a Node 

Hi guys, congratulations on an excellent job on the entity forms, i preferred it over webforms and my decision payed off!
However i would like to ask something that i haven't managed to do so far and that is add tokens in the default values of the fields in a entityform type (like current username, current user email etc).I have token module installed. Any ideas? In other nodes i can use the token module with no problems

Again thanks for your great work!
Tolis

Ted Bowman's picture

I would think it would better to try to figure out how to use tokens as "field defaults" in general. 

 In other nodes i can use the token module with no problems

Were you able to use tokens as "field defaults" on nodes? If so it shouldn't be hard to get it to work on Entityform fields

Just wanted to say thanks!!! I have seen multiple videos and tutorials about entity forms, however, when I found your answer to comment, Embedding an Entity form on a Node - I finally understood what I needed.

Now if I can find a way to make the form two columns. I tried to use display suite however when I set the layout to 2 columns, nothing happens. Thanks again!

Just wanted to say thanks!!! I have seen multiple videos and tutorials about entity forms this one really nailed it for me. I am glad I read comments because the next thing I needed to know was Embedding an Entity form on a Node, that link was awesome.

Now if I can find a way to make the form two columns. I tried to use display suite however when I set the layout to 2 columns, nothing happens. Maybe there is another video link hidden in a comment somewhere :)

Thanks again!

Add new comment

Online Trainings

Six Mile Tech offers online trainings via Skype, Google Hangout, or a screen sharing technology of your choice. These trainings can be used for generalized Drupal trainings or to tackle a specific problem for a site you are working on.