Planet Drupal

Subscribe to Planet Drupal feed - aggregated feeds in category Planet Drupal
Updated: 13 hours 4 sec ago Drupal is the perfect no code tool

Sat, 2021-11-27 03:00

When you don’t know how to write code Drupal is the perfect tool to build complex websites or (web) apps because of the flexibility, available modules and thriving community

Categories: FLOSS Project Planets

PreviousNext: Sponsoring Drupal Contribution

Thu, 2021-11-25 23:18

As an open-source project, Drupal relies on the sustained contributions of individuals and organisations to keep it well maintained, develop, and grow to stay relevant in a competitive landscape.

The project founder, Dries Buytaert has highlighted the problems many open source projects have of balancing the makers and takers. Increasingly, organisations that have traditionally contributed to Drupal have had challenges keeping the level of contribution going, and have had to look to new ways to support the project.

Sponsoring Drupal contribution is a new and exciting way for PreviousNext to give back to the project as well as the community.

by kim.pepper / 26 November 2021

PreviousNext has a long history of contributing to Drupal. For the last 12 years our contributions have ranged from speaking at global and local Drupal events, to being a part of the team that ran the first DrupalCon in Sydney, Australia. Our team consists of core committers, sub-system maintainers, module maintainers, and security team members, as well as members of the DrupalSouth board and committees. We have consistently ranked in the top ten contributors globally.

Recently we have achieved the only Platinum Drupal Certified Partner status in Australia, and are committed to maintaining it.

Since our inception, we have contributed back via the projects we develop as well as a policy of 20% time for contribution, and we will continue to do this going forward. We believe this benefits everyone. Our employees are receiving code reviews from some of the brightest minds in the Drupal world, increasing their expertise - a form of training if you like. PreviousNext is also able to raise its profile based on these contributions, and market its expertise to future customers.

Despite this, we see a big opportunity in sponsoring specific individuals who can have a big impact on the project.

V Spagnolo (@quietone) is a key member of the Australia & New Zealand Drupal community. She has long been a maintainer of the Migrate core sub-system, a central contributor to the Bug Smash Initiative, and her contributions earned her winner of the Open Source Contributor award at the New Zealand Open Source Awards in 2018. She has recently been appointed a Provisional Release Manager for Drupal.

In short, she provides highly valuable contributions to both the project and the regional community.

Today, we are proud to announce that we will be financially sponsoring part of quietone's contribution time going forward, as another way for PreviousNext to help progress the project.

Tagged Core contribution, Contributing
Categories: FLOSS Project Planets

Evolving Web: My First 3 Months at Evolving Web

Thu, 2021-11-25 13:48

Last August, I joined Evolving Web as a Content Writer & Editor. Three months later, I have to say this has been a fantastic journey! I'm super proud of being part of an incredible marketing team and a true digital powerhouse. Here I'll share a few impressions of Evolving Web and how its collaborative culture and welcoming environment have already taught me some lessons and enabled me to develop my skills.

From Journalism to Content Marketing (and Beyond)

I was a journalist for more than 20 years before moving to content marketing in 2018. I've specialized in writing and editing blog posts, newsletters, website copy, and other types of content about topics ranging from machine learning and digital transformation to online consumer behaviour.

When I got a job offer from Evolving Web, I thought I was fully equipped for the job right from the start, thanks to my experience, writing and editing skills, and business-oriented mindset. I thought that was all I needed to create the best content marketing a web agency could have.

It turns out I was wrong. Sure, my background has been a great help from day one—like when I write case studies about our clients' projects and interview my colleagues about their experiences. However, creating Drupal-related content can be challenging for a non-developer like myself. Writing about the platform's technical aspects demands a certain knowledge that you can only acquire with dedication and time.

So, with every new assignment, I end up learning valuable things about Drupal. At the same time, I try to block time off my schedule to do some reading and learn more about Drupal on my own.

This kind of challenge excites me. I'm curious by nature, and learning new things is something everyone should be open to, no matter how experienced they may be. Nothing could have prepared me for the world of possibilities Drupal presents, and learning and creating content about it has only made me a better writer and editor.

I have to give credit to my generous, talented colleagues, who have been immensely supportive throughout my journey. They're always willing to share their knowledge and even write about their experiences on our blog. Along with our tight-knit structure, this collaborative spirit emphasizes one of Evolving Web's biggest strengths: a sense of belonging. I feel like I'm part of something and that my work makes a difference, whether it's to our readers via our blog or helping the company itself expand its reach. This is much better than just feeling like a cog in the wheel, as too often happens in some larger companies.

The Importance of Belonging

In the end, everyone wants to feel like they belong. At Evolving Web, my first taste of that was during my first week on the job at our summer picnic. I literally knew nobody there, but they all made me feel welcome right away. We had a fantastic time, enjoying some great weather in the heart of Old Montreal (with social distancing, of course). Right then, I could tell that Evolving Web and I were a great match.

Then, after a couple of weeks on the job (and after two COVID jabs), I felt more comfortable going into the office regularly. While we're free to work from home, I personally prefer to go to the office, and by doing that, I rediscovered the power of collaboration. After more than a year of social distancing, I could again experience how working close to one another makes our output richer. In my case, speaking in person to developers, designers and project managers speeds up and improves my writing and editing process.

Coming to the office also opened my eyes to how Evolving Web's environment is as chill as results-driven. People are always willing to put their heads together and support each other, but come lunchtime, we all go into the kitchen to relax, laugh, and play some mean foosball. (I'm still terrible at it, but my game is slowly improving. Baby steps!)

Take a look at what it's like to work at Evolving Web

The Power of Diversity

Finally, I want to say a few things about diversity. As a Brazilian who's lived in Montreal for two years, I took a job at Evolving Web hoping this would be a workplace that genuinely valued plurality. Three months later, I can see how solidly diverse we are as a team. We all come from—or even live in—many different places, including Ukraine, Turkey, France, Brazil, Costa Rica, Lebanon, China, Vietnam, and Québec and Ontario.

This plurality enables me to express myself freely, knowing that my colleagues will value my input and work as much as anyone else's, regardless of where I come from or my cultural background. It might not sound like much, but this has been a first for me since I came to Canada. This culture of diversity is crucial for me to perform my best.

Here's How Drupal Can Be a Force for Diversity and Inclusion

The past three months on the job have been full of learning, hard work, fun, and collaboration. It's been one of the most enriching experiences in my career, and I'm sure Evolving Web and I are set to achieve great things together. I'm looking forward to the next three months! (And the following three months, and the next, and the next...)

I encourage you to take a look at our job opportunities! Join our team :)

+ more awesome articles by Evolving Web
Categories: FLOSS Project Planets

Chocolate Lily: Multiple version compatibility in Drupal--managing the tradeoffs

Thu, 2021-11-25 12:57

If you're a seasoned Drupal module developer, or even a relatively new one, it's hard not to like the fact that, starting with Drupal 8.7.7, it's possible for a single version of a module to be compatible with multiple versions of Drupal core. Suddenly, maintaining your module became way easier. It's noteworthy enough that the process of making a module work with the Drupal 9 release was incomparably easier than any previous major version upgrade. But beyond that, you could actually maintain a single version for both Drupal 8 and 9, or both Drupal 9 and 10. How great is that?

But - and there always is a but, isn't there? - it's not quite so straightforward. There are some significant tradeoffs to sticking with a single release branch for two major versions of core. I'll look at a couple here - deferred refactoring and missed improvements - and ways to mitigate them.

Categories: FLOSS Project Planets

Matt Glaman: Better static analysis with entity type storages in phpstan-drupal 1.10

Thu, 2021-11-25 11:53

I am happy to announce the 1.1.0 release of phpstan-drupal! This is a minor version bump due to a breaking change in the configuration options for phpstan-drupal. Before we dive in, I want to give major thanks to brambaud for their outstanding contributions this month. Their work has brought excitement to the table for untangling Drupal's magical bits for static analysis. I also want to thank eiriksm for his work to fix some of Drupal's magic when fetching field value properties.

Here is a summary of the significant improvements:

Categories: FLOSS Project Planets

Annertech: Decoupled websites are secure, fast and cost-effective – perfect for councils

Thu, 2021-11-25 08:05

This article will break down the ins and outs of decoupling, set out the pros and cons, and tell you why Annertech should be your first port of call.

Categories: FLOSS Project Planets

Gbyte blog: Simple XML Sitemap 4.0.0 has been released!

Wed, 2021-11-24 12:30

After six months of work I'm delighted to tag the first stable release of the 4.x branch of the (Not-so-) Simple XML Sitemap module.

The project is in a really good place right now. At the moment of writing, reports it being actively used on around 90k of Drupal 8/9 websites while having 0 open bug reports. This either means you people are lousy bug reporters, or we are doing a descent job at responding. :)

Module rewrite with developers/integrators in mind

4.x makes much greater use of Drupal's entity API dropping some of its very specific chaining API. Feel free to take a look at the roadmap ticket for specifics.

New UI

We now have a much nicer UI for creating, editing and sorting sitemaps as well as sitemap types.

API usage

In a nutshell, sitemap variants are now sitemap entities. These are of a sitemap type (sitemap type entity) that is defined by URL generator plugins as well as sitemap generator plugins.

Categories: FLOSS Project Planets Blog: The power of open-source communities

Wed, 2021-11-24 08:23

In this article, we explore 4 key elements of open-source communities that drive the success of their respective projects.

Categories: FLOSS Project Planets

Droptica: A Quick Way for Editing and Customizing a Drupal Paragraph

Wed, 2021-11-24 05:16

For laying out content on a website, Drupal standardly uses a single body field that takes advantage of the WYSIWYG capabilities and is available immediately after installation of the CKEditor. This solution is easy to use but not flexible enough to be suitable in every case. For more advanced layouts, we can use the functionality prepared by the community in the Paragraphs module.

Drupal paragraph - characteristics

Paragraphs in Drupal are a useful solution with many possibilities. Thanks to them, we aren’t dependent on one WYSIWYG field where we place all the images and videos one under another. Paragraphs can be considered as some kind of sections on a given page. Each of these sections can have different configuration options, affecting the paragraph's appearance and its performance. This may be, for example, a color scheme, the size of images or a completely different layout of fields. With just a few paragraphs added to a page, editing them becomes time-consuming because Drupal standard UI doesn't allow for responsive editing. Is there any way to improve the UX? The answer to this question is Droopler, a Drupal distribution for building websites that uses the Geysir and Field Group modules.

Editing paragraphs in Drupal

As I pointed out above, editing paragraphs in pure Drupal is a time-consuming task. Let us analyze an example:


On the given page, we see several paragraphs that have many configuration options. Here is the configuration form for one of them:


As we can see in this example, the configuration options aren’t grouped, although the structure of the paragraph allows for separating at least two sections. The Field Group module - described further on in this article - is responsible for this functionality.

We finished the presentation of the configuration options. Below you can see how the paragraph looks like on the frontend:


The standard editing path in Drupal firstly requires going to edit entities and then editing the selected paragraph. If a paragraph has references to other paragraphs in it, and our goal is to edit one of the referenced paragraphs, then the whole process starts to get complicated. Usually, the paragraphs aren’t very well described, and it’s easy to enter the edition of the wrong paragraph. After editing, you need to save the changes and then switch to the entity view to see if you are satisfied with the modifications. Note that each time the page must be reloaded, as we don’t see the changes "live". This makes the editing process time-consuming and not very pleasant. How does it look like in Droopler?

Editing a Drupal paragraph in Droopler

Droopler is an installation profile that allows you to create websites in Drupal in a very simple and fast way. It’s great for both building business web pages and microservices, and from version 2.2 also for online stores. Starting from this version, Droopler has an integration with the Commerce module.

The frontend of this installation profile is based on Bootstrap 4, so it isn’t complicated to make any modifications to the website’s appearance. Droopler also uses Geysir and Field Group modules, which will help us improve and speed up paragraph editing.

In Droopler, there is no reason why we would want to go into editing an entire entity if we only want to make a change to a paragraph. We use the Geysir module to make changes to a paragraph, which we can launch by clicking on the Paragraph overlay button at the top right of the screen.


After entering the paragraph edit mode, point the cursor to the paragraph you are interested in and click on the edit button.


When clicked, you’ll see an overlay menu containing the same settings as in the standard view. However, this time they are grouped using the Field Group module.


Once you've made your changes, all you have to do is save them, and the page asynchronously reloads only the paragraph that was edited. This means that we just got rid of the need to reload the whole website, and we can see the changes almost immediately!

It’s worth noting that the paragraph presented in Droopler uses the Field Group module, which allows you to divide the fields available in an entity into tabs. They are configured in the edit options of the entity view form.


Among other options, we can choose here between horizontal and vertical tabs, close or open our selected tab when entering the edition, or add custom classes to sections that allow us to manipulate only selected elements using CSS or JavaScript.

Editing a Drupal paragraph - summary

Paragraphs offer many possibilities, but configuring, editing and maintaining them on a standard Drupal instance isn’t the most convenient. The approach presented in Droopler will certainly make the process of creating, editing and managing paragraphs easier and faster. We recommend taking a closer look at how Droopler manages them. If your website also uses these components, we recommend using a similar method or the Droopler installation profile.

Categories: FLOSS Project Planets

Vardot: Top 10 Free Drupal Themes

Wed, 2021-11-24 04:57
Image Top 10 Free Drupal Themes Image Rashed Azzam Position Wednesday, November 24, 2021 - 11:57 Teaser image Top 10 Free Drupal Themes Join the conversation + Comments Solutions by need Enterprise CMS Knowledge Management Drupal Managed Services On-Site SEO Related services Web Development UI/UX Design Digital Marketing Digital Strategy Product Varbase Vardoc Uber Publisher Open Social Marketing Automation Vote up! 0 claps
Categories: FLOSS Project Planets

Specbee: Why Page Speed Matters and How to Get Your Website to Load Faster!

Wed, 2021-11-24 04:23
Why Page Speed Matters and How to Get Your Website to Load Faster! Shri Ganesh Hegde 24 Nov, 2021

If a page load time goes from one second to ten seconds, the probability of a visitor bouncing, increases by 123% - Google
A user visiting your website has the patience level of a 5-year-old. Nothing against 5-year-olds (Specbee has a strict nothing against 5-year-olds policy), but as a site owner, you can’t expect anyone to wait more than 5 seconds for a page to load. Not when there’s infinite internet to explore. Even the best content will lose the audience if your pages don’t load quickly. But that’s just the human nature aspect of it. Your site speed plays a part in so much more…

A little bit of History

Google has always been on a mission to make the web faster. This goes back to 2009, when Google announced plans to “make the web faster”. The first step to those plans was to publish guidelines on website speed to persuade website owners to take a hard look at their load times.

Acting further on this, Google announced in 2010 that site speed would become one of the factors for their desktop SERP algorithms! If you were a site owner back then who was reading the not-so-subtle signs on the wall, this was a great opportunity for those already making faster loading sites in that they suddenly had a huge SEO advantage.

A few years later, by 2015, when Google announced that the number of searches performed on mobile devices exceeded those performed on desktop, it was time for site owners to adapt to a mobile first age. Google developed Accelerated Mobile Pages (AMP) and three years later, page speed for mobile was introduced as one of the ranking factors as well.

And, as if you couldn’t guess, things continue to progress (they always do) and in the summer of 2021, Google rolled out the latest addition, Page experience update to throw another critical factor affecting the current algorithm!

Data, and what you need to know!

While page speed is a complex factor, people often get confused between site speed and page speed. Though they seem similar, site speed is an average of various sample pages of the website while page speed defines how long a page takes to load. Both of these play a vital role in the page experience of a website. In addition, Core Web Vitals are an important set of metrics that the site owner should look at to provide a seamless experience for users.

While we still spend a lot of time on keywords, desktop and mobile experience, backlink, content marketing, etc, we now must also pay attention to the on-page experience. And Core Web Vitals are the new set of metrics to let you know if you provide a quality page experience.

Let’s dig in a bit more on core signals.

Largest Contentful Paint [LCP]

Referring to the page loading performance, this Google experience metric indicates the time taken for the largest chunk of information on the page to load. For example, if the page has a video (often the largest piece of information on a page), the time taken for that video to completely load so that the user can play it, refers to LCP.

This is an important metric - Google does use LCP as a ranking factor for the pages in SERP.

First Input Delay [FIP]

The First Input Delay measures the responsiveness of the page/website. This Google metric indicates the response time to a user’s first interaction on the page/site.

Example: Your page has video and after the page is loaded the user clicks on “play”.  The time taken to play the video after the click is FID.

Cumulative Layout Shift [CLS]

CLS is a Google metrics which indicates the frequency of unexpected layout shifts/changes, affecting the website’s overall appearance.
I’m sure you have seen a website where you saw something interesting and you went on to click it, but at the last moment the screen jumps and a new button loads, which you end up clicking? That a big indication of poor coding or, in some cases, a hidden motive to make users click on ads or other links!

Core Web Vital Report

The details and the reporting of Core Web Vitals can be handled through Search Console which offers detailed information of any errors and tips for improvement.

What can be done to improve speed?

When it comes to Google metrics and how website owners try to do their best to optimize their websites, it’s a bit of a race in the dark. While many website owners have an idea of how things work and what needs optimization, some owners blindly make drastic changes just hoping something works.

Without throwing things against the wall and seeing what sticks, here’s a few things that could improve the speed of your site/page.

Light, fast and furious!

Modern websites are often referred to as mini buses or limousines. They’re huge, filled with animations/graphics and have all sorts of code-heavy integrations - which makes them heavy & slow! When making a beautiful website, owners often deprioritize functionality.

Image Credits: Pingdom

To win the SEO race, it’s important that the site is light and is not loaded with unnecessary animations, fancy backgrounds, huge images, additional plugins and more. In addition to the reduced extravagance, excessive weight can also be shed by optimizing images, reducing the third-party scripts (make use of GTM), Implementing AMP, compressing the code (CSS & JS) and more.

In a CMS like Drupal, there are quite a few easy to use modules that help improve page speed.

Image Credits: Almanac

Now that your website is clean and decluttered, it’s time to give it more power! And the best way to do that is by using a proper hosting environment. Your website on a properly tuned hosting environment can work wonders when it comes to the performance. Additionally, you can also use a CDN to load your website resources faster.

Tools are your best friends!

Now that you know how important page speed is, the next thing to remember is the equal importance of monitoring. There are various tools that give you a great amount of information about your website’s speed performance (amongst a lot of other important metrics) that will also suggest the next optimizations to make. Here’s Specbee’s picks for the top 5 tools to measure your website performance:

  • Chrome Lighthouse
  • Google Page Insights
  • GTMetrix
  • Website Speed Test

The simple truth is that a majority of website visitors prefer using a mobile device to visit a website, search for something on Google, or even do some online shopping. With this trend continuing for years to come, page speed/site speed is always going to be an important factor to provide a seamless user experience! For someone new to website building, page speed optimization could be complex. But understanding how essential speed is already offers you a little bit of guiding light for that race in the dark. And for someone who already understands these metrics, you already know the importance of page speed. It might be time for you to revisit your website to keep progressing on your head start. And if someone asks what you’re doing, as people who dress up as Maverick from Top Gun for Halloween continuously say, “I feel the need for speed!”

SEO Drupal Planet Web Development Subscribe to our Newsletter Now Subscribe Leave this field blank

Leave us a Comment

  Recent Blogs Image Why Page Speed Matters and How to Get Your Website to Load Faster! Image Drupal 9 Custom Module Development – A Beginners Guide Image Easy and Effective Content Moderation in Drupal 9 (With an Example!) Want to increase your organic visibility with Drupal? TALK TO OUR DRUPAL SEO EXPERTS 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.


Categories: FLOSS Project Planets

Event Organizers: What Do You Need to Create a Drupal Event Website? Fill Out Our Survey

Tue, 2021-11-23 15:33

To help ensure we are meeting the needs of other Drupal community events, we are have created this survey to help us prioritize the feature sets for our development roadmap. Whether you are a new or veteran Drupal event organizer please complete this short survey to tell us how a Drupal Event Platform could help you. Fill Out Our Survey

The Drupal Event Platform (DEP) is a committee within the Drupal Event Organizers Working Group. Our goal is to create a Drupal application MVP that helps event organizers build and maintain the entire event production process, from collecting session submissions to assigning presentations to the schedule.

COMPLETE OUR SURVEY HEREFile attachments:  dep-survey.jpg
Categories: FLOSS Project Planets

Chocolate Lily: What do the usage data on actually mean?

Tue, 2021-11-23 11:15

Many Drupal insiders recognize that data on Drupal usage that's collected and displayed on have their limitations. Since 2018 there's been a proposed Drupal core telemetry initiative to expand and improve the data collected. Meantime, though, the usage stats are widely referred to and cited. So it's worth spending a bit of time with them. What do they actually capture?

Categories: FLOSS Project Planets

Redfin Solutions: Redfin’s Delta Site System: Helping Clients Create Customizable Websites at Scale

Tue, 2021-11-23 10:41
Redfin's Delta Site System (DSS) helps clients who have a need to quickly launch and maintain new Drupal websites. DSS gives our clients the ability to define a “template” website, so that new sites can use the same themes (look and feel), modules (enhanced functionality), and configuration (content types and taxonomies), while also allowing for customization at the individual website level.
Categories: FLOSS Project Planets

Jacob Rockowitz: Part 2: Good Drupal Leadership: What is a good plan for implementing a Drupal website/application for organizations?

Tue, 2021-11-23 09:14

Good Drupal leadership begins with a good plan. A good plan requires a vision specific to its particular business. Drupal, like any software, is a tool that empowers an organization to build its vision and address its business requirements. The fact that a Drupal website/application consists of Drupal core, with contributed modules and themes, that are glued together using custom code, creates a unique set of challenges to ensure each aspect is done right.

Drupal is both a Swiss Army knife with a massive variety of tools and a set of Lego®-like building blocks used to compose a custom and ideally optimized solution that addresses each and every business requirement with precision. Drupal is highly flexible, and presents a variety of options. Having a plan is essential - without one, an organization could find itself in a pickle with an unstable and insecure website/application.

Planning challenges

Recognizing that Drupal provides flexibility helps organizations work towards a plan for building and maintaining a stable website.


Drupal is a modular framework that allows developers to add and remove features as needed. There are several ways to solve common feature requests and dozens of ways to enhance existing features and functionality. Drupal's flexibility is one of its strengths that in turn requires effort to ensure stability and maintainability.


Drupal core provides a stable code base to build from, but as contributed modules are added to a Drupal stack, each module has different levels of support and stability. Realistically, regressions and issues will inevitably occur when updating Drupal core and modules. If a regression is caught before it is pushed to production, I think it’s reasonable to reconsider labeling it a regression or just part of the process of updating...Read More

Categories: FLOSS Project Planets

Specbee: Drupal 9 Custom Module Development – A Beginners Guide

Tue, 2021-11-23 05:31
Drupal 9 Custom Module Development – A Beginners Guide Mohammed Farhaz 23 Nov, 2021

The power of Drupal lies with its modules. With thousands of core and contributed Drupal modules to choose from, Drupal developers can easily implement ones that meet their needs. But what if the requirements are very specific and you don’t have a module available for it? How can you customize a Drupal website for a client who has unique needs that just cannot be accomplished with core or contributed modules? Enter Custom modules.

Custom modules in Drupal 9 give you the flexibility to create new features and/or tweak existing features to accommodate a business’ unique and growing aspirations. Drupal custom modules propels innovation and enhancements to help enterprises expand their horizons. This article should help you get started with creating your very own Drupal 9 module

Drupal 8 has now reached EOL. Now is the time to migrate to Drupal 9. However, if you're still trying your hands out at creating a custom module in Drupal 8, these steps will work for a Drupal 8 setup too. 

Getting started with Module development in Drupal 9

Let’s now get started with creating a custom module in Drupal 9 in a few easy steps:

Step 1: Name the Drupal 9 Module

First, we need to create a custom module under ‘web/modules/custom’ folder. We will name the folder as welcome_module.

Some things that you should keep in mind before giving a machine name to your module are:

  • It should not start with uppercase letters.
  • There should not be any spaces between the words.
Step 2: Get noticed with the info.yml file

We have to create a yaml file with the machine name of our module for Drupal to be able recognize the module. I’ll create a yaml file like this
Here is our file created under "welcome" directory we created in Step 1.

name: Welcome Module type: module description: 'First Custom Drupal 9 Module.' package: Custom version: 1.0 core_version_requirement: ^8 || ^9

name: Welcome Module (The name displayed on the modules list in Drupal) 
type: module - (Declaring that this is a module or theme) 
description: Custom Example Drupal 9 Module (Description of the module) 
package: Custom - (Mentioning that this is a custom module) 
version: 1.0 - (Module version) 
core_version_requirement: ^8 || ^9 - (Drupal version)

Step 3: Creating the routing file with routing.yml

Next step is to add a welcome_module.routing.yml file under the "welcome" directory:

welcome_module.welcome: path: '/welcome/page' defaults: _controller: '\Drupal\welcome_module\Controller \WelcomeController::welcome' _title: 'Welcome to My Module in Drupal 9' requirements: _permission: 'access content'

The first line is the route name [welcome_module.my_welcome].
Under path, we specify the URL path we want this route to register. This is the URL to the route.
Under defaults, we have two things: the _controller which references a method on the WelcomeController class and the default page title (_title).
Under requirements, we specify the permission of the accessing. User needs to have to be able to view the page.

Step 4: Adding a Controller 

Create a folder "modules/custom/welcome_module/src/Controller". In this folder, create a file named "WelcomeController.php" with the following content:

<?php namespace Drupal\welcome_module\Controller; class WelcomeController {   public function welcome() {     return array(       '#markup' =----> 'Welcome to our Website.'     );   } }

Now Login to your Drupal site and enable your module. To check if it functions properly, visit the path you specified in your routing file, that is /welcome/page. If you get the ‘Page Not Found’ error, then clear the cache by navigating to admin->configuration->performance. Check again and it should function properly this time.

Controller page

That’s it! You’ve successfully created your very first custom module in Drupal 9.
Finally, when you go to /welcome/page URL, you'll see Title “Welcome to My Module in Drupal 9" and markup “Welcome to our Website." text printed from your module.

The great advantage of CMSs like Drupal is their ability to create websites without the need for developers to delve into coding. However, when you get to build your own custom modules in Drupal 9 and customize them according to your needs, the real power of Drupal is unleashed. Need expert help creating simple to complex custom modules? We'd love to help!

Drupal Planet Drupal 9 Drupal 9 Module Drupal Development Subscribe to our Newsletter Now Subscribe Leave this field blank

Leave us a Comment

  Recent Blogs Image Drupal 9 Custom Module Development – A Beginners Guide Image Easy and Effective Content Moderation in Drupal 9 (With an Example!) Image How to Create a Custom Drupal 9 Theme in 9 Simple Steps 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.


Categories: FLOSS Project Planets

Dries Buytaert: PHP Foundation launched

Mon, 2021-11-22 15:47

There is a common misconception that large open source projects are well-funded. In practice, many rely on a small group of maintainers.

The PHP programming language is one of them. Despite being used by 75%+ of the web, PHP only has a few full-time contributors.

That is why the PHP Foundation is launching. Its mission: The PHP Foundation will be a non-profit organization whose mission is to ensure the long life and prosperity of the PHP language..

Acquia is proud to support the PHP Foundation by contributing $25,000 to the foundation, alongside Automattic, JetBrains, Laravel and others. Our donations will help fund the development of PHP.

PHP is vital to the functioning of governments, schools, non-profits, private companies, public companies, and much more. If your organization relies on PHP, I'd encourage you to make a contribution.

Large open source projects like PHP need meaningful, long-term support. I remain very passionate about how to make Open Source production more sustainable, more fair, more egalitarian, and more cooperative. It will be interesting to see how the PHP Foundation develops.

Categories: FLOSS Project Planets

Talking Drupal: Talking Drupal #322 - Camp Planning

Mon, 2021-11-22 14:00

Today we are talking about Camp Planning with April Sides.

  • Can you tell us about Drupal Camp Asheville?
  • Why is camp planning “Your Jam”?
  • How do you think virtual events have impacted camps?
  • Do you think we will get back to In-person camps in 2022?
  • What are your thoughts on hybrid camp formats in the future?
  • What is neurodiverse inclusion?
  • Why is it important for events and the Drupal community?
  • What is your favorite aspect of camp planning?
  • Biggest challenge
  • Biggest Success
  • Tips for starting a new camp
  • How to help with an existing camp

Drive by Daniel Pink Notist - John Notiat - April Event Organizers Working Group Event Accessibility Playbook Drupal Camp Asheville Drupal Camp Asheville Project Asheville Twitter


Nic Laflin - @nicxvan John Picozzi - @johnpicozzi April Sides - @weekbeforenext

Module of the Week

DropzoneJS Drupal integration for DropzoneJS - an open source library that provides drag’n’drop file uploads with image previews.

Categories: FLOSS Project Planets

Promet Source: How to Create a Static Page from a Dynamic Drupal Site

Mon, 2021-11-22 10:09
When designing, developing, and migrating a large county site that incorporates more than 40 separate sites to a Drupal CMS, it can be expected that some site owners will have particular requirements that pose distinct challenges. One such condition emerged for us at Promet Source earlier this year during a Drupal migration project for the Orange County, Calif., website. 
Categories: FLOSS Project Planets

Web Omelette: How to create a Drupal Commerce shipment promotion offer

Mon, 2021-11-22 04:30

In this article we are going to see how to create a shipment promotion offer to reduce the shipping cost up to a maximum fixed amount.

Categories: FLOSS Project Planets