Drupal 8 comes with many new features and enhancements when compared to its predecessor Drupal 7. The modified core structure and addition of new features has made Drupal 8 much more powerful and promises to deliver future proof websites.
If you are among those classy Drupal fans, then, with the release of Drupal 8, you are at a risk of falling in love with Drupal all over again. Drupal 8 features are hot!!
“For those who are new to the world of Drupal, It is free to use open source content management system (CMS) that powers millions of websites. One can create websites that are as simple as personal blogs as well as fully integrated Enterprise websites.
Anyone can download, install and build websites using Drupal. Drupal has one of the biggest CMS communities with more than one million users and developers.”
Top Drupal 8 Features
We have been building personal blogs, portfolio websites with few pages, and also powering enterprise content management systems with earlier versions of Drupal.
What is it that makes Drupal 8 stand out from the earlier versions of Drupal?
Here is a brief on the findings coming out from the critical analysis of top Drupal 8 features. Drupal 8 has something in store for everyone, may it be Enterprise level application developers, Site builders, theme designers or individual bloggers.
Enterprise Grade Web Development
Drupal 8 takes a big step towards strengthening its capabilities to support large scale content management projects that span geographies and integrate with other enterprise applications.
Here is how –
Built in Web Services
Drupal 8 makes it easy by supporting REST protocol for web services implementation. We were able to use REST in Drupal 7 also but with the help of many contributed modules and it was a bit non standard and cumbersome process.
However, In Drupal 8, there are four core modules that can be used out of the box for web services implementation. These are REST, Serialization, HAL (Hypertext Application Language), and HTTP Basic Authentication.
Built in web services mean that one can easily expose content of the website as JSON or XML formats which then can be consumed by external applications.
To consume the content from Drupal 8, external applications authenticate via HTTP authentication (we have this module in Drupal 8).
One of the most common use cases is publishing content from Drupal 8 implementation to the mobile applications. It is getting much common to create a native mobile app that consumes content from the web CMS and inclusion of aforesaid modules in core makes this task much easier.
Setting up a website and making its interface work in multiple languages has never been an easy task. It takes a lot of development effort to ensure language compatibility right from the installation instructions being shown in a language of choice to displaying labels on the website in user selected language.
We have been doing multilingual implementations using Drupal 7 also, but Drupal 8 really steals the show by providing all multilingual features in the core. There are 4 modules that come with the core package to ensure every corner of Drupal 8 is multilingual.
Here are the four modules for creating Multilingual Drupal Websites -
Language – This is the base module and does all the back-end work to ensure that Drupal is set for multilingual websites. One can assign language to all sections of the website including user role names, taxonomy terms, and administration language to name a few.
Assigning language to taxonomy terms means that one can provide translated values for taxonomy terms using user interface, same holds true for other areas of the website.
Configuration Translation – Entire configuration of your website can be made translatable with this module. This means that you’re powered with the options to translate your menus, blocks, and views configuration etc. into language (s) of your choice.
You get a built in interface to translate the configuration. You just need to load the configuration, use built in interface and pass on the translated values.
Content Translation – Content is the mass of your website and with Drupal 8 you can translate value of any field. Field level translation is born with Drupal 8. You can translate default node fields as well as any custom fields that you create.
Interface Translation – This is the module to ensure that Drupal software interface itself can be translated into any language. You can download and use the translations made available by Drupal community in multiple languages or you can use your own translation for the interface.
Many big enterprises would benefit from this since organizations prefer to follow their internal terminology and language rather than the language that Drupal community speaks.
Object Oriented Programming
There is nothing new about object oriented programming but it’s all new for Drupal 8. Drupal now adapts to the modern object oriented programming practices. That essentially means that we would be using a lot of PHP design patterns, right from these being used in the core to the extensions that you write for yourself or to contribute back to the Drupal community.
Everything is under the umbrella of namespaces in the core and needs a namespace for any contributed code that anyone writes. The core uses many of the PHP design patterns that are the key to object oriented programming.
The object oriented programming gives more modular approach, better structure, increases re-usability, in short, more power in the hands of developers. This for sure is among the top Drupal 8 features.
Drupal 8 for Site Builders
This is one area where enhancements in Drupal are going to benefit masses. I put configuration managers and theme developers (mainly theme modifiers) in this category.
Drupal users who do theme customization and control the configuration give websites the look and feel and control who sees what... and on which corner of the website. Here is what we have in Drupal 8 for Site Builders, specifically.
Your website is all set on your development sandbox and you need to move everything to production. How challenging is that?
Extremely simple is the way Drupal 8 handles this. The entire configuration is saved in files on your file system in YAML files. This means that your site name, views configuration, content types, fields and user roles etc. are all stored in YAML files on your file system.
There is configuration manager available using which you can export the configuration from your development environment and import to staging and production environments.
Furthermore, Drupal 8 has two configuration stores out of which one is active on your live site and the other one is for staging. Import first to staging, resolve if you find any issues and then make the configuration as active configuration.
Last but not the least, you can choose to export/import either the entire configuration or a single configuration file, as applicable. That is the power of new configuration management system of Drupal 8.
Mobile Friendly Responsive Websites
It has never been easier to create mobile friendly responsive websites, websites that fit devices of all sizes. Responsive design is in for few years now, but now, it is a complete no if your website is not responsive. Drupal 8 has embraced it with open arms.
Here is how -
Drupal 8 software: When we talk about top Drupal 8 Features, we can not miss administratino forms. Drupal 8’s administration forms are now mobile friendly. You can configure your website from your tablet or mobile device itself. The toolbars and the administrative layouts auto adjust for better user experience based on the screen size of the device.
Core themes- All core themes that ship with Drupal are now responsive by default and work well on devices of all sizes. Additionally, the entire code base is HTML5 compliant and ensures we are future proof, at least for a decade!!
Breakpoints – We know about it, breakpoints are used to define points where your website changes its form to give the best possible layout to the viewers. Breakpoints now is the module in Drupal 8 core, you can define breakpoints in YAML files and do the rest in CSS and JS.
Responsive Images – We need ultra fast websites and images count a lot to do that. Resizing a large image with CSS to fit small screens doesn’t do well to website performance. The need is to download smaller size images on small screens.
Responsive images module of Drupal 8 lets us do that, it uses HTML5 picture tag to output responsive images.
For doing configuration, we need to use image formatter and breakpoint mappings to define image size to be served for specific screen size.
Views are now in the core of Drupal 8 that and can be used out of the box without installing any additional modules.
Blocks in Drupal 8 are reusable. Create a block and use it multiple times anywhere on the webpage. This is true for both module generated as well as custom blocks. Blocks are like entities and you can add fields and revisions to blocks like you do to nodes.
Many front end third party vendor libraries are part of the core and it is much easier to add new libraries, of course.
Jquery and backbone are two such examples of front end libraries that are part of the core and used in core as well.
You have the option to load the libraries as you need and use in the code. Everything is not loaded by default which keeps page size under control.
Theme designing is more flexible with Twig which is PHP compiler engine in Drupal 8 and is much more powerful and secure.
Twig also makes it easier to create templates and outputs optimized PHP code.
You can read more about Twig at twig.sensiolabs.org
I am going a bit into the development level but this one really calls for a specific mention among the top Drupal 8 Features. You can enable the twig debug mode to see which template is being used to render a particular piece of content on your website.
Making a website accessible is more common now and mostly depends on how you build your website and what all features you include to ensure your website is accessible. Drupal 8 Supports WAI-ARIA and semantic HTML5.
Drupal 8 for Bloggers and Small Websites
For an individual bloggers who are mostly non technical, they need to build websites with few clicks and do not want to get into coding or complex development. Wordpress holds number one spot in terms of market share and is most popular among individual bloggers.
Wordpress originated as a blogging platform and that makes every other blogger to pick it for creating individual blog website.
Drupal 8 while targets enterprises can also be used by bloggers with as much ease as Wordpress. It is just not marketed that way or made popular among bloggers. Both Wordpress and Drupal offer point and click tools to install and configure the website.
When it comes to non technical individual website owners, the selection of CMS system really goes down to the availability of ready to use themes. Over the last couple of years Drupal themes market has grown a lot and there are many themes available for creating blog websites.
With Drupal 8, theming layer has become more powerful and flexible and it takes much lesser time to create a theme in Drupal 8. While Drupal is a powerhouse, it definitely can be used for small websites and running personal blogs. We expect a great acceptance to Drupal 8 from the bloggers community in the days to come.
Drupal has always been known for develop feature rich and large scale web projects. With Drupal 8, it has taken a big step forward in that direction. All the top Drupal 8 features we have seen here are more than enough to create multipurpose, scalable, responsive and future proof websites. We expect these features to help developers reduce time to go live with new Drupal based projects.
Thanks for reading. Let us know your thoughts via comments!!