Experimental Module Changes Coming in Drupal 8.3

Drupal 8.3 is still a few months away, coming April 5, 2017, but there are already some changes we can look at, most notably in the experimental modules. In December, 2 new experimental modules were added to core, and BigPipe was officially changed from a beta module to stable. The 2 new modules you'll find in 8.3 are Workflows and Layout. Let's examine them.

Workflows

As part of the Workflow initiative, the Workflows module has been added to core to provide a workflow configuration entity type, which other modules can use. You can see it in action immediately with another core experimental module, Content Moderation, which was added in 8.2. As a matter of fact, Content Moderation now requires Workflows because this feature used to be an integral part of moderation.

If you are familiar with the Workbench contributed module, then you will recognize how the Content Moderation and Workflows modules work. The Content Moderation module in core is based on Workbench Moderation. Workflows establishes the concept of having workflow states and transitions between them. For example, you might have a content workflow that needs to have states, or "stops" along the way, of Draft, Review, Published, and a way to restrict how and when a piece of content changes between those states. These transitions would be something like, "a node in a Draft state can only move to Review and not directly to Published, while a Published node can move to either Review or Draft."

Screenshot of Workflows states and transitions with Content Moderation module

The great thing about Workflows being a separate module in core is that the ability to provide workflow states and transitions is not just tied to Content Moderation, but it provides a generic API that any module developer can use to create custom states and defaults for whatever workflow is needed. If you'd like to get a little more information about the Workflow initiative as a whole, you should read Dries' recent blog post about Moving the Drupal 8 workflow initiative along.

One important note about this new addition is that to separate the workflow states out, many changes were made to Content Moderation as well. If you are using Content Moderation in Drupal 8.2, it is a different module now in 8.3. When you upgrade to 8.3 you will need to uninstall Content Moderation before updating the codebase and re-install it after the upgrade. (Experimental alpha modules do not get upgrade paths built for them.)

Layout Discovery

The new Layout Discovery module is an exciting step forward for the Block and Layout initiative, though you won't actually see anything in the user interface for this module, other than the ability to enable it. That is because this is an API module that provides tools for other modules to use. Layout Discovery adapted from the contributed module Layout Plugin, which is used by other modules like Panels and Display Suite to keep track of page layouts. You'll need to be a developer to play with this one. You can get started by reading the Layout Plugin documentation about interacting with the API. The idea is that with this main piece of the puzzle in place, the initiative can move forward with adding a layout system to core with a user interface, along the lines of Panels and Display Suite.

BigPipe

The BigPipe module considerably improves front-end, perceived performance on your website. It was created by Facebook, and was then applied to Drupal through a contributed module before it became an experimental module in core as of Drupal 8.1 in February 2016. When we see it in 8.3, it will now be listed as a regular core module without the caveats of the experimentals. This means it is now ready for prime time and recommended for production sites.

Screenshot showing BigPipe module in the main Core section of modules to enable

This is one of those modules that every site should use by default since it will improve your site performance without you having to configure anything. If you want to understand more of how BigPipe works, you can check out this 10-minute video podcast by Acro Media or listen to a longer audio podcast by Lullabot with Wim Leers, who has been the main architect behind getting BigPipe into Drupal 8.

If you'd like to keep up with the changes coming in the next version of Drupal core, take a look at the change records which are published as things are added or changed. You can even filter the changes by the role they will impact.

Related Topics: 

Comments

Good luck and best wishes before the arrival of Drupal 9 (in case it does see the light of day). Since at that time, all previous efforts and hard work will be nullified :-) public static interface ::->() get and don't get and don't forget to use or not to use Drupal\\Ultra\\Complex interface :-)

I can understand why some people are not so excited about Drupal 8, as it is quite a change, but it does have some really great and exciting things going for it, like the above mentioned features, and with the new semantic versioning and release schedule there are improvements being made on a regular schedule for the first time in Drupal's history. For those who would like to know more about the semantic versioning and the future with Drupal 9, I recommend reading Gabor's very good post about it: http://hojtsy.hu/blog/2016-aug-09/there-will-be-drupal-9-and-here-why.

Wonderful! I am especially looking for BigPipe making it in core and staying there. I am really impressed how snappy Drupal 8 is perceived, even on shared hosting. Looks like magin, especially if you know what complexity is behind all that!

And possibly also Inline Form Errors will get stable!

Still some work needed however, chime in and help us getting this done: https://www.drupal.org/node/2504847

Add new comment