Upgrade Your Drupal Skills

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

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

Drupal AssociationDrupal.org is the home of the Drupal community, and in its 20 year history Drupal.org has managed to coordinate and centralize the efforts of our contributors. As we look to recruit the next generation of contributors who will become project leaders in the next decade, we want to reduce the barriers to joining the community, and extend the reach of a user's Drupal identity.

As such, the Drupal Association is undertaking a new project to both allow account creation and authentication to Drupal.org using common existing accounts that new contributors may already have, and allow federation of the Drupal.org identity, so third party community services like DrupalCamp sites or chat services can allow users to log in with their Drupal identity.

Successful completion of this project will allow new contributors to Drupal to join the community in a single click(or as close as possible with Terms acceptance, etc), and will allow existing Drupal.org users to join community-built services with their existing Drupal.org identity. 

Scope

Project scope should include Discovery, Project Management, Development, Security Review, and Quality Assurance for the following key features:

  1. Migration of existing Drupal.org user identity management and federation between Drupal subsites with an industry standard identity solution, e.g: SAML + OAuth
  2. Replacement or update of the 'Bakery' module for managing login state and synchronizing user profile data across sub-sites of Drupal.org.
  3. Allow Drupal.org account creation and/or login using an existing identity provider, with all appropriate disclaimers about data sharing to comply with global regulation: 
    1. Required identity providers:
      1. GitHub.com
      2. GitLab.com
    2. Optional identity providers: 

      1. Atlassian ID
      2. Google ID
  4. Integrate solution for Spam account mitigation based on either existing Drupal.org account protection, or other method developed in collaboration with DA engineering staff.

  5. Enforce an additional terms of service acceptance during account creation with a third-party identity. 

    1. Enforce an admin-triggered re-acceptance in case of changed terms of service.
  6. Allow a method for a 3rd party site or service to offer 'Create account/login with your Drupal.org identity' 

    1. Enforce a requirement for only approved sites/services to be allowed to use this identity.
    2. Enforce a requirement that data shared is disclosed to users before account creation is confirmed. 

Technical constraints and additional requirements

The chosen solution must meet the following additional technical constraints and requirements: 

  • Strong preference for a self-hosted identity store, rather than a Saas/third party solution - if a Saas solution is proposed, privacy policy must be stronger-than industry standard, fully compliant with international regulation like GDPR, and data must be fully portable. 
  • After discovery interviews with the Drupal Association engineering team, we must decide which system is the source of truth for user account data: Drupal.org, a SAML database, or other.
  • Must support SSO from www.drupal.org to all sub-sites, and assistance with any necessary data migration.
  • Must support SSO for Drupal 7 and Drupal 9 - as Drupal.org sites will be migrated from version 7 to 9 one at a time. 
  • Must support SSO from www.drupal.org to our self-hosted GitLab instance, including assistance with any necessary migration of existing account data.

Vendor requirements

The Drupal Association will consider contracts from both individual developers and agencies.

An individual must: 

  • Be a member of the Drupal Association
  • Provide a portfolio of examples of prior identity and authentication projects

An agency must: 

  • Active Supporting Partner of the Drupal Association that qualifies for any level of the new Drupal Certified Partner Program
  • Provide a portfolio of examples of prior identity and authentication projects
  • Provide a statement or link that reflects your organization's commitment to Diversity, Equity, and Inclusion.

Other Considerations:

Please indicate if you’re willing to accept in-kind benefits if your bid comes in higher than our allocated budget. The cash portion of the budget should not exceed $28,000 USD.

The point person for this project at the Drupal Association is generally available between 4:00 PM - 11:00 PM UTC. We welcome global responses but we’d prefer meeting times to be within our standard business hours. We will make every effort to accommodate times outside of standard Pacific Time business hours.

Timeline

We would like the authentication and identity solution to be implemented no later than October 1st, 2021.

Individuals or Agencies who intend to participate should provide their bids and samples of portfolio work to the Drupal Association via email ([email protected]) no later than Friday, May 14th at 5pm U.S. Pacific. Respondents will be notified of the decision no later than June 15th.

Apr 30 2021
Apr 30

Drupal AssociationThere are more than 1 million Drupal sites actively in use across the globe. At least one in 40 websites that a typical internet user visits is likely to be built on Drupal - however, the Drupal project leads and the Drupal Association do not necessarily have a direct line of communication to each of these Drupal site owners.

While the Association can reach Drupal users and site owners who visit Drupal.org, attend DrupalCon, or follow one of our social channels, there are many more users who do not engage with the Drupal community outside of their own Drupal instance control panel.

This initiative seeks to change that by adding a channel for important project and association messaging directly in Drupal Core's admin interface. 

Scope

The feature proposal has already completed the core idea queue process, and the initial prototype of the Project Messaging in Core feature has already been built as a contributed module. This existing work currently needs to be transferred into a true core feature request issue with added test coverage and any additional changes requested by the core team.

The work then needs to be backported to Drupal 7, and possibly to Drupal 8 after discussion with core maintainers.

  1. Full technical and security review of the existing prototype project.
  2. Remediation of any identified issues.
  3. Completion of test coverage. 
  4. Shepherding through the process of getting feedback from the appropriate core maintainers. 
  5. Implementing required feedback. 
  6. Once committed - move on to backports:
    1. Backport to Drupal 7
    2. Shepherd through the approval process with Drupal 7 maintainers. 
  7. Optionally - pending a discussion with core maintainers, consider porting to Drupal 8. 

Technical constraints and additional requirements

The chosen solution must meet the following additional technical constraints and requirements: 

  • The solution must be built to appropriately aggregate the feed of messages from Drupal.org, in collaboration with the Drupal Association engineering team.
  • The solution must be built according to core contribution standards. 

Vendor requirements

The Drupal Association will consider contracts from both individual developers and agencies.

An individual must: 

  • Be a member of the Drupal Association
  • Provide examples of their contributions to Drupal core, especially feature additions, rather than bug fixes.

An agency must: 

  • Active Supporting Partner of the Drupal Association that qualifies for any level of the new Drupal Certified Partner Program
  • Provide examples of their contributions to Drupal core, especially feature additions, rather than bug fixes.
  • Provide a statement or link that reflects your organization's commitment to Diversity, Equity, and Inclusion.

Other Considerations:

Please indicate if you’re willing to accept in-kind benefits if your bid comes in higher than our allocated budget. The cash portion of the budget should not exceed $30,000 USD.

The point person for this project at the Drupal Association is generally available between 4:00 PM - 11:00 PM UTC. We welcome global responses but we’d prefer meeting times to be within our standard business hours. We will make every effort to accommodate times outside of standard Pacific Time business hours.

Timeline

The project messaging feature has a hard deadline of October 1st, 2021 in order to be included in the last release of Drupal 9, and for a backported release to Drupal 7. Preference will be given to proposals that complete the work on a much shorter timeline in order to allow plenty of time for the core acceptance process.

Individuals or Agencies who intend to participate should provide their bids and samples of portfolio work to the Drupal Association via email ([email protected]) no later than Friday, May 14th at 5pm U.S. Pacific. Respondents will be notified of the decision no later than June 15th.

Apr 19 2021
Apr 19

Solomon Gifford, Sr. Director, CMS Product Development, BlackMesh by Contegix

So, you use Drupal, but you're not hosting on a dedicated Drupal platform. You’re either managing your own infrastructure or you’re running Drupal on the public cloud. What do you call what you're doing?

No seriously! How would you describe what you do? And I’m not talking about contributing to the Drupal codebase or related modules. How do you describe the management of your technology stack and CI/CD pipeline?

When Drupal was in its infancy, [most of us] weren’t playing with containers, running headless Drupal, thinking about serverless computing, or implementing IaC (infrastructure as code). The cutting-edge teams were using Jenkins or a collection of home-grown scripts to automate their CI/CD pipeline, but most teams were looking for that no-ops solution where they could focus on development and offload the rest of the responsibilities. This gave rise to the Drupal Hosting partners—BlackMesh through its white-glove support model and Pantheon and Acquia through their automated, yet opinionated (depending on perspective), platforms among others.

Existing Terminology

System Administrator Responsible for the provisioning, monitoring and management of computer systems - e.g. the person(s) managing OS patching, middleware configuration (Apache, Varnish, PHP, etc.) on physical or virtual servers DevOps Engineer Responsible for a set of practices that combines software development and IT operations - e.g. an ambiguous role doing a lot of tasks that aren’t strictly development or operations IT Managed Service Provider Responsibility for maintaining a range of IT processes and functions - e.g. the IT people hired to replace internal roles in order to improve operations and cut expenses Hosting Service Provider Responsible for providing a pool of remote, internet-based IT resources for hosting websites, e.g. the team building and delivering infrastructure for deploying websites and maintaining their functionality

Webmaster

A person maintaining a website
WebOps - DevOps for web applications
Software Process Engineer - Designs, implements, and optimizes processes for software teams WebOps DevOps for web applications Software Process Engineer  Designs, implements, and optimizes processes for software teams Platform Engineer Responsible for writing code that bridges the gap between software and hardware - e.g. the people managing containers, infrastructure orchestration or public cloud automation Automation Engineer Responsible for delivering automated solutions for software processes, e.g. the person(s) who set(s) up the software pipeline, workflow, etc.

However, as Drupal has matured and technologies have changed, so have the way many shops approached the Drupal lifecycle. By their very nature, containers and IaC technologies shift the post-development management responsibility from the system administrator to the developer. Need to change the number of concurrent threads in Apache? The developer updates the container instead of a system administrator. Need to scale from three webheads to six on the public cloud? The developer updates the configuration and checks it in to revision control. (Opinionated platforms may abstract these configurations to a YAML file or web-based configuration in exchange for limiting the possibilities.

But these arguably exciting trends have also had an undeniable impact on the skillset required to manage Drupal applications. Drupal developers now need additional competencies in application architecture, performance tuning, workflow automation, public cloud, Kubernetes and other emerging technologies.

Larger teams have the capacity to adopt a DevOps model by acquiring the necessary specializations in the team (as opposed to a more Agile model where every team member shares responsibilities), but smaller agencies and IT departments are confronted with a difficult choice of costly investment in their in-house capabilities or not embracing the additional technologies.  In order for smaller agencies and IT departments to successfully compete, they need to augment their teams with outside resources to fill the gaps.

This brings us full circle to the original question, but restated in context of the discussion: What do we call all of the Ops activities that used to be performed by the System Administrator but are now left up to the developer?

DevOps is one natural term, yet it suffers from being ill-defined. Jeff Sussna and other DevOps leaders start with more philosophical approaches that DevOps is “empathy” applied as a design principle. DevOps is as much more a methodology than a collection of skills – a quick job search for titles that include the word DevOps varies so broadly that it has to be qualified by specific technologies, either in the title or job description. Monster.com recommends against using DevOps in job titles because “shouldn’t everyone in tech be a part of DevOps?”

WebOps, a term championed by Pantheon and others, is much closer to the Drupal web application space, except for the fact that in its simplest forms, WebOps is just “DevOps for web applications.” Contegix uses the WebOps term to describe all of the support and DevOps activities related to managing Drupal sites on its BlackMesh platform. The subtle difference between the two being whether the platform is included in the definition or not.

Any term should also be usable for small agencies or IT departments that need to outsource these activities. Remote System Administration is quickly becoming an antiquated term that assumes a non-developer skillset. Managed Services or Remote Managed Services again suffer from the overly broad nature of the universe of services that can be delivered under those terms.

And while this blog suggests DrupalOps in the title, Drupal is increasingly just a single component of larger web presences. Headless Drupal behind a Node.js frontend or mobile application is more than just Drupal Ops. Similarly, a Drupal application whose frontend has significant Lambda or other serverless computing components doesn’t fit neatly within the DrupalOps definition.

So, what do we call these skills that used to be performed by the System Administrator but are replaced by new development activities? How can we brand those skills in a recognizable term that serves both larger teams that acquire those skills or smaller teams that need to outsource them in order to be successful?

As this blog raises more questions than answers, I invite the Drupal community to join the discussion in the comments below.  What do your teams call these activities? How has this impacted job titles? For smaller teams, how have you addressed the skills gap?  Most interestingly, what do you propose calling these activities?

[Listen Now]

I’d also like to invite you to a listen to a live discussion with Tim Lehnen, CTO, Drupal Association and Kelly Beck, Drupal DevOps Engineer with the BlackMesh team at Contegix and myself about this very subject. Click here to watch the video.

Apr 07 2021
Apr 07

Read our roadmap to understand how this work falls into priorities set by the Drupal Association with direction and collaboration from the Board and community. You can also review the Drupal project roadmap.

Drupal.org UpdatesDrupal contribution

Drupal's 20th Birthday Year

As we close out the first quarter of 2021, we continue the celebration of 20 years of Drupal with #DrupalFest and #DrupalCon!

#DrupalFest is a month-long celebration of all things Drupal, taking place online all around the world. DrupalFest lasts throughout the month of April. Most events are free, and we encourage everyone to attend, and even submit your own!

DrupalCon is right around the corner from April 12-16, happening online. This year's DrupalCon reflects a renewed focus on the strategic initiatives that drive innovation in Drupal. Each day has a half day of live programming for and then a half day of contribution, and all personas are welcome! Join us!

Increased focus on Strategic Initiatives

Speaking of strategic initiatives, the current primary initiatives being highlighted at DrupalCon and beyond are: 

  • Decoupled Menus - This initiative focuses on creating standardized tools and libraries for decoupled Drupal, starting with the menu system. This is the first step in making JavaScript front-ends a central part of the Drupal project. 
  • Easy out of the Box - This mega-initiative combines the efforts of Layout Builder, Media, and Claro to help empower content editors in Drupal to take advantage of the best that Drupal can offer.
  • Automatic Updates - This initiative is focused on the #1 most requested feature in Drupal: automatic updates. The initiative is building a robust and secure system for automatically updating Drupal, starting with security and patch releases.
  • Drupal 10 Readiness - The Drupal innovation train keeps rolling! The Drupal 10 Readiness initiative is rallying the community around what we need to reach our Drupal 10 release date, and helping site owners ensure they're ready for the upgrade when the time comes.

In addition to the content at DrupalCon, you can find ways to get involved in any of these initiatives by checking out the Drupal Strategic Initiative section on Drupal.org.

Decoupled Menu Initiative Support

General projects are a new content type on Drupal.org for code that does not fall into the neat categories of module, theme, or distribution. Instead, these can cover things like JavaScript Components, Drush Extensions, Install Profiles, Libraries, etc.

This is the first step in making Drupal a project greater than just PHP. This capability leans into Drupal's future in Decoupled applications, and in digital experiences beyond the web browser. 

Since the launch of general projects as a new content type on Drupal.org the Decoupled Menu Initiative has made great progress on creating standardized endpoints/libraries for decoupled Drupal solutions.

At DrupalCon North America the Decoupled Menus initiative leads invite you to a hackathon to begin to create applications for this work.

The rapid movement on this initiative shows how quickly the Drupal community can pivot into more robust and standardized Decoupled implementations, and furthers Drupal's lead in the marketplace.

Easy Out of the Box Support

For the Easy Out of the Box team, the Drupal Association has been focused on connecting the initiative leads to the Drupal Contribution Mentoring team, so that at DrupalCon there will be a variety of onramps to help new contributors support this work.

Easy Out of the Box is effectively three initiatives in one, focused on Layouts, Media, and the Claro administrative theme, so people with interest in any of those areas are more than welcome.

AutoUpdates Initiative Cross-Project Collaboration

The Drupal Association Engineering team continues its close collaboration with the AutoUpdates initiative team. Because AutoUpdates requires a server side component that will live on Drupal.org infrastructure, the engineering team needs to be closely involved.

This initiative has also had a heavy focus on cross-project collaboration - with three CMS partners in the PHP ecosystem collaborating together on the basic principles of supporting securely signed update packages.

Drupal    Typo3   Joomla

We're also collaborating with other partners, such as the Cloud Native Computing Foundations 'TUF'(The Update Framework) team, and the team behind Composer. 

Composer     Cloud Native Computing Foundation    The Update Framework

At DrupalCon North America the TUF team will be presenting about securing software package delivery - a topic that is sure to be interesting for all.

Drupal 10 Readiness Support

Drupal 10 is slated for release in June of 2022, which is only a little bit more than a year away. Fortunately, Drupal 10 follows the continuous innovation model of Drupal development that was so successful in the transition from Drupal 8 to Drupal 9. In essence, so long as site owners are up to date with the latest version of Drupal 9 they should be able to make the jump very easily. The only area of concern is deprecated code.

To that end, the Drupal Association engineering team collaborated with Gábor Hotjsy to set up automate code deprecation checking using the DrupalCI infrastructure. This allows the team to understand the most used instances of deprecated code, so that contributed module maintainers can be made aware of the need to update, and so that the Drupal Rector team(supported by Palantir.net) can begin creating automatic deprecation patches.

GitLab Merge Request Updates

Last year, Drupal.org migrated our community contribution tools to GitLab, by integrating the existing Drupal.org issue queues with GitLab's merge request functionality.

Thanks to these improvements, the complete contribution lifecycle can be completed entirely in the browser. As a contributor to Drupal you no longer need to use command line git, install a local development environment, or use a local IDE in order to make your contributions.

Since the initial launch, we've received feedback from many people in the community about improvements to usability with the Drupal.org issue queue integration. Looking at the child issues of this issue, we can see rapid usability improvements that have sped the pace of contribution.

More recently, we worked with our partners at Tugboat.qa to release live deployment previews of your code changes - first for Drupal Core, but now available for contributed projects on Drupal.org as well. This means that even reviewing visual changes or seeing your code deployed to a site can all be done without leaving your browser. This is a huge boon to all contributors, but especially to usability and accessibility experts who can much more easily view the impact of changes across issues.

Major improvements to Community events

In collaboration with the Events Organizers Working Group, the Drupal Association has updated the Drupal.org Community Events section. This new section represents a central repository for all of the events taking place across the Drupal Community, and will ultimately be the replacement for Groups.Drupal.org.

This section allows anyone in the community to submit their events, whether online or in-person, and provides a variety of views to help people find events they'd like to attend. Events can be filtered by type(con, camp, meetup, training, etc); proposed events can be submitted to help avoid scheduling conflicts; and calls for content/speakers can be promoted.

A feed of these events is made available for 3rd party tools built by the community, which is already being used to feed Drupical.com.

Local events are the heart of our community, so we hope that you'll help us by submitting your local events to this new tool!

Documentation updates

Led by community volunteer u/jhodgdon, Drupal.org's documentation tools have seen a variety of updates. In particular, the Drupal contributor guide is now much more complete, helping folks who are new to contribution in Drupal find a place to fit in and get started.

We've also deployed improvements that make it easier to understand whether the documentation you're reading is up-to-date, and how to report problems if you find them.

If you're looking for somewhere to contribute - helping to update documentation is a wonderful place to start!

Coming soon: Discover Drupal Portal

Coming up at DrupalCon is the announcement of a new program: Discover Drupal. This program is part of the Drupal Association's talent and education initiatives, and represents the Drupal Association's commitment to growing the Drupal talent pool and increasing diversity in our community.

With the official announcement just around the corner we won't spoil the details here, but very soon you'll be able to check out the new web portal for the Discover Drupal program and find out what it's all about.

Infrastructure Updates

Over the course of the last quarter the Drupal Association engineering team has provided a variety of feature updates for the Drupal project in terms of testing infrastructure: 

  • PHP8 Testing support - The Drupal Association provided PHP8 testing environments in DrupalCI, and so Drupal versions 9.1 and beyond are all fully PHP 8 compatible.Staying on the leading edge of compatibility gives Drupal the advantage of improved performance and security, and sets us up for success when it's time for Drupal 10.

  • Code Standards test for Drupal Core - Drupal Core tests now provide code standards testing results, saving a laborious manual step when reviewing core contributions.
  • GitLabCI/Pipelines - The Drupal Association has also enabled GitLabCI/Pipelines for these new general projects. This is a precursor to moving to GitLabCI for all Drupal CI uses. With direct maintainer control of the CI configuration for these projects, we can see automated workflows to support a wider variety of projects - allowing for more innovation. However, we need to be cognizant of cost controls as we open up this capability.

The year is off to a fast-paced, productive start and as always it is humbling and gratifying to see the great work that the community accomplishes with the tools the Drupal Association provides.

———

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

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

Apr 02 2021
Apr 02

This year’s DrupalCon North America 2021 keynotes highlight the power of the global Drupal community to make a difference in some of the most crucial issues of our time and the future of digital experiences. Register today.

The Drupal Association is planning a blockbuster event for DrupalCon North America, the most widely attended Drupal event, 12-16 April from 11:00 - 15:00 EDT daily. This year’s all-virtual event brings together Drupal experts, enthusiasts, end users, and the broader open source software community to connect, collaborate, and contribute to advancing Drupal - the world’s leading open source digital experience platform (DXP).

Heather Rocker, executive director of the Drupal Association states, “Our global community of developers, marketers, and business leaders come to DrupalCon to connect, learn about the experiences of their peers, and share their own expertise. DrupalCon participants also benefit from the opportunity to learn from our keynote and featured speakers. This year, those topics include the role of open source in schools to close the digital divide, the importance of allyship in developing diversity and inclusion, building successful mentorship for people of color in tech, and understanding digital rights as human rights.”

Featured keynotes will highlight inclusion, closing the digital divide, and the Drupal platform’s future.

Sheree Atcheson, Global Diversity, Equity & Inclusion Leader
Allyship—the key to unlocking the power of diversity
Monday, 12 April 12:10-12:40 EDT
Atcheson, an industry-leading voice on diversity and inclusion in tech, will talk about the importance of intersectional allyship in creating inclusive environments and technology. She’ll offer tips on how everyone in any role can actively consider, champion, and advocate for others in their work and be more inclusive in their day-to-day lives.

Atcheson has been named one of the UK’s Most Influential Women in Tech and has received multiple international awards for her work to advance diversity and inclusion in the tech industry.

Dries Buytaert, Founder, Drupal
Driesnote
Wednesday, 14 April 12:30-13:50 EDT
A much-anticipated highlight of DrupalCon, Buytaert, Drupal’s founder, will deliver his annual talk celebrating Drupal successes over the past year, outlining the state of the Drupal project now, and offering his thoughts on what’s next.

Buytaert is the original creator and project lead for Drupal, an open source platform used around the world to build websites and digital experiences, as well as co-founder and chief technology officer of Acquia, a venture-backed technology company.

Stuart Keroff, Social Studies and Technology Teacher, Aspen Academy
School needs open source, now more than ever
Friday, 16 April 14:20-14:50 EDT
Technology educator Stuart Keroff, founder of the first two middle school Linux clubs in Minnesota, has spent the last 10 years guiding middle school students to use open source as a tool to close the digital divide in education. He and his students will share how they used open source software to recycle computers for their fellow students during COVID-19 school closures.

To date, he and his students have provided over 600 Linux computers, helping students learn while also saving money for their schools.

New this year - participants can attend keynote sessions dedicated to strategic Drupal Initiatives:

Decoupled Menus
Tuesday, 13 April
This initiative is focused on developing an easy-to-integrate solution for JavaScript front ends to consume configurable menus managed in Drupal—a key enhancement for developers. This is the first step in standardizing best practices for Decoupled Drupal.

Easy Out of the Box
Wednesday, 14 April
This initiative is designed to refine improvements introduced in the Drupal 9 release and enable new features that can make Drupal even easier to use.

Automated Updates
Thursday 15 April
This initiative is all about implementing a secure system for automatically deploying safe, secure updates for Drupal sites—a crucial enhancement for Drupal service providers and end users.

Drupal 10 Readiness
Friday, 16 April
This initiative is our effort to update and enhance the platform to enable a smooth, secure transition to Drupal 10, which launches in 2022.

Invest in your career, register today
The global pandemic has increased pressures around work-life integration, so DrupalCon 2021 is built with flexibility in mind. Each day is streamlined with 4 hours of live content, and the virtual setting allows easy participation in the featured keynotes, small group discussions, and interactive skill-building sessions most relevant to you.

Tickets are $245 per attendee and include access to all DrupalCon events, premiere access to the session recordings, as well as admission into the industry summits of your choice (higher education, healthcare, nonprofit, and government) held throughout April. Registration details, as well as additional speaker and session information, are available at https://events.drupal.org/northamerica2021

DrupalCon is brought to you by the Drupal Association in collaboration with a team of dedicated contributors and sponsors, including Diamond Sponsors Acquia, Pantheon, and Platform.sh.

DrupalCon Community Photo

Mar 30 2021
Mar 30

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

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

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

Jan 14 2021
Jan 14

Drupal Birthday Cake

Today, on Drupal's 20th birthday, we are kicking off celebrations that will last throughout 2021. Together, let’s celebrate 20 years of Drupal and our Community - the inspired makers that keep Drupal innovative. 

As part of this 20-year milestone, we celebrate our community of more than 100,000 contributors who made Drupal what it is today,” says Heather Rocker, executive director of the Drupal Association. “Success at this scale is possible because the Drupal community exemplifies the values of open source and proves that innovation is sustained by healthy communities.”

To kick things off, we have a few ways for you to get involved:

With so much to celebrate, today's activities are only the beginning. Keep an eye on this blog, the @drupalassoc on Twitter, and Drupal Association on Linked In for more activities throughout 2021. 

Dec 18 2020
Dec 18

Posted on behalf of One Shoe and Exove

What is the vision of Drupal business leaders all around the world on Drupal in 2020? For the fifth year in a row Drupal agencies One Shoe and Exove, together with the Drupal Association, investigated how Drupal company leaders experience the current Drupal business ecosystem. Of course, the year 2020 is marked by the effects of the coronavirus but there’s much more to say about doing Drupal business.

Characteristics of the participants

This year, 83 people participated in the Drupal Business Survey. Out of all the participants, nearly 70 % had a CEO/CTO/COO role in their company. Other roles represented in this survey are mainly founders (15.7%), and Directors (7,2%). 

Map

A majority of the Drupal centric businesses that participated in the survey are located in Europe (49,5%). The rest is located in:

  • North America (33%)
  • South America (3,7%)
  • Asia (12,8%) 
  • Africa (3,7%)

Almost half of the respondents were digital agencies, 20,5% software companies and 18,1% consulting agencies. As we can see from the graph below, most of the respondents are small to midsize companies. The majority of the companies that participated in the survey have been in business for over 8 years. Nearly 40% of all the respondents have been in business for over 14 years. 

We could therefore say that the opinions and experiences of people in this survey are based on years of experience with Drupal business!

Company size
Covid-19 impacts Drupal businesses in various ways

As this year comes to a close, we can only conclude that 2020 turned out differently than expected. It brought company leaders new challenges and opportunities. Generally, we can conclude (for now) that the impact of COVID-19 may be less than initially anticipated and entrepreneurs keep doing excellent Drupal business.

In the survey we asked Drupal agency leaders about their challenges and successes of this year. Many participants cited the coronavirus and its consequences as their top challenge: 

Greatest Challenges

15% of the respondents named 'Covid-19 in general' as the main challenge without further explanation. To provide more detailed information, we have broken down the answers that provide better insight into the impact of the coronavirus on businesses:

  • Covid-19 affecting client projects (13%)

In some cases, the coronavirus outbreak has had an impact on clients and their projects. One leader tells us in the survey: “[Our biggest challenge this year was] covid and seeing a couple of our sectors getting hammered. Seeing projects put on the shelf, cancelled, etc“ But it does not always lead to this. Another participant tells: “We experience uncertainty around some client's future budgets. This has not resulted in any major reductions though.”

  • Covid-19 forces remote working (10%)

Working remotely is, and remains, a major challenge for a lot of companies. “Moving to 100% remote after the pandemic [was the biggest challenge]”. Someone else mentions “remote selling” specifically as a challenge. 

  • Covid-19 affecting (mental) health of employees (8.8%)

It won’t be surprising that another big challenge was “Staff falling ill with covid and/or having children at home so staff is pressured and unable to work”. It’s worth mentioning, though, that many company leaders indicate that covid-19 has a great impact on the mental well-being of their staff but at the same time they are very proud of their team. “We have kept our team together during the covid storm” says one leader in response to the question what their greatest success of the last 12 months is. Another one said: “[Our greatest success is] Outstanding leadership from the senior technical team members (non-exec level).” “Maintaining high morale and supportive culture” someone else adds. 

Many Drupal businesses do thrive in 2020

Doing Drupal business in 2020 is not only about facing challenges - not at all. 
Many participants told us their companies thrived even despite (or due to) the effects of the coronavirus. 

Greatest successes

20% of the answers when asked about greatest success are about thriving despite Covid-19:
“We make it through the COVID months relatively well financially after pivoting to clients who luckily benefited from COVID (increased business).” Another agency leader adds: “[Our greatest success is] navigating my company successfully through a world pandemic with results that exceed the pre-covid prognosis!”.

The pandemic as a catalyst for investments in digital

What’s the success factor of these kinds of Drupal companies? Based on people’s comments, it seems there is a rapid digital adoption driven by covid-19: “[We see] increased demand due to companies going more digital during the pandemic”. Another one tells: “We launched a covid-19 site for a major healthcare client.” And: “We've won our biggest Drupal contract ever. We successfully launched our largest ever project despite coinciding with the early days of lockdown. We are educating our clients that the pandemic should be seen as a catalyst for investment in digital.”  

Another big success is launching successful Drupal projects (20%), such as: “We launched a big popular Drupal site (8.x) for German Government with integration (backend) of services” and “We have been building bigger and more complex websites with Drupal.” 

These findings correlate directly with the answers to the questions about the project pipeline, deal size, and win rate.

Pipeline Development

In the graph above you can see that Drupal project deal size has grown more in comparison with project pipeline or win rates. One business leader explains why: “We choose clients more carefully, because of that average deal size has grown significantly. On the other hand due to the more aggressive competitors sales, we have lost quite many large deals.” What this shift could mean for the future according to one respondent? “The traditional smaller scale Drupal projects are dwindling, of less value. The future is in large scale projects where Drupal is a component of a larger architecture.” Another one mentions the public sector as a profitable one: “Drupal has been "in vogue" in our market right now, especially in the public sector. We see a lot more RFQs compared to last year, and a lot of them are quite sizable.”

The project deal size growth is a very positive indicator and well in line with the Drupal’s growth to the enterprise market. As a part of the sales cost is always fixed and not dependent on the size of the deal, this will lead to bigger margins that will help the companies to develop themselves further.

Expectations for growth from 2021 onwards

The outlook for 2021 and onwards looks positive based on the survey answers. Despite the situation with COVID-19, almost half of the companies expect their business and on-going project situation to improve in the near future.

Only around 20% of the companies expect the situation to weaken in the forthcoming months, and only a fraction of them significantly. This resonates well with the earlier findings of the pandemia accelerating the need for digital services. Drupal being a versatile and flexible platform is gettings its fair share of the positive market development.

Business Impact

Profitable Drupal industries

So, Drupal business is still doing quite well. But in which industries? Each year the Drupal Business Survey asks respondents in which industries their company operates. This is the top 10 of 2020:

Top ten industries

The most popular industry for Drupal projects is the same as in 2019: the Educational sector. With 61,4% this is the sector with the most Drupal projects. It should be noted that “Education” was added to the survey in 2019 and thus 2017 and 2018 show it blank. This is followed by Charities & Non-Profit (55.4%) and Government & Public Administration (50.6%). 

However, if you compare all the industries over the years, the number of Drupal projects in the Charities & Non Profit decreased significantly. This also counts for the Arts & Culture industry. The Drupal platform is evolving towards the higher end of the spectrum with each release adding new sophisticated features. This causes the project sizes to grow which explains the drop in industries that cannot invest heavily on digital platforms. Also, Arts & Culture has been hit by coronavirus this year.

Top ten industries

Reasons for clients to choose Drupal, or not

Why is Drupal so often chosen for digital projects? When clients have previously worked with Drupal, they often choose the framework again (60% of the answers). It showcases the fact that Drupal is a good tool for solving their business problems.

It also appears that the consultancy role of the agency is significant in determining the client's choice of technology. In more than half of the answers given in the survey, the client follows the advice of the agency for choosing Drupal. Other major selling points for Drupal are its open source character, flexibility and security. 

Reasons for choosing Drupal
The main reasons for clients not choosing Drupal are consistent with last year's survey - the same underlying issues still remain today. Main reasons for potential clients choosing other platforms instead of Drupal are: 

  1. Price. For example, prices can increase significantly because Drupal is used at the higher end of the CMS spectrum, and thus development is time consuming and therefore expensive. As one respondent said “Drupal practitioners can handle more complex problems, so they're more expensive”.
  2. Complexity. Wordpress is seen as more user friendly and easier to approach. 
  3. Familiarity. Potential clients don’t seem to know much about Drupal which makes it harder to sell.

Knowing why potential clients are choosing other platforms is key in further developing Drupal and meeting client needs. Reviewing the existing target audience and marketing Drupal for the right audiences, might be things to consider to tackle these obstacles.

Conclusion

One thing is certain: companies - both Drupal agencies and clients - have to adjust their strategy because of covid-19. But looking at the answers given in this study, it appears that Drupal projects are getting bigger and Drupal businesses are growing - provided they operate in the right industries and succeed in working remote. Or, as a Drupal agency leader puts it, "Despite the covid epidemic, we have managed to work together and increase transparency in the business - we are now in many ways better than March." And who knows, the effects of covid-19 may as well accelerate the demand for digital projects.

Dec 07 2020
Dec 07

Drupal Steward LogoOn November 18th, 2020, the Drupal security team released security advisory SA-CORE-2020-012, a critical remote code execution vulnerability being patched in Drupal 7, 8, and 9. If you haven't read up on this issue, or the contrib advisories from the same day, I suggest you pause here and go take a look (and of course update your site(s)).

As always, the Drupal Security Team demonstrated their commitment and professionalism in helping all of us keep our Drupal sites more secure. But this post is not just to praise the security team, but also to report back on our first trial activation of the Drupal Steward program with a real security vulnerability.

As a reminder, the Drupal Steward program is operated jointly by the Drupal Association and the Drupal Security team, to offer protection for highly critical and mass exploitable vulnerabilities in the form of a web application firewall. This protection is offered directly by the Drupal Association to end-users, and also through our Founding Platform Partners: Acquia and Pantheon.

Drupal Steward doesn't change the site owner's responsibility to update their site. It does, however, provide a greater safety window and more flexibility for their team when scheduling the update.

In coordination with the Drupal Security Team, as well as our partners, we decided to use SA-CORE-2020-012 as our first live case for implementing this protection. This core issue was neither 'highly-critical' nor 'mass-exploitable' as the program is generally designed to protect, but because it was still a critical issue, it made a good test case.

We made a deliberate choice not to pre-advertise the protection for this first activation, because we wanted to thoroughly vet the process from end-to-end, before telling Steward customers to breathe easy when scheduling their update.

For future activations we will include a section in the PSA or SA published on Drupal.org, marked by the Drupal Steward logo, which indicates whether an upcoming security release will have this Drupal Steward coverage - giving all Drupal Steward customers the warning they need so they can responsibly schedule their site updates.

We're very pleased to say that this first program activation went very smoothly. Our coordination with Founding Partners, and our implementation of the firewall rules for the community tier went quickly and easily - and despite the short turn-around time, we were able to have protection coordinated in time for the disclosure of the issue.

What about SA-CORE-2020-013?

If you follow Drupal security issues closely, you'll know that another Drupal security release occurred only about a week later. SA-CORE-2020-013 was released to mitigate a vulnerability in a third-party dependency of Drupal. This issue was not eligible for Drupal Steward coverage because it was a zero-day, that is, the vulnerability was already public and so there was no time to implement a preventative mitigation strategy.

Ready to sign up?

You can learn more about Drupal Steward here and you can ask questions or set up a consultation here. Cost is usage-based, and we've tried to subsidize the cost as much as possible for our community site owners. For most small to medium-sized sites, coverage costs less than $200/year. Proceeds are allocated to support Drupal Association and Drupal Security Team programs. 

Oct 29 2020
Oct 29

Share your vision on the business side of Drupal in 2020! Agencies One Shoe, Exove and the Drupal Association are calling all Drupal agency leaders to take part in the annual and already the fifth Drupal Business Survey. 

The Drupal Business Survey aims to gain insight into the key issues that Drupal agency leaders nowadays face. It includes questions about the business strategy of Drupal companies, the impact of Covid-19, Drupal community contribution and about the future of Drupal. Read the 2016, 2017, 2018 and 2019 reports for previous analyses. Now it’s time to contribute to a new overview of the state of Drupal business in a year that’s influenced by so many factors.

Take the Survey

Your response will be used to generate an anonymized, aggregate report about the state of the Drupal business ecosystem. The survey is open until Monday, November 16th. The results and insights of this survey will be shared with you, officially published on Drupal.org and discussed on the Drupal CEO Virtual Drinks on December 9 at DrupalCon Europe

Take part in this survey and contribute to the Drupal project: your opinion is of great value!

Oct 13 2020
Oct 13

The Drupal Association would like to congratulate our newest elected board member:

Pedro Cambra.

Pedro Cambra FernandezPedro Cambra is a Drupal developer and consultant with extensive experience working with Drupal projects. He has worked in many different industries, including large organisations such as United Nations, non-for-profits such as Cancer Research UK or Médecins Sans Frontières and he also has a strong background working with large E-commerce integrations.

He currently works at Cambrico, a small Drupal shop he co-founded.

Pedro contributes to the Drupal project and community with a number of popular contributed modules and has helped organise events in Spain, Japan and the UK. He has been involved in the organisation of several Drupalcons and, in 2012, Pedro was elected by the Drupal community as director for the Drupal Association for two year term.

We are all looking forward to working with you, Pedro.

Thank you to all 2020 candidates

On behalf of all the staff and board of the Drupal Association, and I’m sure the rest of the Drupal community, I would like to thank all of those people who stood for election this year. It truly is a big commitment to contribution and one to be applauded. We wish you well for 2020 and hope to see you back in 2021!

Detailed Voting Results

There were 10 candidates in contention for the single vacancy among the two elected seats on the Board.

920 voters cast their ballots out of a pool of 3209 eligible voters (28.7%).

Under Approval Voting, each voter can give a vote to one or more candidates. The final total of votes was as follows:

I’m sure we will all want to send our congratulations!

What’s next

The new term of the Drupal Association board starts November 1st. In the coming weeks, we will publish an update from the board with information introducing the 2020-2021 directors, updates for 2021 including strategic goals, and opportunities for the community to connect with the Board.  
 

Sep 15 2020
Sep 15

voting banner image of a ballot box

Elections for the next At-Large member of the Drupal Association Board have now reached the voting phase. Voting will take place from now, 15 September, until 30 September at 10 am PDT.

Drupal Association Individual members should check their email inboxes over the next couple of days for their voting slip arriving.

In the meantime, voters should read the candidate’s info pages, watch the “Candidate Chat” videos, and consider which of the candidates will help the Drupal Association most effectively fulfil its mission.

Voting

As detailed previously, we will be using Helios Voting this year and the voting process looks like this:

  1. Open the voting slip email that was sent to the primary email address defined in your drupal.org profile
    The email will arrive from [email protected] - check your spam folder if you cannot see it, though it will take some hours to send voting slips to each of the 3200+ eligible voters!
  2. Read the instructions there to register your vote
  3. Again, you should receive an email from Helios Voting, confirming the correct registration of your vote
  4. Await the results!

We would like to thank all of our candidates this year for their participation and wish them all the very best of luck!

Have questions? Please contact me: Rachel Lawson.

Aug 10 2020
Aug 10

Time to vote

It is that time of year again where the Drupal Association Board looks to fill the At-Large member seat that becomes available every year.

This year, we send our thanks to Suzanne Dergecheva, who will be stepping down as At-Large board member after serving her two years. Last year, we elected Leslie Glynn to the board, who has one more year to serve - and we are sure will be happy to welcome the next person onto the board!

Important Dates

Nominations open: 10 August 2020

Nominations close: 27 August 2020

"Meet the Candidates" begins: 28 August 2020

"Meet the Candidates" ends: 13 September 2020

Voting opens: 15 September 2020

Voting closes: 30 September 2020

Announcement of winner: 30 October 2020

What does the Drupal Association Board do?

The Board of Directors of the Drupal Association are responsible for financial oversight and setting the strategic direction for serving the Drupal Association’s mission, which we achieve through Drupal.org and DrupalCon. Our mission is: “Drupal powers the best of the Web. The Drupal Association unites a global open source community to build, secure, and promote Drupal.”

Who can run?

There are no restrictions on who can run, other than you must be a member of the Drupal Association.

How do I run?

Candidates are highly encouraged to:

  1. Watch the latest Community Update Video

    [embedded content]

  2. Read about the board and elections, including the video about the elections this year
    [embedded content]
  3. Read the Board Member Agreement

Then visit the Election 2020: Dates & Candidates page to self-nominate. The first step is to fill in a form, nominating yourself. Drupal Association staff will create you a candidate page and make you the author so you can continue to add content here during the election and answer any question posed by the electorate as comments on the page.

Who can vote?

For 2020 and moving forward, all individual members of the Drupal Association may vote in the election.

If you are not currently a member, please ensure you have renewed your membership before voting opens, on 14 September.

How do I vote?

The Drupal Association Board Elections are moving to the free and open source Helios Voting service for 2020 and beyond. All Drupal Association individual members will receive their unique voting links via email, sent to the primary email address in their Drupal.org profile, when voting opens. Follow the instructions in that email to vote.

Elected board member special responsibilities

As detailed in a previous blog post, the elected members of the Drupal Association Board have a further responsibility that makes their understanding of issues related to diversity & inclusion even more important; they provide a review panel for our Community Working Group. This is a huge important role in our global community.

What should I do now?

Self-nomination is open! Please do read further:

Then consider if the person who should be standing for election is you. (It probably is!)

Jun 18 2020
Jun 18

Rahul Dewan sent us this story, documenting how the Drupal India Association was formed, and we wanted to reproduce it here to help it reach the greatest audience. As you will read, the Drupal India Association has significantly helped the Drupal community in India work together to grow the community and joins 28 other local associations around the world. The Drupal India Association is a great example of this, and we’re thrilled to see the momentum behind the community there. 

The formation of a formal ‘Drupal India Association’

For several years, a conversation about the need to form an India-centric Drupal Association has been doing rounds among Drupal business owners. However, this idea finally found conviction and the necessary determination to push it through, when Shyamala Rajaram signed-off from her position on the Board of the Drupal Association after completing her two-year term.

Shyamala’s voice and tone over the phone call one morning, was so full of enthusiasm and energy that inspite of all my skepticism and reservations of ‘why do we need a legal entity to do all the good work we want to do?’, melted away. “We Indians can make so much more impact in the world of Drupal!”, she said. Almost immediately, under Shyamala’s leadership, was laid the foundation of the ‘Drupal India Association’ (DIA) just before the Drupal Camp Delhi in June 2019.

In my experience, it’s the inertia and if i may, a bit of analysis-paralysis, which holds us back from making a determined push to make things happen. Then started the process of forming a board, enrolling all the business owners and key community members to form a formal board. 

The following companies came forward to contribute seed money of Rs.21,00,000 (approx $30,000) to form a kitty: 

  1. Ameex Technologies
  2. Axelerant Technologies 
  3. Innoraft Solutions
  4. Open Sense Labs 
  5. QED42
  6. Srijan Technologies
  7. Unimity Solutions 

The ambition of contribution and influence

By the time Drupal Camp Pune happened in September 2019, what we finally had in place was a functional yet loose governing body — with pretty much every leader from across six cities in India. Inspite of the informality of the board we starting collaborating exceptionally well. On the sidelines of the Pune Camp we stated our ambition of creating a sphere of influence in the entire Indian Ocean Rim, and agreed to not only limit our influence to India.


Board meeting in Pune.  

All of the members present were patting ourselves about the high number of contributions that India makes to Drupal. Dipen Chaudhary, the pioneer of the Drupal community in India and our board member, busted our little bubble by reminding the group that it was a classic of ‘quantity of quality’ and that contributions coming from India were much lower in the rung while all the heavy lifting such as contributions to the Drupal Core were made by the west, Americans in particular. 

Meanwhile, with Prasad’s help we were able to get initiatives like offering discounted Acquia Certifications at every camp. 

Our ‘Big-Hairy-Audacious-Goal’ (BHAG)


After the Chennai Board Meeting

On the sidelines of the Drupal Camp Chennai in December 2019 Shyamala invited—Shri Ramraj the founder of Sify and an advisor and board member of some of the largest Indian IT service companies. We took turns in sharing what we think was inspiring us to come together. Not impressed, Ramaraj prodded us to think of some big goals. He said that coming together is easy, but staying together requires a North Star, and nudged us to think of some big ambitious goals. 

Dipen’s reality check of the Indian contributions had been bothering me since our meeting in Pune. Drupal 9 was on the cards. For us, it wasn’t hard to put two-and-two together and suggest an audacious goal of becoming the largest contributor to Drupal 9 by June 2020 when D9 releases. A lot of anxious looks and pin-drop silence later, a consensus was reached— that we are going to go after this goal. 

Personally, true to the Indian tradition, i felt like touching Ramraj’s feet, truly living by the Indian tradition of showing respect to Gurus or teachers.

Enter ‘COVID-19’ 

Under Mukesh’s leadership Drupal Camp Kolkata planned for March 2020 was in full swing. All the funds being raised were for the first time were being raised under the aegis of Drupal India Association. Excitement levels were high. 

And then came the Covid crash. Drupal Camp Kolkata was cancelled. All the money from the various sponsors of the camp returned. Down but not out! 

Not letting the ball drop

Fortnightly recurring calls and Shyamala showing up on them each & every time, ensured that the group did not fall back into inertia. Our event calendar for Drupal Camps, Meetups, Contribution days agreed to in Chennai, ensured that our activities and also North Star goal remained in sight. 


A social promo prepared for excitement of release of Drupal 9 

Meanwhile, Piyush Poddar led our social media charge and designed systems to ensure Drupal agencies get into a healthy competition of contributing content to be promoted under DIA. 

Drupal Cares
We joined hands as a group to run campaigns for the ‘Drupal Cares’ initiative asking Drupalers in our respective companies to sign up as members and also donate. 

Drupal 9 Porting Weekend
Surabhi Gokte worked with Gábor Hojtsy to help organise the Drupal 9 porting weekend on May 22–23. Led by 10 mentors, 45 Indian Drupalers worked on 165+ modules for porting over to D9.

Under Dipen and Rachit’s leadership, Surabhi is now pushing forward to put together a plan for an all-India online event — our next BHAG (phew!). Do look for news on Drupal Groups for this.

Well, what about our North Star?

When we setup our North Star goal we had decided that our developers would ofcourse continue to tag their respective companies but additionally would add DIA as the client. 

As i write this post, Drupal India Association, has risen from zilch to being at position #7 on the Drupal Marketplace in terms of contributions.

Drupal contributions listing for DIA

While we will not end up meeting our BHAG ‘by June 2020 when D9 releases’, we will continue to strive as a group to become ‘the largest contributor to Drupal 9’.

All credit to the contributing developers and community members

None of our North Star BHAG could ever be possible without all the unnamed Indian developers working in several member companies who’ve been spending time doing Drupal contributions, including on weekends and after-office hours. Contributors like Prof. Sunthar, Prafful, Vidhatananda, Hussain, Rakhi, Vijay, Surabhi, Sharmila cannot go without mention. 

At the Drupal Association, we look forward to hearing more from Rahul and their BHAG.

Jun 16 2020
Jun 16

We have been sent the following rather fabulous guest blog post by Yogendra Prasad, Surabhi Gokte, and Karthik Kumar and we wanted to share it with everyone here. We would love to see this inside the upcoming Contributor Guide (more details of which coming soon...)

What is the Drupal Community?

The Drupal Community consists of all the members using Drupal and coming together to form a group and voluntarily give their time to contribute towards bettering the community.

Why should I contribute to the Drupal Community?

Come for the software, stay for the community!

Drupal has been our bread and butter for so many years and so it’s one of our prime duties to give back to the Drupal Community in whichever ways we can.

LEARN & GROW WITH THE COMMUNITY:

  • You get to learn as you work with the community worldwide
  • You get to present yourself which in turn brings visibility to both you and your organization
  • You get to know about the Drupal events happening throughout the community.
  • You get to participate in the events by speaking or volunteering.

Prerequisites:

  • Basic understanding about Drupal
  • Have done local setup earlier
  • Know how to Install Contributed Modules
  • Must have basic knowledge of Git
  • Must know how to Create/Apply Patch

What is the Life Cycle of a Drupal Issue?

Following can be the different states of an issue:

  • Active - When a new issue is created, it is in an Active state.
  • Needs work - When the issue needs to be worked upon, it is in a Needs Work state.

One can pick the issues from either of the two states to start with.

  • Needs review - Once the issue is picked, the patches are successfully submitted and all the test cases are passing, the issue’s state should be changed to Needs Review.
  • Reviewed & tested by the community - Once the issue is reviewed by any contributor, the issue is moved to “Reviewed & tested by the community” (RTBC) state where one of the members from the core community team reviews the issue
  • Fixed - When an issue passes from the RTBC state, it is moved to the Fixed state
  • Closed (fixed) - After the Fixed state, the issue moves to Closed (fixed) automatically within two weeks. This is the last state of an issue.
  • Closed (duplicate) - When any issue gets created which is a duplicate of any earlier one, it directly gets closed as Closed (duplicate)
  • Closed (won't fix) - This state represents that an issue has no solution
  • Closed (works as designed) - This state represents that an issue raised is providing the functionality what it was supposed to and so moved to “works as designed”. In other words, the issue raised is not a bug but a feature.
  • Closed (cannot reproduce) - When an issue is not reproducible is moved to this state.
  • Closed (outdated) - When an issue is either too old to fix or gets fixed within some other module’s issue, the state can be Closed (outdated) for that issue.

Other States:

  • Patch (to be ported): When a Patch is to be ported for other versions of Drupal/Contributed module.
  • Postponed: When the Issues/Feature/bug is postponed by the author/community, and doesn’t need a fix.
  • Postponed (maintainer needs more info): When an issue is raised but according to the maintainer of the Contributed module, more info is needed about the issue to get it fixed.

What ways can I contribute to the Drupal Community?

There are multiple ways to contribute to the Drupal community, and you don't need to have a developer background to give something to the community.

  • Drupal Core issues: You can select issues from Drupal core from : https://www.drupal.org/project/issues/search/drupal to contribute. Here you can commit patches to the issue, review tickets that are in “needs review” and if you have found any issue in Drupal you can log here by providing basic details about the same.
  • Contribute a Module to Drupal: If you have any feature in mind that you think can be used in Drupal as a standalone module , so that a larger audience can start using it , you can add your module to Drupal. For creating and getting it approved you have to follow steps mentions here: https://www.drupal.org/developing/modules
  • Contributed Module Issues: Along with DrupalCore issues , there is a huge list of bugs/issues which you can pick for fixing by providing patches from contributed modules: https://www.drupal.org/project/issues/search.
  • Documentation: if you do not have any Development background or are not interested in contributing by writing code, another interesting way is to help Drupal.org in improving Documentation. Documentation in Drupal is needed in the form of README.txt in every single module/theme , in form of code commenting , class usage etc.
  • Validating Issues: If you are good at reviewing tickets or have QA background you start contributing to the Drupal community by verifying the fixes provided by any community member on the. For this you have to pick up tickets specifically which are in “needs review” status. List of issues you can found here: https://www.drupal.org/project/issues/search/drupal?text=&assigned=&submitted=&project_issue_followers=&status%5B%5D=8&issue_tags_op=%3D&issue_tags= , This list contains both Drupal core and Contributed modules issues , it's up to you which you want to pick and start working.
  • Contribute financially: The Drupal Association is a nonprofit (501c3) organization serving the international Drupal community. One can also contribute to the Drupal Community in monetary terms by opting for the individual membership. Read more here - https://www.drupal.org/association/individual-membership.

Note: https://www.youtube.com/watch?v=INpedSOpdqw&feature=youtu.be

  • Log new Issue: You can also log your own issues to Drupal.org. The issue can be from both Drupal Core and Contributed modules. If you faced any issue while using Drupal in Core or any module you can go and log the issue directly to Drupal.org. Make sure to not log a duplicate issue.

How to start contributing?

How to get registered with Drupal.org?

The very first step is to register yourself on the drupal.org website by creating an account. Go to https://register.drupal.org/user/register. If you already have an account, simply login at https://www.drupal.org/user.

How to get registered to Drupal slack?

There are various communication channels to connect with the community, the famous one is Slack!

If you do not have an account on Drupal slack, go to http://drupalslack.herokuapp.com. Once there, you can join various channels as per your requirements like - #support, #frontend, #d9readiness etc. You can also search for channels by clicking on “+” > “Browse Channels” in the Channels section.

There are other mediums too like Telegram, Rocket Chat, IRC, etc. where people connect.

How to find issues?

Go to Drupal’s issue queue and filter the list based on your area of interest:

You can visit Drupal.org to find the issues you want to work on, for this please login to Drupal.org so that you can use the Advanced filter feature which only appears for logged in users.

For Drupal Core specific tickets : https://www.drupal.org/project/issues

For Combined list of Core and contributed modules issues list: https://www.drupal.org/project/issues

Basic guideline to find issues:

There are few filter criteria we follow before picking up any ticket from the issue queue, so these criteria helps us to get to ticket/issue closer faster. Following are the criteria:

The filters on issue queue will look like this:

  • Use issue tags: Novice, documentation, Drupal 9 compatibility : IF you are new to Drupal contribution arena , and you want to start with easy and straightforward issues that will help you boosting your confidence , then you can filter the issue queue with “ Novice, documentation, Drupal 9 compatibility” issue tags. This will give you the list of issues which are tagged with following tags only.
  • Use the Component filter of your interest : You can make use of this filter to get a list of issues of your interest area. For ex: Bootstrap system, Ajax System ets.
  • Use Status filter : Active/Needs Work/Needs review/Patch to be ported : By Default Issue list contains closed issues associated with irrelevant status, so to reduce the list of the issue use the mentioned status.
  • Sort issues list on ASC order of replies : This Sorting will give you the list of issues which have less number of replies, means no one has picked or less people have worked on the issue.
  • Sort Issues list on DESC order of Last updated: This will give you list of most active issues on which you can start working , Ideally we not prefer to pick issues which have last activity more than a Year ago, as it implies the issue is less active and there are huge chances that the issue will take more time to get closed in comparison with issue will more active.
  • Pick issues with empty “Assigned to” value: Please Keep in mind that it is not advisable to pick any ticket on which someone is already working or the ticket is already assigned to someone.

Note: You can use this URL to get directly to the filtered issue queue.

What to do after finding the issue?

As you identified the issue on which you want to work/contribute you can follow the following steps to help the issue to get more close to its closure state.

Note : Keep in mind about the version of Drupal Core/ contributed Module for which the issue has been raised by the author. You can get the version on the issue detail page as shown in image.

In the Given Image the Issue project is Drupal Core and the version for which the issue is reported is 8.8.x-dev.

How to Setup a Local machine to replicate the issue?

Now you have to be ready with your local setup of the machine. Local setup is necessary in case you want to give a patch to the issue or even if you want to test a patch on a given issue.

As per mentioned above, you have to set up an exact version of Drupal Core/ Module on your machine for which the issue has been reported.

  • If the issue belongs to Drupal core and you need to set up a specific version of Drupal core you have to follow : https://www.drupal.org/project/drupal/git-instructions to setup Drupal.
  • If the Issue belongs to the Contributed module , in this case setup Drupal with the latest stable version available on your machine and then clone the module which is needed to replicate the issue. For ex in the given image below you can see the module version for which the issue has been reported.

Now you have to get this specific version on your machine to replicate the issue and to fix, for this visit the detail page of the module as given in the above image , and on the detail page you will have a link for version control. For example, have a look at the image below:

When you click on version control you will get page as given in the below image:

Now you have to follow the steps and clone from the specific branch for which the issue has been reported.

Note: Make sure you have Drupal Installation already and make sure to place/clone the module at the proper directory so that you can use the module and fix the issue.

  • Get understanding of issue: First step is to get complete understanding about the issue , try to replicate the issue on your local machine for the same version for which the issue has been reported.
    • In case of any query, put appropriate comments to the ticket and ask for more details..
      • Try to replicate the issue in your local environment.
      • Once you have a clear understanding of the issue and have an idea /approach to fix it , Assign issue to yourself so that other community members will not take it up.
      • Add necessary tags to issue: Usually in code sprints and Drupal events when we pick any issue we add a relevant tag to the ticket so that we get to filter the list of tickets from the tag and get a list of issues picked in that particular event.
      • Depending on the state of the ticket, start working on it.

How to Contribute by adding a patch to the issue?

  • Once you have started work on the ticket, you might be able to get the resolution or you might have some more questions.
  • Comment back in ticket, with the questions and follow up ticket.
  • If you are having resolutions, that would be a piece of code change / style fix / Adding Readme / Annotation changes etc.
  • There might be issues, which already have some patch, at that point you have to add changes to the existing patch and get the interdiff.
  • After the issue is fixed, test it locally and create a patch.
  • Try to execute the unit test on your local machine , to make sure that unit tests are working fine.
  • If you have to write any test cases for your changes, do the same.
  • Your patch attaching to ticket will be like either one of the below
    • Patch file + comments
    • Patch file + Interdiff file + comments

How to create a patch?

How to attach a patch to Issue?

  • Add patch as a file to issue with needed information in comment
  • Update ticket status to Needs Review after Applying patch and unassigned it
  • If patch turns green and passes all test cases issue is ready to be reviewed by community

    • If patch fails then look into the logs and try to rework on the issue by assigning back to yourself.
    • In case need help seek help from community via adding comment to ticket or on Drupal slack

How to Contribute by reviewing an issue?

There is a great opportunity for folks who do not want to contribute to Drupal by giving patches, instead you can start reviewing/ testing patches that are getting applied for corresponding issue

.

  • Get the issue list filter with “Needs Review”: To Review any patch provided for the issue you have to filter the issue queue using “Needs Review" for both Drupal Core issues and Contributed module issues.
  • Identify the issue on which you can do the testing/reviewing.
  • Make sure to pick the latest patch applied to the issue, As given in the image below:

As you can see there are lists of patches applied for this issue , but you have to work/review the latest patch applied to the issue ,which will be sorted by Comment ID in DESC order.

  • Make Sure the Patch has passed all the Unit test cases and have turned to green color , like in the given image.
  • If possible you can have a look at the patch for the code changes done to fix the issue. You can have a look to analyse the coding standards, indentations , logic or any technical debt.
  • If you have any comment/feedback/suggestions on the patch , just go ahead and add a relevant comment to the issue regarding the patch.

Reviewing Patch Using “Dreditor”:

There is a Browser plugin which you can use to test the patch on virtual/temporary setup using Simplytest.me, Setup this Plugin on your Browser. Make sure to restart your browser before using it.

Now when you visit to Issue detail page which you already shortlisted for reviewing , you will able to see image as below :

Two new action buttons will be displayed.

  • Testing/verifying patch using Simplytest.me: As you want to test the particular patch you have to now click on “Simplytest.me" button to initiate setup process.
  • After clicking you will be redirected to page as given in image:

  • Here you have to select the version for which you want to validate the patch, Version will be as same as mentioned on the issue.
  • After selecting the correct version , click on “Launch SandBox”. There will be a process to setup a environment will initiate, like in image given below:

This will take some time to complete.

  • Once the process is completed you will land on the Drupal site , which already have the patch applied to the code base.
  • Admin Login: If you want to login to the system you can use: admin/admin as username/password for the system.

Reviewing Patch on a Local machine:

It is always better to test/verify the patch locally instead of using simplytest.me. For this you have to follow the following steps.

Validating/Testing the Patch (Cloud/Local):

  • Testing: Test the patch locally and verify that the issue has been fixed after applying the patch. Try to test for regression as well.
  • Patch is working fine and the issue got Fixed: If you feel the patch is correct and working fine as per your expectation and as per the criteria mentioned in the issue , then update the status to “RTBC”(Reviewed and tested by community) from Needs Review. Add Needed comments/Images/Videos to support your points.
  • If you feel you need more eyes needed to help you then make a comment to the tickets about the steps you took for testing and ask for more people to look into it.
  • Seek help on Drupal slack in case needed.
  • Issue is not fixed/Bug still exists: If you see the bug/issue is still appearing and not fixed by the patch, then add your relevant comment by tagging the author of the patch in comment and move the ticket status back to “Needs Work”.

Next Steps after Contributing to Issue (Reviewed/Applied Patch):

Once you have done your job on the issue, do the following:

  • Put a proper comment on the ticket about your work. Add screenshots if necessary.
  • Move the ticket to the next relevant state i.e from “Needs Works” => “Needs Review” or from “Needs Review” => “RTBC”
  • Attribute your contribution by adding an organization and customer, if appropriate. Refer screenshot below:
     

Also, you should keep following points in mind to check for any updates on the issue:

  • An update to the issue can be a new comment , Information updated for the issue or state changes to the issue.
  • You will be receiving all updates on the issues via mail on your Drupal.org mail ID
  • In case needed i.e if ticket status is moved back to Needs work/Needs Review and you feel you can work/contribute to it , Then you can pick the issue and work on iit accordingly.
  • If the status of the ticket is closed, no need to do anything now on this ticket.

When is a Credit received for the contribution?

NOTE: It's not mandatory that you will always receive credit for a closed issue on which you worked.

Once the issue is marked Fixed, the maintainer chooses which contributors on the issue will receive credit. Usually these are the contributors who...

  • When you submit a successful patch for an Active or Needs Work issue
  • When you review any existing patch of a Needs Review issue
  • When you create a new issue
Jun 03 2020
Jun 03

For our team at the Drupal Association, the events of the past week have once again emphasized the severity and violence of racism that communities experience in the United States and across the world every day.

Amidst the COVID-19 pandemic, where black and brown people are disproportionately affected, seeing racial turmoil unfold is particularly painful and difficult to witness. We stand with people across the globe in condemning racism, racist behavior and all abuses of power. We grieve for the black community, which has endured another unspeakable tragedy in a long history of injustice.

Drupal is global in scale, reach and opportunity.  It takes many contributions, from many diverse contributors to thrive. Drupal is about standing up for what could be and for promoting hope through access.  As such, our community adheres to a set of values and principles. Of particular importance is our value to “treat each other with dignity and respect” emphasizing that we do not tolerate intolerance toward others.  It is time to live our values out loud seeking first to understand, then to be understood. 

The Drupal Association values equity, diversity and inclusion, and we recognize we still have work to do to create meaningful change.  Here are the ways in which we are encouraging our team to take action.  We are sharing in hopes that you will take action, too.

If you have resources to share or organizations to highlight, please post them on social media using the hashtag #DrupalBetterTogether so that we may compile a comprehensive list for our community.

In the coming weeks and months, you will learn more about the programs we are putting into place to take action.  Our Drupal Community is truly Better Together, and together we will accelerate our ability to affect positive change.  Now is the time to raise our voices, not to silence them.

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web