Drupal 7 vs 8 - Vital Modules
A colleague recently shared an article with me that listed a number Drupal modules which the author felt were vital components of an enterprise build.
- Pathauto - configurable, automatic friendly URL generation
- XML sitemap - generates an xml sitemap that meets sitemap.org specifications. Helps search spiders and establishes content origin for SEO
- Pathologic - adds input filter that automatically updates links to put to the current server URL
- Google Analytics - integrates user analytics, AdSense, 403 & 404 errors, etc
- Chaos tool suite (ctools) - a set of APIs and tools for developers. Also a dependency for Views
- Views - the most popular contributed Drupal 7 module. Views lets you build dynamic content listing with filters, relationships and more from a query builder UI
- Webform - the second most popular contributed Drupal 7 module. Used to make customized forms to gather user data.
It's hard to argue with the above. These modules cover some solid functionality from basic SEO to development. I would suggest a few additions though:
- Administration Menu - solid base menu with fast links for site administration, content management and developer functions
- Features - lets you package site configuration into exportable modules.
- Metatag - a ton of SEO-friendly goodies including page title, canonical URL, support for Facebook's Open Graph and more
- Redirect / Global Redirect - APIs and configuration to manage redirects including SEO damaging duplicate links
- CKEditor - WYSIWYG editor
Of course there are a ton of other modules that you may want to add for specific use cases like Administrative Views, Media, CKEditor, Date, Libraries API, etc but the above give you a solid base install in terms of SEO and functionality for content editors and developers.
State of Drupal 8
The Function1 team has been focused on Drupal 8 development this year so I decided to show how Drupal 8 can fulfill these requirements. Right out of the gate there are two essential Drupal 7 modules that have been adopted into core in Drupal 8:
Most of the most popular modules in the list have at least alpha or beta releases. That is that they are not necessarily feature complete or 100% bug free but that doesn't mean you can't use them. In fact, in many cases there are far fewer open issues in the Drupal 8 branches of code than in the Drupal 7 branches.
Chaos tool suite
Alpha release is available.
Alpha release is available. Important NOTE: Global Redirect is no longer needed. It's noted in the Drupal 8 tracking issue for Redirect that Global Redirect has been merged in.
Alpha release available. For a less feature-rich xml sitemap implementation, but with a full project release, check out Simple XML Sitemap.
Beta release. This is not as fully featured as the Drupal 7 branch yet but the issue queue shows active development from the maintainers.
Beta release. And a very active issue queue. If you have been wondering if the Configuration Management Initiative (CMI) in Drupal 8 has rendered thos module useless, it hasn't. I love the new config management options in Drupal 8 but Features is going to remain a handy packager. In fact the overall experience is likely to be better since you can install Features on your development environment and then use the normal CMI workflow to deploy updates up the chain. Interesting item from the Phase2 blog in April: Features can be used to overcome, "configuration already exists" issues you may run into when re-installing or updating a module. I haven't tested this yet but if it works it would be a nice work-around.
Dev release only. Unfortunately there hasn't been any movement on the Drupal 8 branch since November, 2015. I sense that this has been de-prioritized since the functionality is more of a nice-to-have rather than a critical feature. In many cases careful configuration and best practice remove the need for this module at all.
Closed as duplicate. This module has been deprecated in favor of Admin Toolbar
Full Drupal 8 release.
No Drupal 8 release. Good news and bad news here. The good news is that you can get some of the basic functionality of form creation using the revamped contact forms in Drupal 8 core. Add in the Contact Storage module which takes advantage of the fact that contact forms in Drupal 8 are now entities and you've got a lot of feature coverage. Now for the bad news. Webform in Drupal 7 was very feature-rich and many of these features are not available using contact forms as they stand. Things like granular permissions per form, multi-page forms, certain export options, etc. This popular module will definitely be back.
As we can see Drupal 8 contributions are still very much a work in progress. But with such a solid and exciting new base module contributers are diligently working to push things forward. In my experience Drupal 8 is easily covering the base functionality that we need. Even better, it is managing to do so with far fewer contributed modules. And best of all, writing modules in Drupal 8 is a blast.
Due to the fact that so much of Drupal 8 is based on other open source systems, like Symfony2 and Twig, for the first time in my Drupal development career I'm finding non-Drupal specific resources helpful. I can't express how awesome it is to see my experience with Twig syntax from Python Flask development translate over. Try it out, you'll be pleasantly surprised to see how easily you can use filters and syntax that aren't necessarily documented for Drupal 8 and have them just work. And the same goes for module development. Thanks to Cipix for the great overview of the Drupal 8 framework and its intersections with Symfony 2.
There are certainly areas in Drupal 8 that require extra work to get the functionality you are used to from Drupal 7. I'm looking at you Media. But that's where the Drupal community shines once again. Awesome creations are springing up all over and we all benefit. For example, check out the media handling in the Drupal 8 Lightning ditribution. I'm really impressed with how much standardization I'm seeing in Drupal 8 development. Far more than in Drupal 7, there are accepted ways of doing things. Which means we can concentrate our creativity on adding to the rapidly expanding ecosystem of Drupal 8 features.