Skip to main content

Difference between webform vs entityform in Drupal 7

Drupal has a lot of modules aimed at helping site builders and users add forms to their sites. What follows is a rough comparison of 2 of them. If there are any I've missed, please add them.

Webform

Webform is a module designed to allow you to add custom forms to the front-end of your site. Each form is stored against a node, so you add new forms to your site as if you were adding content. It's useful for things like Survey websites or just where you want a couple of forms that differ from the standard contact form.

Pros

  • Webform has been around for a long time, its very well established and has a large number of modules that integrate with it.
  • Webform can make a wide variety of forms with lots of different elements available out of the box.
  • Because Webforms are nodes, they inherit all the functionality that nodes have (scheduled publishing, cloning, access control, etc.).
  • Webforms are lighter-weight and more scalable than entity-based forms. Can handle multiple-page forms with hundreds of fields, many different unrelated webforms (>10,000), many webform submissions per form (>100,000)
  • Fields can be conditionally shown (intra- and inter-page).
  • Webforms offers analysis of results and downloading of submissions.

Cons

  • Webform submissions are stored in their own custom way - not using the standard entity system.
  • Different field types use Webform-specific integrations, rather than Field module integrations.
  • There is little or no integration with a lot of modules because the submissions do not use entities.
  • Quicksketch, the main maintainer of Webform has said he does n ot wish to develop for Drupal 8, so the porting of Webform to Drupal 8 will be left to others (#2075941: Port Webform to Drupal 8).
  • Cannot edit entities using the web forms.
  • Views integration for submissions is limited (display, but no filtering or sorting).

Entityforms

The Entityforms module seems to be the same as web form but using the Entity API. It uses the normal entity/field api as a kind of form builder. You can have as many 'Forms' as you like (each 'form' is a different bundle on the Entity Form entity) and you can add whatever fields you want.

Pros

  • Entityforms can make a wide variety of forms with lots of different fields available.
  • Entityform is already being ported to Drupal 8.
  • Entityforms uses the entity API which guarantees it will work with:
    • Views
    • Rules
    • Entity Reference
    • Organic Groups
    • Every field module in Drupal, including: Date, File, Geofield, Name, Address, Media and many more...
  • Other tools for Entities will work with the module, for example: Entity Operations.
  • Integrates with field group
  • Integrates with Conditional Fields
  • Entityform is fairly well established.

Cons

  • Entityforms cannot (without some magic) be used to edit nodes or comments.
  • You can only have one form for each bundle.
  • Any form can only edit one submission entity at a time.

 Source:  Link

Comments

Popular posts from this blog

Difference between session.gc_maxlifetime and session.cookie_lifetime in Drupal setting.php

ini_set('session.gc_maxlifetime', 200000); This value is for the server. It is a settings for Session Garbage Collection. If the users last visit happened before 200000s then this session is eligible for garbage collection. Since it is GC, the session value may be discarded and not compulsory. If a GC action happens after the session was made eligible for the GC, it will be deleted. ini_set ( 'session.cookie_lifetime' , 2000000 ); This value is for the browser. This is the absolute maximum time till which a browser can keep this cookie active. A 0 value here means immediate or when the browser is closed. Source: 

CKFinder Installation in the CKEditor for Drupal 7 Module

Please follow the steps below;  Go to http://ckfinder.com/download and download CKfinder Unpack the contents of the installation package into the directory that contains the CKEditor module and place it in thesites/all/modules/ckeditor/ckfinder (or sites/all/libraries/ckfinder) folder. . When the files are unpacked, you should see the following file structure inside the drupal/sites/all/modules directory: Now open the CKFinder configuration file (ckfinder/config.php) and introduce the code changes described below. Firstly, remove the CheckAuthentication() function (do not worry, this function is defined in filemanager.config.php, see below): function CheckAuthentication()       <- remove it {                                    <- remove it    //WARNING : DO NOT simply...      <- remove it    ...                               <- remove it    return false;                     <- remove it } For CKFinder installed in the sites/all/modules/ckeditor/ckfinder

Smart pagination or page break in Drupal 7(CK editor)

1. Install Smart Paging module   Go to Administration › Configuration › Administer Smart Paging settings.   Under 'Default page break method', select "Manual placement of page break placeholder". 2.  Install  'Ckeditor' Module   Go to Administration › Configuration > Ckediotr profiles > Filtered HTML   Edit the settings of the Advanced (Filtered HTML) Profile. Under 'Editor Appearance' section, In plugins check the required options like " Plugin for inserting a Drupal teaser and page breaks. ". 3.  Edit the configuration settings of input formats (Filtered HTML, Full HTML, Plain Text)   Go to Administration › Configuration > Text formats. Edit the required input format. For example say "Filtered HTML". Under  "Enabled filters" section, check the 'Smart Paging' option and uncheck all the remaining checkboxes. 4. Go to Content type 'article' and create new content. We will s