views

Views Aggregator Plus

module_name
views_aggregator
Description

Provides extra options for aggregating data in tables - e.g. grouping sets of rows together and summing the values of particular fields.

Has a hook - hook_views_aggregation_functions_info() - which lets you add your own options to the table aggregation settings - e.g.  supposing you have a limit for something (number of tickets, nights of accommodation) and want to decrement it - you can write a method to sum the matching rows and then do a calculation on the total.

Also supports 'add column function' - adds a grand total (or other summary field) at the very bottom of the table.

Caution - this module breaks hook_views_pre_render() - you can write your own pre_render method to remove or shuffle entire rows, but any chances to values will be overwritten (discovered this by looking through the source and looking for the use of that hook).  The workaround is to try and do what you need to by using hook_views_aggregation_functions_info() instead.

Categories
Tested by me
Yes
Drupal 8 support
No
Essential
No
Avoid
No
Deprecated
No

Views Contextual Filters OR

module_name
views_contextual_filters_or
Description

By default if you add multiple contextual filters to a view, they must all pass (AND).
This gives you a checkbox in Advanced > Query Settings for the view which switches it to OR.

Categories
Tested by me
Yes
Drupal 8 support
Yes
Essential
Yes
Avoid
No
Deprecated
No

Table trash

module_name
table_trash
Description

Add extra tables JS support for views (and many other pages) - e.g. search box, dynamic column sorting, rearranging columns, exporting to clipboard etc.

If you get "TypeError: tables.DataTable is not a function" when using datatables module, first, try going to /admin/config/content/table_trash/global_settings and saving the existing settings.

Categories
Tested by me
Yes
Drupal 8 support
No
Essential
No
Avoid
No
Deprecated
No

Views infinite scroll

module_name
views_infinite_scroll
Description
  • supports both a 'Load more' button and automated load
  • need to turn AJAX on for the view
  • patch needed to support back button (adds a preserve history option to settings, which then needs to be turned on)
Categories
Tested by me
Yes
Drupal 8 support
Yes
Essential
No
Avoid
No
Deprecated
No

Administration Views

module_name
admin_views
Description

D7 only (as this is in D8 core as standard).

Converts /admin/people into a fully-fledged configurable view (i.e. fields, filters, exposed filters, header/footer, pagination settings etc.) 

(Dependency: views_bulk_operations)

Categories
Tested by me
Yes
Drupal 8 support
No
Essential
Yes
Avoid
No
Deprecated
No

Webform Views Integration

module_name
webform_views
Description

This module lets you add fields from submissions to view, and sort/filter the view on them, in the same way you would standard fields from the Field API.

It's still alpha and not as polished/robust as the webform module itself - but it's certainly OK to use in production provided you test things first - check every combination of exposed filters works, and double check you aren't seeing duplicate rows (right now I've locked it to a recent commit on the dev-5.x branch, which doesn't need any patches).

Categories
Tested by me
Yes
Drupal 8 support
Yes
Essential
Yes
Avoid
No
Deprecated
No

Views exposed form layout

module_name
vefl
Description

Layouts for exposed filters - i.e. you can move each filter into a region (supports Panels and Display Suite).

When I tried this (Summer 2018) the D8 branch wasn't really there yet - you could only rearrange the basic filter components in D8 (like search term, submit button, reset button), not all the extra ones you've added.   I went with using CSS (e.g. clear: both) instead.

Categories
Tested by me
Yes
Drupal 8 support
Yes
Essential
No
Avoid
Yes

Views Secondary Row

module_name
views_secondary_row
Description

For Views that use Table format. Adds a row underneath each record - you change the format from 'table' to the 'secondary row' option, you get an extra select dropdown in the table *settings*, and you can also specify colspan.  This does mean the label will be missing by default (you won't have a column header any more) - so you need to edit the field and tick rewrite output, and then specify your desired label, followed by the field value in Twig.
 

Categories
Tested by me
Yes
Drupal 8 support
Yes
Essential
Yes
Avoid
No

View Migration

module_name
view_migration
Description

Migrate views from D7 to D8.
Once installed on D7 - you need to go to /admin/config/view-migration 
It outputs multiple YML files and you're specifying a directory to put them in, which you need to create first.

My experience of the YAML output has been:

- incomplete (e.g. multiple missing displays in a complex view, views without a machine name)
- invalid UTF8 due to the next and previous arrows in pager.options.tags being encoded wrong
- the dependencies section at the top of the file not being set out correctly

It doesn't look like there's much current development activity (likewise migrate_views, which is the other plugin people usually mention).

Categories
Tested by me
Yes
Drupal 8 support
No
Essential
No
Avoid
Yes
Deprecated
No

Flag

module_name
flag
Description

Handle favourites, reading lists, spam, friend lists etc.  Can be applied to any entity (nodes, users, comments etc.)  It appears as a clickable link. Can choose between page reload and AJAX when user toggles it.  Linked with views, and you can trigger events when flag count reaches a threshold.

Categories
Tested by me
Yes
Drupal 8 support
Yes
Essential
Yes