Upgrade Your Drupal Skills

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

See Advanced Courses NAH, I know Enough
Apr 01 2021
Apr 01

As expected, Drupal 9.1 was released on schedule at the closure of 2020. We have already talked about the Drupal 9 release and how it’s a testament to the predictable and reliable nature of the Drupal release cycle. Drupal 9.1 takes a step forward by adding more features and releasing them as predicted.

In this blog, we will be discussing the new improvements and more that will follow. 

Is it worth upgrading?

The Drupal 9.1 stable release was out as expected on Dec 2nd, 2020. We previously advocated that if you are on Drupal 8.9, you needn’t hurry to upgrade to Drupal 9.0 as you would not see many new features. But that’s changed.

Drupal 9.1 adds exciting features and updates along with support for PHP 8 (we have previously written about making Drupal 9 compatible with PHP 8).

It’s also worth upgrading as Drupal 9.1 brings significant changes in the user interface for both sighted users and assistive technology.

New features

Olivero theme

The much-awaited beta experimental frontend theme Olivero has been added to the Drupal core. As a replacement to Bartik, this is a modern and clear theme planned to become the new default Drupal theme later.

This particular theme is named after Rachel Olivero (1982-2019), the head of the organizational technology group at the National Federation of the Blind. She was a well-known accessibility expert and a Drupal community contributor.

Additions to the Claro theme

Claro was added as an experimental theme in Drupal 8.8. And now, Drupal 9.1 has added designs for various key pages like the extensions administration page, views administration, and status report. Also, the media library received Claro styled designs too.

Composer 2 and PHP 8 support

Drupal 9 fully works with Composer 2, and it is strongly recommended to update. Many of the popular plugins have also been updated. If the one you use doesn’t have updates, please help the plugin author with a PR to add the support (it’s quite easy). The new release comes with a significant improvement in performance and also reduces memory usage.

Drupal 9.1 has added support for PHP 8. PHP 8 brings in a lot of newer languages, and even though Drupal core isn’t using any of them (it still supports PHP 7.3), you could use features like union types and more in your custom code. Further, it’s likely that PHP 8 could be a requirement for Drupal 10 due to release in 2022.

Additionally, the user experience has been improved by making the content load faster as the images rendered by Drupal with known dimensions will now be set to lazy-load automatically. 

How to update from a previous version of Drupal

Now, this begs an important question: how will the current users of Drupal 7 or 8 migrate to Drupal 9.1? And also, if users have already migrated to Drupal 9, is there anything for them to execute with this release?

Every version of Drupal demands a different approach to migration. The idea is to pick the right Drupal migration strategy. Let’s look at how to migrate from different versions in this section. 

Upgrade from Drupal 7

Drupal 7 users can easily continue to migrate to Drupal 8.9 or migrate to 9.0 or 9.1 directly. Migrating directly to Drupal 9/9.1 will help them skip a step. The upgrade path for multilingual sites remains stable in Drupal 8.9, 9.0, and 9.1!

For more on how to upgrade from Drupal 7, check out the ultimate guide to Drupal migration

Upgrade from Drupal 8

For Drupal 8 users, there’s still time to step up to the latest 8.9 version until the end of Drupal 8, i.e., in November 2021. The bug fixes will continue, and the next one is scheduled for January 6, 2021. 

Sites on Drupal 8.8 will no longer receive security coverage. This means moving to Drupal 8.9/9 becomes crucial from this update onwards. 

According to Drupal.org, of the top 1000 most used drupal.org projects, 85 percent are updated for Drupal 9, so there is a high likelihood that most of the modules and themes you rely on are compatible.

Upgrade from Drupal 9

Drupal 9.1 is a minor release of Drupal 9. It can be updated from Drupal 9 versions for utilizing these new features without breaking backward compatibility (BC) for public APIs. While Drupal 9 will keep requiring Symfony 4, Drupal 9.1 has adjustments required to support Symfony 5 already. 

All these updates are underway to make Drupal 9 forward-compatible with Symfony 5 and 6 (not yet released). And also, as Drupal 10 is planned for mid-2022, these new upgrades target an excellent growth curve.

Running the update

We will only talk about updating from Drupal 8.9 or Drupal 9 in this section. Updating multiple versions is possible but needs additional care and consideration, which we won’t cover in this section.

  • First of all, if you are already using the Olivero theme in your project, remove that by running this command. We need to do this as Drupal 9.1 includes Olivero in the core.

$ composer remove drupal/olivero

  • To begin an upgrade from Drupal 8.9 or Drupal 9, run the following command:

$ composer require drupal/core:^9.1
drupal/core-composer-scaffold:^9.1 --update-with-dependencies

  • If your project is using drupal/core-recommended, use that instead of Drupal/core in the command above. Also, for the above, your project must be using the recommended Drupal Composer template. It is quite likely that the command might throw some dependency related errors. 

Since there are a wide variety of possible dependency issues, we won’t cover everything here. But to get started, try replacing the --update-with-dependencies flag with --update-with-all-dependencies flag in the command above and try again.

Drupal 9.1 seems to be a promising update for users ready to take the plunge. If you are still not sure, give us a chance to convince you why upgrading to Drupal 9 is crucial now.

Share your Drupal 9 experience with us and watch this space for more insights!

Apr 01 2021
Apr 01

With the launch of Drupal 9 in June 2020, the topic of Drupal migration is fresh on everyone’s mind. We will be delving deeper into the nitty-gritty around the topic in this blog. 

Migration is the process where the content from the old site, converted into the desired format and is saved in the new site. Sometimes, migration is a simple activity of mapping the source content to the destination content types, and sometimes, it is a bit more complicated.

Let's take a comprehensive look at the Drupal migration process in context to the recently launched Drupal 9, and what’s involved in migrating from different versions.

Drupal 9 is here, and regardless of being on Drupal 7 or 8, you can start preparing to upgrade. Find out how the migration process will affect your site and how to prepare!

01. Drupal 7, 8, and 9

02. Migrating Then and Now

03. Drupal to Drupal Migration

04. Migration from external sources

05. What’s More?


Drupal 7, 8, and 9

Drupal has earned a reputation as a great choice for enterprise-level websites and web applications. Drupal 7 was launched in 2011, and its improved JavaScript and CSS optimization made it so popular that a large number of businesses are still on it. 

Introduction of Drupal 8

Drupal 8 was introduced with numerous benefits, boasting extensive support for accessibility standards, with Semantic HTML5 that creates more usable interactions and adopts more WAI-ARIA practices, and much more.

Find out what to look for in Drupal 9 based on what we saw during the Drupal 8 journey and why migrate to the latest release.

Drupal 8 also said goodbye to PHPTemplate and rely on readable code when theming with Twig. However, these technical advancements came with a bit of a migration challenge.  

The Transition

It’s no secret that the migration process from Drupal 7 to 8 involved a number of challenges. Many questioned the need to migrate from Drupal 6/7 as they were hesitant about the migration process itself. The community has taken a huge leap in the migration process from Drupal 7 to Drupal 9. 

Read about the importance of migrating to Drupal 9 for Drupal 6 & 7 users and the consequences of not migrating to Drupal 8 before its end-of-life.

The infamous Drupal 7 to 8 migration challenged teams' technical capabilities and relied on the business priorities too. However, the Drupal 8 to 9 migration has no such hassles. If you are at the latest version of Drupal 8, then transitioning to Drupal 9 is very similar to a minor upgrade. 

Migrating Then and Now

The most important part of migration is planning and preparing. As a business, you should be able to assess the feasibility of performing a successful migration. To give an overview, it starts with analyzing your source data, managing important files and content, lots of testing, and so on.

The community recommends updating the core to the latest version available to ensure the site’s security and uninterrupted functioning. Using the dependency manager for PHP, Composer, you can update and install packages (modules) in Drupal.

Drupal to Drupal Migration

While moving your Drupal 6/7 site to Drupal 8, most of your time would be spent working in the Migration or Migration Group config. Also, you’d want to declare the different Process Plugins to be used and the Destination Plugins for all of the core entity types included in Drupal core. 

Drupal has reached the highest level of scalability and efficiency with object-oriented code, the latest PHP standards, more unified APIs to add power to your site. 

The entire Drupal 8/9 content migration process is also a brief series of easy steps and offers greater flexibility to tweak the content architecture.

Learn the importance of data and how to execute the content migration with a plan and available modules.

Migration from external sources

If you are on a non-Drupal CMS, like WordPress, then the process starts with Setup Migrate Demo Site and Source Data for data migration. The well structured Drupal 8 makes the execution easier and manageable. An average Drupal developer will have no issue understanding the database structures of both sites, and they can write a series of SQL queries that copy the content from any non-Drupal database to the Drupal database.

Also, there are contributed modules to migrate your non-Drupal website to Drupal. For example, the Migrate API provides services for migrating data from a source system to Drupal 8. Even the Drupal theming is a breeze now with the new Twig template engine. 

What’s More?

Drupal 7 and Drupal 8 are reaching end-of-life in November 2021 and 2022, respectively. This will leave Drupal 9 as the standalone version in the community with support. It won’t be too long before Drupal 10 makes an entry after that, so do make sure you complete your migration well in time.

Read about how we migrated millions of content items to Drupal for Lonely Planet. Axelerant team members helped familiarize Lonely Planet’s team with Drupal 8 migration best practices and streamline the migration process.

Apr 01 2021
Apr 01

Though WordPress's easy setup has made quite a name, the Open Source CMS is still far from perfect. There are instances where Open Source users prefer Drupal as their CMS of choice for the advantages it offers. 

For those who are new to the world of CMSs, WordPress is often the natural choice as it is easy to get started with. For those who would like to level up and need more customized functionality from their websites, Drupal meets these needs well. 

Drupal Vs. WordPress

Both at par with strong arguments at their corners, Drupal and WordPress have often locked horns in the CMS space. In fact, this is one of the most searched topics online among users who are wanting to enter into the Open Source space. And since pros and cons vary depending on the user’s context, there is never a clear winner. 

Let’s first look at the advantages Drupal offers over WordPress. 

Advantages of Drupal 8

  • High Security: This is the foremost reason for migrating to Drupal. Several government websites, including the White House’s official website, have been built on Drupal.
  • Easy Search Engine Optimization (SEO): Drupal is a good choice for businesses wanting their websites to rank via SEO. The platform offers numerous modules like Yoast SEO and makes it easy to optimize the site's content.  
  • Speed: A crucial element in holding your audience’s attention is speed. Drupal extends maximum response speed, allowing users to develop high-performing pages with a high-speed index.
  • Flexibility: More choices mean more flexibility to up your website game. Drupal’s custom content types are flexible and make your site unique. As a user, you can employ delicate detailing and integrate useful functions such as Shopify, Twitter, other social media channels, and more to achieve better results. 
  • Multilingual: Since Drupal 8, the multilingual function has been baked into the core itself. For organizations wanting polylingual pages, Drupal offers 100+ languages in its base settings. And as commonly observed, multilingual sites perform much better than websites having English as their primary language. 
  • Taxonomy: Data is the topmost priority for every website owner. From In-depth nesting to categorizing in a common data catalog, Drupal can reliably store a large amount of data. Such capabilities are still not available in other Open Source CMSs.

Advantages of WordPress

According to W3Techs, WordPress powers 37 percent of all the websites on the Internet. Clearly, it is one of the most sought after CMS for enterprises wanting to start up their websites quickly. Let’s look at its advantages:

  • Ease of Use: If you are a non-technical user, WordPress can give your business a good kickstart. It can take you from no website to a good-looking, user-friendly, and functional site in minutes.  
  • Extensibility: With 53,000+ free plugins and 5,000+ free themes, you can transform your website at no extra cost. It’s easy to extend your WordPress site without the need for custom development.
  • Development Costs: WordPress tends to work great for categories like small-to-medium businesses, eCommerce, publications, startups, and nonprofits. WordPress can address these needs at lower development costs. 

While these advantages take over Drupal, there are a few that both the platforms share equally. For example, both Drupal and WordPress offer eCommerce capabilities and are redesigned to be more platform-agnostic. Similarly, you can decouple Drupal as well as WordPress. The drupal site can act as a content API server on the first day itself, while REST API is now bundled in the WordPress core for developers to experiment and use it in a decoupled way.

If you are a small business, WordPress might be the solution for you, but Drupal offers significant advantages for large enterprises. In case you are one of the latter, the next section will guide you through the migration process. 

Migrate to Drupal

Here’s how you can migrate your site to Drupal in a few easy steps:

  • Download the XML file containing “All content” after you log in to WordPress Admin. 
  • Make sure that the XML file is valid using xmllint through the command line. Then make appropriate fixes to the XML file and run xmllint again to ensure that all errors have been rectified.
  • Use the WordPress Migrate module or any other appropriate module to migrate.
  • Log in to Drupal and navigate to the Find Content screen and click on the WordPress Migration tab.
  • Select the valid XML file that you saved earlier.
  • Make sure that the data was properly imported and everything is in place. 

Supporting Modules

While these steps will execute the migration successfully, there are other aspects to consider, like exporting content files, URLs, extra files, etc. 

Modules can assist you in completing the migration from WordPress to Drupal:

You are at your discretion to choose between the two leading CMSs. Both platforms have their sets of advantages, as listed above. In case you are still confused, get details on how Drupal 8 changed the WordPress Vs. Drupal debate.

Mar 31 2021
Mar 31

The Web Content Accessibility Guidelines (WCAG) are a series of specifications developed and maintained by the World Wide Web Consortium (W3C) for the purpose of ensuring that websites are accessible for people who have disabilities. Due to technological advances and evolving perspectives on web accessibility challenges that individuals disabilities face, the WCAG is regularly being updated and revised. The current version of WCAG 2.2 was issued on Nov. 30, 2020, and the WCAG 2 Series is coming to an end with a new WCAG 3.0 under development.  

WCAG 3.0 will not undo the previous versions, but will extend and provide greater clarity concerning current guidelines. 

The following are some of the questions that I get asked most frequently concerning the upcoming shift to WCAG 3.0. 


What’s the current status of WCAG 3.0?

On January 21, 2021 the W3C published the first working draft of what will become WCAG 3.0. This is just a draft and there is the opportunity now to suggest revisions as the W3C works toward a final version. At this point, there is no set date for the publication of the final draft. 


Why are ongoing revisions to WCAG standards considered necessary?

The W3C changes the Web Content Accessibility Guidelines (WCAG) for a few reasons. One is to apply the guidelines to new technologies. Technology changes over time so the WCAG needs to change with it. Another is to move toward guidelines that are easier to understand and allow for greater flexibility. Finally, the W3C is committed to broadening the scope of the guidelines to expand web accessibility by covering a greater depth and breadth of disabilities. 


Are there features of WCAG 3.0 that could potentially simplify compliance?

One of the goals of the WCAG 3.0 is to increase understanding of the guidelines. This is accomplished by replacing success criteria with outcomes, techniques with methods and understanding documents with how-tos. While I would argue this is not really a simplification of the WCAG, I do believe by replacing the “grey areas” of WCAG 2.2 with expected outcomes, methods and how-tos the overall feel and functionality of WCAG 3.0 will lead to  guidelines that are easier to understand and apply. 


FREE Webinar! Register now for WCAG Now and What’s Next. Get insider insights into what to expect with WCAG 3.0.  April 20, 2021, 11 a.m. CST.

What is Promet’s position on the direction the revised standards appear to be moving in?

The revised standards appear to be trying to place less importance on any one rule, while at the same time attempting to create a more balanced picture of any website in comparison to all of the standards. Rather than the current pass/fail system, WCAG is moving toward a score-based system. Here at Promet, we see this as an important step toward increasing accessibility for all by allowing for a better picture of the true accessibility of a site and drawing attention to any aspects of the site that would make the site completely inaccessible to certain segments of the population. 

If we've achieved Level AA WCAG compliance, will we need to have another accessibility audit? 

It is always recommended that audits be conducted on an annual basis. Websites are rarely static entities, and if content is being added to a site or changes are being made, then an audit for accessibility is advisable -- regardless of the status of WCAG or whether a revised version is being issued. It is important to point out, however, that any content that conforms to the current version of WCAG will continue to conform to the new standards under WCAG 3.0.  


At this point, should we just just wait until we see what’s in WCAG 3.0 before testing or remediating our site for accessibility?

While the standards are changing it is always best to do as much as possible now to ensure accessibility. The foundational WCAG concepts (Perceivable, Operable, Understandable, and Robust) are not changing, and remain the basis for both WCAG 2.2 and 3.0. Any accessibility upgrades completed today will be a step toward ensuring alignment with the new standards once they are released. 

At Promet Source, we're passionate about opportunities to make web experiences engaging and inclusive for all. Let us know what we can do for you!

Mar 31 2021
Mar 31

Dries Buytaert’s name is known to everyone in the Drupal community. As the originator of the project, project lead, and co-founder of Acquia, Dries has been a pivotal person in the success of Drupal. During this interview, you’ll learn more about some of the accomplishments, accidents, and purposeful decisions that have made Drupal what it is today.

While Drupal is an open source project, based in code, many of the things that have made it the CMS that powers 1 out of every 30 websites, are not the code - they’re also the marketing that convinces new users to try Drupal, and the people who make up the community and own necessary portions of the project.

As part of our series of talks with Open Source Leaders, Tag1 Consulting’s Managing Director Michael Meyers, VP of Software Engineering Fabian Franz, and Yjs founder Kevin Jahns talk with Dries about the origins of Drupal, and how it grew as a project and a community. We’ll also tie back to our Tag1 looks back on 20 years of Drupal experiences 20 years of Drupal series to talk about how community members can be critical to the growth and adoption of an open source project.

[embedded content]

For a transcript of this video, see Transcript: Open Source Leaders - Dries Buytaert - part 1.

Photo by David Becker on Unsplash

Mar 30 2021
Mar 30

The Drupal community is clear about our Values and Principles. Our community promotes behaviors and decisions that support diversity, equity, and inclusion and reduce hatred, oppression, and violence. We believe that safety is an important component of dignity and respect, and we encourage behaviors that keep our community members safe.

Adhering to these values is at the core of ensuring a vibrant and successful open source software community. The Drupal Association will re-evaluate our relationships with any organization that demonstrates they don’t share our commitment to similar practices.

Further, Drupal relies on a well-governed Free Software Foundation (FSF) due to our use of the GNU General Public License (https://www.fsf.org/licensing). We share the concerns that the recent actions of the FSF Board undermine public confidence in its governance and threaten its ability to be an effective advocate for the free software movement. We encourage FSF to make the governance changes necessary to regain the trust of the broader community.

Mar 30 2021
Mar 30

Join the San Francisco Drupal User Group (SFDUG) virtually to network, co-work and socialize with fellow Drupal users.

We opened our April 8 meetup to folks who had sessions accepted at DrupalCon and wanted some space to practice and get feedback. We have 5 speakers lined up with a variety of topics.

General Agenda:

Views cookbook - advanced recipes for every web occasion with Anna Mykhailova, Senior Drupal Architect at Kalamuna
Have you ever wondered how to get the most out of the Views, how to go beyond standard config? Have you ever been confused about Views build cycle, hooks and plugins? This session is going to demystify all of the components, clear the instructions and set you up with the "ingredients" for Views recipes that are suitable for every occasion.

Get Off the Island: What We Can Learn From Craft CMS, Contentful, SquareSpace, and WordPress with Suzanne Dergacheva, co-founder of Evolving Web
Creating a great content editor experience is key to Drupal’s success and to the success of every Drupal website. But to build an intuitive interface for content editors, we need to understand content editors’ expectations and what experience other CMSs are offering. In this session, I’ll demo findings of a study of CMS user experience. We’ll look at Craft CMS, Contentful, SquareSpace, and WordPress. Learn what these platforms do right, and what we can learn as Drupal site builders, developers, and contributors.

Manually Curated Solr Search Results with Martin Anderson-Clutz
Drupal has a mature and robust integration with Apache Solr for enterprise-quality site search. That said, some competing search solutions give editors the ability to manually curate results for popular searches. You'll see how the module is installed and configured, and how easy it is to promote content and manage results, even right from the node form. We'll also discuss the different configuration options, and how they influence the results that will be returned.

JSON:API: 101 Understanding JSON:API in Drupal with Parvateesam Konapala, Solutions Engineer at Pegasystems
The JSON:API module is a fully compliant implementation of the JSON:API Specification. The JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability.

Teams: joining efforts to maintain projects with Marco Villegas, contractor at adapt
Open source benefits from community collaboration a lot, in the form of contributions of different types, but how sustainable they are may depend on the amount of people around them.
This presentation explores the idea of team maintainership in the Drupal community, looking also at some experiences in other open source projects.


SFDUG seeks to provide a friendly, safe environment. All participants should be able to engage in productive dialogue. They should share and learn with each other in an atmosphere of mutual respect. We require all participants to adhere to the Drupal Code of Conduct. This applies to all community interactions and events.

Mar 30 2021
Mar 30

Rain logo updated

The best open source distribution for Drupal just got better! The latest version of Rain University and Rain CMS now ship with Layout Builder pre-configured to make page building faster and easier. So how does it work? Check out below!

Editing Layouts

Now, when you navigate to any page with layout builder enabled you can edit the layout by clicking on the “Layout tab” under Tasks. Alternatively, you can click on the same tab while editing a page.

Rain editor experience with layout builder
Rain CMS homepage

Rearranging Blocks

With layout builder you have an instant preview of any blocks added to the page. That being said, it’s usually easier to move blocks around with preview turned off. Drupal provides a checkbox that makes it simple to toggle preview on or off.

Rain CMS, rearranging content blocks

Rearranging blocks in Rain CMS

Adding Blocks

To add a block to the page click the “Add block” link in any section. Rain CMS ships with 15 block types out of the box that you can easily drop onto the page. Each component has a preview wireframe and label to help the author understand the look and function of each component. 

Rain add block

Adding blocks in Rain CMS

Layout Controls

One of the big benefits of Layout Builder is now you have more control over the layout of a page. Editors can easily add new sections with various layouts where blocks can be placed. Layouts can be customized per project.

adding sections in Rain CMS

Adding sections in Rain CMS

Rain University CMS

The Mediacurrent team has also updated our RainU CMS to ship with Layout Builder. Same great experience, but tailored specifically for universities.

Rain University homepage

Rain University homepage layout

Want to Know More?

For developers, you can download and install Rain CMS with Layout Builder using our Drupal project template: https://bitbucket.org/mediacurrent/drupal-project/src/9.x/. Setup and installation remain the same, with detailed instructions provided in the project README file.

We are also happy to demo Rain University or Rain CMS for organizations interested in partnering with Mediacurrent for your next redesign project. To schedule a free demo, please visit our contact page or chat with us right now (see bottom right corner of the page). 

Mar 30 2021
Mar 30

I am a passionate developer and a mediocre salesperson. Still, I have accepted that our collaboration, Drupal, is about selling goods and services. At the end of the day, organizations need to earn a profit, and people want to be paid. My stepfather said to me once, “a nonprofit is not for profit; people working for the nonprofit need to be paid." This is a slightly cynical statement, but everyone needs money to survive.

Mar 30 2021
Mar 30

Drupal 8 brought about significant architectural changes offering modern techniques to build digital experiences. REST API was one of them and it came shipped in Drupal 8 core. A RESTful API is an API that conforms to the architectural style of REST (representational state transfer). It accesses and uses data via HTTP requests to GET, PUT, POST and DELETE data types. 

In this post, you will be learning more about exposing your API in Drupal 8.

HTTP methods used in REST API

GET : This method is used to read the data from server.
POST : This method is used to create data on a server.
PATCH : This method is used to update the data on the server.
DELETE : This method is used to delete the data from the server.

Exposing API in Drupal 8

The above image describes how REST API requests and gives the response to a client. Initially the client sends the request using HTTP methods. REST API interacts with the database and sends the response in JSON or XML formats.

Now let’s see how it take place in Drupal.

Drupal Modules to Expose your API

Mentioned below are some Drupal core and contributed modules that can help in exposing your APIs in Drupal.

    1. HAL

The HAL module is specifically for JSON or XML, and it provides the serialization plugin.
    2. HTTP Basic Authentication

The HTTP basic authentication module provides an authentication plugin which allows us to control access to our API resources based on the HTTP method.

    3. RESTful Web Services

The RESTful web services module handles the resources plugin system as well as defining initial resource routes. A good example of resource plugin can be found in the DB log module which provides an API endpoint for watchdog entries.

Resource plugin is responsible for retrieving the data from the database.

    4. Serialization

The serialization module is responsible for deserializing and serializing request response data.
    5. REST UI

Rest UI is a helpful module which exposes our RESTful web services configuration via the admin UI. This way we can configure our API endpoints by editing the YML files.

REST Response - How It Works

REST Response

This image describes the pipeline of the REST response.

According to the image, first the client sends a request, and the request goes to the request handler. The Request Handler is responsible for accepting the request.

The request handler interfaces with the REST module and is responsible for the requests. The requests are then sent to deserialize to normalize the data. 

Then deserialize sends to the request handler. The request handler matches the up the resource with the appropriate resource handler. 

Again, request is sent to the Resource plugin. The resource plugin takes the data from incoming request and retrieves the valid information from the database.

Then the resource plugin returns the data to the request handler and again acts with the serializer before sending as response.

How to configure the REST API in Drupal using Core Modules:

Here are 4 easy steps to configure REST API in Drupal using core modules:

Step 1: Initially, you need to install the core modules which are HAl, Http Basic Authentication, REST Web Services, and serialization module.

Step 2: Next, you need to download the REST UI module and you need to enable the module.

Web Services

Step 3: Next, you need to configure the REST API endpoints as required. To configure, go to Configuration -> REST -> then click on edit of the content row.

REST Resources

Step 4: When you click on edit, you will get the edit window. Configure as required then save the configuration.



If you want to get the response of a particular node, you need to send the request using the postman app with URL - hostname/node/nodeid?_format=json. (If you don’t have the Postman app yet, you can either download it from here or get the web version.)

Mar 29 2021
Mar 29

Decoupled Drupal is now a fixture of the Drupal community and ecosystem, but it has roots in key software concepts like the separation of concerns. Today, decoupled Drupal is commonplace across the Drupal world, not only at the highest echelons of enterprise implementations of Drupal but also among smaller consultancies beginning to get their feet wet with headless CMS architecture.

From the early days of Drupal's remarkably prescient web services, to the adoption of the JSON:API specification in Drupal core, to the ongoing innovation surrounding GraphQL in Drupal and the Decoupled Menu Initiative, how far have we come? How has decoupled Drupal evolved over the years, what makes it such a compelling architectural paradigm in light of the emerging distributed CMS trend, and why is it still in vogue?

In part 2 of our series on decoupled Drupal, Preston So, the author of Decoupled Drupal in Practice (2018), co-originator of the term progressive decoupling, and Tag1 Consulting's Editor in Chief and Michael Meyers, Managing Director at Tag1, in this discussion of decoupled Drupal’s history and future, and the hows and whys of using decoupled Drupal.

[embedded content]

For a transcript of this video, see Transcript: Decoupled Drupal part 2.

Photo by Markus Spiske on Unsplash

Mar 28 2021
Mar 28

Posted Sat, 03/27/2021 </span>

John Jameson, a digital accessibility developer and colleague of mine, has been working hard for months on a new accessibility module for Drupal module Editoria11y.

Editoria11y (editorial accessibility) is a user-friendly accessibility checker that addresses three critical needs for content authors:

  • It runs automatically. Modern spellcheck works so well because it is always running; put spellcheck behind a button and few users remember to run it!
  • It runs in context. Views, Layout Builder, Media and all the other modules Drupal uses to assemble a complex page means checkers that run on individual fields cannot "see" errors that appear on render.
  • It focuses exclusively on content issues: things page editors can easily understand and easily fix. Editoria11y is meant to supplement, not replace, testing with comprehensive tools and real assistive devices.

John and I are part of a great team that works on Princeton University's "Site Builder" Drupal platform. We've already enabled this module on hundreds of our websites with a positive reception.

John's written up a much more detailed introduction to this module on Princeton's accessibility website.

Mar 26 2021
Mar 26
Protect Drupal web forms from new malware injection methods

We all know that malware can come from everywhere — but now that includes web forms.

Hackers have come up with a new malware injection method to distribute malware through web forms on your Drupal website.

Today Drupal web developers from Drudesk will show you how to resist this and protect your Drupal web forms from new malware injection methods. Read this blog if keeping your site safe is important to you.

Mar 26 2021
Mar 26

Over the last few years, we’ve been seeing a proliferation of digital channels and devices, resulting in the website no longer being enough to adequately reach customers across their customer journeys.

With new trends and technologies enabling multi or even omnichannel digital experiences, digital strategies must adapt as well, especially when considering the accelerated digitalization that’s been going on since early 2020.

In this article, we’ll discuss the key components of strategizing for omnichannel digital experiences, together with the key considerations and tactics for each one. In the second part, we’ll also take a look at some of the main challenges of providing omnichannel experiences at scale and how they can be tackled.

Marketing strategy

Meaningfully engaging with customers in the always-on, highly competitive digital age requires adjusting your approach to marketing. Even businesses used to traditional physical marketing have had to digitalize in the Covid era, and a lot of them are innovating in combining physical and digital initiatives.

This can mean different things for different industries. For example, retail brands may leverage technologies such as VR to bring the in-store experience closer to customers; a digital agency could send branded gifts to clients and business partners. 

Certain conferences that have moved online are doing something similar, sending the “conference swag” by mail to all registered attendees. Another great example brands are using are gift cards, which can be sent digitally hassle-free and then redeemed for a physical good.

So, for a truly omnichannel digital strategy, consider leveraging both digital and physical channels for your marketing efforts, in order to at the same time capitalize on everything offered by digital and balance the digital fatigue from over a year of Covid.

Content strategy

The other key pillar of digital strategy, strongly tied to marketing, is content strategy. Content is at the essence of digital experiences, and one-sided content will have trouble succeeding in an omnichannel world.

Until recently, written content used to dominate the web. However, with the proliferation of digital channels, what kind of content people consume and how they interact with it has fundamentally changed.

While longform written content can still be an effective element of content strategy, we’re now seeing much more video and audio content, the latter being especially easy to consume on the fly. On top of that, a lot of this content is also ethereal, meaning that it’s not meant to provide evergreen value, but rather more of a short-term brand element (e.g. “stories”).

Another example of this short-lived, easy consumable, bite-sized content are infographics, which are able to deliver high amounts of condensed information in a visually attractive package - so, they check all the boxes.

A crucial point to make here is that you don’t need unique topics for different channels - you can repurpose the same content ideas for a blog post, a social media story, and an infographic. The options are endless, and there’s no better time to experiment and take risks than right now.

User & customer experience

Now that we’ve discussed the “digital strategy” part, let’s also focus for a bit on the “digital experience” part of the subject line. UX and CX are vital aspects of the digital, and your digital strategy should definitely prioritize them highly.

In order to provide a great experience to any kind of user, your content must be inclusive of and accessible to everyone. The best way to do this holistically is to employ a human-centered approach to design, which will let you design with empathy and organically incorporate these aspects rather than tacking them on as an afterthought.

One of the best ways to let yourself be guided by the needs and wants of your audiences is to make good use of data to drive your decisions and initiatives. Of course, with great data comes great responsibility, so your usage of data should not come at the expense of your customers’ privacy

Additionally, with mobile often being the primary means of accessing digital content, you should always design following the mobile-first approach, using progressive enhancement to scale up designs on bigger screen sizes. This includes meticulous mobile testing which prioritizes performance and information structure.

Most importantly, your users and customers should have an equally delightful experience no matter on which channel they interact with your brand. The experience you provide should be cohesive and well-integrated to eliminate any possible friction and frustration, and increase the chance of customer retention and loyalty.

Technology capabilities

As we stated in the introduction, a website is no longer enough for an omnichannel digital presence and strategy. One of the best and most integrated solutions is a digital experience platform, which can be proprietary (e.g. Adobe) or open (e.g. Acquia / Drupal).

A DXP is able to integrate and connect all of your different software to have a 360-view of customers. Just imagine - a single platform where your customer data platform, your e-commerce store and any MarTech tools all work together seamlessly.

Because of this tight integration, a DXP also offers ample options for personalization, and there’s just as much a rising demand in well personalized experiences as there is a frustration with poorly executed personalization. An important note to add here: too much personalization can quickly lead to creepiness! You should aim for balance.

Something which DXPs tend to offer out of the box, but can certainly be achieved with a CMS such as WordPress or Drupal, is decoupling the back end from the content presentation layer: so, using one system for data storage and for content creation, and then custom front-end technologies such as React or Angular for presentation on various channels.

This allows you to have a single content hub and push that content effortlessly to the kind of channel which will let it perform best and provide the best experience - essentially hugely simplifying the process of content syndication, which can otherwise prove a major pain for larger brands.


Differently colored wooden block puzzle pieces

We’ve already touched upon certain challenges of devising omnichannel strategies under previous points, and we’ll discuss the main ones in greater detail in this section.

Actually, let’s start from the back, with content syndication which we just mentioned under the above point. While a decoupled approach can certainly help with this, it’s not always the go-to solution, especially if you lack the developer capacity for such implementations.

A modern CMS with a good content workflow will typically handle most cases. On the organizational side, a well-connected intranet and a strong, transparent company culture contribute to better collaboration between teams and hence easing publication and creation of content.

All of this should also come in handy with addressing another challenge to delivering great cohesive digital experiences - organizational silos, which are allowed to thrive with an unhealthy, closed-off company culture. 

Silos are actually particularly problematic in a multichannel context - how can you deliver cohesive digital experiences across all channels if there’s no or poor collaboration between the teams responsible for each channel?

The best strategy to minimize disjointed experiences is to have a strong brand, one that’s distinct and recognizable across all the different channels. As we stated earlier, you should also use data to your advantage, but beware of the privacy concerns and limitations that come with the use of data.

A good data strategy will also be crucial in knowing and targeting audiences based on their preferences and browsing and device habits. This is a must if you want to be truly omnichannel; you need to serve your customers where they are and in the ways they want, lest you get replaced by a competitor.

Cause, let’s face it - in an era where basically every brand has gone digital, you either have to be super niche or a visionary not to have competition. The Covid-19 pandemic has only exacerbated this by driving digitalization and giving even more power to the already powerful industry giants.

One way to break through the competition is to employ an “always-on” approach to marketing, where your priority is frequency and timely interaction. But this is a challenge all on its own.

A more surefire tactic which will allow you to innovate and act faster - and actually help with most of the challenges we’re discussing here - is to adopt Agile. Agile will help you improve collaboration while facilitating risk-taking and experimentation; learn more about the benefits of Agile here.

The final challenge or consideration we’d like to address are the peculiarities of specific channels. For example, mobile is widely used, but a lot of poorer countries have slow internet connections - how do you develop and design for that?

In this specific case, it’s convenient that we have native mobile applications, which allow perfectly normal usage without any performance problems or data overage. There are also PWAs, or progressive web apps, which operate on a similar concept of retaining basic functionality even without or with poor internet access.

Data will help you uncover what to prioritize. If you notice that a lot of your users are browsing on mobile from, say, Kenya, you should definitely consider how you can best serve those users.

Another broader example we should mention is voice (e.g. voice search and voice assistants). Voice usage is on the rise due to its convenience, but the user experience greatly differs from the traditional input/text-based one. If your data tells you a lot of your users are searching via voice, you should look at how you can optimize their experience.

So, as you can see, there are quite a few considerations that come with creating a great omnichannel digital strategy; knowing about them beforehand, however, and making strategy and technology decisions based on them will go a long way towards having a future-proof, user-centered strategy.


Person sitting in front of laptop

The omnichannel digital reality is definitely here to stay - if anything, we can expect to see more channels and an even greater use of a variety of devices.

This means that you can no longer put off optimizing your digital strategy for this new state of the industry; the sooner you act, the sooner you’ll be able to reap the benefits of your investments.

We hope this article can serve as a good starting point and you were able to get some useful insights from it. We talk about related topics in many of our other articles, so we invite you to also check out our Business and Experience blog sections for more insights like these.

If you’ve already formulated a great omnichannel strategy, but lack the development capacity to execute on it, reach out to us and we’ll be happy to discuss how we can best help you out.

Mar 25 2021
Mar 25

Find out what's possible with CiviCRM and Drupal 8 and 9. Watch Part 1 of Skvare's training series on getting the most out of the Drupal CiviCRM Entity module.

[embedded content]

CiviCRM Entity is the module that provides enhanced integration with Drupal, allowing developers, site builders, and content creators to utilize powerful Drupal modules including Views, Layout Builder, Media, and Rules. Drupal fields can be added to CiviCRM entity types. It provides Drupal pages and edit forms for all CiviCRM data such as contacts, allowing usage of familiar Drupal content creation tools and workflows.

During this training we cover:

  • What is a Drupal entity
  • CE = CiviCRM + Entity
  • How to install CiviCRM Entity
  • The why and the what of integration possibilities
  • Overview of CiviCRM Entity features
  • Introduction to CiviCRM Entity and Views
  • Introduction to CiviCRM Entity and Rule

Presentation Resources

Additional Resources:

Filed under

Mar 25 2021
Mar 25

DrupalCon North America 2021 is just a few weeks away and we’re excited to spend some time learning, building and connecting with the open source community. The event will have more tips and best practices for upgrading to the latest version of the platform – Drupal 9. There’ll be a ton of actionable advice and success stories from experts in marketing, demand generation, and content development to help marketing teams collaborate effectively and improve results and more!

Join us at the most widely attended Drupal event in the world for an amazing programme that features educational, networking, and contribution opportunities for all. With thought leaders featured daily and industry-specific summits featuring deep-dive discussions into issues relevant to nonprofits, higher education, and government. You don’t want to miss out on all the great opportunities to learn and grow. 

Be sure to check out our session with Amazee Labs Backend Developer, Nick O’Sullivan.

Gatsby is a popular static site generator that uses React, and it’s a perfect match for a decoupled Drupal architecture to create lightning-fast websites. Learn how to utilise Drupal’s exceptional multilingual features to produce a fully localised Gatsby site in Nick O'Sullivan's talk Decoupled Translations with Drupal and Gatsby – on April 13th from Tuesday, April 13 - 1:20 PM to 1:50 PM ET.

Whether you’re new to Drupal or a long-time enthusiast, you’ll find valuable information, skills, and connections you can build on after the event. At DrupalCon 2021, you can learn how to use Drupal from the best and most experienced people in the field. There’s still time – register today

Mar 25 2021
Mar 25

A good CMS can be recognised by how it deals with the URL addresses of individual subpages. Convenient linking attracts users from search engines and has a significant impact on SEO. In this article, I'll introduce you to the Pathauto Drupal module, which is used to automate the creation of page aliases.

With this module, you can easily configure efficient, maintenance-free aliases for your content, including taxonomy terms and user pages.


The first version of Pathauto was released in February 2006 as an add-on to Drupal 4. Stable 1.0 version was released for Drupal 5 in 2007. The current code of this module from the 8.x-1.x branch is the result of a long evolution involving many members of the Drupal.org community.


The figures from the official statistics speak for themselves – the Pathauto module is used by over 640 thousand pages. And 32% of these are built on Drupal 8 and 9. We’re dealing here with one of the "essentials", installed immediately at the stage of creating new projects.

Official usage statistics for Pathauto Drupal module

Module's creators

The module is currently being maintained by four developers:

Since the beginnings of the Pathauto module, over 100 people have been involved in its development, creating a total of almost 1,600 commits. The tremendous contribution of the community is further evidenced by over 3,000 reported tasks and bugs on Drupal.org. Unfortunately, many of these remain unresolved.

Purpose of the module

With bare Drupal, you can create URL aliases for individual subpages, but you have to do it manually. If you don't fill in the field with the alias, the new content will have standard, inconvenient addresses like /node/123 or /taxonomy/term/456.

The Pathauto module automates the addition of aliases by generating them according to the template with tokens specified by you. For example, static pages may have a title derivative address (/foo-bar), and taxonomy terms may contain a vocabulary name (/vocabulary-name/foo-bar).


You can download the module from Drupal.org or join the project by running the following command:

composer require drupal/pathauto

After launching Pathauto, go to its settings by selecting Configuration → Search and Metadata → URL Aliases → Patterns.

Module's use

Pathauto offers a broad range of settings for the methods of generating aliases. It also allows you to carry out mass operations on already existing content. I'll briefly describe below the most important options available.

URL address templates

The basic functionality of the Pathauto module is creating URL address templates, i.e. strings of characters containing tokens. Individual aliases are generated based on them when content is being saved.

I'll explain it using the example of a blog. If you want your posts to be available under the address http://example.com/2021/foo-bar.html%20 containing the year of publication and the title, go to the panel Configuration → Search and Metadata → URL Aliases → Patterns and add a new template for the appropriate content type:

Adding a new URL address template in the configuration panel of Pathauto Drupal module

Try to create a new blog post now. It should get the address /2021/foo-bar.html. Note that you can still overwrite its URL alias, however by default it is generated automatically:

Generating URL alias in the Pathauto module


Page titles usually contain spaces and special characters. Pathauto module automatically converts them to the ASCII format separated by dashes. Then, a title like "How to Make Crème Brûlée?" will be replaced with a simpler version – "how-to-make-creme-brulee". The settings for this conversion can be found in the "Settings" tab.

I suggest that you leave most of these options at the default position, but pay special attention to the "Strings to Remove" field. It contains strings of characters that will be removed from the address, including numerous English prepositions and articles. If you create a blog post titled "A Guide To Drupal", you'll end up with an address like /2021/guide-drupal.html, which is not always the desired result.

The other settings allow for very detailed customisation of transliteration in aliases, which is useful for multi-language support. Here you can, for example, decide on how to handle punctuation.

Mass generation of URL addresses

By default, Pathauto only generates aliases when the content is being saved. This means that if you change the URL template, the modification will not be reflected immediately in the aliases on the entire page. Also, after adding a new template, all its content will not get a new URL address immediately.

When creating large websites, it is often necessary to quickly regenerate aliases for the existing content. This is done with the "Bulk Generate" function, which enables mass operations on URL addresses.

Regenerating URL aliases with Bulk generate function in Pathauto module

Be very careful not to accidentally overwrite the existing aliases with newer versions. Here I would recommend installing the Redirect module, which saves the redirects between the old and new subpage addresses.

Removing aliases

The Pathauto module also has an advanced panel for removing aliases. Be very careful when using it. Any changes introduced here are irreversible. You'll probably need the "Only delete automatically generated aliases" option to prevent deleting manually overwritten aliases.

Deleting URL aliases in Pathauto Drupal module

Hooks and integrations

Pathauto from the 8.x-1.x branch allows you to handle any kind of entities with plugins like @AliasType, and also provides some simple hooks:

  • hook_pathauto_is_alias_reserved() - blocks the creation of an alias if it is reserved by another module. In such a case, a number will be added to the alias (e.g. /foo-bar1).
  • hook_pathauto_punctuation_chars_alter() – it is used to add new punctuation settings.
  • hook_pathauto_pattern_alter() - allows you to modify the URL address template.
  • hook_pathauto_alias_alter() - allows you to change the alias after generating it.

When creating your own Drupal modules, you should think about adding an optional configuration for Pathauto to them. This is quite a common practice, for example in the Group module. As a result, the user receives default, ready-made alias templates.

Dealing with URL addresses in Drupal

Pathauto is an extremely powerful module that is used in most of our Drupal development projects. It keeps URL addresses consistent and frees editors from having to manually form aliases. Its usefulness is confirmed by hundreds of thousands of installations reported in the official statistics. I definitely recommend getting better acquainted with its abilities.

Mar 25 2021
Mar 25

It's widely reported that Science, Technology, Engineering, and Math professions are in slated for the highest growth potential in the coming years. To varying degrees, women are under represented in these fields. Latest statistics indicate that women account for 27 percent of all STEM workers in the United States, and a much lower 15 percent of engineers.

While these figures do represent progress -- only 8 percent of all STEM workers were women in 1970 -- many find the needle to be moving forward at a disappointingly slow pace. Far fewer women than men are entering STEM careers, and they exit at a far greater rate. 

There's, of course, a complex set of factors at work here, but the long-term advancement of women in STEM calls for early intervention that helps young girls to get excited about the possibility of a career in STEM, and to believe that the field is wide open and welcoming for them.

At the same time, helping women who are currently in STEM roles to amplify their visibility and their voice, can serve to strengthen both their professional stature and potential to serve as role models. 

Promet Source had the honor of partnering with Lyda Hill Philanthropies on a site that's laser focused on these two related objectives.  The IF/THEN® Collection features 125 women across a wide variety of fields, selected as Ambassadors to serve as high-profile role models for middle school girls.  Using a talent agency approach, IF/THEN® supports the Ambassadors and their inspiring work by showcasing them on a national platform.

Read how the IF/THEN® Collection website is advancing its mission and vision

With an ambitious goal of getting these stories and images of women in STEM careers in front of adolescents wherever there is an opportunity to have an impact on cultural norms -- schools, libraries, museums, community centers and more -- the IF/THEN® team had a distinct vision for their Drupal website

Innovative web design and development solutions that help to bring new possibilities to life for our clients is what we are passionate about here at Promet Source. Let's talk about what we can do for you.

Mar 24 2021
Mar 24

Watch Part 1 of our CiviCRM Entity 3.0 training series.

[embedded content]

CiviCRM Entity is the module that provides enhanced integration with Drupal, allowing developers, site builders, and content creators to utilize powerful Drupal modules including Views, Layout Builder, Media, and Rules. Drupal fields can be added to CiviCRM entity types. It provides Drupal pages and edit forms for all CiviCRM data such as contacts, allowing usage of familiar Drupal content creation tools and workflows.

During this training we cover:

  • What is a Drupal entity
  • CE = CiviCRM + Entity
  • How to install CiviCRM Entity
  • The why and the what of integration possibilities
  • Overview of CiviCRM Entity features
  • Introduction to CiviCRM Entity and Views
  • Introduction to CiviCRM Entity and Rule

Presentation Resources:

Additional Resources:

Mar 24 2021
Mar 24

Lynette has been part of the Drupal community since Drupalcon Brussels in 2006. She comes from a technical support background, from front-line to developer liaison, giving her a strong understanding of the user experience. She took the next step by writing the majority of Drupal's Building Blocks, focused on some of the most popular Drupal modules at the time. From there, she moved on to working as a professional technical writer, spending seven years at Acquia, working with nearly every product offering. As a writer, her mantra is "Make your documentation so good your users never need to call you."

Lynette lives in San Jose, California where she is a knitter, occasionally a brewer, a newly-minted 3D printing enthusiast, and has too many other hobbies. She also homeschools her two children, and has three house cats, two porch cats, and two rabbits.

Mar 24 2021
Mar 24

Our Diamond Sponsors

Acquia logo     Pantheon logo     Platform.sh logo

DrupalCon North America is only a few weeks away, and we’re adding new sessions daily to our already exciting lineup of keynotes, breakout discussions, skill-building sessions, and networking opportunities.

Browse this year’s scheduled sessions to create your personalized DrupalCon experience, tailored to your interests. Whether you’re a developer interested in building new skills, a marketer who wants to learn more about digital experiences and branding, or a Drupal user looking for insights on accessibility and inclusion, you’ll find a session to meet your needs.

New for 2021! Participation in industry summits is included in your DrupalCon ticket, and summits will be held throughout the month of April.

  • Take time to focus on your industry without missing out on DrupalCon content
  • Connect directly with colleagues and peers in your industry through chat, 1:1 networking, and other platform features
  • Get exclusive access to creative and flexible sessions, with the chance to join additional breakout groups and roundtable discussions
If you’re new to Drupal or DrupalCon, participating in a range of events is a great way to get to know the Drupal community and learn more about what’s possible with Drupal.

Register now to be part of DrupalCon 2021 and get access to all event content and the industry summits throughout April!

Centarro logoThank you to Pantheon for their continued support of DrupalCon North America 2021! Pantheon's mission is to make the web a first-class platform that delivers results. "Superpower Your Team With WebOps."

Last call for scholarships - 26 March application deadline

If you’d like to attend DrupalCon, but cost is a barrier, apply for a DrupalCon scholarship today. You’ll learn more about Drupal, build valuable skills, and connect with a supportive community of developers and Drupal users around the world. The deadline for scholarship applications is 26 March. Apply today.

We’re also looking for scholarship mentors—people who have attended DrupalCon in the past and can help new DrupalCon participants get the most out of the experience. Mentors help provide a warm welcome to the community. 

Register for DrupalCon and sign up to be a scholarship mentor today.

Elevated Third logoB2B Strategy, Meet Drupal. Thank you to Elevated Third for their DrupalCon North America Platinum sponsorship. Elevated Third is a digital agency that blends strategic thinking with technical doing to solve enterprise B2B problems.

Celebrate 20 years of Drupal at DrupalFest events throughout April

DrupalFest 2021 logoJoin the global Drupal community in celebrating 20 years of community-led, open source innovation at DrupalFest events—from training workshops to virtual happy hours. Most DrupalFest events will be hosted online, by people within the Drupal community, and are free to join. 

Browse confirmed events, and join your fellow Drupal enthusiasts in celebrating community, collaboration, connection, and two decades of positive impacts made possible by Drupal.

Have an idea for a DrupalFest event you’d like to host? Submit it here.

Whether you’re looking for premium branding, speaking engagements, or a virtual booth, there’s still time to sponsor DrupalCon North America.

Hear why Gold Sponsor, Amazee.io, is sponsoring

We’re proud to sponsor and to continue our support of DrupalCon North America – especially this being Drupal’s 20th anniversary year. Our sponsorship helps us to build brand awareness, connect with potential clients, source new leads, and boost our employer-brand in order to attract new talent."

This is your chance to highlight your business as an important part of the largest annual gathering of Drupal talent, experts, agencies, and users. Sponsorships start at just $4,050 - contact [email protected] for more information.

Register now!

Register for DrupalCon now for access to valuable information, the chance to build new skills, and connections you can build on after the event. 

Our Platinum Sponsors


Thank you to our newest sponsors supporting DrupalCon North America 2021!

Have a question?

We’re here for you. Find answers to common DrupalCon questions in our FAQ.
Mar 24 2021
Mar 24

Distributions are pre-made bundles of utility tools that greatly simplify web developers' work by cancelling out the time spent on creating Drupal websites from scratch. These are complete Drupal copies that consist of Drupal core along with some additional software such as a theme or an installation profile, with a specific purpose in mind.

There are two kinds of distributions -

(A) Full featured distributions that provide everything that you will require for specialised use cases.

(B) Other Distributions comprising quick start tools to simplify the work of developers starting to build a website. 

Why use Drupal Distributions?

Drupal distributions are an extremely convenient way of starting a website, as one does not need to build everything from scratch. 

  • Launching your website becomes a matter of hours instead of weeks. 
  • You don't need a resource with a specific skill set for the different elements of your website.
  • Maintenance on the site becomes even easier as the whole set of modules and on site components can be upgraded in one single Drupal update. 

Major Drupal Distributions 

Let's have an overview of some of the top Drupal distributions and the function that they serve. 

For starting a new Drupal Website

  • Commerce Kickstart is a great distribution for businesses looking to get started with Drupal Commerce, being great for creating online stores. Customised templates, themes and modules in this distribution are specifically set to create an e-commerce website with ease. The new Commerce Kickstart 2.x also provides a demo store to serve as a starting point for new websites, fully stacked with features like search configuration, promotions engine, analytics and reporting tools, marketing tools, payment options and a lot more. 
  • If you are about to work with a lot of repetitive work, consider working with Varbase. Its underlying idea is DRY (Don’t Repeat Yourself), as it automates a bulk of your work through the use of a vast majority of modules, features and configurations.                                                             
  • One of the best Drupal Distributions that can be used as a base for a Drupal site is Panopoly. It is designed to be a general foundation for site building and also to act as a base framework upon which to build other distributions and components. Open Atrium, Open Church, and Web Experience Toolkit are some major public distributions that are using Panopoly.
  • Base can also be used for a simple installation procedure in a new website. In addition, if you want to relieve yourself of the burden of detecting initial configuration settings, go in with Hostmaster (Aegir) distribution as it does the job for you. DevShop Devmaster can also be used to develop and host Drupal sites.
  • If your website is potentially scalable and you want a distribution that supports the idea, Drutopia would be a wise choice as it supports multiple other distributions. It needs to be built using Composer. Scalability is also provided by Drustack’s highly customisable environment. 

If you’re dealing with Media and Publishing

Thunder and Lightning are distributions meant for the media and publishing industry. Thunder consists of a lot of handpicked publisher centric modules meant for professional publishing. It also offers custom regulations and makes it easy to install and use new functionalities, hence keeping up with adaptability and personalization. Along the same lines, Lightning aims to empower developers and editorial teams to create professional authoring experiences by providing a framework that is both lightweight and documentation friendly for a smooth publishing process. Using Composer is recommended to build the codebase for a project based on Lightning.

For official usage

  • Brainstorm is a distribution best suited for corporate use by companies that wish to display their best features and services to the customers. With its engaging User Interface, it enhances the User Experience manifold. Hence, Brainstorm is perfect for making a good first impression, as one can also upload their portfolio and create blog posts on the site, thereby putting their best foot forward. It performs well across mobiles, laptops and tablets owing to its adaptive and responsive design.

Similar distributions that provide for a digital display of a corporate’s services are Multipurpose Corporate Profile, Corporate Profile and Commerce Profile. Along similar lines, if your company is looking to recruit, the Recruiter distribution is perfect to set up a recruitment platform.                                                                        

  • While Droopler is also meant to provide an enterprise with an all inclusive and attractive corporate website, an additional feature of Droopler is that it can also be used with Drupal commerce to kickstart a related project. It also provides custom theming and colour palettes to suit one's requirements.
  • If you are a startup or a small business, Druppio might be a better choice for you owing to its modern flat design and easy configuration. Seeds is a great starter kit for small and medium enterprises too.  
  • If you have an active client base your business interacts regularly with, you could utilise OpenideaL, which is described as an innovation management system to share strategic decisions regarding one’s future products and services with the clients.

For People’s Participation

  • Open Atrium is one of the best Drupal Distributions if you’re looking for something meant for collaboration and engagement of the community to develop solutions and discuss issues together. In addition to this, Open Atrium also helps systematise bug resolution and other tasks by providing features like document and event management, issue tracking, media management and also a work tracker to monitor everyone's tasks - hence leading to a transparent work culture and accelerated organisational growth. 
  • As Drupal is a community driven software, user engagement holds a significant place in the functioning of the platform. Open social creates digital spaces that enable the members of the community to use the distribution's out-of-the-box feature for knowledge sharing, and discussing ideas and solutions. Open Social is used by governments, NGOs and a number of big and small organisations. Extensions to the distribution that expand the use case even further our Real Time Chat, Webinar, Native App, Forms and Surveys, etc.
  • Alternatively, you could also use Open Outreach for public engagement, as it comes loaded with features like event calendars, image and video sharing, and contact management for better collaboration.
  • If the focus is on a productive social engagement, OpenLucius is a great distribution for the purpose with its utility features like social intranet, collaboration toolkit, document management system, real time chatting, notebooks, etc.The usage for OpenLucius is open to both formal and informal sectors.
  •  If your social or official setup requires frequent conferences, Conference Organising Distribution is great for the purpose as it comes loaded with features like event suggestion, selection and scheduling for the event - and social networking for afterwards.
  • For systematic community engagement, the Local Baha'i Community Website Incubator can be used. Its in built features include a multi user site, wherein each member can have their own profile, a WYSIWYG (What You See Is What You Get) editor, a news column and an events calendar. 

For hospitality purposes

Easy Booking offers the user to set up a website that includes every feature that is needed to manage a hotel, inn or a hostel online. Functional both from the owners’ end and towards the visitors' convenience, Easy Booking offers a bunch of options to the guests to facilitate a good User experience like contacting hotel administration, following the hotel's newsletter, or simply being acquainted with all the special offers and discounts. 

For online education

  • The ongoing pandemic has made online learning the new normal, and Opigno is a distribution that works towards bringing to life this new reality. It contains all the features required to create engaging learning paths by first assessing the innate knowledge of the users, and then monitoring their achievements by using reporting dashboards. While ensuring skill addition, Opigno also awards certificates to legitimise the acquired knowledge. Opigno is, hence, a great distribution for universities and e-learning organisations. 
  • Vardoc is another distribution meant for knowledge seeking purposes. It is built using Varbase, and is perfect to host a huge amount of content arranged in a structured manner, streamlining the content in an easily navigable layout. 

Specialised for Governmental organisations

  • deGov is a Drupal distribution meant for addressing the needs of government organisations at different levels. It is used for managing the working of official websites and publishing information. It also provides for citizen engagement portals and civic issue tracking portals for greater transparency.
  • While deGov was developed keeping in mind the needs of the German government, the distribution aGov was created according to the guidelines of the Australian government with the purpose of smooth transition of Federal, State and Local government agencies' websites to Drupal while retaining complete control of their codebase and choice of hosting provider. GovCMS was also created for the Australian government for ensuring a seamless workflow within the government's digital functioning.  
  • Another distribution meant to simplify the working of the public sector is Dimpact WIM. It is used by a municipality to state an online presence and to remain connected to other municipalities of certain regions in The Netherlands, in order to discuss queries and solutions among themselves. This is aimed towards bringing out an integrated public framework. Drupal voor Gementeen is also used by the Dutch government for the same purpose.
  • Also aiming at transparency and citizen participation in organisations is OpenPublic. Open Public makes it convenient for open governments to function with features focusing on providing open government requirements, such as improving citizen services, providing public access to data and providing a public forum for two way communication with agencies, without compromising accessibility, security, or usability. 

For an engaging and innovative website

  • Web Experience Toolkit is a distribution meant to create innovative websites that are usable, accessible and interoperable. It is led by the Government of Canada for free use by its departments, and even external web communities. 
  • Speaking of innovative websites, a responsive, clean and trendy website template is provided by BigVideo Installation profile. The X-factor in this distribution, however, is the ability to attach videos to the background of the site. 

Other important Distributions  

  • OpenChurch is a much thought about distribution that eases the working of churches and ministries by providing them a bunch of utility organisational and developmental tools online. Among the various features of OpenChurch are a blog page, bulletin board, events calendar, and a gallery for uploading pictures on the site. One can also easily integrate the rest of their social media with the website. 
  • farmOS is quite a popular distribution for record keeping and management of farm activities. The modules included in this distribution are efficient in managing all tangible objects in an agricultural farmland - like trees, animals, crops, etc. The functionality of farmOS can also be extended using additional modules
  • Crypto is a distribution for analysing live market market data of over 800 crypto currencies. It uses react.js to list top 4 currencies and coin listing, extracting data from a headless Drupal website. 
  • OpenFed is a distribution created by the Belgian Federal Public Service Policy and Support, as part of the Fast2Web offering. Major functionalities include advanced search, modules for customising layout and modules for enhancing security. 
  • Apigee Developer Portal Kickstart is used to build new Developer portals for Apigee, a platform for managing several APIs. 

All in all,distributions are a great way to simplify one’s work. They also make it much easier to stay up to date with the ongoing trends and developments all around the world.

Mar 23 2021
Mar 23

As if learning all about the Drupal Community, Contribution and participating in an Unconference weren’t enough, we’re pleased to also offer you the chance to win some prizes! The goal of MidCamp is to bring everyone along for the ride, whether you’re just getting started with Drupal, you’re continuing to iterate and learn, or you’re a subject matter expert sharing your knowledge. We hope some of these prizes help you on your journey, wherever it may take you!

Each morning, we’ll be drawing registered attendees’ names to win fabulous prizes. First-time attendees and new community members will have extra chances to win!

Thanks to our sponsors DDEV and GitKraken for donating the prizes. Here are some of the things you might win:

Register now, it’s not too late!

Mar 23 2021
Mar 23

There maybe times when you do not want certain pages of your website to look like the rest. You might want a different theme, a unique menu or a distinct layout altogether. That’s when you will want to create Micro-sites. Micro-sites are small sites that can be subsets of your main site or have a completely different domain/subdomain. Mainly used for discrete marketing campaigns, events or products, micro-site marketing is a great tool to promote focused campaigns.

With Drupal 8 (and 9) you can build micro-sites within your existing setup using the Group module. You can have a separate set of users, permissions, and pages within that setup. Let’s learn more about this amazing module and how you can create micro-sites using the Group module.

Micro Sites in Drupal

Creating micro-sites using the Group module for Drupal

The latest version of the Group module was released in Drupal 8.8 and is compatible with Drupal 9 as well. It enables you to build discrete collections of content and users on your Drupal site. You can also setup access control for these collections. Group module is not only useful to create micro-sites but can be used whenever a site needs to create content that needs to be accessed only by certain user groups.

Installing the Group Module

Follow the below steps to install the Group module for Drupal 8 (or 9).

Step 1: Use this command to install the module

composer require 'drupal/group’ 

Step 2: Enable the Group and Group Node module

Working with the module

Once the module is installed you will see Groups in the administrative menu.


Under Groups, you need to create a Group type for your micro-sites. Group types are basically types of divisions for your website. In our case the group-type is a Micro-site.

Add Group Type

After adding the group type you can add fields to your micro-site. You will see 3 extra tabs in this group type - Content, Roles, Permissions.

Add Field

In the same above image, you can see a content tab where you can add content types to your micro-site (these are content types that we have created in our main site).

Configure Contents

Now, you can also create separate roles for the micro-sites.

Group Roles

After adding a separate role to the micro-site, you can add permissions to that particular role by clicking on Edit permissions. You can set the permissions as per your requirement.

Group Role Permissions

Next, you have a permission tab where you can add permissions to anonymous users and other micro site members. After configuring your group type, you can now add the group to that particular group type.

Group Type Permissions

Now while editing your group you will see many other tabs apart from View, Edit and Delete.

Edit Micro Sites

Now, go to the Members tab where you can add members to the group. These are the members who can perform actions on this particular group. (Note: by default, admin will be a member of the group. You can disable this functionality in the group type configuration.)

Micro Site Member

Go to the Nodes tab to add content to the group.

Micro Site Nodes

All entities: This lists all the nodes and users in that particular group.

Micro Site Entities

Adding menus to Micro-sites

Install Group Content Menu using this command then enable the module.

composer require 'drupal/group_content_menu'

After installing this module, you will see Group Content Menu types under Structure. Create a group content menu type for your micro site.

Group Menu Type

Place this menu type in the block layout where you want to display it.

Add Custom Block

Configure the block to display in the micro site.

Configure Block

Now in the group type content tab you will get the Group menu. Install that to display menus in your micro-site.

Group Menu

Now you should be able to see group menu in your groups.

Group Menus

In group menu you need to create a name for the Menu set.

Site Menu

After adding the menu set, you can now add menus.

Add LinkEdit Micro Sites

Now clear your cache and check the group. The menu will be displayed wherever you have placed it in your block layout.

Micro Site Description
Mar 23 2021
Mar 23

Whether working with a Drupal consulting company on a new web build, or starting out as a Drupal developer, Drupal terminology often emerges as a sticking point. There’s a lot of Drupal jargon that’s not intuitive. 

As a Drupal Trainer, I’ve found that a lot of time can be saved and confusion spared with an upfront overview of terms that have a distinct meaning in Drupal. Clarity on Drupal Terminology can kickstart efforts to both talk the Drupal talk and walk the Drupal walk, so here’s a quick guide to essential Drupal-specific vocabulary to get started on that journey.


1. Content

Content encompasses both text and images displayed on a website -- including photos, logos, icons, and other graphic items. 


A View is a display of content items created by the Drupal Views module. It can be a list or grid or table, a full page or a block on a website.  News items, for example, can be displayed as simply titles, or with teaser content, as a carousel display, or even as an RSS feed to export items to an external source. The benefit of creating views of content is that edits just need to be made once to be automatically updated everywhere that a view of that content is displayed. 
Looking at the Promet Source site as an example, clicking “Insights” on the main horizontal navigation lists the five most recent blog posts. The View displayed here is a list of with basic information about each post. 

Screen shot from the Promet Blog Views pageThe Promet Source blog Views page lists all blogs on the site, arranged by date, with five per page. Each item on the list includes the blog's title, author, date published, the first few lines of the post itself, an image, and a link to the full post.


3. Content Type (Entity Bundle, Entity Type)

A Content Type, sometimes referred to an an Entity Bundle is a grouping of content used for a specific purpose with fields for various types of information. Most sites have multiple content types.  A blog post is an example of a content type. A grouping of fields hold the data for each blog post that is created and displayed on the website. The following post from the Promet Source Blog is an example of a Content Type.

Example of a Promet Source blog post as an entity typeThe Promet Source blog post content type has a field for an image, the author’s name, the date of publication, Keywords, Related Posts, and styling specifications for headers and fonts.  


4. Content Item or Node

A Content Item or Node refers to an individual instance of a content type. Referring to the Promet Source website again as an example, blogs are an example of a content type and each blog post on the site is an example of a Content Item or Node. 

Check out Promet’s current Drupal training lineup and register NOW for the class that fits your needs.

5.  Core

Core refers to the central Drupal codebase that provides the basic functionality of every Drupal website. Core is the base upon which Drupal sites get built. Each component of core has a dedicated maintainer. Contributed modules or themes are integrated into core as they receive widespread acceptance and usage. 

6. Contributed

As an Open Source content management system, Drupal community members can contribute modules and themes that are then available, free of charge or licensing fees, for use by other members of the community. While there is a relatively stringent review process for contributed modules and themes, the quality of contributed code can vary. 

7.  Modules

Drupal modules (the equivalent of WordPress plugins) are collections of files containing PHP, JavaScript, and/or CSS code that provide some functionality of a website. Modules on a Drupal site fall into one of the following categories: 

  • Core modules are included in the Drupal core. While many core modules are enabled when Drupal is initially installed, there are others that can be enabled as needed. 
  • Contributed modules are created by members of the Drupal community and contributed back to the full Drupal community. The contributed modules extend the functionality of the Drupal core to provide features many websites require. These modules can be downloaded from the Modules download section of drupal.org., and installed within a Drupal installation to assist with integration of third-party software, enhance SEO, and many other features. 
  • Custom modules are created for a specific site application. For instance, a developer might create a custom module for a site that needs a feature related to proprietary data or to extend the functionality of a core or contributed module. Best practice is to use contributed modules before writing a custom module since contributed modules are maintained by a larger community and subject to security reviews, whereas custom modules are not. 

8. Themes

A theme is a set of files that define the look and feel of a Drupal site. Themes can be either core, contributed, or custom. Drupal core provides several basic themes but most sites create a custom theme or start with a contributed theme that can be downloaded from drupal.org. 

9. Taxonomy

Taxonomy is a way to classify or organize content on a Drupal site and group related content into categories. Taxonomy added to a News Item, for example, might include Taxonomy Terms or local or international items. This would allow Views to sort and create a list view of local news items or international news items. A Taxonomy added to the Staff Member content item might include Taxonomy Terms that denote departments in an organization (HR, Design, Manufacturing, Sales, etc.) Views could then create a view of only staff members in the Sales department to display on a page.

Screen shot of the search bar from the Promet Source blogTaxonomy facilitates internal search on a website. The "All Topics" dropdown above provides a list of frequent topics covered on the Promet blog, and is is an example of Drupal taxonomy


10. Menus

Menus are a collection of links used for navigating a website. Drupal includes several standard menus, which can be edited and additional menus can be created to meet a variety of navigational requirements. The standard Main menu is built by site administrators as pages are added to a site. The standard Management menu is the menu available to site administrators to access administrative areas of the site. The standard User menu contains links for logging out of a site and accessing the user’s profile page. Each menu automatically creates a block of the same name that can be placed in various regions across the site.

Drupal is woven into the DNA of Promet Source. We build Drupal sites, support Drupal sites, and offer a robust Drupal training curriculum. Contact us today and let us know what we can do for you!

Mar 22 2021
Mar 22

In November of 2020, shortly after launching Drupal.org's new issue forks and merge requests workflow, we announced another new feature: live deployment previews of Drupal Core issues, powered by Tugboat.qa - the same service that underlies SimplyTest.me.

Generating an automatic preview based on an open merge request is a huge boon to Drupal contributors, allowing them to preview the changes without having to set up a local dev server to deploy the changes to. It also makes it much easier to perform usability and accessibility reviews, as the visual impact of the changes is more readily visible.


This screenshot demonstrates where the previews appear in a contrib issue.

Example of live deploy previews

As we publish this, there are nearly 200 core issues that have preview ability to help accelerate the review process and increase the velocity of core contribution.

We're thrilled to announce that these same deployment previews are now available for contributed modules and themes on Drupal.org as well.

If you maintain a project on Drupal.org, enabling these previews is as simple as adding a tugboat.yml file to your project. Just follow the steps provided in our documentation. If you have feedback about the feature or would like to learn more, join the Tugboat Community Slack.

We hope the new feature makes contribution an even more rewarding experience.

Special request: Asking for your support for Ben Chavet

Ben Chavet is a long-time Drupal Community member, part of the extended Lullabot family, and one of the leads of the Tugboat.qa project. He worked very closely with the Drupal Association team in order to bring these live deployment features to the community. Now he needs your help. Ben is in intensive care with a very serious case of COVID-19, and his family needs your support. We appreciate your giving spirit to support one of our own.


On Friday, March 26th, Ben passed away. His family, friends, and colleagues are grieving after this devastating loss. As a community we are reminded again of the seriousness and capriciousness of this deadly illness- its impact will last not only these 2 years of lockdown, but for the lifetimes of everyone who lost a loved one.

Ben's wife Suellen and children Samantha and Aiden will need support more than ever. If you have fond memories of Ben, please share your photos and comment with your stories here: https://photos.app.goo.gl/Tg2NRecKwxswNCvq5

If you are able to offer financial support, please donate here: https://www.gofundme.com/f/2av1u66cc0/

Mar 22 2021
Mar 22

MidCamp is this week, and there’s still time to register! Review our tools and accessibility to ensure you can get the most out of camp, and check the job board if you're searching.

We have a lot going on this year, so here’s the final rundown of what to expect. We’ll share login links and more tomorrow.

  • For new attendees, Wednesday will start with three sessions to introduce you to Drupal, the Community, and MidCamp.

  • For those new to conference speaking, Wednesday afternoon will be a series of three speaker workshops on Zoom.

  • For those new to Drupal, join Evolving Web’s free afternoon webinar and download Get Started with Drupal, an Introductory Guide.

  • After that, at 4PM, join us for Karaoke!

  • For all, Thursday we have activities to connect with the community, learn, and have fun. We have many pre-set activities, but are holding spots specifically for newcomers to lead their own discussions.

  • For developers who are already familiar with using Drupal in a local environment, we have workshops on setting up and building NightwatchJS tests.

  • After that, at 4PM, join us for Game Night!

  • For all, Friday is our Unconference. Bring a topic or just yourself and join us for a full day of great conversations and deep discussions.

  • For those who plan to contribute on Saturday, we’ll have a workshop to help get your local environment up and running on Friday morning.

  • For experienced developers, we’ll have a series of advanced local development discussions on Friday afternoon.

  • After that, at 4PM, join us for Happy Hour!

  • For new contributors, we’ll start Saturday with workshops to introduce you to contribution and issue forks.

  • For all, we’ll spend Saturday working on the Olivero, Drupal Recipes, and Feeds/Migrate initiatives.

  • After that… we’re done!!!

The Whole Time

  • We’ll have spaces in Zoom, Slack, and Gather.town to socialize, hang, and help each other.

  • The organizers will be available to help. Mention “@organizers” in Slack, email [email protected], or tweet at @midwestcamp for general help. Email [email protected] for Code of Conduct-specific issues.

And now… a word from our sponsor

If you or someone you know is looking for an opportunity to work remotely for one of the world’s leading contributors to the Drupal project and community, Palantir.net is hiring an Engineer! Learn more and apply today.

Mar 22 2021
Mar 22

The Drupal Core Layout Builder module allows you to customize the design of entities such as content types, taxonomy, users, etc… with a new drag-and-drop interface. This is different from our commercial Drupal layout builder "DXPR Builder" because our product is only used to author and edit content, not content types.

Content editors always look for an easy-to-use experience when it comes to page building. Drag-and-drop and WYSIWYG tools are something they expect when they want to create and design pages. Drupal Core Layout Builder offers this exact experience with its easy-to-use page building capability in Drupal core.

Drupal Layout Builder allows you to select multiple sections for your page. For example one column, two columns, three columns and four columns, and you can specify each column's width.

Drupal Core Layout Builder can be used in two separate ways. It can be used to create a layout for each entity type on the website, and also to create a layout for an individual piece of content.

Enabling Drupal Core Layout Builder Modules from Drupal Core

Go to Extend and enable both Layout Builder and Layout Discovery module from Drupal core

Or, if you use Drush run the following command to enable it:

drush en layout_builder

drush en layout_discovery

1. Use Drupal Core Layout Builder to Customize Entity Type

1. Once you are ready with enabling the modules, navigate to Structure, Content types and click on “Manage display” for any content type. For now we will use the “article” content type.

2. Scroll to the bottom; collapse Layout options and select “Use Layout Builder” then click on Save.

3. Once you’ve completed the above step, you can see a “Manage layout” option instead of field formatters.

4. Click on “Manage layout” to go to the article content items, and the layout builder page.

2. Adding Sections to Layout Builder

1. Let's add a few sections to our layout by clicking on the “Add Section” option. You will be provided with layout options for your section, on the right side of the screen. For now, let's select “Three column section”.

2. Once we select the “Three Column” section for our layout, it will display some variants, let's select “25%/50%/25%” for our layout.

3. The layout with your selected width for each column is presented.

3. Add Blocks to the Section Regions

After choosing your section for the layout, you can add blocks to your section. To add a block just click on “Add Block” and the “Choose a block” option will slide out from the right.

Let’s select the "Authored by" field to be displayed in our column

Let's add an image field for the second column and a custom block for the third column and save our changes by clicking the “Save Layout” button at the top.

After saving this layout, if you visit an article content type page, you will be able to see a preview of the layout which you just built.

4. Override Default Layout

The Drupal layout which we just built for the article content type will be applicable to all the article content. If you want to build a customized layout for a particular article, you have to enable “Allow each content item to have its layout customized.” option in "Manage display".

Now when you visit any article view page, you will see "Layout" as a local task tab.

5. Restricting Layouts and Blocks

You can use contrib module Layout Builder Restrictions, to restrict layouts and disable the unwanted/unused layout from your layout builder

Install the modules using Composer, and enable it them your project, once done you will get the new "Default restriction" option in Manage Display of your entity

1. Blocks available for placement (all layouts and regions)

Under this option, you can control certain blocks, and whether they should be displayed in your selected layout builder.

For example, in the below screenshot, we are restricting only two fields from the content fields to be displayed in the layout builder, so "Authored on" and "Body" fields will not be displayed in the layout builder.

The "Authored on" and "Body" fields are not displayed, because they are restricted under content fields.

2. Layouts available for sections

In this option we can restrict particular layouts to be selected in our layout builder, so we will have the layout we need instead of all the layouts

For example, we will select a Two Column and Three Column layout to be used in our layout builder, so we will get only Two Column and Three Column layout options to be used in our layout and not all layouts.

6. Applying Styles for Layout Builder

You can use contrib module Layout Builder Styles, to allow users to apply styles to their layout builder blocks and sections.

Install the module using Composer, and enable it in your project. Once done you will need to visit the modules configuration page - /admin/config/content/layout_builder_style, where you can add a layout builder style.

You can specify multiple classes for a layout builder style, and select type either block or section. Let's select a section.

Now when you visit the your layout builder page and edit any of the sections, you will get a Style field with the style which we created earlier

Now the CSS will be applied to your entire section, in the style which we have selected.

Mar 22 2021
Mar 22

Lynette has been part of the Drupal community since Drupalcon Brussels in 2006. She comes from a technical support background, from front-line to developer liaison, giving her a strong understanding of the user experience. She took the next step by writing the majority of Drupal's Building Blocks, focused on some of the most popular Drupal modules at the time. From there, she moved on to working as a professional technical writer, spending seven years at Acquia, working with nearly every product offering. As a writer, her mantra is "Make your documentation so good your users never need to call you."

Lynette lives in San Jose, California where she is a knitter, occasionally a brewer, a newly-minted 3D printing enthusiast, and has too many other hobbies. She also homeschools her two children, and has three house cats, two porch cats, and two rabbits.

Mar 22 2021
Mar 22

I was scrolling through my Instagram last night and I saw an advert that was pretty appealing to my taste. It was an ad for those flared jeans that are so popular today. And like any other fashion loving person, I clicked on it and it took me to the website of the brand. Cut to half an hour later, I was a proud owner of a very flared, wide bottom pair of denims with a super high waist line and I was pretty happy about it. 

This is a scenario which isn’t uncommon in the times we live in. If you ask me, I find this trend to be utterly appealing, utterly clever and utterly persuasive. 

I say this because if you think about it, I wouldn’t have ever landed on the product’s actual site, not by any chance. So, the seller’s plan to become a part of social media and sneak into people’s feed with such tantalising videos and pictures of the product, that they have no other option than buying is indeed a masterstroke, if there was one. 

And this is what marketing is all about. It does involve the more technical aspects of designing, production and packaging, however, making the product come in contact with the consumer is like the finale of the marketing film. And to ensure this contact is a memorable one, the marketers make it ubiquitous. Now that I have bought that one pair of jeans, I’m sure my Instagram and Facebook are going to be inundated with similar products and brands in the near future, because if I have bought it once, I might buy it again.

So today, we are going to be talking about an emerging vogue in the ever so evolving realms of marketing and that is Marketing Automation. Let’s get on with the marketing automation guide. 

When the Marketers met Automation

Marketing Automation is a concept that is all about making the work of the marketers a tad bit easy. The automated technology takes the load off of the marketer’s shoulders and onto its own.

At the heart of the concept of marketing automation is the consumer. Every nook and crevice of this concept recognises consumer as the boss. Let’s take a look. 

Understanding consumer behaviour; 
Identifying potential consumers; 
Creating consumers leads; 
Effectively nurturing the consumers leads; 
Personalising the marketing strategies for the consumers; 
And converting consumers into buyers.

These six points can sum up the entire working of marketing automation and consumers are everywhere. Yes, at the end of it, you, as a businessman would benefit from it, but you need consumers for that first. 

If I had to define marketing automation, I would say it is a concept that uses software and technology to ease all marketing tasks, especially the repetitive one. Those social media posts that have to be posted every Monday at 5 on the Twitter handle can be easily automated. The result would be better consumer engagement and increased efficiency, which means more revenue. 

Marketing automation is a pretty broad term that has numerous aspects and functions involved in marketing. 

Sending marketing messages using a trigger; 
Sending personalised emails to keep the consumer in the loop; 
And sending Facebook, Instagram and Twitter stories and posts for perpetual engagement; 

These are three of the most popular ways automated marketing strategies that help marketers generate leads from everywhere and convert them into sales. 

Now that we have covered the general concept of marketing automation, let’s look at some statistics that will give us a picture of its use in the business world. 

A chart depicts the percentage of organisations using marketing automation tools.Source: Regalix.com

The above picture shows the findings of a survey performed on a sample group. With close to a fourth of the surveyors answering an affirmative to using marketing automation, the concept seems to be a hit. 

The image is a combination of a pie chart and a bar graphs showing figures about the perception of marketing automation of businesses.Source: Dun & Bradstreet

Another survey shows the extent of marketing automation at work, with close to half of the surveyors using it extensively. 

A bar graph shoes the trends related to marketing automation in present with future predictions up to the year 2027.Source: Grand View Research 

Now, this one shows how marketing automation is going to progress in the future. Every sector, be it healthcare or education, is expected to enhance its size in marketing automation in the US. It would possibly double in comparison with 2016. So, if anything is going to boom in the future, it’s going to be marketing automation.

Marketing Automation and Its Achievements 

Marketing in general has numerous benefits that not a single person on this planet can deny. Likewise when marketing automation is concerned, the benefits still persist. There is a lot that can be overcome be it reducing costs, increasing efficiency or making you richer by the date and all of that starts with one lead generated by marketing automation. 

Let’s have a look at all the achievements of this marvelous concept. 

Automation saves time 

The main difference between doing something manually and automatically is the amount of time it takes to complete it. When you automate simple marketing tasks like figuring out the seriousness of a lead or sending emails, you free up a lot of your time. And that time can be used for more meaningful tasks like converting leads. 

Automation increases income 

A major benefit of automation in marketing is generating leads, which later helps in creating higher conversion rates and lower abandonment rates. What do you think would be the result of this? More sales, which simply means more income. 

There is also the perspective that marketing automation reduces costs because with automated processes, you would need less manpower and hence, lower costs. 

Automation eases scaling

Every business is meant to grow, so a marketing strategy that takes into consideration the present scenario along with every possibility that the future may hold should be the right choice. Marketing automation is that choice. This concept grows with you, regardless of the pace you have. Look at Tesla’s stock prices in 2020, that could happen to your business as well and marketing automation would be right there with you. 

Automation enhances user understanding 

Marketing automation is also responsible for making you understand your demographic better. This is achieved by tracking and monitoring every contact the user makes with your business and where they stand on the purchasing decision, you could say that marketing automation is essentially behavioural tracking of the consumers. The outcome of this level of user understanding is that you can make a few tweaks here and there based upon user patterns and thereby compel him to make a purchase.

Automation evaluates your successes concisely 

Marketing automation tools are a part of it and these tools have the capability of measuring all the right numbers for you. You’d be glad to know these numbers are not just pertinent to your consumers, but you as well. Assuming you automated an online campaign, once it is complete and even during it, marketing automation tools will have recorded its performance down to the T. This way you would know how you performed and what you need to work on.

Making Marketing Automation Work

Next comes the part, where we understand the workings of marketing automation. Yes, marketing automation is becoming increasingly popular. Yes, there are numerous benefits of this concept, but if you do not know where to start its implementation, then what is the point really? 

So, here are a few pointers that will give you an idea of how automation in marketing works, more like how you can make it work.

Do you know your needs? 

When thinking about marketing automation’s working, the first question to ask is what do you need it for. You can’t make it work, if you do not know what to work for. Is it lead generation or you simply want to ease the pressure of marketing by scheduling things and events instead of always worrying about the upcoming ones?

This concept can achieve so much, but only if you know what those achievements will look like. Create a workflow and start following it. 

Are you understanding your consumers?

Marketing automation helps you in understanding your consumers, but the more important thing is what you do with that understanding. Yes, you know what your target audience looks like, which geography you are targeting and what the psychology of the users is. But what then? When you have an answer to that, you’ll hit the automation homerun.

Are you using the right tools?

This concept is nothing without the right set of tools. Automation relies on technology and technology means tools and software that will make marketing a walk in the park. Drupal, a leading open source CMS, for instance, has numerous third party tools that allow its sites to capitalise the automation vogue. More on this in the next section. 

Are you building relationships or retaining them?

Marketing automation will target a whole new section of consumers. This would be a long and expensive process. So, just building new consumer relationships isn’t the right way of marketing automation. It would only be right when you focus on retaining the past consumers and cinching them to you with loyalty. How? That you have to think on.

Does the outcome seem too-automated? 

Marketing automation can seem a little too impersonal to the consumer. If it does, you are on the wrong track. To make the concept work, you must focus on personalising every consumer interaction. Make your brand something to remember. Reminding a consumer, who hasn’t been active based on your data, that their empty cart is missing them with a popup in their notification bar will compel them to have a look at your new catalogue. Hook, line and sinker, but with a personal touch.

After you have the clear cut answer to these five questions, it would be wise to know four more aspects that contribute to making marketing automation work for you. 

  • You must always remember to specify things and criteria you are working for along with the outcome you aim for. This is because all of this would need to be interpreted by the software at work and that would in turn be stored and executed to make you get what you wanted. 
  • You must leverage cookies, because it is these stored inside the visitor’s browser that let you know his behavioural patterns, track them and issue scores as well. 
  • You have to generate leads as a marketer, and forms with valid contact information of the customers is one of the best ways of doing that and further qualifying these leads.
  • Finally, you must have a plan that combines both inbound and outbound strategies. This helps marketers make out the difference between strong and feeble leads. 

One of the prime purposes of marketing automation is generating leads and these four points effectively achieve that. 

Making a Play at Marketing Automation with Drupal 

We have already discussed the priceless value of marketing automation in the business world, going without it is no longer an option. To that sense, Drupal has come out as a pretty valuable asset, having tools and modules that cater to each and every marketing automation need and then some. 

With the very appropriate motto of “Drive Your Strategy Forward,” Drupal indeed helps businesses in moving forward by attracting, engaging and delighting your consumers with personalised content and services. 

  • Be it real-time sales alerts; 
  • Be it managing your consumer data in bulk; 
  • Be it streamlining your workflows;
  • Be it tracking your site’s traffic down to the conversion rates; 
  • Or be it advanced email reporting; 

Drupal is equipped and ready to let you take advantage of the automated marketing strategies down to their very core.

Now, let’s focus on the specific tools that make the Drupal motto on marketing automation come alive. 

#1 Marketo MA

The Marketo Marketing Automation (MA) module helps your website by allowing it the ability to track like Marketo and capture lead data during user registration and form submission.

Mareketo’s Munchkin adds certain features to this module like tracking code to pages and capturing lead data using it’s JavaScript or API integrations. The lead capturing, being the highlighting feature, can be done during user creation, update and/or login; all you have to do specify the user actions. 

It can also very conveniently integrate itself with other marketing automation modules found on Drupal to give a better execution experience.

#2 Pardot Integration

A big part of marketing automation are the online marketing campaigns; they are essentially responsible for substantially increasing the revenue. 

Pardot Integration is a module that helps your marketing departments to not only manage these online campaigns, but also to create and deploy them. There are umpteen CRM tools that Pardot can integrate with to make the marketers tackle lead nurturing, scoring, and ROI reporting. 

Microsoft Dynamics CRM 
SugarCRM are a few of them. 

#3 HubSpot 

A renowned inbound marketing software famous for attracting, converting and closing customers has integrated itself with Drupal to form the HubSpot module, which comes with an embedded HubSpot JavaScript tacking code.

The HubSpot API and integration to Webforms which are directly submitted to HubSpot’s management system, makes this module work pretty smoothly, be it for tracking customers through signups or unleashing your existing email campaigns for the said customers. 

The fact that Webform 3.x is used makes building virtually any kind of form and embedding them anywhere possible.

#4 Poptin 

Poptin is a module that helps in creating popups, optins and forms in minutes. By showing these popups to your visitors at the right moment, you will be able to keep them engaged and minimise the chances of abandonment. The result is better sales and more revenue. 

All of the work that Poptin does is dependent on consumer behaviour, an insight to which will allow you to dole out the most irresistible popups for the consumers. You can customise the popups for your brand keeping in mind its aesthetic and vibe.

The inclusion of advanced triggering options like; 

  • Exit intent trigger; 
  • Display after time spent on website; 
  • Display after website X pages visited or X number of clicks; 
  • URL targeting; 
  • Device targeting; 
  • And traffic sources amongst others make this module more than appealing to the marketers.

#5 Mailchimp 

Mailchimp is an email delivery service. With emails being an important part of marketing automation, the Mailchimp module provides seamless integration with this particular service of the same name. 

The Mailchimp features include; 

  • directly connecting email entities to its lists; 
  • creating forms for easy signups; 
  • creating, sending and viewing campaigns and its statistics; 
  • being able to see to all the past activities on Mailchimp; 
  • and finally, triggering automated emails for defined events. 

#6 Salesforce Suite

Salesforce is a customer relationship management service platform with a side of marketing automation for customer service. Drupal’s Salesforce Suite allows to reap the full competency of the platform to propel the marketing strategy forward. 

Being a suite, this module has a range of Salesforce modules that integrate themself with the software and synchronise Drupal entities with Salesforce objects and push and pull data from each other. 

  • Salesforce Integration 
  • Salesforce Mapping 
  • Salesforce Mapping UI 
  • Salesforce Push 
  • Salesforce Pull are some of the modules in this vibrant suite.

#7 Webform 

Like the name says, the Webform module helps in creating form and surveys. These are forms that will tick all the right boxes for an enterprise grade form made using an enterprise grade form builder and the versatility of Drupal.

Once the forms are created and submitted, customisable e-mails become an option to be sent to admins or submitters or both and results are often exported to spreadsheets. Once that is done, the modules continue to work to provide a statistical review. You can also add other extensible features, if you like. These include encryption, antibot, the use of Captcha and MailSystem to name a few.

#8 CleverReach

The CleverReach module combines the efficiency of Drupal and CleverReach and makes marketing seem easy. With CleverReach’s email marketing software at work, you will be able to create, send, measure and manage your email campaigns. 

Together with the CleverReach API, this module can do a lot. Before that you would have to do two things. 

  • One is to import your CleverReach- Groups & Attributes or fields; 
  • Second would be to create a block for every group. 

These blocks would basically be newsletter subscription forms and the attributes would be the form fields. Once you have done that, subscriptions would automatically be sent to your CleverReach account. 

#9 Google Analytics

Google Analytics isn't unknown to anyone, least of all today’s marketers. Being an eminent marketing platform that allows marketers to measure everything from advertising ROI to site traffic and tracking social networking applications and sites. 
The Google Analytics module lets you integrate the platform’s web statistics tracking system to your Drupal site. 

  • Tracking single, multi or cross domains;
  • Tracking certain users, roles and pages and even excluding them; 
  • Tracking links and monitoring the types that are being tracked;
  • Monitoring the kind of files that are being downloaded; 
  • Tracking URL fragments that are changing; 

And so many other features that are incorporated into Google Analytics will be at your doorstep with this module.

#10 Crazy Egg

Crazy Egg is a popular website optimisation platform that specialises in heatmaps. With its integration with Drupal, all those heatmaps would become accessible for you in your marketing automation strategy. All you need is your Crazy Egg account details, enter them and you’ll be all set.

The Crazy Egg module comes with additional features on top of the heatmaps. These include; 

  • Knowing where your visitors scrolled through scrollmaps; 
  • Knowing exactly how you users interacted with your site through session recordings; 
  • And performing A/B tests to run two versions of your site simultaneously.

#11 Cloudwords for Multilingual 

Marketing isn’t confined by geography or language anymore. Global campaigns are being run everyday from anywhere in the world. This mandates that campaigns and marketing be accommodating to multilingualism because someone in Indonesia would never be able to relate to American Content. 

Cloudwords for Multilingual helps in this regard, being the fastest and most flexible way of making your website become localised. Cloudwords is built for marketers and by marketers, it is one of the most popular ways of running global sites. Its integration with Drupal makes both the software run to their maximum benefits and your campaign will definitely benefit from that.

#12 Mautic 

Mautic is an open source marketing automation service, which gives businesses the opportunity to integrate and personalise every digital property and channel they might have, so that the consumers receive a seamless experience every time. 

The Mautic module integrates itself with this platform, and the results are campaigns and content performing at a higher level to attain better leads and conversions. Choosing multiple authentication methods and selecting forms from a particular Mautic instance for display are two of its most used use cases.


Marketing automation is gaining grounds by the day. An organisation that isn’t taking it up would somehow be lacking in its marketing game. Remember the end goal of any business is just one, to get to the desired revenue figure, no matter the path it may have to take. Marketing automation one path that makes that figure seem almost tangible. So, why not take it up. With Drupal marketing automation is a breeze, so again, why should we not flow with the wind?

Mar 19 2021
Mar 19

rocket blasts off against a starry sky

DrupalCon North America 2021 is right around the corner! Check out the ever-growing schedule of sessions, industry summits, and special events on the official event site, and mark your calendar for these Mediacurrent sessions. 

Our Sessions 

The Mediacurrent team is proud to support this community event as a platinum sponsor. We’ll be presenting several sessions at this year’s online conference.

Whether you’re a site builder scaling up with multisite, a marketing leader in search of current guidance on open source security, or a Drupal community member of any kind looking for inspiring real-world case studies, we’ve got you covered. 

Here’s what we have in store for sessions and case studies in Drupal innovation:

Unlock The Power of Multisite 

DrupalCon program speaker card with Jay's headshot

Join Jay Callicott, Mediacurrent’s VP of Technical Operations, for a comprehensive approach to manage your Drupal sites at scale.

Interested in evaluating multisite options for your organization? Jay will cover several ways to scale your Drupal platform from one site to many dozens or even hundreds.

Register here to join the session and learn best practices for governing multiple sites from one codebase, how to configure a multisite installation, and considerations for your hosting solution. 

Open Source Security for CMOs

DrupalCon program speaker card with Mark and Krista's headshots

As open source software continues to become widely adopted, adhering to security standards is becoming more challenging. So what's a CMO to do?

Inspired by our ebook, The CMO’s Guide to Open Source Security, this session will help you navigate the terminology, expectations, and tools to ensure security is a priority for your web properties.

You can register here to join the session led by Mediacurrent’s resident Drupal security experts Mark Shropshire and Krista Trovato.

Case Study: Habitat for Humanity 

Imagine a world where everyone has a decent place to live. That’s the vision fueling Habitat for Humanity to create ambitious digital experiences with Drupal. 

This session will present a case study covering how Drupal is being used to bring mission-driven innovation to reality for this international nonprofit. Both Drupal site builders and non-technical roles are encouraged to attend. 

You can register here to join the session led by Mediacurrent Project Manager Vicky Walker and two members of Habitat for Humanity's web team.  

Drupal for Higher Education 

The year 2020 called for higher ed leaders to accelerate digital marketing strategies. For many, Drupal was a key part of the equation. This rang true among a spectrum of Mediacurrent’s higher education partners, including an Ivy League university that chose a decoupled architecture for its breakthrough knowledge platform.

Dan Polant, Director of Development at Mediacurrent, will share that story in a co-presented session at the Higher Education Summit. The session will explore the University’s driving mission to build toward a brighter financial future on a Drupal and React-based platform.

Join the session on April 20 at the Higher Education Summit.

Connect with Us

There's more to come! Check back for Rain CMS demos, Drupal 9 info sessions, giveaways, and more coming soon to our DrupalCon 2021 event page.

Mar 18 2021
Mar 18

DrupalCon North America is happening in just over 3 weeks, as part of the larger DrupalFest, which is a series of online events happening throughout the month of April. Last year's DrupalCon Global was a great event and showed what a successful online conference can look like. (You can read our recaps of DrupalCon Global.) We fully expect this year to be great as well, and possibly even better. The whole Drupalize.Me team will be in attendance.

In addition to soaking up the community vibes, I'll also be on a panel, "Leadership at the intersection of business and open source", along with 3 other open source business leaders: Lisa Tagliaferri, Stefanie Langner, and Tracy Evans. While we all have different backgrounds in both business and open source, we're gathering to discuss how we can take the best of both worlds and run great organizations that make the world better. We're looking forward to an interactive discussion where we can answer questions from the audience and learn from each other along the way. The panel will be held on Wednesday, April 14th, 15:35 to 16:25 UTC (find your local time) in Room 3.

You'll also find our team involved in the contribution events. There will be ongoing contribution sprints throughout the conference and this year there will also be specific days set aside for different initiatives. You don't need to be a DrupalCon attendee to take part in the contribution events, and you can go to the DrupalCon Contribution page each day of the conference to get access to the community rooms.

We're excited for DrupalCon and that we'll all be able to attend. We hope to see you there!

Mar 18 2021
Mar 18

MidCamp 2021 is less than one week away, so register now. We’ll be doing our first review of topic submissions for Thursday’s “Meet the Drupal Community” day this evening and still taking submissions for Friday’s “Share Your Knowledge” Unconference. Our job board is filling up, and we’re ready to gather.

MidCamp is always a great prep for DrupalCon contribution activities, and this year is no exception. Even if you’ve never contributed to Drupal before, we have something for you.

Thursday: Olivero Sprints

MidCamp will be hosting a sprint to create automated tests for Drupal’s new Olivero theme on Thursday, March 25th, and Saturday, March 27th, 2021. During the Thursday sprint, attendees will learn to write functional tests using Drupal core’s test suites, PHPUnit and NightwatchJS. We’ll then submit patches to Drupal.org to go through the process of committing them to Drupal core.

Friday: Get Started with Local Development

In addition to our Unconference on Friday, DDEV will host a multi-part workshop to help you set up a local development environment on macOS, Linux, or Windows. Get ahead by installing the latest Quicksprint package, or just follow along during the workshop. Bring all your questions!

Saturday: Give Back To Drupal

Contribution days are an important part of Drupal's growth and are also a great opportunity to get involved because others are on hand to help you contribute. There is a dedicated contribution day on Saturday, so come and collaborate with other Drupal community members!

We’ll be focusing our work on:

New to code contributions? That’s wonderful! There will be a series of first time contribution workshops in the morning.

And now… a word from our sponsors:

Evolving Web is looking for talented Drupal trainers for their training program. Join the #EW Drupal community. Check it out: https://apply.workable.com/evolving-web/j/D7134FBC98/

Tyto Learning Solutions is proud to be a core sponsor of MidCamp 2021! Join Tyto Learning Solutions on Wednesday at 10:30 CDT for their session: Drupal Camp Quick Start: What Am I Getting Myself Into? We'll address some of the questions about Drupal that you did not even know to ask! Targeted to the non-developer, this session is perfect for individuals that are new to Drupal and Drupal camps.

Mar 18 2021
Mar 18

Our normally scheduled call to chat about all things Drupal and nonprofits will happen TODAY, Thursday, March 18, at 1pm ET / 10am PT. (Convert to your local time zone.)

No set agenda this month, so we'll have plenty of time to discuss whatever Drupal-related thoughts are on your mind. 

All nonprofit Drupal devs and users, regardless of experience level, are always welcome on this call.

Feel free to share your thoughts and discussion points ahead of time in our collaborative Google doc: https://nten.org/drupal/notes

This free call is sponsored by NTEN.org and open to everyone.

View notes of previous months' calls.

Mar 17 2021
Mar 17

Our Diamond Sponsors

Acquia logo     Pantheon logo     Platform.sh logo
DrupalCon North America 2021 is less than a month away, and we’re excited to announce the program! Explore the confirmed sessions, register to participate, and start to plan your DrupalCon adventure. 

The keynotes offer exclusive opportunities to hear from leaders in Drupal and open source about issues and ideas that impact Drupal developers and users around the world.

Here’s a look at this year’s keynote lineup.

Sheree Atcheson, Global Director of Diversity, Equity and Inclusion, Peakon
Allyship—the key to unlocking the power of diversity
Monday 12 April, 12:10 - 12:40 EDT

Sheree Atcheson, an industry-leading voice on diversity and inclusion in tech, will talk about the importance of intersectional allyship in creating inclusive environments and technology. She’ll offer tips on how everyone in any role can actively consider, champion, and advocate for others in their work and be more inclusive in their day-to-day lives.

Dries Buytaert, Founder, Drupal
Wednesday, 14 April, 12:30 - 13:50 EDT

A much-anticipated highlight of DrupalCon, Drupal founder Dries Buytaert will deliver his annual talk on the state of the Drupal project now and his thoughts on what’s next. Don’t miss it!

Photo by Amazee Labs from DrupalCon Nashville 2018

Stuart Keroff, Social Studies and Technology Teacher, Aspen Academy
School needs open source, now more than ever
Friday, 16 April, 14:20 - 14:50 EDT

Technology educator Stuart Keroff, founder of the first two middle school Linux clubs in Minnesota, has spent the last 10 years guiding middle school students to use open source as a tool to close the digital divide in education. He and his students will share how they used open source software to recycle computers for their fellow students during COVID-19 school closures.
Tuesday - Friday of DrupalCon will begin with keynotes sessions focused on the Project’s strategic initiatives. More information below. 

Learn more about DrupalCon keynote speakers and sessions.

Centarro logoThank you to Centarro for being a Platinum DrupalCon North America sponsor! Centarro (formerly Commerce Guys) is the company behind Drupal Commerce, an eCommerce platform uniquely suited to cross-border commerce, B2C + B2B sales, & tailor-made REST APIs.

Explore contribution opportunities at DrupalCon

Along with DrupalCon sessions, discussion groups, and skill-building opportunities, each day of this year’s event will focus on one of the Drupal Project’s strategic initiatives. You’ll begin the day with a keynote on the featured initiative, find out how it will make more exciting digital experiences possible, and have the opportunity to participate in mentored contributions following the live content at DrupalCon, where you can be part of accelerating the initiative’s success. All participants are welcome, with or without technical experience!


Here’s a look at the specific initiatives we’ll focus on each day.

Decoupled Menu Day

Decoupled Menus Day
Tuesday, 13 April

This initiative is focused on developing an easy-to-integrate solution for JavaScript front ends to consume configurable menus managed in Drupal. Learn what’s been accomplished so far and how you can help move the initiative forward. Drupal mentors will be on hand to help contributors with coding, writing, and testing activities. Learn more 
Easy Out of the Box Day

Easy Out of the Box Day

Wednesday, 14 April 

This initiative is designed to improve upon Drupal 9 features and enable new features that can make Drupal even easier to use. Learn more
Automated Updates Day

Automated Updates Day

Thursday, 15 April 

This initiative is all about implementing a secure system for automatically deploying safe, secure updates for Drupal sites—a crucial enhancement for Drupal service providers and end users that could create other exciting new possibilities for the future. Learn more
Drupal 10 Readiness Day

Drupal 10 Readiness Day

Friday, 16 April

This initiative is our effort to update and enhance the platform to enable a smooth, secure transition to Drupal 10, which launches in 2022. Learn more
Tag1 logoWe're grateful to Tag1 Consulting for their Platinum DrupalCon North America sponsorship! Tag1 is a global technology consulting firm that specializes in architecting, optimizing, securing, and delivering large scale systems.. 

Whether you’re looking for premium branding, speaking engagements, or a virtual booth, there’s still time to sponsor DrupalCon North America.

Hear why Platinum Sponsor, Acro Media, is sponsoring for the 6th year in a row - 

“Our Drupalcon sponsorship investment each year continues to provide value in the form(s) of sharing and gaining knowledge, building relationships and partnerships within the community, and meeting potential new clients. Acro Media has been a proud Drupalcon sponsor for a number of years and 2021 is no different. We greatly appreciate the effort the Drupal Association has taken to create an interactive virtual experience for 2021 and we are excited to participate.” 

This is your chance to highlight your business as an important part of the largest annual gathering of Drupal talent, experts, agencies, and users. Sponsorships start at just $4,050 - contact [email protected] for more information.

Tag1 logoThank you to Phase 2 Technology for their continued support at DrupalCon North America! For the last 20 years, Phase2 has been at the center of the digital ecosystem, integrating processes, people, and systems.
Tag1 logoPalantir is a full-service digital consultancy that works to strengthen humanity by helping others discover, create, and share knowledge. Thank you, Palantir, for being a Platinum sponsor at DrupalCon North America!

Our Platinum Sponsors


Have a question?

We’re here for you. Find answers to common DrupalCon questions in our FAQ.
Mar 16 2021
Mar 16

For some years now, a series of techniques have been quite popular with a common point: the introduction of animations or interactions linked to the user's progress through the page (scroll) that often allow us to "tell" a story (scrollytelling).

In its simplest form, this technique can be used to make certain elements "appear" when they reach a fixed point on the screen, thus giving a sense of greater dynamism and catching the user's attention. It is a technique that we can see in hundreds of sites such as, for example, the website of Opigno or this Netlify minisite.

In this tutorial we are going to tell you step by step how we recently added micro-animations to Metadrop.net and how you can do it on your own sites using our new contrib module and the Scrollama.js library.

Why Scrollama.js

Until a few years ago, scroll libraries had to listen to scroll events or even replace the native scroll with a simulated one (scrolljacking), which caused major performance problems, especially on mobile (jumpy scroll, interrupted scroll, etc.).

Fortunately, today we have the IntersectionObserver API that allows us to operate in a much more precise way.

When dealing with animations in metadrop.net, we opted for Scrollama for two main reasons:

  • It was one of the first libraries to use IntersectionObserver.
  • Instead of including a whole library of pre-made animations and functionalities of all kinds, Scrollama focuses on exposing a simple and minimalistic API that detects the input/output of elements, leaving the developer to choose how to react.

In a sense, Scrollama is the heir of Waypoints.js, another well-known library whose spirit is also to provide the necessary tools and abstractions to operate… and nothing more.

After choosing the tool, we developed and contributed a simple Drupal module to streamline the development process.

This module simply exposes a small data-attributes based API that allows you to create animations directly with HTML and CSS, without having to write a single line of JavaScript.

Let's get to work: animations

The simplest way to animate an element is to add a class when it reaches the indicated point on the screen and thus be able to delegate all animations and changes to the CSS.

Compared to a pure JavaScript approach, this introduces a number of benefits:

  • The transition and keyframes CSS syntax is simple and powerful.
  • Animations benefit from the GPU, we can alert the browser via the  will-change property in order to improve performance and we can honor the user preferences by using the prefers-reduced-motion media query.
  • Easier to maintain, scale and modify: just touch a CSS stylesheet.

Let's say we want to animate our elements in two ways: entering from the right or from the left. A small proof of concept would be the following:

Configure Scrollama

We have our animations: now we need to make them run only when the user scrolls.

To do this, we are going to load the Scrollama module in the usual way. If we use composer, it's as easy as writing this:

composer require drupal/scrollama

Let's go to the configuration page and - for the moment - activate it globally. We are also going to activate the "debug" mode so we can see our entry point, which we are going to set to 0.66, i.e. 66% of the screen size from the top edge.

If we reload any page we will see… nothing. This is because Scrollama is only triggered if it detects at least one active element. And how is an element activated? Well, as we said before, by using  data-attributes.

Specifically, by means of these three:

  • data-scroll-init - This is the only mandatory attribute. It indicates that the HTML element will be animated, and also indicates which class or classes it will receive when passing through the scroll point.
  • data-scroll-exit- Alternatively, you can also specify a class to be received at the output of the point, i.e. when the lower limit of the HTML element also exceeds the point defined on the screen.
  • data-scroll-delay - Optionally you can define a delay expressed in seconds ("1" or "1s"). The CSS class will not be added until after this time.

That is, our HTML elements could end up being something as simple as this:



Now, our elements receive a class when crossing the scroll point that we can use to introduce our interactions.

The initial state and how to solve it

We will have to rewrite our CSS a bit to adapt it since we now have the problem of the initial state. In the previous example we have hidden the element in the "from" of our @keyframes, but this state will not be applied until the animation is added.

We want the HTML element to be initially invisible so that we can animate its appearance.

The most direct and simple solution is to use any class to identify our element so we can initialize it as hidden.



If we cannot or do not want to use a class, there is no problem since we can also use CSS attribute selectors on the data-attribute itself used to instantiate scrollama.

[data-scroll-init] {
  visibility: hidden;

We are assuming that our strategy to hide the element is by means of the visibility property, but we could also reproduce the initial state of the animation. This has the disadvantage that it will force us to define each animation separately:

[data-scroll-init~=”enter-right”] {
   opacity: 0;
   transform: translateX(50%);

[data-scroll-init~=”enter-left”] {
   opacity: 0;
   transform: translateX(-50%);

Note that we are using ~=; this selector indicates that the data-attribute must contain the entire specified string separated by spaces. It is better to use this and not others like *=.

You can use any combination, but the option based on [data-attributes] and visibility:hidden is more generic and easier to maintain. It is important to use visibility and not display: none so that the element keeps its size and we do not produce a reflow of the page that affects performance. If you want to know the difference between repaint and reflow, read this article.

With any of these configurations, we obtain the desired result:


Use transitions

This same code, since it alternates between two states, could also have been expressed using transitions:

[data-scroll-init~="enter-right"] {
  opacity: 0;
  transform: translateX(50%);

.enter-right {
  transition: opacity 0.5 ease-out, transform 0.5s ease-out;

It is important to note that in this case, we cannot get rid of declaring the initial state animation by animation. It is as if the first rule does the work of the from of the animation and the second rule does the to.

The final state and how to solve it

If we have used animations on some property defined outside the @keyframes statement, we may see this value reset after the animation is executed. Generally, this will produce undesirable results.

This is because, by default, CSS animations after running return to whatever state was initially defined outside of the animation.

For example, take a look at this:

@keyframes enter-right {
  from {
    opacity: 0;
    transform: translateX(50%);
  to {
    opacity: 1;
    transform: translateX(0%);
    /* Animate background from original value, not from the "from" */
    background-color: red;

.will-animate {
  visibility: hidden;
  /* This is the original colour */
  background-color: green;

.will-animate.enter-right {
  visibility: visible;
  animation: enter-right 1s ease-out;

An undesired effect will occur whereby, after the end of the animation, the background-color value will be reset to the initial green value. Note that this does not happen with opacity or transform because these values are defined inside the animation.

To avoid it, we must add the property animation-fill-mode: forwards that indicates that after the animation the final state must remain.

.enter-right {
  animation: enter-right 1s ease-out;
  animation-fill-mode: forwards

You can see the result in this example: the leftmost values don't have animation-fill-mode: forwards, the ones on the right do.


Finishing touches and best practices

Before finishing, we should consider a number of improvements that will make our code more respectful of user preferences and improve its performance.

Honor the user preferences

There are users who, for various reasons, prefer not to have animations, transitions or effects of any kind on web pages. 

For some years now, browsers allow the user to specify this preference and expose a media query called prefers-reduced-motion that allows us to react to this configuration.

Applying it on a global level is as easy as typing the following

@media (prefers-reduced-motion) {
  * {
    animation: none;
    transition: none;    

Although, in our case, we have to take into account that we are starting with the hidden element so we will have to show it as well:

@media (prefers-reduced-motion) {
  * {
    animation: none;  

  [data-scroll-init] {
    visibility: visible

This can get complicated quickly, so we can also think about it the other way around and activate the animations if the user has no preference:

@media screen and (prefers-reduced-motion: no-preference) { 
  /* …here goes our custom code */

Remove JavaScript dependency

Another problem we have introduced that is very common is that, in the absence of JavaScript, our page will be unusable since we have several hidden elements that will not be displayed.

The solution here may be the old trick of adding a .no-js class to the body that is changed to .js when JavaScript is initialized, something that in jQuery is as simple as this (you can see here an alternative in JavaScript vanilla)


It would then suffice to restrict our selectors to act only when the page has JavaScript active:

.js [data-scroll-init] {
  visibility: hidden

.js .enter-right {
  animation: enter-right 1s ease-out;

Improve performance using will-change

There is a recent and fairly well-supported property that allows us to announce to the browser when an element is expected to receive state changes that affect its rendering (position, animations, color, etc).

This allows the browser to pass the handling of that element to the GPU, instead of the default behavior whereby the CPU is in charge of rendering until an animation appears, at which point it is passed to the GPU - at which point this "jump" can lead to performance problems or jerky movements. If you want to know more, this article by Sara Soueidan explains it very well.

[data-scroll-init] {
  will-change: transform, opacity;

Next level

As we have seen, Scrollama.js allows us to easily add points on the screen and manually "trigger" actions when certain elements pass through them.

In the tutorial, we focused on micro-animations, but nowadays these types of interactions are being used to build impressive web pages. Two of the most popular techniques in recent years are parallax and scrollytelling: the former refers to the effect by which some elements scroll at a speed different from that of the scroll and the latter, typical of newspaper formats, refers to narrative pieces in which the content is displayed and developed as the user advances. A good example of parallax is the website of the soft drink Cann and in scrollytelling, newspapers such as The Guardian stand out.

From the smallest to the largest, they all have one thing in common: they can be orchestrated using scrollama behind to provide the ability to react to the entry and exit of elements in the scroll.

Mar 16 2021
Mar 16

Lynette has been part of the Drupal community since Drupalcon Brussels in 2006. She comes from a technical support background, from front-line to developer liaison, giving her a strong understanding of the user experience. She took the next step by writing the majority of Drupal's Building Blocks, focused on some of the most popular Drupal modules at the time. From there, she moved on to working as a professional technical writer, spending seven years at Acquia, working with nearly every product offering. As a writer, her mantra is "Make your documentation so good your users never need to call you."

Lynette lives in San Jose, California where she is a knitter, occasionally a brewer, a newly-minted 3D printing enthusiast, and has too many other hobbies. She also homeschools her two children, and has three house cats, two porch cats, and two rabbits.

Mar 16 2021
Mar 16

When Layout Builder was introduced in Drupal 8.6 and stabilized in Drupal 8.7, it created a drift in the page building mechanism being used in Drupal’s ecospace. Layout builder gave tough competition to other tools like Paragraphs, Brick, Panels, and Display Suite. Its unique ability to drag and drop components and preview them real time was a real concession for a page builder tool and for the authors.

However, despite being a prodigious tool for building pages it has its shortcomings when used for enterprise applications which requires a better authoring capability, restricted selections, quick access, and more importantly granular permissions for different user roles.

In this article, I will be covering 10 Drupal contributed modules which can be used in conjunction with the brilliant Layout Builder module that will make the tool more fascinating and authoritative. To add to this awesomeness, all these modules and compatible with Drupal 9 too!

Drupal Layout Builder

The modules are divided into certain categories:

  • Styling - Ability to provide access to the editor to choose from a style library which can be applied to sections and blocks.
  • Authoring experience - Enhance the authoring experience of the editors which they will love.
  • Reusability - Provision to reuse components or sections on different pages to reduce page building time.
  • Quick Access - Provide quick access to the editors to perform certain actions thus saving time.
  • Permissions - Give restricted access to editors or other user roles based on their access.

Layout Builder Styles

The Layout Builder Styles is a powerful Drupal module that allows you to add styles to the blocks and sections right from the UI. It can be used to provide the authors the capability to choose from a list of preset styles defined in the backend.

Large Padding

A "style" is just a representation of one or more CSS classes that will be applied. Additionally, for blocks, a block template suggestion is added for the selected style.

The styles are basically configuration entities which contain the CSS classes. The classes being added in the configuration must be defined in the frontend theme stylesheet for them to reflect on the frontend when applied to a particular section or a block. There is a provision available for having multiple styles which can be applied to a single block or section.

Since the styles are stored as configuration, they can be easily exported to configuration files using Drupal configuration management.

However, you must be responsible while adding styles as you are giving a powerful capability to the authors to alter the styles of the components being placed in a page. If not planned properly, things might go south with conflicting styles.

Layout Builder Component Attributes

The Layout Builder Component Attributes module provides similar provision to authors but with more options and it is only for the blocks being placed in a Layout.

Add Attributes


Oftentimes, authors need to add certain data-attributes or certain CSS Classes/IDs to a block to render the data in a certain way. There are modules available for such cases like Block attributes and Block class but they either lack the support of Layout Builder or need patching to work. The Layout Builder Component Attributes module gives the options to add these details as attributes to the blocks right in the Layout Builder UI out of the box.

The modules provide options ID, Class(es), Styles [inline styles to the block], Data-* attributes. These attributes can be added to 1) the block (outer) element, 2) the block title, and 3) the block content (inner) element. The options are configurable for each element types i.e. if you don’t want the ID field to be available for block titles those can be unchecked in the modules configuration form at


Layout Builder Modal

Drupal’s Layout Builder Modal module modernizes the UI and authoring experience for the block configuration forms or creation forms (in case of inline blocks). The form displayed on the off-canvas dialog sidebar can get really cumbersome because it is very narrow. Especially if you are dealing with complex fields, rich text fields, media references, etc. The off-canvas dialog greatly reduces the usability and is not ideal for such situations.

Add Block

The module opens the forms in a popup window where there is a good amount of breathing space and increased usability. There are configurations available where you can set the width and height of the modal popup window. You can also select which theme to use for the modal content where you can either choose the default enabled themes (Olivero in case of the above screenshot) and the good old Seven administration theme. Currently, Claro is not supported but there is work  going on in this front to make Claro available as an alternative.

Overall, the module greatly enhances the authoring experience for editors and the usability of Layout Builder.

Layout Builder Library

Let’s consider a situation where the editors need to quickly set up a page where they need to show certain content block components based on certain criteria e.g., selection of particular taxonomy terms. Now, this can be done in a hard way that editors create a landing page and then create the same layout again and again for multiple pages with the same content but different conditions. Or else, use the Layout Builder library module.

Library Module

The Layout builder library modules provides the site administrator with the capability to create predefined layouts for each entity-type and bundle combination. Now, these layouts will be available to the site editors while creating the Landing page content. This will make the task much easier and faster where the editors will not have to redo the same task repeatedly. The module also provides granular permissions to restrict editors to create their own bespoke layouts but give them the ability to customize layouts on a per-content-item basis.

Section Library

Similar to the situation above mentioned where editors might need to choose from existing layout from a library, there can be a circumstance where editors will have to reuse certain sections from Layout Builder on multiple pages. This is where the Section Library comes into play. With the module, editors can create their own mini layouts which they can reuse on other pages. This allows them to create pages faster without again, repeated doing the same stuff.

Templates Library

The key difference between this module and the Layout Builder Library module is that the latter builds a full-page template and is config-based. The Section Library is content based so the content editor can create templates on the fly without import/export configs, also it builds templates for the section or multiple combined sections (page) templates.

There is no overlapping between the two modules, and you can use both at the same time.

Layout Builder Direct Add

One of the key features of Layout Builder is the ability to add inline blocks which are one off non-reusable blocks specific to a page. Now if the pages in your system mostly depend on these inline blocks as components, the Layout Builder Direct Add can save some editor's time by saving a few clicks.

Configure Section

The module simple replaces the “Add Block” button with a quick dropdown button to the block types available in the system with a “More” option which opens the off-canvas dialog sidebar. When an editor selects any of the block types from the list it directly opens the block form to create that component.

Layout Builder Operation Link

This small module is a good to have feature for a site. To access the Layout Builder UI for an entity an editor needs to visit the page and then click on the Layout tab in the taskbar. The Layout Builder Operation Link adds a Layout option the dropdown button to contents in the content overview page.

Show Column

The layout option will show up for all the entity type bundles where Layout Builder is enabled. This link saves content editors a click/page load when they want to access an entity's layout page directly without loading its edit page first.

Layout Builder Restrictions

Out of the box, Layout Builder will list out all the blocks available in the system provided by various plugins and modules, fields are available as blocks and there are inline blocks options to create one-off blocks. Apart from that all the layouts provided by other modules and the theme also lists out when a section is being placed. This can be a little confusing and overwhelming for editors and poses a usability problem since the number of blocks can quickly grow in an enterprise application.

Default Restrictions

Layout Builder Restrictions solves this problem by providing a configurable layout with options that are needed. These options will be present whenever Layout Builder is enabled for any entity display. The module configurable UI for allow-listing/deny-listing blocks and layouts. Sites can allow all options from a certain provider, or restrict all options by provider, or specify individual allowed blocks & layouts. Site administrators can allow/deny those blocks that are useful for editors to build the pages and only those blocks and layouts will be available for the editors to choose from.

Layout Builder Advanced Permissions

Although Drupal provides a powerful permission system for user roles, there can be possibilities of more granular permissions based on the roles. The situation may arise when there are multiple user roles interacting with the system and pages.

Advanced Permissions

The Layout Builder Advanced Permissions module gives that capability to the site administrators to provide restricted permissions to use based on their role. These permissions are global which are applied across all entity types where Layout Builder is enabled. To take things further and restrict access on a cruder level, Layout builder lock will come handy which will be covered in the next section.

Layout Builder Lock

As mentioned above, the Layout Builder Lock will provide a cruder access for users. It allows administrators to lock sections of a default layout so users can't perform certain actions when overriding the layout for an individual entity.

Administrative Label


These lock settings will be available when the module gets installed and will be available for all sections. There are global permissions available to manage the access of the lock features. These are advanced editorial features which should be added and used very responsibly. Locking out a section, or any component inside a section means that the section will have very limited access for changeability.

Quick Recap

  1. Layout Builder Styles - allow site builders to select from a list of styles to apply to layout builder blocks and layout builder sections.
  2. Layout Builder Component Attributes - allows editors to add HTML attributes to Layout Builder components (blocks).
  3. Layout Builder Modal - lets you add and configure existing blocks in a modal in the Layout Builder UI.
  4. Layout builder library - provides a layout library allowing content editors to pick from a list of predefined layouts.
  5. Section Library - create reusable templates for single or multiple sections.
  6. Layout Builder Direct Add - replaces the "Add block" link with a drop-button that lists custom block types.
  7. Layout Builder Operation Link - adds a 'Layout' operation link to Layout Builder-enabled content on Drupal administrative pages.
  8. Layout Builder Restrictions - set which blocks and which layouts should be available for placement in Layout Builder.
  9. Layout Builder Advanced Permissions - allows to control in details access to the Layout builder page by providing a more granular permissions set.
  10. Layout Builder Lock - allows administrators to lock sections of a default layout so users can't perform certain actions when overriding the layout for an individual entity.
Mar 16 2021
Mar 16

Last week, we posted about the new starterkit custom theme creation process and base theme with the goal of replacing Classy in Drupal 10. Yesterday Lauri Eskola demonstrated the current status of the starterkit at the Drupal 10 meeting. Check out the recording and post your feedback in the issue.

Discuss in the #frontend channel on Drupal Slack too. Drupal 10 readiness meetings are every other Monday at 19:00 UTC in the #d10readiness.

Participate in the Drupal 10 readiness day at DrupalCon North America 2021 to learn even more and get mentored contributing to starterkit.

Mar 16 2021
Mar 16

MidCamp will be hosting a sprint to create automated tests for Drupal’s new Olivero theme on Thursday, March 25th, and Saturday, March 27th, 2021. During this sprint, attendees will learn to write functional tests using Drupal core’s test suites, PHPUnit and NightwatchJS. We’ll then submit patches to Drupal.org to go through the process of committing them to Drupal core.

Why do we want tests?

Drupal core is a very complex content management system, with loads of functionality and edge cases that need to be accounted for when committing code. Thoroughly testing all of this manually is extremely difficult and time-consuming. However, automated tests fill this gap to ensure critical functionality does not break when new code is committed.

To that end, we’re going to create various automated tests for Olivero that will ensure we don’t commit code that breaks existing functionality. 

Sprint schedule


Thursday morning, Bluehorn Digital’s Matt Glaman will be leading a class on getting up and running with NightwatchJS. The goal of this class is to get Nightwatch tests running locally – with DDEV, Lando, or a regular local environment. We will walk through configuring Nightwatch for your environment, running Chromedriver, and executing an existing test within Drupal core.

That afternoon, we’ll be writing our first tests for Olivero. Matt will once again be mentoring. We’ll be concentrating on writing the Nightwatch install script and an initial test. When the Nightwatch test suite executes a test, it runs an installation script to set up the test Drupal site. We’ll need to write a script that enables Olivero and sets up some content. Once we have the install script created, we will test the Olivero menu collapse when a user begins scrolling on the page.


On Saturday, Brian Perry, Matt Glaman, and Mike Herchel will lead teams to concentrate on writing both PHPUnit and Nightwatch tests. We’ll also possibly contribute NightwatchJS documentation to Drupal core

Toward making Olivero stable

These tests are a critical requirement for stabilizing Olivero, and making it the default theme for Drupal (replacing Bartik). You can review the meta-issue for creating these tests.

What you can do

If you want to participate, you’ll need to have a working Drupal 9.2.x running on your local computer. You can download the latest Drupal core 9.2.x and set up your local environment.

One more thing… Register for MidCamp today! Ticket prices start at FREE!


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