Useful Drupal modules

Click on the module name for notes, comments, patches.
Recommendations (for and against) are my personal opinion only and may be out of date. Feel free to email with corrections/suggestions.

Why haven't you mentioned Drupal 9? As of December 2021 I've updated most of the sites I look after to Drupal 9 (experience: mixed). I haven't decided how to label future version compatibility as D10 will be coming soon as well. The upgrade_status module is superb. You're bound to have issues with composer. Also watch out for a nasty session headers bug with redirect_after_login.

(1 modules in list)
Module name or machine name
Any text in the notes
Name D8 Personally Tested Last Updated
Better Exposed Filters (better_exposed_filters) 2018-11-20

d.o. page


My recommendation - safe to use but understand it's currently pretty limited due to bugs.

To activate, change a view's Exposed Form style (Advanced column) to 'Better exposed filters'.  

  • Lets you enable AJAX auto submit. The difference is without BEF, with Use AJAX, an AJAX request (vs a full page reload) is made but ONLY when you click 'Apply'.  With BEF, as soon as you change a dropdown the view updates (like the filters on this site).  
  • You can change the input method for each field (e.g.a single checkbox for what would otherwise be a True/False dropdown), make them "collapsible", add select all/select none links where appropriate.  
  • Rewrite option that lets you reword all the options for the filter and also delete some.


  • If you have a search field - e.g. Combine fields filter - you MUST turn on 'Exclude Textfield' if you are using 'Autosubmit'  
  • Most of these options *aren't* available for taxonomies (e.g. webform where  
  • If you use the default views single or grouped exposed filters, with selects/radios, they work correctly, but when you change them to BEF style, with checkboxes and AJAX, they don't (form is submitted and the checkbox has disappeared)
  • Bug: reset button doesn't use AJAX, it sends you to a view URL instead (disable it in settings)


So all you can really do with BEF at the moment is use the AJAX setting.