Return to site

Where should Webforms live within Drupal’s Admin Toolbar?

September 21, 2020

Currently, in Drupal’s admin toolbar, the Webform module is listed under ‘Structure’.

If you have installed the contributed Admin Toolbar module, which adds drop-down menus to Drupal’s admin toolbar, it’s relatively easy to access Webforms from any page on your website.

Someone recently asked me why ‘Webforms’ is listed under ‘Structure’ and not ‘Content.’

There are two immediate explanations as to why I chose to list ‘Webforms’ under ‘Structure.’

First, it’s much easier to add links to Drupal’s ‘Structure’ section because it provides a dedicated overview page. Drupal’s ‘Content’ section, on the other hand, displays a tabbed user interface to manage content, comments, files, and media. This tabbed interface does not easily support multiple levels of administrative pages.

Secondly, webforms are configuration entities that create webform submissions, which are content entities. This pattern aligns with how ‘Taxonomy’ and ‘Content types’ work, and they are listed in Drupal’s ‘Structure’ section. Generally, the ‘Structure’ section includes things that a site builder configures yet does not frequently update. The ‘Content’ section is where content editors continually create and update content. For a more in-depth explanation about Drupal’s admin tool, you can learn more about working with the toolbar.

For small websites with just a few webforms, like a contact or registration form, it makes sense to list ‘Webforms’ under ‘Structure’ because a site builder would configure these types of webforms once and not frequently update them. As organizations have started leveraging the Webform module to build applications and event registration systems, having ‘Webforms’ nested under ‘Structure’ makes less sense. For example, content editors that are only allowed to manage content and webforms would have the ‘Structure’ section visible with only the ‘Webforms’ sub-menu item.

The above screenshot is awkward and confusing. Yes, one immediate solution is to move the ‘Webforms’ into the ‘Content.’ But the fact that the tabbed user interface in the ‘Content’ section is not able to support the Webform module’s multi-level tabbed interface remains. Let’s also not forget the question, ‘Are Webforms content, configuration, or both?’.

The problem is that some organizations are building more than just a few webforms, and there are instances where webforms are as crucial as content. The solution is to make ‘Webforms’ a top-level menu item with a dedicated icon under the ‘Manage’ section within Drupal’s admin toolbar. To further improve the user experience, I have also added sub-level menu items to ‘Webforms’ section, making it even easier to manage any aspect of the Webform module via the Admin Toolbar module’s drop-down menus. Finally, when ‘Webforms’ is moved out of the ‘Structure’ section, all administrative paths will begin with /admin/webform instead of /admin/structure/webform.

This is a significant UI/UX change that may be appropriate for an organization’s Drupal site. Like many advanced features in the Webform module, I decided to make this a configurable setting via /admin/structure/webform/config/advanced. By default, the Webform module will still place the ‘Webforms’ menu item under ‘Structure’. For websites that are doing a lot with webforms, they can now easily move the ‘Webforms’ menu item next to ‘Content.’

For advanced Drupal site builders and developers, you can also move the ‘Webforms’ anywhere you want, including under ‘Content’ using Drupal’s menu system. My solution makes it easier for people to check a box and promote ‘Webforms’ in Drupal’s admin toolbar.

I like this new feature because it acknowledges that organizations can use the Webform module to build simple content forms or rich applications. In some cases, the Webform module is a key part of an organization’s Drupal installation, with lots of users collaborating to build webforms and manage submissions. This feature allows organizations to decide where the 'Webforms' section should live within their organization Drupal administrative interface.

In short, this feature represents the power and flexibility of the Webform module - small or large Drupal sites can create simple or complex webforms, and they can decide precisely how they want to integrate the Webform module into their websites.

Lately, there has been a lot of cool things. happening with the Webform module and you can learn more by following my blog at jrockowitz.com and watch videos on my YouTube channel.