Introducing Gutenberg Introducing Gutenberg Jul. 3rd, 2019 Mike Goulding

Introducing Gutenberg

July 3rd, 2019

When someone thinks of Drupal, they think about scalability, customization, and the oh-so-steep learning curve. What isn’t thought of as much is the smooth and simple editing experience. Though there are many efforts out there to improve the editing experience in Drupal, they tend to still require a bit of tinkering before they are ready for the end user. That isn’t to say that the stock experience is unusable, but for those that are not familiar with Drupal it can be a bit complicated and confusing. We aren’t here to complain about all of that though because there is another solution to this that is gaining traction and we should most definitely talk about it. 

Introducing Gutenberg

Those that are at all familiar with WordPress will already know about the Gutenberg editing experience. The classic editor for WordPress is basically just a rich text editor that is great for writing content, and more specifically blogs posts, but requires some more understanding of markup if you want to build an actual page with it. That is where the idea for Gutenberg comes in. With this editor you build your content with blocks. These blocks handle most things you could want, such as: basic paragraphs, headings, layout, embedded videos, and more. Since Gutenberg is included and set as the default editor mode in WordPress 5.0+, everyone is going to be making use of this soon.

This really changes the way the typical WordPress page is going to look without a lot of custom work. Something that has been missing from the WordPress experience has been a way to make things look more consistent between pages. Gutenberg blocks provide this consistency while also allowing editors to build pages without much restriction.

Gutenberg in WordPress still makes use of the same shortcodes that could be entered manually to save the layout configuration and data. It just does this automatically for the user while they configure the page visually. This reduces the barrier for making interesting and varied pages that used to require a lot more intimate knowledge of the platform. 

Since Gutenberg is largely built with React, it is also very flexible and extendable. The community has put together a large collection of ready-to-use blocks in the Gutenberg Cloud plugin. This means that very little work should be required to create a wide array of pages with this editor and anything that is missing should be fairly easy to develop.

Why bring Gutenberg to Drupal?

There has been a concerted effort in Drupal 8 to bring more focus to the editing experience and overall UI of the platform. As I mentioned before, they are lacking still despite major strides in version 8 from 7. This leads to a great deal of curiosity into what other CMS are doing to solve this problem. It wasn’t too long before whispers of a port of the Gutenberg plugin came around and an alpha version of Gutenberg for Drupal came to be. 

On the surface, it can seem a bit duplicative to have something like Gutenberg in Drupal. While block-based layout and reusability may be a game changer for something like WordPress, it is old hat for the Drupal ecosystem. Creating pages using different sorts of blocks and widgets is practically one of Drupal’s claims to fame as a CMS. Not to mention, other existing solutions and modules, like paragraphs, already address something like this in a much more Drupal-y sort of way. Why both bringing in another solution with language around blocks and tokens to a system that all but invented it? 

Though it may seem redundant, it actually makes a lot of sense to do this. For one, familiarity is a luxury that Drupal can rarely offer to those new to the platform. Everything in the UI is almost entirely originated from the Drupal ecosystem and can be a bit unintuitive. Having an offering that was made popular in the CMS with a market share of somewhere around a quarter of the internet is a good way to do that. Another reason for it to be on Drupal is because the idea behind the tool isn’t a wholly WordPress specific need. Editors want to be able to build these pages without a need for expert level platform knowledge. They want to be able to create content and not worry about tokens, shortcodes, blocks, fields, etc. WordPress has a deceptively simple problem and Drupal has that for engineers by engineers feeling that isn’t always welcoming to editors.

That isn’t to say that Gutenberg for Drupal is the answer to our UI prayers, however. It is a nice solution, but it is one that comes with caveats as these things usually do. At the moment, the module has an all or nothing approach for the editing experience. The content types that have the Gutenberg experience enabled will need to have a long text field on them for it to work. It will then use that field for storage and all other fields will be stashed in the Gutenberg sidebar on the edit page. (Currently, the Gutenberg module will look for whatever field matches the description and use the first one it finds for this. Something to watch out for it you add this to an existing content type.) It fully takes over the display of the edit form as it will now be replaced with the React-based experience that Gutenberg brings.

Another thing to note on this is that the Gutenberg module does support some Drupal core blocks out of the box and should mostly support custom Drupal blocks as well. The cool part about this is that in theory you can set up things like ads, content embeds, and views ahead of time for use in many content pieces. The less cool part is that not all blocks will work, and it isn’t clear which ones do and why others do not at this time. Keep an eye on the Supported Blocks page on Drupal.org for more details as they are available.

Is Gutenberg ready for use?

Gutenberg for Drupal 8 is a very promising module that solves a lot of problems in the traditional Drupal editing experience and it is making great strides. At the time of this writing, 8.x-1.2 has been released and solves many of the issues that previously would have made this a harder module to recommend. The better question right now would be if it is worth checking out and I would say that it absolutely is. Whether you enjoy building content in Drupal or not, the Gutenberg experience is something worth trying and considering for your editors.

Comments