clemens-tolboom merged a pull request in KennisnetwerkDataScience/Wifi-punten-in-Leeuwarden

On github - Wed, 2021/02/03 - 3:37pm
clemens-tolboom merged a pull request in KennisnetwerkDataScience/Wifi-punten-in-Leeuwarden Feb 3, 2021 Bump bleach from 3.1.4 to 3.3.0 in /Groep 5 #13

Bumps bleach from 3.1.4 to 3.3.0. Changelog Sourced from bleach's changelog. Version 3.3.0 (February 1st, 2021) Backwards incompatible changes c…

+1 -1

clemens-tolboom pushed to master in clemens-tolboom/tf-simple-tensors

On github - Wed, 2021/02/03 - 3:36pm
clemens-tolboom pushed to master in clemens-tolboom/tf-simple-tensors Feb 3, 2021 2 commits to master
  • 1d55bdc Merge pull request #7 from clemens-tolboom/dependabot/pip/bleach-3.3.0
  • d0fcacc Bump bleach from 3.2.1 to 3.3.0

clemens-tolboom merged a pull request in clemens-tolboom/tf-simple-tensors

On github - Wed, 2021/02/03 - 3:36pm
clemens-tolboom merged a pull request in clemens-tolboom/tf-simple-tensors Feb 3, 2021 Bump bleach from 3.2.1 to 3.3.0 #7

Bumps bleach from 3.2.1 to 3.3.0. Changelog Sourced from bleach's changelog. Version 3.3.0 (February 1st, 2021) Backwards incompatible changes c…

+366 -277

clemens-tolboom pushed to master in groningenml/

On github - Wed, 2021/02/03 - 3:36pm
clemens-tolboom pushed to master in groningenml/ Feb 3, 2021 2 commits to master
  • 54efd3d Merge pull request #19 from groningenml/dependabot/pip/misc/bleach-3.3.0
  • bde5bb9 Bump bleach from 3.1.1 to 3.3.0 in /misc

clemens-tolboom merged a pull request in groningenml/

On github - Wed, 2021/02/03 - 3:36pm
clemens-tolboom merged a pull request in groningenml/ Feb 3, 2021 Bump bleach from 3.1.1 to 3.3.0 in /misc #19

Bumps bleach from 3.1.1 to 3.3.0. Changelog Sourced from bleach's changelog. Version 3.3.0 (February 1st, 2021) Backwards incompatible changes c…

+320 -124

Amazee Labs: Video: DrupalCon Europe 2020 Speaker Replay

Planet Drupal - Wed, 2021/02/03 - 11:47am
<img src=";itok=B3R9UndF" width="1120" height="630" alt="Replay of Amazee Labs DrupalCon Europe 2020 Speaker videos" title="Video: DrupalCon Europe 2020 Speaker Replay" class="image-style-leading-image" /> Thanks to all the hard work of the organiszers, speakers, attendees and, of course, contributors from the open source community. Without a doubt, DrupalCon Europe 2020 was a great time for everyone who was able to attend and an excellent opportunity to share and sharpen our experience design, web development, and web maintenance skills. Of course, the on-going mission to improve all things open source and Drupal 9 projects continues, so if you weren’t able to attend the event, missed a few sessions that you weren't able to fit into your schedule, or just want to refresh your memory — we’ve got you covered. In this article, we’ve pulled together the replays of our best sessions for you to watch — all in one easy place!

DrupalEasy: Interesting tidbits of usage in 2020

Planet Drupal - Wed, 2021/02/03 - 10:00am

I was poking around the project usage page over the holidays checking out some trends and making sure there weren't any up-and-coming contrib projects that haven't been on my radar. Since Drupal 8 was released (over 5 years ago!) I've been bothered by the fact that this page can't be filtered by the Drupal core version.

Along the way I fell into a bit of a rabbit hole and decided to dig much deeper into statistics. But first, let's take a look at contrib projects.

Most installed contrib projects

An incomplete workaround to finding the most installed contrib projects by Drupal core version is to use the module search page and filter it by Drupal core version and sort by "most installed." While this provides a list of modules, it doesn't provide historical trends as the project usage page does. Regardless, here's some data:

Top 5 installed Drupal 8 and 9 contrib modules 

Top 5 installed Drupal 7 contrib modules

Top 5 installed Drupal 9 contrib themes 

Top 5 installed Drupal 8 contrib themes 

Top 5 installed Drupal 7 contrib themes

While this data is somewhat interesting, there really aren't any surprises. usage statistics

For that, I recently requested, and received access to the analytics from the Drupal Association with the goal of looking at some usage statistics from 2020 and to dig a little deeper into what Drupal developers were up over the past 12 months.

I wasn't interested in doing a complete statistical analysis of the data and comparing it with historical data, rather I was just looking for things I thought were cool. Plain and simple.

All data below is for the time period of January 1, 2020 - December 31, 2020.

First off, I'm not a data scientist - I'm just a nerd who likes to look at data sometimes, so some of the assumptions I make below may be off-the-mark. If so, feel free to correct me.

Let's start off with some basic stats - in 2020, there were about 50,000 users on on any given weekday. Anecdotally, the daily December average was around 5,000 users/day higher when compared with January.

Who are we and how are we accessing

Where are the users coming from? Not surprisingly, the largest percentage came from the United states, but more visitors came from India and China (when combined). Clearly, we need to do a better job in recruiting from these areas to be more involved in Drupal leadership. 


  • 20% US
  • 12% India
  • 11% China
  • 5% Sweden
  • 3% United Kingdom

Interestingly enough, when looking at the top 10 cities where traffic originates, 6 of the top 10 are from China and India. In order, they are: Beijing, unspecified, Stockholm, Chicago, Bengaluru, Chennai, London, Mumbai, Hyderabad, Pune

The majority of visitors' browsers report their language as English, with Chinese the next largest share. This seems to imply that many of the visitors from India speak English well enough to have their browsers set to use English.


  • 49% English (US)
  • 12% Chinese
  • 9% English (GB)
  • 3% English (unspecified)
  • 3% Spanish

Some other interesting statistics about who is visiting

  • 85% are new visitors - this seems (very) high to me, and I'm going to attribute (at least a portion of it) to folks with privacy controls that make it seem like they're a new visitor.
  • Over 60% of visitors use Chrome, with almost 50% on some version of Windows, and 80% using a desktop browser.
  • Over 60% of users arrive via an organic search - this is not surprising to me at all, as I routinely (multiple times a day) use Duck Duck Go to search for content on rather than use's search tool.
What are we looking at?

Now for the data I was really I was interested in finding - which topics, issues, and projects we were actually looking at in 2020. To do this, I focused mainly on the top 100 most visited pages on 

Hash-tagged numbers indicate the page's position in's overall most visited pages ranking.

Most visited contributed projects

No huge surprises here, except I'm still amazed by the popularity of Bootstrap (keep in mind there are multiple Bootstrap-based base themes as well!) I was also a bit surprised at the popularity of Commerce, not because it isn't an amazing tool, but because I would've guessed other projects would be above it (Redirect module, for example, is #46).

It's also interesting that Webform was the most visited contributed project page, but didn't appear in any of the "most installed" lists above.

Most visited topic-specific documentation pages

Unsurprisingly, the top 2 most visited documentation pages (that aren't landing pages) were related to Composer. 

Most visited contrib project issues

This was probably the most unexpected and unexplainable data I found. No way I would've ever guessed that the most visited contrib project issue would be for the Commerce Braintree module. Luckily, it is marked as "fixed", I can only imagine that the traffic was primarily to access the patch? 

Then, the second most visited issue is related to the Image module for Drupal core version 5.x? It's traffic is pretty consistent for all of 2020. The only thing I can think of to possibly explain this is that the thread has a magic combination of keywords that put it high in organic search results (well over 90% of the traffic to this page originates from search engines).

Most visited forum post

How to login to Drupal admin panel (from 2017!) #84

Yes, the forum is still alive and people are still accidentally getting locked out of their sites.

Most visited page without a path alias

How to fix "The following module is missing from the file system..." warning messages (from the "Reference" section) #43

Oh yeah - I've definitely been someone who has searched for, and landed on this page.

Most visited Drupal core issues 

I didn't know what to expect when I went looking for the most visited Drupal core issue, but as soon as I found #216, it made perfect sense. I feel like you are in the minority of users if your Drupal core 8.8 update went smoothly.

Most visited Drupal core release pages 

I'm at a loss to explain why these core release pages were visited more than any others. Overall, there were 6 Drupal core release pages in the top 200 most visited pages.

Most visited pages overall

After the home page, the top visited pages were the project search, the download page, Drupal core, user Dashboards, the theme search, the User Guide, and Try Drupal.

None of these are all that surprising or interesting, at least to me, but included here for completeness. 

Finally, I was curious as to how many of the top 100 most visited pages were documentation pages (12) and contributed project pages (46).


A few things that I took away from this exercise:

  • Traffic to increased during 2020.
  • Composer continues to be a pain point in the community.
  • The contributed module ecosystem continues to be one of the crown-jewels of the Drupal community.
  • Pathauto should be in core (try to convince me otherwise)
  • Should the community consider tweaking metadata for pages related to older versions of Drupal core so they don't rank as high in search engines?
  • There seems to be an opportunity for new contributors to be provided with a list of the most visited forum, reference, and issue pages and convert those that make sense into documentation pages.
  • Why aren't a commensurate percentage of people from places with high numbers of users community leaders, and what can we do collectively to remedy it?

Thanks to Tim Lenhen from the Drupal Association for providing me with temporary access to the analytics.


MD Systems blog: Global Contribution Weekend 2021

Planet Drupal - Wed, 2021/02/03 - 8:32am
It’s this time of the year again! Late January is the Global Contribution Weekend in the Drupal community.

Promet Source: 8 Reasons: Drupal Proves Top Pick for Government Sites

Planet Drupal - Wed, 2021/02/03 - 2:20am
More so than ever before, government and public sector websites are called upon to multi-task,  functioning as the digital town square -- a central spot for connecting, conducting business, keeping informed, showcasing top attractions, and a lot more. 

DrupalCon News: Last chance for Early Bird DrupalCon Registration!

Planet Drupal - Tue, 2021/02/02 - 7:01pm

Don’t miss your last chance to register for DrupalCon at the early bird rate.


Specbee: Boost Up your Drupal 9 SEO game - Implementing the RobotsTxt module in Drupal 9

Planet Drupal - Tue, 2021/02/02 - 9:50am
Boost Up your Drupal 9 SEO game - Implementing the RobotsTxt module in Drupal 9 Ankitha 02 Feb, 2021 Top 10 best practices for designing a perfect UX for your mobile app

The Robots.txt file is a very underrated on-page SEO factor. Not everybody realizes the value it brings to the table. The Robots.txt file is like an access control system that tells the crawler bots which pages need to be crawled and which ones don’t. It is a rule book for your website which is read by the various web spiders before it attempts a crawl on your website.

There are tons of amazing Drupal SEO modules in version 9 and 8 that help make our jobs easier and boosts SEO ranking. And one of them is the RobotTxt module. The RobotsTxt module in Drupal 9 (and 8) is a handy feature that enables easy control of the Robots.Txt file in a multisite Drupal environment. You can dynamically create and edit the Robots.txt files for each site via the UI. Let’s learn more about this utility module and how to implement it in Drupal 9.

But how does Robots.Txt help with SEO?

So, Robots.Txt files restrict crawlers from crawling some pages. But why wouldn’t you want all your pages/files to be crawled, right? Why do you need to have any restrictions whatsoever? Well, in this case, the more isn’t always merrier.

  • Without a Robots.txt file, you are allowing web spiders to crawl all your webpages, sections and files. This uses up your Crawl Budget (Yes, that’s a thing) – which can affect your SEO.
  • A crawl budget is the number of your pages crawled by web spiders (Google bot, Yahoo, Bing, etc.) in a given timeframe. Too many pages to crawl could decrease your chances of being indexed faster. Not only that, you might also lose out on indexing the important pages!
  • Not all your pages need to be crawled. For example, I’m sure you wouldn’t want Google to crawl your development / staging environment web pages or your internal login pages.
  • You might want to restrict media files (images, videos or other documents) from being crawled upon.
  • If you have a reasonable number of duplicate content pages, it is a better idea to add them to the Robots.Txt file instead of using canonical links on each of those pages.
How to Install and Implement the RobotsTxt Module in Drupal 9

The RobotsTxt Drupal 9 module is great when you want to dynamically generate a Robot.Txt file for each of your website when you are running many sites from one codebase (multisite environment). 

Step 1: Install the RobotsTxt Module for Drupal 9

Using composer: 

composer require 'drupal/robotstxt:^1.4' Step 2: Enable the module

Go to Home > Administration > Extend (/admin/modules) and enable RobotsTxt module.

  Step 3: Remove the existing Robots.txt file

Once the module is installed, make sure to delete (or rename) the robots.txt file in the root of your Drupal installation for this module to display its own robots.txt file(s). Otherwise, the module cannot intercept requests for the /robots.txt path.

Step 4: Configure

Navigate to Home -> Administration -> Configuration -> Search and metadata -> RobotsTxt (/admin/config/search/robotstxt), where you can add in your changes to “Contents of robots.txt” region. Save the configuration.

Step 5: Verify

To verify your changes please visit

RobotTxt API

If you want to implement a shared list of directives across your multisite environment, you can implement the RobotsTxt API. The module has a single hook called  hook_robotstxt(). The hook allows you to define extra directives via code. 

The example below will add a Disallow for /foo and /bar to the bottom of the robots.txt file without having to add them manually to the “Contents of robots.txt” region in the UI.

/** * Add additional lines to the site's robots.txt file. * * @return array *   An array of strings to add to the robots.txt. */ function hook_robotstxt() {   return [    'Disallow: /foo',    'Disallow: /bar',  ]; }

The RobotsTxt module in Drupal is just one out of tons of effective Drupal SEO modules that can help you up your SEO game. Implementing the Robots.Txt file is of course not mandatory but it is definitely a great tool to have if you want to improve your website’s visibility. Looking for expert Drupal SEO services to help you with your next project? Or just need more information on this module? We’d love to talk to you!

Drupal Drupal Planet Drupal 9 Drupal 8 Drupal Tutorial Drupal Development Shefali ShettyApr 05, 2017 Subscribe For Our Newsletter And Stay Updated Subscribe

Leave us a Comment

  Shefali ShettyApr 05, 2017 Recent Posts Image Boost Up your Drupal 9 SEO game - Implementing the RobotsTxt module in Drupal 9 Image Top 7 Remarkable Education Websites Built on Drupal (and Why was it Chosen) Image Drupal 9.1 and its compatibility with PHP 8 – Learn what’s new and how to check compatibility Want to extract the maximum out of Drupal? TALK TO US Featured Success Stories

A Drupal powered multi-site, multi-lingual platform to enable a unified user experience at SEMI.


Discover how our technology enabled UX Magazine to cater to their massive audience and launch outreach programs.


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



DrupalCon News: Register for DrupalCon while you can still get the early bird discount!

Planet Drupal - Mon, 2021/02/01 - 6:02pm

Buy your ticket before 11:59 p.m. ET (UTC -5) on February 3 to get the early bird rate and save $50 on admission.


clemens-tolboom commented on pull request lupoglaz/GodotAIGym#9

On github - Mon, 2021/02/01 - 4:27pm
clemens-tolboom commented on pull request lupoglaz/GodotAIGym#9 Feb 1, 2021 clemens-tolboom commented Feb 1, 2021

What happened to rewrite? As it is always True I guess def download_unpack( should not have it anymore.

clemens-tolboom commented on issue boku-ilen/geodot-plugin#51

On github - Mon, 2021/02/01 - 4:08pm
clemens-tolboom commented on issue boku-ilen/geodot-plugin#51 Feb 1, 2021 clemens-tolboom commented Feb 1, 2021

Someone suggested to log SQLite queries ... is that possible?

DrupalEasy: 10 things to avoid when writing a Drupal job posting

Planet Drupal - Mon, 2021/02/01 - 10:00am

As part of the 10 year anniversary of Drupal Career Online, we're continuing a blogpost theme as we start off the year posts that involve lists of 10. 

As an organization that trains aspiring Drupal developers, evaluates individuals' Drupal skills, and provides skill assessments to potential employers, we’ve developed what we feel is some key insight into what makes a good Drupal job posting.

Over the past few years, as I've reviewed job postings for Drupal jobs on and other job-related web sites, there are (more than) a few things that always make me cringe…

  1. Jobs advertised as junior and intermediate and advanced skill level. Which is it? All of the above? Job postings like this especially scare away junior developers (for fear they will be in over their head) and advanced developers (for fear they will not be challenged). If you're writing a job posting, be specific. If you're hiring for multiple skill levels, then post multiple listings.
  2. Not clearly stating the "minimum skills required". This is always really perplexing, especially when reviewing expert-level job postings. The list of requirements for a single job is often virtually unattainable by most applicants. I've been developing Drupal sites for more than 14 years and I often see advanced-level job postings that I'm not qualified for. If you're looking for someone with years of experience in Drupal, WordPress, Laravel, Symfony, Magneto, administering servers, Behat, site performance, SEO, React, Angular, then prepare to either be disappointed or pay top-dollar (if you can even find someone who meets your criteria). I recommend splitting up your requirements into a few groups: "absolute minimum", "willing-to-pay-a-bit-more-for", and "bonus".  If you're not willing to hire someone who only has the absolute minimum, then maybe you need to rethink the posting.
  3. Not clearly stating if the position is customer-facing or not. Some developers do not want to interface directly with customers. In some cases, interfacing with customers directly isn't in someone's skill set. By making it clear whether or not the developer will need to interface with a client (online via a ticketing system, for example) you can help avoid unwanted situations. 
  4. Junior-level positions that do not mention on-the-job training and/or mentorship. Here's a secret, junior level developers don't want to be junior level - they are usually hungry to learn and advance. If you want to hire a junior level developer, then your organization must be willing to invest in them to help advance them. 
  5. Not specifying if the position includes design as well as development. In this case, "design" may or may not include visual design as well as software design. There are some developers that absolutely love the design aspect of building sites (information architecture, class hierarchy of custom modules, etc…) and some who do not. Be specific in what is required.
  6. Junior-level positions that include front-end, back-end, site-building, project management, multiple Javascript frameworks, etc.. (you get the idea). There's a reason that junior-level developers exist - because they don't have all the skills and experience yet. Job descriptions like this do one thing very well - scare off talented junior-developers that don't want to be put in a no-win situation. 
  7. Advanced skill level positions that don't pay market rate. If you're looking for an expert developer then you need to be willing to pay for it. Drupal is (and has been for a long time) a seller's market - if you manage to find someone willing to fill an expert position at a far-below-market-value rate, you're going to be disappointed one way or another.
  8. Junior-level positions that require more than 1 year of experience. If you're looking for a junior developer with more than a year of experience, then you're not actually looking for a junior developer. More than likely, you're looking for at least an intermediate developer.
  9. Not providing benefits other than salary. As mentioned above, Drupal is a seller's market. Want to attract top Drupal talent, regardless of skill level - then beef up your offering to make it stand out. Most developers enjoy professional development - provide them with a budget and time to learn new skills that will benefit your organization - and don't double-book them with work while they are learning new skills. Another HUGE benefit to offer is to allow developers to spend company time making contributions back to the Drupal community. This is a form of professional development as well often a very healthy thing for remote workers to participate in. Finally, send your developers to Drupal events - nothing will accelerate your developers' skills than interacting with other developers. 
  10. Labelling a position as junior-level because it doesn't pay very well. Don't. Please just don't. 

Do you have a junior Drupal developer that you move into a more intermediate developer role? Then consider sending them to Drupal Career Online - it's only 2-3 times/week for 12 weeks, and you can be confident that they'll be learning best practices around Drupal development. 


Golems GABB: A tour of the Drupal Rules module for automating website actions

Planet Drupal - Mon, 2021/02/01 - 9:54am
A tour of the Drupal Rules module for automating website actions Editor Mon, 02/01/2021 - 10:54

Imagine a smart website that automatically performs the right actions in response to particular events. Even complex scenarios are easily achievable. The cherry on top of the cake is that all this is possible without long lines of code — all you need is your Drupal admin dashboard. Interested? Welcome to get acquainted with the Drupal Rules module! See how one of the most popular modules in the Drupal development history can help you with website workflow automation.

The main principles of the Drupal Rules module’s work

The Drupal Rules module provides an interface for creating automated workflows on your website. You “teach” your site to perform streamlined and repeatable actions based on what is happening.


heykarthikwithu: Send Mail with Custom Email Template & with Dynamic values via Drupal Mail Service

Planet Drupal - Mon, 2021/02/01 - 4:09am
Send Mail with Custom Email Template & with Dynamic values via Drupal Mail Service

Sending an email works with defining an email template (subject, text and possibly email headers) and the replacement values to use in the appropriate places in the template. Processed email templates are requested from hook_mail() from the module sending the email. Any module can modify the composed email message array using hook_mail_alter(). Finally \Drupal::service('plugin.manager.mail')->mail() sends the email, which can be reused if the exact same composed email is to be sent to multiple recipients.

karthikkumardk Monday, 01 February 2021 - 08:39:35 IST

The floating-point divide: How to generate an image derivative for an image style by visiting a URL

Planet Drupal - Mon, 2021/02/01 - 2:19am
How to generate an image derivative for an image style by visiting a URL Posted by jstrecker on 2021.01.31 @ 20:19 Filed Under: Drupal Drupal 8.x Drupal 9.x Planet Drupal Software Development PHP

Recently I was adding a photo gallery page to a Drupal 9 site. When a photo was clicked/tapped, the link was supposed to take you to a larger version of the image. Instead, to my surprise, it gave a “page not found” error.