Over 8 months after release and my first D8 site under my belt I can now say I am excited for the future of working with Drupal's freshest release. That being said at this stage in the game the decision to go with D8 should approached with caution. It does what it does well but many of those shiny contrib modules you're used to using just aren't there yet. Unless your team and client are willing to spend the time and money needed to develop or port the missing functionality it might not be a fit for that particular project. If on the other hand you have a project that is the right fit, now is the time to dive right in and take advantage of all it has to offer.
What you should be excited for:
Drupal 8 was a real treat to work on though I definitely went into the project with some reservations. My experience in the past with being the first person in the office to work on a fresh Drupal release has taught me to be cautiously optimistic. Modules you have become attached to and use in almost every project aren't ready or they have a release but it either doesn't work or it's a shell of it's former self while they slowly port features over. This time around there was very few things I was missing and the things that were ended up forcing me to think out of the box or explore other alternatives which was a fun exercise. Aside from a few hiccups Drupal Core just worked which is more than I can say for previous outings. After all is said and done here are a few things I was pleased with and left me wanting to explore further:
The small things
- Date, link and email fields are now in core, no more turning on a couple modules you use in pretty much every install.
- Views is also part of core now! Many of the admin pages have been converted to views so feel free to modify them to your hearts content, you will no longer have to install a module to modify that one admin page that you never liked.
- The modules admin page (Extend) is now more useable, that means you won't need to install Module Filter to search for that one module you want to install.
Blocks, Blocks, Blocks
The blocks system has seen some major love in D8. I always cringe when I log into a D7 site and see that a client has created a block and placed it with the core blocks admin. I will still prefer placing blocks with context because it allows for a pretty complex set of conditions to be met before placing the block. For clients that are a little more hands on the new blocks admin with the addition of Block Visibility Groups will do almost anything you want it to, I like to think of it as context lite. This will allow you to set up groups of blocks that will apply to specific sections of the and provide a dropdown on the admin page to select the group you'd like to edit. Selecting a group will filter the blocks down to what is active in that group.
The Custom Blocks Library is where blocks in D8 really shine, in here you'll find a list of all custom blocks that exist and adds the ability to create block types. Block types are exactly what they sound like, custom types for block that will allow you to add fields just as you would in a content type.This enables you to set up some types and let the client create as many blocks as they'd like within the constraints you've set.
Multilingual modules are now in core, this means there's no more messing around because that one field just won't translate properly and it's all done through the admin UI. Taxonomy, menus, blocks, views, fields are all easily translatable.
With the move to Twig we've got an incredibly powerful theming engine that is much more lightweight than previous Drupal versions. The simple syntax and convenient functions make getting into theming a breeze. Using twig's template inheritance will give you the ability to turn one giant template into smaller more manageable templates. This is great for focusing on structure in the parent and then handling bulkier stuff in child templates. Macros will allow you to create small reusable chunks of code and then reference them wherever you please throughout your theme.
Mobile and Responsive Images
Breakpoints are built into core, this will allow you to define your breakpoints and then reference them to control how your theme and content appear on each platform. With the addition of Responsive Images you will be able to set up all your image styles and then use those breakpoints to trigger what image style is used for each.
Exporting Your Config and Features
D8 now has a built in Config Manager this will allow you to export and import all or some of your config. This is ideal for your simpler sites but it's just a start to what you can achieve with Features.
Features has been rebuilt from the ground up in this release and makes use of the groundwork laid by the Config Manager. What this means is no more messing around with additional Features modules as a workaround to grab specific bits of config that are not exportable. When you install Features it will automatically set up a feature for each bit of config you have. It centers them around your content types and will grab any config related to that content type (views, image styles, permissions, etc.) and group it together ready for export. In addition you will now be able to create bundles of features that will share a namespace so you can export reusable config for a specific bit of functionality such as a slideshow.
What your clients should be excited for:
There's a lot of changes that have been made to streamline the experience for a content manager. These changes will help speed up the day to day management of the site in some big ways and relieve some of the stress of resolving the issues that can arise post launch when you set them loose in the back end. The admin UI has seen a big update and is much more enjoyable to work with.
Quick edit is a really powerful tool for editing your sites content. This will allow clients to edit their content in place and see it as it will appear within the sites theme. No more annoying shadow boxes that take as long to load as going to the edit screen. Fields that use the wysiwyg will have the toolbar pop up and follow you down the page and editing the source will appear in a lightweight popup.
CKEditor is now in core, this is a huge win as there is nothing more annoying than setting up your wysiwyg. Buttons are added or removed with a drag and drop and can be grouped however you like so it can be as simple or complex as you wish. If you like to limit the allowed tags that are used in the wysiwyg conflicting tags will now be removed from the list when you add buttons that make use of them.
Inline images are another great improvement to using the wysiwyg, this cuts out the need for IMCE. Uploads are sent directly to the files folder without exposing all the other files in there to the client. Captions can be added to the images and make use of the HTML5 figcaption element.