In the final installment of this 3-part blog discussing Drupal 8, we review what makes Drupal 8 great, areas where it can improve, and some items to seriously consider when deciding to upgrade to Drupal 8 from Drupal 7. Throughout this entry, we will take a look at a consolidation of our previous notes / blog entries, and provide additional information regarding Drupal 8.
Disclaimer: Since Drupal 8 has gone live, the community is no longer supporting Drupal 6. We highly recommend upgrading to either Drupal 7 or 8 as soon as possible. This represents a minority of the Drupal users, so this blog will be mostly focused on upgrading from Drupal 7 to 8.
If you decide to upgrade to Drupal 8, you’ll instantly see many of the benefits at your finger tips. Drupal 8 is great for Content Managers, Mobility & Responsive Design, and for those firms who want to be on the bleeding edge of CMS Development. Let’s explain:
Many of the features and functionality built into Drupal 8 was built mostly around the content manager, and a bit less around the developer. This was evidenced by Drupal 8’s transition to Object Oriented Programming (OOP) (D8 code looks different from D7’s functions and arrays) and purposefully embedding the CKEditor into the Core. As a content manager or administrator, I can start administrating my site quickly and easily. The backend UI is very different and allows for easy navigation. Building a basic content only site with minimal functionality is a breeze with Drupal 8.
Drupal 8 has responsive and mobile design built into the core. Even Bartik, the default Drupal theme contains elements of responsive design. The administration menu and screens also exhibit responsiveness. You can now manage your Drupal 8 site on your tablet or smartphone. In comparison, there are still a number of Drupal 7 themes that are not 100% responsive themes. Search engines, specifically Google, penalize sites’ SEO rating harshly if there is limited to no responsive design. Therefore, Drupal 8’s out-of-the-box capabilities for responsive design help guarantee your site appears at the top of search engine results.
Drupal 8 is the most advanced version of Drupal to date. While this comes with less module support, it enables developers to be creative and determining their own custom solutions. Drupal 8 still requires a lot of work, but developers can definitely take advantage not only for the possibilities twig offers for theming, but also the back-end OOP support. Drupal 8 is also optimized for PHP 7, decreasing overall performance issues associated with PHP 5.x and improving the stability of the CMS greatly. Drupal 7 still does not support PHP 7 completely, as evidenced by the current thread on the Drupal site: https://www.drupal.org/node/2656548.
What Could Be Improved
Drupal 8 is a living software development project, constantly being updated and maintained. While Drupal 8 brings many benefits to both users / administrators and developers, it lacks functionality with limited module support, lack of themes, and creates some administration and development difficulty through a general lack of Drupal 8 documentation.
As touched on previously in our second blog, we noticed many of the modules for Drupal 8 were still in the process of being developed, i.e. were still only of “Alpha” or “Beta” status. Support for many of the Drupal 7 modules continues, but Drupal 8 still does not have the full support of contributors developing modules. This is partially due to the user base (there are still many more Drupal 7 sites than Drupal 8 sites), and the relatively recent release of Drupal 8.
As of September 2016, there are 12,296 modules built for Drupal 7, with only 2,103 modules built for Drupal 8. Regarding themes, Drupal 7 has 702 themes and theme options available, where as only 124 are available for Drupal 8. Similar to the modules, many of the themes developed for Drupal 8 are in their Alpha or Beta stage, and not yet ready for full-production use. The sites we’ve seen developed by the larger firms using Drupal 8 utilize customizable themes like Bootstrap or are built from the ground-up using twig. Smaller companies and development shops may not have the capacity to support custom front-end development for Drupal.
The documentation across the site is lacking information regarding Drupal 8. We believe this to be caused by the recent Drupal.org site migration and also the relative newness of Drupal 8. While the Acquia library currently has a wealth of information, the open source Drupal.org site does not have a consistent, updated Drupal 8 documentation library.
Since the time of this writing, the Drupal community continues to improve module compatibility with Drupal 8. However, we are still years away from full Drupal 8 adoption. The Drupal community is excellent, and I’m sure the flaws we’ve addressed here are being alleviated and solved by the community already.
If you decide you absolutely need Drupal 8…
We are skipping ahead here, but we wanted to highlight some unique functionality Drupal 8 implemented in the Drupal 8 core. Drupal has made life for Drupal 7 (and 6) users a bit easy if they decide to upgrade to 8. Included within Drupal 8 is the “Migrate” module. As of v8.1.x these are included in the “Experimental” section of the Core modules (see the figure below). While experimental, the community understands many user’s frustrations migrating / updating their sites, and decided to make it easier. However, as of Drupal 8.2, the migration path is still not complete especially for Multi-lingual sites. Migrate at your own risk!
Figure 1: Drupal Migrate Modules
Installing the Migrate, Migrate Drupal, and Migrate Drupal UI will activate the Drupal Upgrade process, whereby you can import an existing Drupal site into a clean install of Drupal 8. It will overwrite anything you have configured currently in Drupal 8. The system will ask you for your database source, source file information, and you are off to the races.
Figure 2: Drupal Upgrade Process Beginning
Should you Upgrade?
As we hinted at earlier, Drupal 8 is excellent if your site is heavily content and theme focused, and less focused on functionality (i.e. ecommerce), then Drupal 8 is probably a great place to start. In fact, I would say skip using Drupal 7 altogether and go right to 8 for content heavy sites. You’ll be happy you did! You’ll be able to stay on top of new themes, updates, and use modules as they go-live. For a smaller firm, personal site, or mid-sized firm with content heavy sites, Drupal 8 is highly recommended. Multi-lingual sites also greatly benefit from the built-in Drupal 8 compatibility with multiple languages. Try it out!
For those sites that require a great deal of security, ecommerce, or have a large user base (i.e. such as those for a portal or collaboration site), we recommend staying with Drupal 7 a bit longer. Many of the modules for Drupal 8 that enable permissions and usability are not yet compatible with Drupal 8. While you can mimic a lot of functionality in modules not yet updated to Drupal 8 by writing your own custom code, its not likely recommended due to time and costs associated with development. Many themes for Drupal 7 are also mobile responsive, so jumping to 8 just to have the “responsive” functionality is not nearly as effective as finding a great responsive Drupal 7 theme.
It is likely Drupal 7 will continue to be supported for several years to come. Depending on your organization’s size, appetite for change, and the functionality your site provides, upgrading to Drupal 8 may be a blessing. Upgrading may also cause more headaches through increased costs and development time attempting to patch together custom modules and functionality not supported by Drupal 8.
I hope you enjoyed our series on the Drupal 8 CMS! Feel free to reach out to us at anytime: www.ascendintegrated.com