At the time of writing, Drupal 8 is about to be released, so I decided it was time to write a review of it. I tested it recently, and here is my list of cool and “not so cool” about Drupal 8. I typed this along as I went through my testing, so they are not in order of importance.
- Everything (including blocks) is an entity: you can now easily create block types and attach fields to these block types, which means that the bean module is not needed anymore !
- Custom display and form modes available in core: you can now create custom display modes directly through the interface, without having to write any code. New in Drupal 8, you can also create multiple form modes, to customize the node forms.
- Views in core: no need to install the Views module as a contrib module, it is now available directly in core
- “Save and publish” button: the interface was reviewed and added a “Save and publish” button instead of the “Published” checkbox available in Drupal 7, making it more user friendly.
- Metadata options on the right: the metadata options in a node form are now on the right, making the distinction between metadata and data easier for the end user
- WYSIWYG in core: that’s probably one of the most important changes in Drupal 8’s interface: WYSIWYG is in core ! No need to work with the dev version of the wysiwyg module, it’s just there ! CKEditor was chosen as the default WYSIWYG editor, which is a good choice in my opinion.
- Entity translation in core: entity translation missed core in Drupal 7, it’s now there in Drupal 8. Again a really good improvement, making it easier to translate a site without the need for contrib modules.
- Configuration exportable in YAML files: this is one of the major “under the hood” improvements. Configuration is now stored in .yml files, which makes it a lot easier than before to export your site configuration to deploy it elsewhere (without the need of the features module)
Not so cool
- No “display suite” like template of content types: form and display modes are great, but more advanced functionalities for displaying Drupal entities ala “Display suite” would have been even better. Maybe in Drupal 9 ?
- No “Cancel” button on node edit form: that’s a common client request. Easy to add through a custom module, but if it had been in core, it would have been even better.
- Menu translation does not seem to be in core: even if Entity Translation is there and provides already quite advanced translation functionalities, I haven’t been able to find a way to translate a menu item without adding any contrib module. It would have been great to have a fully translatable Drupal site with Drupal core only.
Overall, I found Drupal 8 really great: not a revolution, but some good evolutions which should simplify the life of Drupal developers, integrators and users. Even though contrib modules will have to catch up, I also believe that Drupal 8 is now ready for small to medium sized websites and at this point, starting new projects on Drupal 7 does not really make sense anymore.
Originally published at https://www.gvj-web.com on November 6, 2015.