Drupal Planet

Drupal.org blog: What’s new on Drupal.org - January 2020

2 weeks 3 days ago

Read our Roadmap to understand how this work falls into priorities set by the Drupal Association with direction and collaboration from the Board and community.

Project News Get Ready for Drupal 9

Are you wondering what it will take to upgrade to Drupal 9? Good news - it's going to be easier than any other major version upgrade in Drupal's history.

The upgrade to Drupal 9 is just like any other Drupal upgrade, except that the new codebase has updated key dependencies Drupal relies on and removed deprecated code. As long as all the modules and custom code you use don't rely on deprecated code - you should be good to go.

As it turns out, many contributed or even custom modules only need a one-line change to be ready for Drupal 9. You can use these community created tools to check the status of your modules: the upgrade status module, or the Drupal Check command line tool. In many cases, you may just need to remove some deprecated code in favor of the more modern implementations. Drupal Rector can provide you with automated fixes for many of these deprecations. 

Still getting to grips with Composer?

If you're still getting to grips with using Composer after the changes in Drupal's 8.8.0 release, don't worry - there's help to be found. The community has extensively documented the different scenarios a site owner may find themselves in with this update.

If you've previously used one of the community created templates to manage your site to composer, there are instructions to migrating to the officially supported method.

If you've never used Composer at all - you're in luck - with 8.8.0 and beyond everything you need is already in place. 

Drupal.org Update Drupal.org Packaging updates

As mentioned in our December update, we've been making major improvements to the Drupal.org packaging pipeline, to support packaging Drupal using Composer create project. We reached a major milestone at DrupalCamp New Jersey, allowing our packaging pipeline to properly support the Composer create project command when generating tar and zip files, and paving the way for enhancements to the core subtree splits.

Updating this pipeline is critical for ongoing releases of Drupal, and is part of paving the way for the Drupal 9 alpha release. We want to thank Acquia for donating time to help us get this work ready.

Preparing for contrib Semver

Per our roadmap for supporting Semver for contributed projects on Drupal.org, we have updated the way contrib version numbers are stored, making existing version numbers parseable when we convert to full semver. We also collaborated with core contributors at DrupalCamp New Jersey to identify and resolve a number of other related issues.

Drupal.org now has an example project which uses semantic versioning, which we are using as the testbed for this support, and to prove out any additional UI changes that we want to make before rolling this out to all other contributed projects.

Want to learn more about Semantic Versioning and how to use it properly within your projects? Semver.org can walk you through it.

More accessible formatting for the DrupalCon program schedule

It's almost time for the DrupalCon Minneapolis program to be published! To prepare for this launch, we've made updates to the program schedule to improve accessibility and readability for attendees.

In particular these updates have focused on line weights, spacing, and other formatting changes that should improve readability. With the accepted sessions being announced soon,  we're excited to see what you think!

Better social event submission tools for DrupalCon events

Some of the best parts of DrupalCon are the social events that take place around it. They're a chance for the community to celebrate and build camaraderie, and an established tradition. We've made updates to the social event submission process to make getting your event listed easier than ever. 

Join the Drupal Community in person! 

By the way… have you registered for DrupalCon yet?

DrupalCon is the best place to come together with other members of the Drupal community in person. It's also the central meeting point for all of facets of the Drupal business ecosystem, so if you are end-user looking for training or a vendor to support your Drupal deployment - there's no better place to be than DrupalCon.

DrupalCon Minneapolis is going to be here any day now - so get your tickets before prices go up!

Can't make it to Minneapolis? Join us at DrupalCon Barcelona 2020 in September.


As always, we’d like to say thanks to all the volunteers who work with us, and to the Drupal Association Supporters, who make it possible for us to work on these projects. In particular, we want to thank:

If you would like to support our work as an individual or an organization, consider becoming a member of the Drupal Association.
Follow us on Twitter for regular updates: @drupal_org, @drupal_infra

DrupalCon News: Plan your stay at a DrupalCon partner hotel

2 weeks 3 days ago

The handful of hotels we have selected in Minneapolis each offer an ideal hub — connecting you to a rewarding DrupalCon community experience. This year, choose from multiple Hiltons, a Hyatt, a Holiday Inn and more as part of our special DrupalCon attendee offerings. Why is staying at a DrupalCon partner hotel great for you and the community? Read on:

Droptica: Creating Custom Drush 9 Commands in Drupal 8

2 weeks 4 days ago
In Drupal 8.4.X and later releases, Drush 9 is the only supported and recommended version. One of the key changes introduced in this version is a new model of writing custom Drush commands. From now on, .inc files are obsolete and you will no longer use them for your commands, which are now classes based on AnnotatedCommand format. The underlying structure of a module containing your custom Drush command will look as follows: ​  

Lullabot: Lullabot Podcast: Putting your Drupal site on the shelf with Tome

2 weeks 4 days ago

Tome is a suite of Drupal modules that can make your site into secure, fast, static HTML. 

Long story short, you can use Drupal in the same way you would use other static site generators like Jekyll or Hugo - everything lives in one repository, and Drupal only runs on your local machine.

The creator, Sam Mortenson tells us everything we need to know.

wishdesk.com: Intelligent image cropping on your site: Focal Point Drupal module!

2 weeks 4 days ago

The saying “content is king” is an indisputable truth for well-performing websites with high traffic, good SEO rankings, and conversions.

If content is the king, then attractive images are the crown! To make the crown fit perfectly, the easy content creation processes on every website should include handy ways to add and optimize images.

One of the ways of image optimization is cropping. Today, we will tell you about intelligent, or smart cropping of images that makes sure they are presented in their best look.

And we will review a very helpful Drupal module that takes care of intelligent image cropping — the Focal Point.

Opensource.com: How Drupal 8 aims to be future-proof

2 weeks 5 days ago

Thomas Edison famously said, "The three great essentials to achieve anything worthwhile are, first, hard work; second, stick-to-itiveness; third, common sense." This quote made me wonder if "sticking-to-it" is contradictory to innovation; does it make you resistant to change? But, the more I pondered on it, I realized that innovation is fueled by perseverance.

Promet Source: Web Accessibility Get Started Guide for Content Editors

2 weeks 5 days ago
ADA Compliance with Web Content Accessibility Guidelines has not traditionally been a top-of-mind consideration for the writers, editors, and subject matter experts who populate websites with content. Then again, the same can be said for developers, designers, site architects, and everyone involved in creating and maintaining websites.

Lullabot: The Widget Registry: How to Serve Reusable Interactive Content Pieces

2 weeks 5 days ago

During a recent project, the challenge of providing reusable, interactive web components to allow content editors to build pages presented itself. These components were to be created and developed by different teams, and available on the main Drupal site and a set of static pages, each of which had specific requirements and were already working in production.

Several decisions factored into finding the right solution to this challenge. This article explains what those decisions were and how the solution was implemented.

Tag1 Consulting: Yjs Offline Apps with IndexedDB - Tag1 TeamTalk #009

2 weeks 5 days ago
Description What happens when you have a connection that isn't working, but you have a mission-critical document that you need to collaborate on with others around the world? The problem of peer-to-peer collaboration in an offline environment is becoming an increasingly pressing issue for editorial organizations and enterprises. As we continue to work on documents together on flights, trains, and buses, offline-first shared editing is now a base-level requirement rather than a pipe dream. Yjs, an open-source framework for real-time collaboration, integrates gracefully with IndexedDB, the local offline-first database available in browsers, to help developers easily implement offline shared editing for their organization's needs. Paired in turn with other technologies like WebRTC, a peer-to-peer communication protocol, and Yjs connectors, a graceful architecture is possible that not only enables offline shared editing for a variety of use cases beyond textual content but also makes the developer experience as straightforward as possible. In this technical and topical deep dive into how Yjs and IndexedDB make offline shared editing possible, join Kevin Jahns (creator of Yjs and Real-Time Collaboration Systems Lead at Tag1), Fabian Franz (Senior Technical Architect and Performance Lead at Tag1), Michael Meyers (Managing Editor at Tag1), and your host Preston... Read more preston Wed, 02/05/2020 - 14:13

DrupalCon News: The Community Summit

2 weeks 6 days ago

Authored by AmyJune Hineline, Community Ambassador at Kanopi Studios, with support of the Community Summit Leads 

DrupalCon is our annual stomping ground... Sure, local and regional camps and meetups are fun, but where else can more than 3,000 Drupalists get together and reunite, socialize, share knowledge, set goals and move the Drupal project forward for a whole week?

Jeff Geerling's Blog: Migrating JeffGeerling.com from Drupal 7 to Drupal 8 - How-to video series

2 weeks 6 days ago

This website is currently (as of February 2020) running on Drupal 7. Drupal 8 was released in November 2015—half a decade ago. Drupal 7 support has been extremely long-lived, as it will not be end-of-life'd until November 2021. As with all software, once it is out of date, and security patches are no longer provided, it becomes harder to ensure the software is secure, much less running well on the latest servers and PHP versions!

Therefore, I decided it was time to start migrating JeffGeerling.com to Drupal 8. And I figured instead of fumbling through the process all by myself, and maybe posting a couple blog posts about the process at the end, I'd adopt a new mantra: Let's fail together! (Just kidding—sorta.)

ComputerMinds.co.uk: Nathan's fix for Rabbit Hole

2 weeks 6 days ago

In case you're not aware, this year a bunch of us at CM are taking on a Drupal contribution challenge. Do go read about it!

I managed to squeeze in this contribution BEFORE the challenge started 😅 What a way to start the year!

We have a site that uses a large number of features to manage a large number of taxonomies, and I was tasked with rabbit-holing them all. That is, to make sure that if a user tries to visit any of their term pages, they just get a 404 page. Rabbit Hole is the answer, and lets you configure such things for most entity types that you might want to hide from public view.

Having a large number of features is one thing, but this was also a multi-site installation where we have four sites running off the same codebase - and a fifth in construction! Reviewing each taxonomy and rabbit-holing it, therefore, would take some time.

It turned out, though, that even more time would be spent on the already-slow features export page. Features was unable to recognise that the Rabbit Hole variables created for my taxonomies needed to be exported, and thus just left me with an enormous box of variables to select from!

Fortunately, somebody pointed out that there's a hook for that!

A few hook_features_pipe_COMPONENT_alter() instances later, and I had nodes and taxonomy terms covered. (see the patch for detail - don't worry it's not long!)

There are a bunch of other entity types you might want to do this for, but I didn't want to get too tangled up. Hopefully somebody can copy the examples I've done, with a little extra time for testing, and complete the set. Else, we've nicely covered some key bases.

Drupal issue 3050826 has now made progress! Plus, James found some time to review the fix. Thanks James!

It still took a few hours to get databases for all the sites, check the usages of each taxonomy and update the features, but at least the auto-dependencies button worked - a nice chunk of time saved by fixing something for the community, hurrah! 🥳

(Photo by Victor Larracuente on Unsplash)

Specbee: Configuring the Drupal 8 Metatag Module

2 weeks 6 days ago
Configuring the Drupal 8 Metatag Module Prashanth 04 Feb, 2020 Top 10 best practices for designing a perfect UX for your mobile app

Meta tags are often underrated. Sure, they are not visible on your page up front but they are those hidden ninjas that can elevate your SEO game. These modest snippets of text that describe what your page is about can turn out to be very useful. The Drupal 8 Metatag module helps site builders to dynamically create and manage these meta tags for each of their web pages through an interactive admin interface (and no code!).

With the Drupal 8 Metatag module, you can not only provide structured metadata about a web page but can also customize meta tag elements. Meta elements are tags used in HTML or XHTML documents to provide structured metadata about a web page. They are part of a web page's head section. Multiple Meta elements with different attributes can be used on the same page. Lets learn more on improving SEO with the Metatag module. 

Setting-up the Drupal 8 Metatag Module

Meta elements can be used to specify page description, keywords and any other metadata not provided through the other head elements and attributes.You need to add  meta tags in the head section of your Drupal 8 pages for title, description, keywords, twitter card, facebook open-graph - to make your website SEO friendly. Download and install the module here.

With the Drupal Metatag module, we can configure the following -

  • Configuring Meta tags for home page(front page).
  • Configuring Meta tags for a Content type.
  • Configuring Meta tags for view pages.
1) Configuring Drupal 8 Meta tags for home page/front page.

After installing the module, you can edit global configurations at /admin/config/search/metatags and set the global configuration for the front page. Click on Edit to get into the details.

                      Drupal 8 Metatag - Configuration for Front page

Enter Page title, Description, Abstract, and Keywords.

              Drupal 8 Metatag - Configuration for Front pagePage Title

This snippet is not only useful to search engines but also to your users. It appears in the title bar of your web page and should not exceed 55 characters. It also acts as a title for when your web page is bookmarked.


Enter a brief description of your website. Make sure that the description does not exceed 150 characters because search engines won't display more than that on a results page. If you don't have either field filled out, Google will decide what to display without any input from you. It can be very helpful to write up a snappy description for your content here.


Enter a brief Abstract (Optional). Again, keep it to fewer than 150 characters but instead of something snappy, try to be as plainly descriptive as possible.


Enter a comma separated list of keywords related to your website.

Advanced Settings and Custom Meta tags

There are some important things here that were previously handled by code. 

             Drupal 8 Metatag - Advanced SettingsRobots

Normally, if you want to block or allow search engines from indexing a page or disallow search engines to display cached copies or descriptions of your page, you would edit the site-wide Robots.txt file. Here, you can control all of it and more with the Robots meta tag by checking/unchecking the various indexing options it provides.

News Keywords

This Meta tag is exclusively used by Google News that takes in comma-separated keywords as inputs. 


Any details about a copyright or trademarks that you might have, should go here.


This one is also relatively new and can be handy for telling social networks which image they should use with a post.

Canonical URL

Canonical URLs are very useful for dealing with duplicate content issues. This is something that is often a problem on e-commerce sites where product listings are duplicated on multiple pages. Metatag does a good job of handling this by default.

Shortlink URL

This element acts as an alternative to link shorteners. In Drupal they usually come out looking something like this:

Original Source

This tag is also something that Google came up with, this time to help identify the original source of content. This one may be particularly useful for news sites, but can be safely ignored by most.
Save your settings.

2) Configuring Drupal 8 Meta tags for a Content type

Edit global configurations at  /admin/config/search/metatags, set the global configuration for Content. Click on Edit to get into the details. If you want to add different metatags for different content types, then click on the “Add default Meta tags” link on the top left corner of the page. Select the content type you wish to add metatag to and click on Save and configure.

                   Drupal Metatag - Configuration for Content types      Drupal 8 Metatag - Configuration for Content type : Article

The content type will be listed in the Meta tags screen. The above screenshot shows the content type ‘Article’. Click on edit to add metatags.

Enter Page Title, Description, Abstract, and other necessary settings. Follow the same procedure as mentioned above in configuring metatags for the ‘front-page’.

3) Configuring Drupal 8 Meta tags for View pages

Enable “metatag: views” module which is a sub-module of the metatag module.

                  Drupal Metatag - Configuration for Views

Edit global configurations at /admin/config/search/metatags. Click on override to get into the details.
To add the meta tags in view go to the views edit screen and click on the meta tags link.

The above setting is the default setting for the view page.

The Drupal 8 Metatag module is a powerful amalgamation of various individual modules that aims at lowering manual coding to configure meta tags. Modules like the Page Title, Open graph Meta tags, Easy Meta, Refresh and more are now merged into the Drupal  Metatag module. It also provides multilingual support, can override meta tags based on entity object, supports editorial workflows and much more.

As a leading Drupal development company, we implement best practices both in strategy and coding that can help you achieve project success.

Drupal Planet Shefali ShettyApr 05, 2017 Subscribe For Our Newsletter And Stay Updated Subscribe

Leave us a Comment

  Shefali ShettyApr 05, 2017 Recent Posts Image Configuring the Drupal 8 Metatag Module Image Implementing Google Directions Module in Drupal 8 – A quick guide Image A Prelaunch Checklist for your Drupal Website Want to extract the maximum out of Drupal? Contact us TALK TO US Featured Success Stories

Know more about our technology driven approach to recreate the content management workflow for [24]7.ai


Find out how we transformed the digital image of world’s largest healthcare provider, an attribute that defined their global presence in the medical world.


Discover how a Drupal powered internal portal encouraged the sellers at Flipkart to obtain the latest insights with respect to a particular domain.


Tandem's Drupal Blog: Drupal 8 Performance Tips and Tricks for 2020

3 weeks ago
February 04, 2020 Outlining some of the tried and tested performance enhancements that will lead you to victory in Drupal 8, Drupal 9, and beyond. Overview I have really enjoyed how much easier it is to make Drupal 8 performant compared to its predecessors. When I first started working with Drupal 8 performance, I was surprised how few of the t...

Kris Vanderwater: Grid Layout & Layout Builder

3 weeks ago
Grid Layout & Layout Builder by Kris Vanderwater -- 3 February 2020

I've been working on a personal site that I've maintained since before I even got involved with Drupal. It's been iteratively migrated and upgraded from those early days on pmachine to its current iteration on Drupal 7. Obviously, I've been planning to upgrade it to the newest Drupal 8. All in all, this has gone pretty well, but as a big contributor to Layout Builder, I really wanted to use it on the site as much as possible. This hasn't gone anywhere close to how I would have liked. :-(

Flocon de toile | Freelance Drupal: Easily reorder nested paragraphs with Drupal 8

3 weeks ago
The Paragraph module allows, among other uses, to propose various and varied structured layouts according to the needs of a project, directly accessible and manageable by a content editor, without any particular administration rights. One of the major drawbacks I have encountered with Paragraph, for the design of complex landing pages, is the impossibility to change the parent of a paragraph in the case of nested paragraphs. As a user of the Paragraph module for many years, I may not have read all the release notes of the module. And that's probably why I'm only now discovering that the Paragraph module now natively offers a drag and drop function that allows you to completely reorder the layout of paragraphs, whether or not they are nested in other paragraphs.
12 minutes 34 seconds ago
Drupal.org - aggregated feeds in category Planet Drupal
Subscribe to Drupal Planet feed