Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 15 hours 58 min ago

OpenSense Labs: Drupal 9 Upgrade: FAQs

Tue, 2021-04-13 12:36
Drupal 9 Upgrade: FAQs Gurpreet Kaur Tue, 04/13/2021 - 22:06

Drupal has been in the content management game for over two decades. That is a long period of time and in that time span the CMS has accomplished a lot. It’s community of over a million Drupalists is just one part of it. With 20 years gone, Drupal is still running strong and it’s latest update is proof of that. 

Yes, in the June of 2020, amidst the pandemic, Drupal 9 was launched and it was my only sunshine at that time and I am sure many of my Drupal friends would agree with me. Drupal 9 can be deemed as one of the best offerings of Drupal, not there were many that were anything but great.

Job done easy: Drupal 9 upgrade

The latest version meant we had to take it on, why be comfortable with the past when the present can offer more comfort, right? However, the mammoth task that was the Drupal 8 upgrade, you must remember that, made many of us apprehensive and rightfully so. And that is where we were surprised, pleasantly might I add, by Drupal. 

“Easiest upgrade in a decade.”

This is how the Drupal 9 upgrade is being described and it is because you won’t have to replatform your site, you’d only be updating. It's like taking a connecting flight from London to Paris rather than leaving the airport and taking a train from the station. Connecting flights are easy.

Timeline of Drupal 9 future releases | Source: Drupal.org

Considering the fact that Drupal 9 is not a migration, the upgrade is a breeze. With the addition of new features like Olivero and Claro, being built and stabilised respectively, the new versions of Drupal 9 will become all the more appealing and a release can be expected half yearly much like Drupal 8. So, can we afford to sit back and not take the step towards upgrading our Drupal sites. The fact the Drupal 7 and Drupal 8’s end-of-life has been decided has given us all the more reason to make the upgrade. 

To help you in finding the answer to the popular question of “How to upgrade Drupal 9?”, here I am with an all inclusive checklist for this massive step you are about to take. So, let’s begin.

Is the upgrade different for Drupal 7 and Drupal 8?

This is one of the most commonly asked questions for Drupal 9 upgrade. There are still a lot of Drupal sites that are still operating on the 7th version, so it is understandable to want to know whether ‘the easiest upgrade of the decade' is applicable to them or is it different. 

Drupal 9 upgrade is different for Drupal 7 and 8 sites. This is mainly because Drupal 8 was a whole other ballgame than Drupal 7, while Drupal 9 is just a new and improved version of Drupal 8 with no deprecated APIs. Therefore, the upgrading process was bound to be different.

Let’s see how. 

Drupal 8 to Drupal 9 

Support for Drupal 8 will end on 2nd November, 2021, it will receive patch releases, but there won’t be any major updates in its feature simply because we have Drupal 9. Therefore, upgrading to the newer version is the better option. 

To upgrade from Drupal 8 to Drupal 9, 

  • You would have to see that all your projects are Drupal 9 compatible; 
  • You would have to see that your codebase is free of deprecated APIs; 
  • And then all you would have to do is run update.php. 

It sounds simple enough, right? That is because it is. Of course, you would have to perform some more steps than these three and there would be a number of tools that you would have to use for them. However, it is these three steps that are essentially the crux of upgrading from Drupal 8 onto 9.

Drupal 7 to Drupal 9

Drupal 7’s support is said to end on 28th November, 2022. Although your D7 site has quite some time ahead of it, you still have to start thinking about the upgrade as the process is not as easy as the D8 to D9 upgrade. 

You can take two routes here; 

  • You can first update to Drupal 8, avail functionality from all the modules that are yet to come in Drupal 9 and then take the easy route of upgrading to Drupal 9; 
  • Or you can directly upgrade to Drupal 9 and skip the 8th version. This would be ideal because your upgrade would have a much longer lifespan.

For the upgrade from Drupal 7, you would need three modules; 

  • The Migration Module Suite; 
  • Upgrade Status; 
  • And Drupal Module Upgrader. 

These three do everything from data and content migrations and checking the availability of modules to scanning them and updating them for the upgrade. 

So yes, the Drupal 9 upgrade from Drupal 7 and 8 is different, simply because they are very different versions of the CMS. 

Now that we have this notion clarified, let’s move on to all the nitty-gritty details of the upgrade.  

What tools would you need for the Drupal 9 upgrade?

Can you cook without the right ingredients? Can you make the perfect lasagna without the melt-in-the-mouth pasta? I know you know the answer to these two questions and that’s a big fat no. 

Therefore, the incredible journey towards the Drupal 9 experience has to start by talking about the tool you would need for it, the ingredients that’ll make the upgrade all the more appetising. I’ll stop with the cooking analogy now and come to the point. There are two mandatory tools that you will be needing.

Upgrade Status 

Upgrade Status is a module that ll but prepares your site for the upcoming upgrade you are planning to execute. It is a pretty versatile module that does all the grunt work required before making the leap to D9. 

  • Your site has to be the latest version of Drupal, that is Drupal 8.8 or 8.9, so the first thing this module does is inspects whether you are on that version, if not, it’ll tell you to update.
  • Your system needs to meet Drupal 9’s set requirements for the upgrade to go on smoothly, so the next thing it does is check if you meet them.
  • Your contributed projects also need to be updated and be compatible with Drupal 9. If they are Drupal 8 compatible, there is a high chance they’ll be for Drupal 9. So, Upgrade Status works with Update Status to ensure every project is in sync.
  • Your site needs to be compatible with Drupal 9 in other ways as well, so that is also checked and verified through phpstan.
  • Your system’s integration drush is also taken care of here.
  • Your system might have deprecated APIs, Upgrade Status finds, although there are any fixes provided; for that you'll need another tool.

Upgrade Status’ enchantment doesn’t end here, there is more to this module yet. 

  • I’ve told you that it prepares your Drupal 8 site, but it also gives you the leeway for downloading it with and without the Composer. 
  • It is also available in Drupal 7 and this version would help you in preparation for the Drupal 9 as well as Drupal 8 upgrade, if that is what you want. 
  • Now, the most alluring part, once you’ll upgrade to Drupal 9, it’ll start preparing you for the Drupal 10 upgrade! Yes, you read it right, Drupal 10 launch is in the works and you can be ready for that when it happens with this module.
Deprecation Check

Remember I mentioned deprecated APIs above, well, there are more than APIs that can be deprecated and that needs your attention before you start creating the upgrade environment for your site. That is why, Deprecation Checking and Correction Tools become a necessity.  

All in all, there are five tools for your help. 

  • The first one is an IDE or code editor, which comprehends deprecation to kickstart the process. 
  • Then there is the Drupal-check, this one performs a PHP run and let’s you know whether deprecated code is used and where.
  • Third is the Upgrade Status I talked about above, which essentially scans your entire system and finds deprecated code for you. 
  • The Drupal.org Testing System also supports deprecation inspection.
  • Finally, the Upgrade Rector Contributed Project provides a solution for all of the checking done above and that too in an automated manner.
What are the environment requirements for Drupal 9?

When you are roasting the perfect chicken, the temperature in the oven has to be just right, the timing has to be just right and the flavours have to be just right to make it come out all juicy and succulent. I know I have started with the cooking analogy again, but this is the best comparison I could think of. 

Like that perfect roast chicken, Drupal 9 also needs just the right environment from you and your system to make it work. And this involves; 

Web Servers

Drupal 9 can be run using two different web servers and you need to have the latest versions of these two.

  • For nginx, you have to have the version 0.7.x or above; 
  • And for Apache, it has to be at least 2.4.7.
PHP 

PHP is the language Drupal is built on, of course you must know that. What you may not know is that you need PHP 7.3 for operating Drupal 9. The latest version 9.1.0 supports PHP 8.

Database and Hosting Structures 

Drupal 9 has specific requirements for its backend database as well as its hosts. These are; 

  • Version 5.7.8+ for MuSQL or Percona; 
  • Version 10.3.7+ for MariaDB;
  • Version 3.26+ for SQLite; 
  • Version 10 for PostgreSQL; 

And if you are planning to use Drush to build your interfaces, go for version 10, since only that is compatible with Drupal 9.

Have you prioritised the update of the core codebase?

Drupal 8 was the last major release before Drupal 9. Like any Drupal version, there are a number of minor releases being launched and you must keep up with them. If you have done so, your core codebase would be up-to-date and you’d be all set for the upgrade. 

One of the Drupal 9 upgrade requirements is that your site be updated to Drupal 8.8 or 8.9 for you to be prepared for the easiest upgrade of the decade. 

What happens if you are on a version older than 8.8?

What’ll happen is the upgrade won’t go through. Now you might ask why? I’ll give you an analogy, can you skip a few grades and land from 6th grade directly to high school? Even if you could, would you say that getting the hang of the classes you’ll have be quite arduous? It most definitely will be. So, like you can’t skip grades and you can’t skip the minor releases of Drupal 8 before going on to Drupal. Because Drupal 8.9 and Drupal 9 are somewhat similar the upgrade is a breeze, however, Drupal 8.4 and 9 do not share that kind of similarity and you might need to upgrade fast. 

From upgrades in PHP to core modules, from themes to contributed modules and from path aliases and database, almost every aspect requires updating to be compatible with Drupal 9. And only Drupal 8.8 and 8.9 have that level of API compatibility. 

How to upgrade if you have a Drupal version that precedes 8.7? 

For a version older than Drupal 8.7, you would have to perform some small code changes and database updates that are not very complex. An update to the latest version of the core would be required, and this would make the database and contributed modules ready for the 9 upgrade.

You can use Upgrade Status to ensure that all of what you just did is compatible with Drupal 9 or not. 

Then you’ll have to check for deprecated code, like we discussed two sections above. Thereafter, you become ready to update your core codebase to Drupal.

How to upgrade if you have a Drupal version that succeeds 8.8?

If you are already on Drupal 8.8, there isn’t much you have to do in order to prepare yourself. The only task to perform is running the Upgrade Status and checking compatibility. 

There is one more thing that you will have to do. And that is what your existing site is based upon because that will decide how the actual upgrade will flow. 

Your site could be based on Composer or it could be based on Tarball. Make sure you keep that in mind before starting the upgrade, as both work on different upgrade mechanisms. While the former has its own list of steps to follow, the latter is upgraded using Drush.

What about updating the custom code?

After upgrading the core codebase, you would have to pay close attention to your custom code. There is a high chance that your project will have custom modules and themes, these mean a custom code would also there and it is your responsibility to update it. 

You wouldn’t need new tools and techniques to help you here. 

  • Upgrade Status will scan all the projects for custom code deprecations; 
  • Upgrade Rector will fix any minor deprecations by itself. 

Updating the custom code is not that big a task, so it is often neglected and overlooked. However, it is important enough to hamper the entire upgrade. So, don’t skip it.

Can the contributed projects be neglected?

If you have taken care of the core and custom projects, you can’t think about leaving the contributed project without any attention. So, updating them is the next agenda on the Drupal 9 upgrade checklist. 

The reason for updating the contributed projects is the same as the core and custom projects, to check the compatibility of the projects with Drupal 9. And you must know by now, since I am repeating it for what feels like the 100th time, Upgrade Status will help you in the compatibility check.

You must know that even though a module is Drupal 9 compatible, there is the off chance that it can be a version of a major release that’ll bring API changes along with it. You have to be mindful of these modules because they can be detrimental to your site’s health. API changes that you are not prepared for can’t be efficacious by any means.

But what if a module is not Drupal 9 compatible?

There are, of course, not many of them, however there are some and you must know how to handle them. You can do any of these two things in this scenario.

  • Creating, you can create a custom code to update it;  
  • Or waiting, you can wait to see if it gets updated by the time you are ready for the final upgrade;  

What about the contributed modules with patches, do they need attention?

There are situations where you may want to update a contributed module, but an update is not in the picture, rather you have patches available and sometimes, not even that. What would you do? Pay attention to the patches, that is what.

Usually if a patch is available for a module, Upgrade Status would inform you about that and you can implement it. 

Then there is the scenario, when a contributed module has neither an update and nor a patch. For such an instance, the combination of Upgrade Status and Upgrade Rector will have you sorted. You can also check Drupal’s Contributed Modules Guidelines to help you further. 

Have you examined your content and field types thoroughly?

Auditing for site building is a must. Adding fields and customisations in Drupal is quite easy, anyone can do it. This is both good and bad. Good because anyone can do it leading to less dependence on developers, bad because anyone can do it meaning there might be redundant field types and outdated content. And in this step, you check for just that. 

  • Check and eliminate fields that were created for a once-in-a-lifetime event; don’t let them sit and waste away.
  • Remember those content types you created to add content later, well, you haven’t done that yet, so they have to go as well.
  • Update the help text; this might seem trivial to you, but being someone who relied on that piece of text to perform all my initial duties instead of pinging my manager every minute, trust me, it is important. If it is outdated, it is useless and why would you want something useless on your upgraded Drupal 9 site?

Customisations are only great until they don’t start bloating your site causing regression. You do not want that, so don’t just keep all your focus on the code, modules and themes, give some time to the content as well.

How do you become sure that your upgrade is successful?

You will execute the upgrade to make your site better than it already is, that should be the aim, right? However, despite you doing everything to the T, there is a chance that you may go in regression. Your upgrade may be doing everything that it is supposed to, but still your site’s performance can be slower than it was. 

Noone wants that scenario to become their reality, so how do you avoid that? How do you ensure that the upgrade is successful? There is certainly a way to ensure that and that’s through testing.

When you perform tests, you get to know what is truly happening with your site. Where you went wrong and what you did right won’t be hidden under a veil. For instance, performing a test to check the administrative and editorial working of the site is ideal. On paper, everything may appear sound, but in reality your editors could be struggling to make even the smallest of edits. And it is only through testing that you’ll be able to find that out. 

You can start at a smaller level with a hello world test and gradually scale up to examine the major aspects of the upgrade. 

Another thing that’ll help you in making the upgrade a success is going slow. Yes, upgrading to Drupal 9 is deemed as the easiest update of the decade, but it is still a huge task to take on. Just the sheer number of modules that wild require updating can become overwhelming, so go slow, update a few modules at one time. This is the chances of errors would be slim and the chances of success would be quite high. 

The Bottom Line 

Drupalists from across the globe had been awaiting the release of Drupal 9 for a long time, now that it is here, there is nothing holding us back from taking the upgrade leap. If I am to be honest, I’d say that I was fearful of the upgrade process. However, when Dries Buytaert say that one of the fundamental issues to address in the Drupal 9 release was the ease of installation, you cannot do anything but believe him. That’s what we should do. 

blog banner blog image Drupal 9 Drupal 9 Upgrade Blog Type Articles Is it a good read ? On
Categories: FLOSS Project Planets

Opensource.com: What's new with Drupal in 2021?

Tue, 2021-04-13 03:01

The success of open source projects is largely carried by the pillars of the community and group collaborations. Without putting a stake in the ground to achieve strategic initiatives, an open source project can lose focus. Open source strategic initiatives should aim at solving impactful problems through collaboration involving the project's stakeholders.

Categories: FLOSS Project Planets

hussainweb.me: Simple Infrastructure as Code (IaC) for Drupal

Mon, 2021-04-12 22:01
I have been setting up computers and configuring web servers for a long time now. I started off my computing journey by building computers and setting up operating systems for others. Soon, I started configuring servers first using shared hosting and then dedicated servers. As virtualization became mainstream, I started configuring cloud instances to run websites. At a certain point, I was maintaining several projects (some seasonal), it became harder to remember how exactly I had configured a particular server when I needed to upgrade or set it up again. That is why I have been interested in Infrastructure as Code (IaC) for a long time.
Categories: FLOSS Project Planets

Evolving Web: Drupal Modules our Team Loves, 2021 Edition

Mon, 2021-04-12 13:23

It's been a while since we've written a round-up of must-have modules (the last one was back in 2018), so I asked the Evolving Web team about some of their favourites they've been using lately.

Here are a few staples that can benefit pretty much any of your Drupal 9 projects. Add your favourites down in the comments!

TL;DR: Essential Drupal 9 modules Crop API

The Crop API module adds functionality to Drupal’s built-in image tools by allowing editors to crop images according to how they’re used. No more cut-off faces in your thumbnail cards!

Note that to use Crop API, you’ll need a UI module like Image widget crop or Focal point. Our team uses the latter.

“I like the fact that we can give editors control over which part of the image to focus on.”

- Robert Ngo, Evolving Web developer

Not quite what you were looking for? There are several alternatives to Crop API, which you can read about on Drupal.org: Comparison of image cropping and resizing modules.

Reroute Email

This module “intercepts all outgoing emails from a Drupal site and reroutes them to a predefined configurable email address”. 

In other words, if you want to send a test email that doesn’t actually make it to users, the Reroute Email module gives you an easy way to do it. 

Rabbit Hole

Rabbit Hole lets you control how content types are displayed on their own page.

For example, if you have a certain content type that should never be displayed on its own page, you can use Rabbit Hole to display an Access denied message should a user attempt to access its node.

Config Pages

Save time and cut down on coding whenever you need to create a custom page. The Config Pages module lets you create rich page types that your content editors can easily modify via custom fields and drop-downs.

Mailgun

Drupal’s Mailgun module provides integration with the open-source, developer-focused Mailgun email service. The service, which “uses REST APIs to effortlessly send, receive and track emails”, is a mainstay in our team.

“If I need to send emails, this is my go-to.”

- Ivan Doroshenko, Evolving Web developer

Admin Toolbar

If you’re creating a new Drupal 9 site, this should probably be the first module you install. Admin Toolbar lets you access all of Drupal’s admin pages via a convenient mega-menu, saving you countless clicks. 

Pathauto

The Pathauto module helps you keep your URL aliases clean and consistent by automatically generating them according to your desired parameters.

Redirect

Never worry about forgetting a redirect again. If a content editor changes a page’s URL alias, the Redirect module will automatically implement an appropriate redirect.

Metatag

If you’ve ever been disappointed by the way a piece of content looked when you shared it on social media, this must-have module is for you. It lets you customize things like image format and description text across various social media snippet types, so your content looks the way you want it to whether it’s being viewed on Twitter or on Facebook.

For a look at the Metatag module in action, check out our trainer Trevor’s video on perfecting social media previews.

What Drupal 9 module can you not live without?

We’re working on a crowd-sourced list of essential Drupal 9 modules.

Leave a comment with your favourite for a chance to be featured in an upcoming article!

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

Community posts: #DrupalMemorial

Mon, 2021-04-12 07:19

The last 18 months have been difficult for many in our global community. The global COVID-19 pandemic has taken loved ones from us too soon. Social and political upheaval around the world have fractured civil discourse, and set back the cause of civil rights. Economic uncertainty has affected our jobs and our prospects for the future. For some, the present crises have brought up memories of more distant loss.

In a year in which we have all experienced loss, remembrance and reflection helps us heal.

We encourage the Drupal community to share memories of lost friends, colleagues, family, and loved ones- whether that loss was recent or many years past. We encourage you to share and remember the good they brought to our lives.

We encourage you to share your words of hope for civil and societal change.

Whatever your words of hope and remembrance we encourage you to lift each other up.

How to share your words of remembrance:
The comments on this post have been opened, or you can use the hashtag #drupalmemorial on social media to tag your posts to the embedded memorial wall below

Categories: FLOSS Project Planets

Agiledrop.com Blog: Top Drupal blog posts from March 2021

Mon, 2021-04-12 05:35

We’re bringing you our latest recap of top Drupal blog posts from last month. Get ready for some really great posts this time!

READ MORE
Categories: FLOSS Project Planets

hussainweb.me: Running (testing) Drupal in CI pipeline

Sun, 2021-04-11 23:53
Here's a quick post to show how we can run Drupal in a CI environment easily so that we can test the site. Regardless of how you choose to run the tests (e.g. PHPUnit, Behat, etc), you still need to run the site somewhere. It is not a great idea to test on an actual environment (unless it is isolated and designated for testing). You need to set up a temporary environment just for the CI pipeline where you run the tests and then tear it down.
Categories: FLOSS Project Planets

Kristen Pol: Join us this week for DrupalCon contribution days!

Sun, 2021-04-11 23:23


Source: Drupal Contributions Platform

DrupalCon North America 2021's main program starts tomorrow! Hope to see you in Hopin for the keynotes, sessions, BoFs, Expo Hall, Driesnote, Drupal Trivia, and more.

This year, instead of being only on Friday, Drupal contribution has been spread across the whole week. I'm excited about the new scheduling and hope to see you this week in the contribution areas. For those new to Drupal or new to contribution, I'd like to convince you that Drupal contribution is worth your time... starting with the contribution event is *free*!

read more

Categories: FLOSS Project Planets

Drupal Association Journey: Pedro Cambra: DrupalCon is coming up!

Sun, 2021-04-11 06:38

DrupalCon NorthAmerica starts tomorrow, but it is still not too late to register! There will be quite interesting content and networking activities and there’s a Drupal Association Q&A session where the floor is going to be open for the community to reach out the DA board and staff.

I’ve requested to be on the line up and I’ll be participating, so if you have any questions, please take your chance!

I don’t have a massive amount of updates from this last weeks regarding my board participation. I’ve been attending the Community and Finance committee meetings and there are some outcomes from there that I’ll be publishing about soon.

I’ve requested that the board minutes page is updated more often, and I’ll remind this to the person in charge of doing so.

I am preparing some proposals that hopefully will be addressed to the board regarding some considerations and process on the disenfranchisement non Drupal association in the elections issue. I hope to have updates on that too.

Note: This blog has the comments disabled, please feel free to send me a message through my contact page if you need to discuss anything related to the community and the Drupal Association. You can also tweet at me or find me in Drupal Slack or the distributed matrix network as pcambra.

#Drupal

Categories: FLOSS Project Planets

hussainweb.me: Thriving on Chaos in Drupal

Sat, 2021-04-10 23:46
Today, I want to share my thoughts from a book passage related to Drupal. The book, Everyday Chaos by David Weinberger, is largely about how chaos is the new reality in today's machine-learning-driven world. In this book, Drupal is discussed in the chapter on strategy and possibility where it is contrasted with more traditional methods of product development and organizational vision. The book is amazing and insightful, and the section on Drupal was a welcome surprise.
Categories: FLOSS Project Planets

hussainweb.me: Drupal Podcasts (and some PHP ones)

Fri, 2021-04-09 23:47
Today's DrupalFest post is on the lighter side. I am just going to talk about some of the podcasts I listen to related to Drupal, PHP, and software development in general. I'll try to cover all the Drupal podcasts I know about. Let me know in the comments if I have missed something. As for others, I am just listing those I listen to.
Categories: FLOSS Project Planets

Matt Glaman: Watch: Nightwatch testing training to help get Olivero stable for Drupal 9.2!

Fri, 2021-04-09 22:39

I am a little late getting this blog published. The end of March and early part of April just blew right past. However, I wanted to share the recordings from the Nightwatch.js training I gave at MidCamp on March 25th. I showed folks how to run Drupal's Nightwatch.js test suite locally, with DDEV and Lando.

The workshop code is available on the Bluehorn Digital GitHub organization, with documentation. I plan to develop this for all future testing workshops and keep it open for folks to learn from outside of paid workshops. In fact, the repo runs GitHub Actions to test the various setups and executes Drupal tests – the tests run tests to test that the tests can be tested! 😵

Categories: FLOSS Project Planets

Community Working Group posts: 2020 Year-in-review for the Drupal Community Working Group

Fri, 2021-04-09 11:58

The past year has been a busy one for the Drupal Community Working Group (CWG), as we created a new "Community Health Team" and saw the stepping down of the last original member of the Conflict Resolution Team, George DeMet. As the CWG enters its 8th year, we feel it is our duty to continue to pursue our mission to "foster a friendly and welcoming community for the Drupal project and to uphold the Drupal Code of Conduct". With this guiding principle, we have been focusing on both proactive and reactive tasks to help us achieve this goal. 

This annual report will serve as a summary of what we've accomplished over the past year, as well as a discussion of some of our goals for the near future.

Community Health Team

The Community Working Group was expanded during the first half of 2020 with the creation of the Community Health Team. The mission of this new team is to focus on proactive community health tasks including workshops and knowledge transfer. With the help of Tara King, the CWG membership coordinator, we structured the team into several groups. Although team members may do work across multiple groups, each of these groups is designed to, but not limited to, focus on a specific area:

  • Community Event Support - provide resources and support related to the Code of Conduct for Drupal events.
  • Community Health - provide opportunities to educate and train community members to be more effective contributors.
  • Membership - to help identify and recruit community members for the CWG. 
  • Ambassadors - provide expertise and advice related to geographic, cultural, and other differences both inside and outside the Drupal community.

Community Health Team members are not privy to Code of Conduct incident reports; however they must adhere to the CWG Code of Ethics.

Once the team was created and volunteers were found for the majority of the roles, we began having monthly meetings during the second half of 2020. The team has already completed a number of tasks including:

  • Initial work on a Drupal Code of Conduct update.
  • Documentation of CWG roles.
  • Development of a group of community health representatives from other open source communities.
  • Ongoing Code of Conduct contact workshops.
  • Updates to the Drupal event Code of Conduct templates and playbook.
  • Ongoing Mental Health First Aid workshops for community members.
  • Blog posts related to community health.
  • "Nudges" for Drupal Slack Workspace and issue queues.

Other, long term goals for the Community Health Team include providing an on-ramp for the Conflict Resolution Team and identifying and presenting additional community-health-related workshops for the community, 

Conflict Resolution Team

After six years on the Conflict Resolution team, including several years as its chair, George DeMet retired from the team at the end of 2020. We cannot understate how much of an impact George has had on the CWG and the Drupal community, often working behind the scenes. We are fortunate that George has agreed to stay on as a member of the Community Health Team where he will be focusing on updating the Drupal Code of Conduct. 

During 2020, in addition to the creation of the Community Health Team, the Conflict Resolution Team continued to work on on-going and new Code of Conduct related issues. During our weekly meetings, we generally work on three types of tasks:

  • Internal business - examples include recruitment, public blog posts and presentations, Aaron Winborn Award, event organizer requests.
  • External, old business - ongoing conflict resolution tasks normally brought to us from community members.
  • External, new business - new conflict resolution tasks, normally brought to us from community members.

While some conflict resolution tasks can be resolved quickly (a few days), we normally have several long-term, on-going issues that can take anywhere from weeks to months to resolve. Most of the long-term issues include ongoing personality conflicts within the community, but we also routinely work with community members who had previously had their community privileges limited on plans and tasks to have those privileges restored (see our Balancing Accountability and Compassion in the Drupal Community blog post).

What types of conflict resolution issues do we work on?

We decided to perform a quantitative analysis of the number and types of conflict resolution issues we work on, comparing data from 2019 with 2020. Our methodology allowed us to assign one or two of the following categories to each new issue we received during 2019 and 2020:

  • Social media conflict
  • Issue queue conflict
  • Drupal Slack workspace conflict
  • In-person Drupal event conflict
  • Virtual Drupal event conflict
  • Not CWG domain
  • Other - examples include content issues on Drupal.org, issues related to local Drupal communities (but not directly related to an event), interpersonal issues occurring in areas not covered by any of the other categories.

In terms of overall number of incidents, while 2019 had 35 total new reported incidents to the CWG, 2020 has slightly less than half of that, with 17 new reported incidents. 

  • While the number of incidents occurring at in-person Drupal events dropped from six in 2019 to none in 2020, this doesn't account for the entire reduction of total incidents between 2019 and 2020. We also saw fewer social media and Drupal Slack workspace conflicts, but the biggest drop was in the "Other" category, which saw a decrease from ten incidents in 2019 to just two in 2020. 
  • Obviously, the drop in in-person incident reports is directly related to the pandemic.
  • What else can we attribute the dramatic drop in incident reports to? We hope that the formation of the Community Health Team is having some effect, but we're not so naive to attribute the entire decrease to its creation and actions during 2020. 

2019

2020

Total number of new reported issues

35

17

Social media conflict

7

1

Issue queue conflict

9

9

Drupal Slack workspace conflict

5

1

In-person Drupal event conflict

6

0

Virtual Drupal event conflict

0

2

Not CWG domain

4

3

Other

10

2

Looking forward Conflict resolution team membership

One of the primary goals of the conflict resolution team in the first part of 2020 was expanding the size of the team. With the recent departure of George DeMet and the decrease in our workload (thanks to fewer incident reports and the amazing work of the Community Health Team), we decided this was a good time to recruit new team members. 

We had six amazing community members approach us about joining the team, and will be inviting a new member(s) to the team in the next few weeks. One of the main goals of the Community Health team was to provide an on-ramp to the Conflict Resolution Team. Those community members who were not extended an offer to join the Conflict Resolution Team will be asked to join the Community Health Team in a capacity of their choosing, if they haven’t joined already.

As part of the process of having new members join the team, we implemented (and are in the process of documenting) a new on-boarding process, where new team members are considered "trial members" for a maximum of 5 months. During this period, new members will mainly shadow the team and have limited access to historical conflict resolution reports. At the conclusion of the trial period new members will either become regular members or be asked to leave the team. As is prescribed by our charter, all trial members must be approved by the CWG Review Panel

Community Health Team

Now that our Community Health Team is a year old and has some experience under its belt, we have high hopes that they will continue to be a force for good in the community. Our plans for the next year include finding and presenting additional workshops, completing the aforementioned Drupal Code of Conduct update, and assisting with the expansion of the yet-to-have-a-good-name group of community health volunteers from various open source communities.

Categories: FLOSS Project Planets

Jacob Rockowitz: To Drupal or not to Drupal…The Webform module’s pickle of a sustainability problem

Fri, 2021-04-09 04:59

My pickle of a problem

Previously, I have discussed my current work situation, which revolves around the fact that my organization is moving away from Drupal. This situation has led me to ask the question to Drupal or not to Drupal. To date, I’m committed to helping them migrate from Drupal to Sitecore.

I’ve also decided to remain committed to the sustainability of the Webform module. The “sustainability” of the Webform module has different meanings to different people and organizations within the Drupal community. Individuals want to know that there are resources available to provide guidance, review patches, and commit code to a project. An organization using Drupal and the Webform module wants to know that the code is stable, maintained, and secure. For me, I’d like to see compensation for my time in return for my continued commitment to the sustainability of the Webform module.

Being compensated to contribute and maintain code within an open source project can take on many forms. An organization could sponsor my work on the Webform module. At the same time, these opportunities are rare within our community. Frankly, assuming that a single organization could take on the responsibility of something like the Webform module might not be financially feasible.

Stepping back from my problem, there might be a more general solution for improving the Webform module’s sustainability. Still, sustainability is a pickle of a problem for an open source project like the Webform module.

The Webform module’s pickle of a problem

The pickle of a problem around the Webform module, Drupal, and Open Source is that people assume that everything is free. Open source code is free to use and distribute. The ecosystem built around the Webform module reinforces the notion that everything is free because we rarely put a “price tag” next to our...Read More

Categories: FLOSS Project Planets

hussainweb.me: Why you shouldn’t decouple Drupal and why you should

Thu, 2021-04-08 23:11
Today's post is going to be a quick one; not because it is an easy topic but because a lot has been said about it already. Today, I want to share my thoughts on decoupling Drupal; thoughts that are mainly a mix of borrowed thoughts from several places. I will try to link where I can but I can't separate my thoughts from borrowed ones now. Anyway, by the end of the post, you might have read a lot of things you already knew and hopefully, one or two new things about Decoupling Drupal.
Categories: FLOSS Project Planets

DrupalCon News: Designed to fit your day: DrupalCon North America 2021

Thu, 2021-04-08 15:11

Learn, connect, and build at DrupalCon and make it work with your schedule.

Categories: FLOSS Project Planets

1xINTERNET blog: 1xINTERNET at DrupalCon NA 2021

Thu, 2021-04-08 08:00
1xINTERNET is participating in DrupalCon NA this year as Hallway Track sponsor, as well as hosting few sessions. Read this blog to get information about the talks our team is doing during this online DrupalCon.
Categories: FLOSS Project Planets

undpaul: Information for Drupal 9 upgrades from Drupal 8

Thu, 2021-04-08 03:30
Drupal is facing an end-of-life this year: Support for Drupal 8 will be discontinued as of 11/2/2021. Since Drupal 8 will no longer be supported after the EOL, we can only urge all Drupal 8 site owners to upgrade their system to Drupal 9 in time.
Categories: FLOSS Project Planets

hussainweb.me: The magic of Drupal events

Wed, 2021-04-07 23:59
I missed joining the DrupalNYC meetup today. Well, I almost missed it but I was able to catch the last 10 minutes or so. That got me thinking about events and that's the topic for today–Drupal events and their impact on my life. I travelled extensively for 4-5 years before the pandemic restrictions were put in place and since then, I have attended events around the world while sitting in my chair. These travels and events are responsible for my learnings and my professional (and personal) growth. And these are the perspectives that have given me the privilege that I enjoy.
Categories: FLOSS Project Planets

Pages