Drupal 8: better for both developers and users
Version 8.0 of the content management system Drupal will be released in a few weeks. What are the main new features that make the upgrade worthwhile? How does the upgrade process work? And is it something you should consider? Here is an overview…
What is Drupal?
Belgian Dries Buytaert originally developed Drupal as a bulletin board system. At that point, he could not have imagined that it would eventually develop into a content management system that is currently used on 2.1% of all websites worldwide, by companies, politicians and public authorities. Here is a fun fact about it: the name Drupal actually derives from a typo. In fact, Buytaert initially intended to register the website dorp.org for his BBS, but he made a typo and registered drop.org instead. The Dutch word “Druppel” (which later became Drupal) means “drop”.
The special thing about the Drupal CMS is that you can create multiple administrators. In addition, you can set permissions for each user. This means that you can also create users who have no or limited admin rights. You can also assign an individual policy for each user.
The PHP based content management framework currently offers version 7. And, as Buytaert himself wrote on his blog, it had some fairly big limitations. There was an incomplete Entity API, a lack of separation between content and configuration, a lack of separation between logic and presentation in the theme layer, etc. Moreover, version 7 was absolutely not adapted to the new reality of mobile browsing. This is why it took two and a half years to come up with a new version. Over 2,700 people have contributed to Drupal 8, which is due to be released sometime in the next few weeks. What can you expect from Drupal 8.0?
A list of the main new features
- Managing content and lay-out is now easier thanks to the WYSIWYG editor. You can move images with the drag&drop feature. If you want to edit something in a field, that field is instantly displayed in the back-end, where you can edit it. This way, you no longer need to search through the code.
- Mobile first, also in the administration dashboard, with (among other features), stretching images and responsive tables that adapt to the screen size. This way, administrating your website with your mobile is made much simpler!
- Better sitebuilder features, with Views in the Core. Blocks have been improved, and there are now also new types of fields, like for links or phone numbers.
- Multilingual support: from the installation, you can choose the desired language. Separate translation modules are thus no longer necessary.
- Configuration management is made easier as well. From now on, you can transport the configuration from the development site to the production site.
- Twig and HTML5. PHP templates are replaced by Twig, a template engine that makes the code much simpler, but also more secure, because all variables are automatically escaped. HTML5 Forms are also very handy to work with. With them, the right type of keyboard will automatically appear on the user’s screen when the cursor is placed on an input field, like the jackpot-ish input for a date field, a phone keypad for a phone number field, and an alphabet for text.
- Web Services: Drupal 8 approaches the provision of content as via an API. This way, this content is available everywhere: on websites, mobile devices, native apps, digital screens, even the Internet of Things. Read more about the API and the associated documentation.
- Modern OO code. Drupal reused the best PHP practices from other programming languages. As a result, Drupal 8 is accessible to a larger number of programmers. It makes use of Symfony 2 and libraries such as Backbone.js, Underscore.js, PHP Unit and Doctrine. Each time, the way certain procedures were handled has been taken into account. If the code for these modules was better, it was reused; if the Drupal code was better, that code was retained. Object Oriented is the keyword, for classes, forms and blocks.
Find out more about this subject: check out the complete list of changes in Drupal 8 or watch the video in which Angela Brown extensively discusses all the new features of Drupal 8.
How should you upgrade?
First of all, you should know that there no longer is an upgrade path. You first need to build your Drupal 8 site, as a new site, and then migrate your content and users via a migration script, which is a major advantage, because it allows you to upgrade without having to take your website offline!
But be careful: if you customised your Drupal code, you will have to port it yourself for use with version 8. So you should always use commonly used contrib modules, because chances are that they will be ported quickly by the community.
Upgrading: is it something you should consider?
- Are you a developer of modules or themes? In that case, you should start testing and writing based on the beta version. Click here if you want to find out more about porting modules.
- Are you an early adopter? Then, you should build test sites in order to get used to the look & feel. However, do not go live yet, because some critical bugs still need to be fixed in the code, which currently make it impossible to upgrade from one beta version to another. You will have to fix all the bugs you will find in beta versions yourself.
- Are you a late adopter? In that case, you should wait for at least 6 months after the release date of Drupal 8.0.0. Then, there will most probably be enough contrib modules available for Drupal 8 that will allow you to easily build a website.
And what if you cannot/do not want to upgrade?
If, for some reasons, you cannot upgrade, or if you prefer to wait for a few months, this is no reason not to enjoy some handy improvements of Drupal 8. Just use a Drupal 7 Contrib equivalent:
- WYSIWYG editor => CKEditor
- In-place editing => Quickedit
- Responsive toolbar => Mobile Friendly Navigation Toolbar
- Responsive Front-End => basic themes such as Omega, Zen and Adaptive
- Responsive admin => Ember
- Responsive images => Picture
- Responsive tables => Responsive tables
- Simplified Overlay => Escape Admin
- Multilingual => Internationalization and Entity Translation
- Better blocks => Bean
- Configuration => Features
- Web Services => RESTful
When can you expect Drupal 8.0 to be released?
No exact date has been announced, but this version will probably be released in a few weeks. Drupal 8.0.0 will be released as soon as all critical bugs that are still present at the level of performance, security and Views will be fixed. In April 2015, there were still 54 of them, of which 12 made it impossible to upgrade from one beta version to another. You had to rebuild your entire website every time. Today, there are still 11 issues to be fixed.
And what will the future hold?
6 months after the launch of Drupal 8.0.0, Drupal 6 support will end. New features for Drupal 8 will be released every 6 months. These will be backward compatible and easy to recognise thanks to the version numbers (Drupal 8.1.x, Drupal 8.2.x...)
Drupal 9 will only be released when presented improvements can no longer be based on the core of Drupal 8. You can follow the latest developments on the Drupal website.
Combell will also upgrade its Drupal hosting in due time.
With this article, you are now informed about the main changes. In consultation with our collaborators, you can decide if you want to upgrade, and if so, when you want to migrate. In case of doubt, please contact our helpdesk!