Thunder versus Drupal

Submitted by peter on Wed, 05/09/2018 - 15:35

Thunder is a distribution of Drupal 8 with added modules and configuration for the publishing industry. Thunder is a good choice when you want powerful publishing through a Web site.

This comparison is based on Drupal 8.5.3 and the Thunder distribution released at the same time.

Drupal has a vendor directory inside the public Web directory while Thunder has the vendor directory outside the Web directory. For the comparison, I moved the Thunder vendor directory inside the Web directory.

There is a Drupal distribution, Lightning, competing against Thunder. Thunder adds more to Drupal, compared to Lightning, but keeps all the changes clean compared to Lightning. Lightning needs a big cleanup to Thunder standards.

Thunder included Drupal 8.5.2 instead of 8.5.3. I ignored the slight differences between 8.5.2 and 8.5.3.

Drupal 8.5.3 adds one module

Drupal contains only one module that is not in Thunder, a module named composer-merge-plugin from Wikimedia. The module is described as "Composer plugin to merge multiple composer.json files". I do not know what the Composer plugin does because Composer already has an include facility.

Thunder adds many modules

Thunder adds modules in the libraries, modules, profiles, themes, and vendor directories.

Libraries

Thunder adds libraries for Blazy, Dropzone, Exif-js, Shariff, and Slick carousel. Dropzone is Javascript to handle part of a drag and drop content upload and is also added by Lightning.

Modules

Thunder adds modules named access_unpublished, admin_toolbar, adsense, amp, better_normalizers, blazy, breakpoint_js_settings, checklistapi, config_selector, config_update, content_lock, crop, ctools, default_content, diff, dropzonejs, empty_fields, entity, entity_browser, entity_reference_revisions, fb_instant_articles, field_group, focal_point, google_analytics, harbourmaster, infinite_module, inline_entity_form, ivw_integration, length_indicator, libraries, linkit, liveblog, media_entity, media_entity_image, media_entity_instagram, media_entity_pinterest, media_entity_slideshow, media_entity_twitter, media_expire, metatag, nexx_integration, paragraphs, pathauto, redirect, responsive_preview, riddle_marketplace, scheduler, shariff, simple_gmap, simple_sitemap, slick, slick_media, token, video_embed_field, and views_load_more.

Crop, Focal Point, Pathauto, and some other modules should be part of Drupal core. Some of the media components are already part of Drupal 8.5 and others will be part of Drupal 8.6 or later.

Profiles

There is a Thunder profile containing 779 items. The automation of the install process includes an extra installation options page asing you what extras you want installed. In almost every case, you start with just the default first option to install some sample content. Set up the same content in a test site. After that, you install without the sample content.

Themes

Thunder adds three themes, AMP, Infinite, and Thunder Admin.

AMP extends the core Stable theme. AMP is Accelerated Mobile Pages. AMP is a convention for simplifying Web pages in ways that make the pages load faster. In an AMP page, you leave out certain features of HTML to avoid some slow parts of the Web, you modify any JavaScript to reduce the JavaSscript speedhumps, and you can direct the finished pages through AMP caches. Currently Google is the main provider of AMP caches with Cloudflare starting up in competition. The main suppliers of slow junk, advertising companies, provide AMP versions of their bloatware.

The Infinite theme includes a huge amount of code to create the custom views for supplying continuous content in a continuously scrolling Web page.

Thunder Admin extends the core Classy theme to make the administration pages adopt some of the functionality added by the extra modules in Thunder.

Vendor

The vendor directory contains the modules Alchemy Zippy, Behat Mink, php-htmldiff, drupal-code-generator, container-interop, composer-patches, dot-access-*, php-xdg-base-dir, Drupal coder and console, Drupal scaffold, Drush, htmlpurifier, Goutte, expander and yaml-expander, php-webdriver, twitter-api-php, php-console-*, gaston, and many, many more.

Behat and others are used for testing changes. Thunder could benefit most people by supplying a download with the testing elements left out, helping the users see what they actually need.

The future

Will Thunder work for you in the future? Thunder adds many useful modules you would have to add if you started with Drupal 8.5 to build a Web site with any sort of content publishing. Thunder is a better starting point than the competing Lightning distribution. Thunder should be easier to maintain and upgrade than Lightning. Thunder has several large commercial users backing development.

Overall, Thunder is the best investment when you need significantly more publishing features than what is supplied in Drupal.

Image editing

Editors want image editing to help them reuse images across content and within content. Focal Point is a useful module supplied in Thunder. Focal Point is one of the many extra modules supplied in Thunder that I would add to Drupal 8.5.

Layout

Thunder uses Paragraphs for content layout. The Drupal developers added Layout Builder, something similar to Panelizer, in Drupal 8.5. Layout Builder handles page layout and Paragraphs completes your layout requirements by laying out the content.

Media

Drupal 8.5 was supposed to have all the media features of Lightning. Media browser is now held back to Drupal 8.6. Thunder has all the media components and will probably align with Drupal 8.6 when 8.6 is released.

If you are starting a new Web site today, it is easier to make media work in Thunder compared to starting with Drupal 8.5 then adding in the media enhancements you need for publishing. Crop and Focal Point are already in Thunder and might never be added to Drupal.

For my simple publishing use, I choose Drupal 8.5 with the addition of a media browser and Paragraphs. For a more complicated publishing project, I would start with Thunder.

Conclusion

Thunder is Drupal 8 extended for advanced publishing. Thunder can handle publishing several Web sites with authors and editors working across all sites.

Tags