Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough
Nov 18 2020
Nov 18

The Authoring Experience Problem

Authoring experience is a huge concern for web teams everywhere. As it should be. The ability for digital publishers to keep up with the rapidly accelerating demands of their users, and the pace of their competitors, largely depends on providing easy-to-use, expressive tools for their teams to create compelling content.

In practice, this means that publishers need the ability to quickly produce rich digital content from a range of possible components: text, images, videos, social media assets, and so on. Authors should be able to mix various elements quickly and effortlessly, with simple controls for managing content flow and layout. Under the hood, content should be structured and predictable. We’ve written about this before: organizations cannot sacrifice structure for flexibility. They need both.

And yet authoring experience has been a major shortcoming of Drupal, often articulated by marketing and editorial leaders as, “Drupal is too complicated for my organization.”

Other platforms from across the entire spectrum of digital publishing systems – from Adobe Experience Manager to Wordpress, Squarespace to WiX – provide rich, intuitive tools for easily creating all kinds of digital content. What Drupal offers in terms of flexibility – powerful APIs, easily customizable structured content, and a huge range of content management features – has come at the expense of the authoring experience.

Layout Paragraphs

A while ago I wrote about Entity Reference with Layout (or ERL), a Drupal 8 module that combines Paragraphs with the Layout API for a more flexible, expressive authoring experience in Drupal. ERL had one concerning drawback: you had to use a special field type for referencing paragraphs. That means ERL wouldn’t “just work” with existing paragraph fields.

Layout Paragraphs, the successor to ERL, fixes that problem. The Layout Paragraphs module combines Drupal Paragraphs with the Layout API and works seamlessly with existing paragraph reference fields.

The Layout Paragraphs module makes it dead simple for authors to build rich pages from a library of available components. It offers drag-and-drop controls for managing content flow and layout, and works seamlessly with existing paragraph reference fields.

Layout Paragraphs features include:

  • Easily configure which content components, or paragraph types, are available to your authors wherever Layout Paragraphs is used.
  • A highly visual, drag-and-drop interface makes it simple to manage content flow and layout.
  • Site admins can easily configure Layout Paragraphs to support nested layouts up to 10 levels deep.
  • A “disabled bin” makes it easy to temporarily remove content elements without deleting them.
  • Layout Paragraphs works seamlessly with existing paragraph reference fields.
  • Authors can easily switch between different layouts without losing nested content.
  • Layout Paragraphs is fully customizable and works with Layout Plugins, Paragraph Behaviors, and other Drupal APIs.

What About Layout Builder?

While there are strong similarities between Layout Paragraphs and Layout Builder, Layout Paragraphs solves a fundamentally different problem than Layout Builder.

Layout Builder, in Drupal core, is a powerful system for managing layouts across an entire website. With Layout Builder, site administrators and content managers can place content from virtually anywhere (including custom blocks) within specific regions of a layout. Layout Builder is extremely powerful, but doesn’t directly solve the problem I mentioned above: “Drupal is too complicated for my organization.”

Layout Paragraphs adds a new interface for effortlessly managing content using Drupal Paragraphs. It is simple, fast, and expressive. Layout Paragraphs is a field widget, and works the same way as other Drupal fields. The Layout Paragraphs module makes it simple for publishers to create and manage rich content from a library of available components: text, images, videos, etc. Layout Paragraphs is completely focused on the authoring experience.

Try It Out

If you want to see Layout Paragraphs in action, simply download the module and give it a try. Setup is fast and easy. From the Layout Paragraphs module page:

  1. Make sure the Paragraphs module is installed.
  2. Download/Require (composer require drupal/layout_paragraphs) and install Layout Paragraphs.
  3. Create a new paragraph type (admin > structure > paragraph types) to use for layout sections. Your new paragraph type can have whatever fields you wish, although no fields are required for the module to work.
  4. Enable the “Layout Paragraphs” paragraph behavior for your layout section paragraph type, and select one or more layouts you wish to make available.
  5. Make sure your new layout section paragraph type is selected under “Reference Type” on the content type’s reference field edit screen by clicking “edit” for the respective field on the “Manage fields” tab.
  6. Choose “Layout Paragraphs” as the field widget type for the desired paragraph reference field under “Manage form display”.
  7. Choose “Layout Paragraphs” as the field formatter for the desired paragraph reference field under “Manage display”.
  8. That’s it. Start creating (or editing) content to see the module in action.

If you’re using Layout Paragraphs in your projects, we’d love to hear about it. Drop a note in the comments section below, or get involved in the issue queue.

Apr 20 2020
Apr 20

More than two years ago I wrote about Drupal’s much-improved upgrade path and what it means for the future. What I wrote then is still true today: after Drupal 8, upgrading to new major versions (Drupal 9, Drupal 10, etc.) will be much, much easier than it was in the past. The difference will be night and day. That’s great news for all the poor folks still suffering PTSD from their last major Drupal migration.

Now Drupal 9 is right around the corner and it’s time to make sure you’re ready. Here’s a quick run-down on how to prepare for Drupal 9.

If you’re running Drupal 8 right now:

Upgrading to Drupal 9 should be as simple as any minor release update (i.e. upgrading from Drupal 8.7 to 8.8). You’ll just need to make sure your codebase is up-to-date with the latest versions and APIs. Here’s a quick and simple checklist to make sure you’re ready for Drupal 9 (this assumes you’re currently on Drupal 8, using a composer-based setup, and have the drush command line utility installed).

  • Keep Drupal core updated to the most recent stable version (as of today that’s Drupal 8.8.8). In most cases, using composer update drupal/core and drush updatedb will do the trick.
  • Likewise, keep contributed modules up to date. Use composer outdated to list available updates, and composer update drupal/[module name] to upgrade modules selectively. Alternatively, you can bulk update everything with composer update. After updating modules, run drush updatedb to perform any necessary database updates.
  • Test your updated website. Automated tests are a huge help, but depending on what exactly was updated and how large your website is, you might also get by with just clicking around and making sure things work.
  • Update your custom code. There are a number of tools available for finding outdated code in your website. Matt Glaman’s “drupal-check” identifies deprecated code in your Drupal 8 codebase. Drupal rector helps automatically update outdated code to the latest, Drupal 9 -compatible alternative.
  • Rinse and repeat. It’s a good idea to keep things updated monthly, and of course whenever there are security-related updates.

If you’re not running Drupal 8 right now:

First, the bad news: just like migrating to Drupal 6 or 7 before, migrating to Drupal 8 is a serious undertaking. Think “software development project” rather than “product upgrade.” Considering the magnitude of the effort, this is a good time to revisit your overarching digital strategy, approach to user experience, and content authoring workflow.

Some good news: With powerful new features, faster-than-ever load-times, and a radically improved upgrade path, Drupal 8 (and Drupal 9) is worth the effort. Even better: as long as you keep your website up-to-date, migrating to the latest version of Drupal will be the last difficult Drupal migration project you ever do.

Need help?

If you’re running Drupal 8: We provide regular, monthly updates for Drupal core, contrib, and custom code. Not only does that help keep your website running smoothly and securely, but it keeps you ready for Drupal 9. Just get in touch and let us know you’re looking for help with monthly Drupal updates.

If you’re not running Drupal 8: We help organizations of all sizes plan, design, and execute Drupal 8 migrations. Drupal 8 migrations aren’t easy, but they’re worth the effort. Get in touch and we’ll share some of our favorite new features for Drupal 8 – like workflow management and drag-and-drop page building. This would be a good time to revisit your overarching digital strategy and approach to user experience.

Want to learn more about getting ready for Drupal 9? 

Contact US

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web