Planet Drupal

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

Drupal blog: Who sponsors Drupal development? (2017-2018 edition)

12 September 2018 - 4:49am

This blog has been re-posted and edited with permission from Dries Buytaert's blog. Please leave your comments on the original post.

For the past two years, I've examined Drupal.org's commit data to understand who develops Drupal, how much of that work is sponsored, and where that sponsorship comes from.

I have now reported on this data for three years in a row, which means I can start to better compare year-over-year data. Understanding how an open-source project works is important because it establishes a benchmark for project health and scalability.

I would also recommend taking a look at the 2016 report or the 2017 report. Each report looks at data collected in the 12-month period between July 1st and June 30th.

This year's report affirms that Drupal has a large and diverse community of contributors. In the 12-month period between July 1, 2017 and June 30, 2018, 7,287 different individuals and 1,002 different organizations contributed code to Drupal.org. This include contributions to Drupal core and all contributed projects on Drupal.org.

In comparison to last year's report, both the number of contributors and contributions has increased. Our community of contributors (including both individuals and organizations) is also becoming more diverse. This is an important area of growth, but there is still work to do.

For this report, we looked at all of the issues marked "closed" or "fixed" in our ticketing system in the 12-month period from July 1, 2017 to June 30, 2018. This includes Drupal core and all of the contributed projects on Drupal.org, across all major versions of Drupal. This year, 24,447 issues were marked "closed" or "fixed", a 5% increase from the 23,238 issues in the 2016-2017 period. This averages out to 67 feature improvements or bug fixes a day.

In total, we captured 49,793 issue credits across all 24,447 issues. This marks a 17% increase from the 42,449 issue credits recorded in the previous year. Of the 49,793 issue credits reported this year, 18% (8,822 credits) were for Drupal core, while 82% (40,971 credits) went to contributed projects.

"Closed" or "fixed" issues are often the result of multiple people working on the issue. We try to capture who contributes through Drupal.org's unique credit system. We used the data from the credit system for this analysis. There are a few limitations with this approach, which we'll address at the end of this report.

What is the Drupal.org credit system?

In the spring of 2015, after proposing ideas for giving credit and discussing various approaches at length, Drupal.org added the ability for people to attribute their work to an organization or customer in the Drupal.org issue queues. Maintainers of Drupal modules, themes, and distributions can award issue credits to people who help resolve issues with code, translations, documentation, design and more.

A screenshot of an issue comment on Drupal.org. You can see that jamadar worked on this patch as a volunteer, but also as part of his day job working for TATA Consultancy Services on behalf of their customer, Pfizer.

Credits are a powerful motivator for both individuals and organizations. Accumulating credits provides individuals with a way to showcase their expertise. Organizations can utilize credits to help recruit developers, to increase their visibility within the Drupal.org marketplace, or to showcase their Drupal expertise.

Who is working on Drupal?

In the 12-month period between July 1, 2017 to June 30, 2018, 24,447, Drupal.org received code contributions from 7,287 different individuals and 1,002 different organizations.

While the number of individual contributors rose, a relatively small number of individuals still do the majority of the work. Approximately 48% of individual contributors received just one credit. Meanwhile, the top 30 contributors (the top 0.4%) account for more than 24% of the total credits. These individuals put an incredible amount of time and effort in developing Drupal and its contributed projects:

Rank Username Issues 1 RenatoG 851 2 RajabNatshah 745 3 jrockowitz 700 4 adriancid 529 5 bojanz 515 6 Berdir 432 7 alexpott 414 8 mglaman 414 9 Wim Leers 395 10 larowlan 360 11 DamienMcKenna 353 12 dawehner 340 13 catch 339 14 heddn 327 15 xjm 303 16 pifagor 284 17 quietone 261 18 borisson_ 255 19 adci_contributor 255 20 volkswagenchick 254 21 drunken monkey 231 22 amateescu 225 23 joachim 199 24 mkalkbrenner 195 25 chr.fritsch 185 26 gaurav.kapoor 178 27 phenaproxima 177 28 mikeytown2 173 29 joelpittet 170 30 timmillwood 169

Out of the top 30 contributors featured, 15 were also recognized as top contributors in our 2017 report. These Drupalists' dedication and continued contribution to the project has been crucial to Drupal's development. It's also exciting to see 15 new names on the list. This mobility is a testament to the community's evolution and growth. It's also important to recognize that a majority of the 15 repeat top contributors are at least partially sponsored by an organization. We value the organizations that sponsor these remarkable individuals, because without their support, it could be more challenging to be in the top 30 year over year.

How diverse is Drupal?

Next, we looked at both the gender and geographic diversity of Drupal.org code contributors. While these are only two examples of diversity, this is the only available data that contributors can currently choose to share on their Drupal.org profiles. The reported data shows that only 7% of the recorded contributions were made by contributors that do not identify as male, which continues to indicates a steep gender gap. This is a one percent increase compared to last year. The gender imbalance in Drupal is profound and underscores the need to continue fostering diversity and inclusion in our community.

To address this gender gap, in addition to advancing representation across various demographics, the Drupal community is supporting two important initiatives. The first is to adopt more inclusive user demographic forms on Drupal.org. Adopting Open Demographics on Drupal.org will also allow us to improve reporting on diversity and inclusion, which in turn will help us better support initiatives that advance diversity and inclusion. The second initiative is supporting the Drupal Diversity and Inclusion Contribution Team, which works to better include underrepresented groups to increase code and community contributions. The DDI Contribution Team recruits team members from diverse backgrounds and underrepresented groups, and provides support and mentorship to help them contribute to Drupal.

It's important to reiterate that supporting diversity and inclusion within Drupal is essential to the health and success of the project. The people who work on Drupal should reflect the diversity of people who use and work with the software. While there is still a lot of work to do, I'm excited about the impact these various initiatives will have on future reports.

When measuring geographic diversity, we saw individual contributors from 6 different continents and 123 different countries:

The top 20 countries from which contributions originate. The data is compiled by aggregating the countries of all individual contributors behind each commit. Note that the geographical location of contributors doesn't always correspond with the origin of their sponsorship. Wim Leers, for example, works from Belgium, but his funding comes from Acquia, which has the majority of its customers in North America.

123 different countries is seven more compared to the 2017 report. The new countries include Rwanda, Namibia, Senegal, Sierra Leone, and Swaziland, Zambia. Seeing contributions from more African countries is certainly a highlight.

How much of the work is sponsored?

Issue credits can be marked as "volunteer" and "sponsored" simultaneously (shown in jamadar's screenshot near the top of this post). This could be the case when a contributor does the minimum required work to satisfy the customer's need, in addition to using their spare time to add extra functionality.

While Drupal started out as a 100% volunteer-driven project, today the majority of the code on Drupal.org is sponsored by organizations. Only 12% of the commit credits that we examined in 2017-2018 were "purely volunteer" credits (6,007 credits), in stark contrast to the 49% that were "purely sponsored". In other words, there were four times as many "purely sponsored" credits as "purely volunteer" credits.

A few comparisons between the 2017-2018 and the 2016-2017 data:

  • The credit system is being used more frequently. In total, we captured 49,793 issue credits across all 24,447 issues in the 2017-2018 period. This marks a 17% increase from the 42,449 issue credits recorded in the previous year. Between July 1, 2016 and June 30, 2017, 28% of all credits had no attribution while in the period between July 1, 2017 to June 30, 2018, only 25% of credits lacked attribution. More people have become aware of the credit system, the attribution options, and their benefits.
  • Sponsored credits are growing faster than volunteer credits. Both "purely volunteer" and "purely sponsored" credits grew, but "purely sponsored" credits grew faster. There are two reasons why this could be the case: (1) more contributions are sponsored and (2) organizations are more likely to use the credit system compared to volunteers.

No data is perfect, but it feels safe to conclude that most of the work on Drupal is sponsored. At the same time, the data shows that volunteer contribution remains very important to Drupal. Maybe most importantly, while the number of volunteers and sponsors has grown year over year in absolute terms, sponsored contributions appear to be growing faster than volunteer contributions. This is consistent with how open source projects grow and scale.

Who is sponsoring the work?

Now that we've established a majority of contributions to Drupal are sponsored, we want to study which organizations contribute to Drupal. While 1,002 different organizations contributed to Drupal, approximately 50% of them received four credits or less. The top 30 organizations (roughly the top 3%) account for approximately 48% of the total credits, which implies that the top 30 companies play a crucial role in the health of the Drupal project. The graph below shows the top 30 organizations and the number of credits they received between July 1, 2017 and June 30, 2018:

The top 30 contributing organizations based on the number of Drupal.org commit credits.

While not immediately obvious from the graph above, a variety of different types of companies are active in Drupal's ecosystem:

Category Description Traditional Drupal businesses Small-to-medium-sized professional services companies that primarily make money using Drupal. They typically employ fewer than 100 employees, and because they specialize in Drupal, many of these professional services companies contribute frequently and are a huge part of our community. Examples are Chapter Three and Lullabot (both shown on graph). Digital marketing agencies Larger full-service agencies that have marketing-led practices using a variety of tools, typically including Drupal, Adobe Experience Manager, Sitecore, WordPress, etc. They tend to be larger, with the larger agencies employing thousands of people. Examples are Wunderman and Mirum. System integrators Larger companies that specialize in bringing together different technologies into one solution. Example system agencies are Accenture, TATA Consultancy Services, Capgemini and CI&T (shown on graph). Technology and infrastructure companies Examples are Acquia (shown on graph), Lingotek, BlackMesh, Rackspace, Pantheon and Platform.sh. End-users Examples are Pfizer (shown on graph) or NBCUniversal.

A few observations:

  • Almost all of the sponsors in the top 30 are traditional Drupal businesses. Companies like MD Systems (12 employees), Valuebound (58 employees), Chapter Three (33 employees), Commerce Guys (13 employees) and PreviousNext (22 employees) are, despite their size, critical to Drupal's success.
  • Compared to these traditional Drupal businesses, Acquia has nearly 800 employees and at least ten full-time Drupal contributors. Acquia works to resolve some of the most complex issues on Drupal.org, many of which are not recognized by the credit system (e.g. release management, communication, sprint organizing, and project coordination). Acquia added several full-time contributors compared to last year, however, I believe that Acquia should contribute even more due to its comparative size.
  • No digital marketing agencies show up in the top 30, though some of them are starting to contribute. It's exciting that an increasing number of digital marketing agencies are delivering beautiful experiences using Drupal. As a community, we need to work to ensure that each of these firms are contributing back to the project with the same commitment that we see from firms like Commerce Guys, CI&T or Acro Media. Compared to last year, we have not made meaningful progress on growing contributions from digital marketing agencies. It would be interesting to see what would happen if more large organizations mandated contributions from their partners. Pfizer, for example, only works with agencies and vendors that contribute back to Drupal, and requires that its agency partners contribute to open source. If more organizations took this stance, it could have a big impact on the number of digital agencies that contribute to Drupal
  • The only system integrator in the top 30 is CI&T, which ranked 3rd with 959 credits. As far as system integrators are concerned, CI&T is a smaller player with approximately 2,500 employees. However, we do see various system integrators outside of the top 30, including Globant, Capgemini, Sapient and TATA Consultancy Services. Each of these system integrators reported 30 to 85 credits in the past year. The top contributor is TATA with 85 credits.
  • Infrastructure and software companies also play an important role in our community, yet only Acquia appears in the top 30. While Acquia has a professional services division, more than 75% of the contributions come from the product organization. Other infrastructure companies include Pantheon and Platform.sh, which are both venture-backed, platform-as-a-service companies that were born from the Drupal community. Pantheon has 6 credits and Platform.sh has 47 credits. Amazee Labs, a company that is building an infrastructure business, reported 40 credits. Compared to last year, Acquia and Rackspace have slightly more credits, while Pantheon, Platform.sh and Amazee contributed less. Lingotek, a vendor that offers cloud-based translation management software has 84 credits.
  • We also saw three end-users in the top 30 as corporate sponsors: Pfizer (491 credits, up from 251 credits the year before), Thunder (432 credits), and the German company, bio.logis (319 credits, up from 212 credits the year before). Other notable customers outside of the top 30, include Workday, Wolters Kluwer, Burda Media, YMCA and OpenY, CARD.com and NBCUniversal. We also saw contributions from many universities, including University of Colorado Boulder, University of Waterloo, Princeton University, University of Adelaide, University of Sydney, University of Edinburgh, McGill University and more.

We can conclude that technology and infrastructure companies, digital marketing agencies, system integrators and end-users are not making significant code contributions to Drupal.org today. How can we explain this disparity in comparison to the traditional Drupal businesses that contribute the most? We believe the biggest reasons are:

  1. Drupal's strategic importance. A variety of the traditional Drupal agencies almost entirely depend on Drupal to support their businesses. Given both their expertise and dependence on Drupal, they are most likely to look after Drupal's development and well-being. Contrast this with most of the digital marketing agencies and system integrators who work with a diversified portfolio of content management platforms. Their well-being is less dependent on Drupal's success.
  2. The level of experience with Drupal and open source. Drupal aside, many organizations have little or no experience with open source, so it is important that we motivate and teach them to contribute.
  3. Legal reservations. We recognize that some organizations are not legally permitted to contribute, let alone attribute their customers. We hope that will change as open source continues to get adopted.
  4. Tools barriers. Drupal contribution still involves a patch-based workflow on Drupal.org's unique issue queue system. This presents a fairly steep learning curve to most developers, who primarily work with more modern and common tools such as GitHub. We hope to lower some of these barriers through our collaboration with GitLab.
  5. Process barriers. Getting code changes accepted into a Drupal project — especially Drupal core — is hard work. Peer reviews, gates such as automated testing and documentation, required sign-offs from maintainers and committers, knowledge of best practices and other community norms are a few of the challenges a contributor must face to get code accepted into Drupal. Collaborating with thousands of people on a project as large and widely-used as Drupal requires such processes, but new contributors often don't know that these processes exist, or don't understand why they exist.
We should do more to entice contribution

Drupal is used by more than one million websites. Everyone who uses Drupal benefits from work that thousands of other individuals and organizations have contributed. Drupal is great because it is continuously improved by a diverse community of contributors who are enthusiastic to give back.

However, the vast majority of the individuals and organizations behind these Drupal websites never participate in the development of the project. They might use the software as it is or don't feel the need to help drive its development. We have to provide more incentive for these individuals and organizations to contribute back to the project.

Consequently, this data shows that the Drupal community can do more to entice companies to contribute code to Drupal.org. The Drupal community has a long tradition of encouraging organizations to share code rather than keep it behind firewalls. While the spirit of the Drupal project cannot be reduced to any single ideology — not every organization can or will share their code — we would like to see organizations continue to prioritize collaboration over individual ownership.

We understand and respect that some can give more than others and that some might not be able to give back at all. Our goal is not to foster an environment that demands what and how others should give back. Our aim is not to criticize those who do not contribute, but rather to help foster an environment worthy of contribution. This is clearly laid out in Drupal's Values and Principles.

Given the vast amount of Drupal users, we believe continuing to encourage organizations and end-users to contribute is still a big opportunity. From my own conversations, it's clear that organizations still need need education, training and help. They ask questions like: "Where can we contribute?", "How can we convince our legal department?", and more.

There are substantial benefits and business drivers for organizations that contribute: (1) it improves their ability to sell and win deals and (2) it improves their ability to hire. Companies that contribute to Drupal tend to promote their contributions in RFPs and sales pitches. Contributing to Drupal also results in being recognized as a great place to work for Drupal experts.

What projects have sponsors?

To understand where the organizations sponsoring Drupal put their money, I've listed the top 20 most sponsored projects:

Rank Project name Issues 1 Drupal core 5919 2 Webform 905 3 Drupal Commerce 607 4 Varbase: The Ultimate Drupal 8 CMS Starter Kit (Bootstrap Ready) 551 5 Commerce Point of Sale (POS) 324 6 Views 318 7 Commerce Migrate 307 8 JSON API 304 9 Paragraphs 272 10 Open Social 222 11 Search API Solr Search 212 12 Drupal Connector for Janrain Identity Cloud 197 13 Drupal.org security advisory coverage applications 189 14 Facets 171 15 Open Y 162 16 Metatag 162 17 Web Page Archive 154 18 Drupal core - JavaScript Modernization Initiative 145 19 Thunder 144 20 XML sitemap 120 Who is sponsoring the top 30 contributors? Rank Username Issues Volunteer Sponsored Not specified Sponsors 1 RenatoG 851 0% 100% 0% CI&T (850), Johnson & Johnson (23) 2 RajabNatshah 745 14% 100% 0% Vardot (653), Webship (90) 3 jrockowitz 700 94% 97% 1% The Big Blue House (680), Memorial Sloan Kettering Cancer Center (7), Rosewood Marketing (2), Kennesaw State University (1) 4 adriancid 529 99% 19% 0% Ville de Montréal (98) 5 bojanz 515 0% 98% 2% Commerce Guys (503), Torchbox (17), Adapt (6), Acro Media (4), Bluespark (1) 6 Berdir 432 0% 92% 8% MD Systems (396), Translations.com (10), Acquia (2) 7 alexpott 414 13% 84% 10% Chapter Three (123), Thunder (120), Acro Media (103) 8 mglaman 414 5% 96% 1% Commerce Guys (393), Impactiv (17), Circle Web Foundry (16), Rosewood Marketing (14), LivePerson (13), Bluespark (4), Acro Media (4), Gaggle.net (3), Thinkbean (2), Matsmart (2) 9 Wim Leers 395 8% 94% 0% Acquia (371) 10 larowlan 360 13% 97% 1% PreviousNext (350), University of Technology, Sydney (24), Charles Darwin University (10), Australian Competition and Consumer Commission (ACCC) (1), Department of Justice & Regulation, Victoria (1) 11 DamienMcKenna 353 1% 95% 5% Mediacurrent (334) 12 dawehner 340 48% 86% 4% Chapter Three (279), Torchbox (10), Drupal Association (5), Tag1 Consulting (3), Acquia (2), TES Global (1) 13 catch 339 1% 97% 3% Third and Grove (320), Tag1 Consulting (8) 14 heddn 327 2% 99% 1% MTech (325) 15 xjm 303 0% 97% 3% Acquia (293) 16 pifagor 284 32% 99% 1% GOLEMS GABB (423), Drupal Ukraine Community (73) 17 quietone 261 48% 55% 5% Acro Media (143) 18 borisson_ 255 93% 55% 3% Dazzle (136), Intracto digital agency (1), Acquia (1), DUG BE vzw (Drupal User Group Belgium) (1) 19 adci_contributor 255 0% 100% 0% ADCI Solutions (255) 20 volkswagenchick 254 1% 100% 0% Hook 42 (253) 21 drunken monkey 231 91% 22% 0% DBC (24), Vizala (20), Sunlime Web Innovations GmbH (4), Wunder Group (1), epiqo (1), Zebralog (1) 22 amateescu 225 3% 95% 3% Pfizer (211), Drupal Association (1), Chapter Three (1) 23 joachim 199 56% 44% 19% Torchbox (88) 24 mkalkbrenner 195 0% 99% 1% bio.logis (193), OSCE: Organization for Security and Co-operation in Europe (119) 25 chr.fritsch 185 0% 99% 1% Thunder (183) 26 gaurav.kapoor 178 0% 81% 19% OpenSense Labs (144), DrupalFit (55) 27 phenaproxima 177 0% 99% 1% Acquia (176) 28 mikeytown2 173 0% 0% 100% 29 joelpittet 170 28% 74% 16% The University of British Columbia (125) 30 timmillwood 169 1% 100% 0% Pfizer (169), Appnovation (163), Millwood Online (6)

We observe that the top 30 contributors are sponsored by 58 organizations. This kind of diversity is aligned with our desire to make sure that Drupal is not controlled by a single organization. These top contributors and organizations are from many different parts of the world, and work with customers large and small. Nonetheless, we will continue to benefit from an increased distribution of contribution.

Limitations of the credit system and the data

While the benefits are evident, it is important to note a few of the limitations in Drupal.org's current credit system:

  • Contributing to issues on Drupal.org is not the only way to contribute. Other activities, such as sponsoring events, promoting Drupal, and providing help and mentorship are also important to the long-term health of the Drupal project. Many of these activities are not currently captured by the credit system. For this post, we chose to only look at code contributions.
  • We acknowledge that parts of Drupal are developed on GitHub and therefore aren't fully credited on Drupal.org. The actual number of contributions and contributors could be significantly higher than what we report. The Drupal Association is working to integrate GitLab with Drupal.org. GitLab will provide support for "merge requests", which means contributing to Drupal will feel more familiar to the broader audience of open source contributors who learned their skills in the post-patch era. Some of GitLab's tools, such as inline editing and web-based code review, will also lower the barrier to contribution, and should help us grow both the number of contributions and contributors on Drupal.org.
  • Even when development is done on Drupal.org, the credit system is not used consistently. As using the credit system is optional, a lot of code committed on Drupal.org has no or incomplete contribution credits.
  • Not all code credits are the same. We currently don't have a way to account for the complexity and quality of contributions; one person might have worked several weeks for just one credit, while another person might receive a credit for ten minutes of work. In the future, we should consider issuing credit data in conjunction with issue priority, patch size, etc. This could help incentivize people to work on larger and more important problems and save coding standards improvements for new contributor sprints. Implementing a scoring system that ranks the complexity of an issue would also allow us to develop more accurate reports of contributed work.

Like Drupal itself, the Drupal.org credit system needs to continue to evolve. Ultimately, the credit system will only be useful when the community uses it, understands its shortcomings, and suggests constructive improvements.

Conclusion

Our data confirms that Drupal is a vibrant community full of contributors who are constantly evolving and improving the software. While we have amazing geographic diversity, we still need greater gender diversity, in addition to better representation across various demographic groups. Our analysis of the Drupal.org credit data concludes that most contributions to Drupal are sponsored. At the same time, the data shows that volunteer contribution remains very important to Drupal.

As a community, we need to understand that a healthy open source ecosystem includes more than the traditional Drupal businesses that contribute the most. We still don't see a lot of contribution from the larger digital marketing agencies, system integrators, technology companies, or end-users of Drupal — we believe that might come as these organizations build out their Drupal practices and Drupal becomes more strategic for them.

To grow and sustain Drupal, we should support those that contribute to Drupal and find ways to get those that are not contributing involved in our community. We invite you to help us continue to strengthen our ecosystem.

Categories: Drupal

Dries Buytaert: Drupal 7, 8, and 9

11 September 2018 - 9:07pm

We just released Drupal 8.6.0. With six minor releases behind us, it is time to talk about the long-term future of Drupal 8 (and therefore Drupal 7 and Drupal 9). I've written about when to release Drupal 9 in the past, but this time, I'm ready to provide further details.

The plan outlined in this blog has been discussed with the Drupal 7 Core Committers, the Drupal 8 Core Committers and the Drupal Security Team. While we feel good about this plan, we can't plan for every eventuality and we may continue to make adjustments.

Drupal 8 will be end-of-life by November 2021

Drupal 8's innovation model depends on introducing new functionality in minor versions while maintaining backwards compatibility. This approach is working so well that some people have suggested we institute minor releases forever, and never release Drupal 9 at all.

However that approach is not feasible. We need to periodically remove deprecated functionality to keep Drupal modern, maintainable, and performant, and we need to stay on secure, supported versions of Drupal 8's third-party dependencies. As Nathaniel Catchpole explained in his post "The Long Road to Drupal 9", our use of various third party libraries such as Symfony, Twig, and Guzzle means that we need to be in sync with their release timelines.

Our biggest dependency in Drupal 8 is Symfony 3, and according to Symfony's roadmap, Symfony 3 has an end-of-life date in November 2021. This means that after November 2021, security bugs in Symfony 3 will not get fixed. To keep your Drupal sites secure, Drupal must adopt Symfony 4 or Symfony 5 before Symfony 3 goes end-of-life. A major Symfony upgrade will require us to release Drupal 9 (we don't want to fork Symfony 3 and have to backport Symfony 4 or Symfony 5 bug fixes). This means we have to end-of-life Drupal 8 no later than November 2021.

Drupal 9 will be released in 2020, and it will be an easy upgrade

If Drupal 8 will be end-of-life on November 2021, we have to release Drupal 9 before that. Working backwards from November 2021, we'd like to give site owners one year to upgrade from Drupal 8 to Drupal 9.

If November 2020 is the latest we could release Drupal 9, what is the earliest we could release Drupal 9?

We certainly can't release Drupal 9 next week or even next month. Preparing for Drupal 9 takes a lot of work: we need to adopt Symfony 4 and/or Symfony 5, we need to remove deprecated code, we need to allow modules and themes to declare compatibility with more than one major version, and possibly more. The Drupal 8 Core Committers believe we need more than one year to prepare for Drupal 9.

Therefore, our current plan is to release Drupal 9 in 2020. Because we still need to figure out important details, we can't be more specific at this time.

If we release Drupal 9 in 2020, it means we'll certainly have Drupal 8.7 and 8.8 releases.

Wait, I will only have one year to migrate from Drupal 8 to 9?

Yes, but fortunately moving from Drupal 8 to 9 will be far easier than previous major version upgrades. The first release of Drupal 9 will be very similar to the last minor release of Drupal 8, as the primary goal of the Drupal 9.0.0 release will be to remove deprecated code and update third-party dependencies. By keeping your Drupal 8 sites up to date, you should be well prepared for Drupal 9.

And what about contributed modules? The compatibility of contributed modules is historically one of the biggest blockers to upgrading, so we will also make it possible for contributed modules to be compatible with Drupal 8 and Drupal 9 at the same time. As long as contributed modules do not use deprecated APIs, they should work with Drupal 9 while still being compatible with Drupal 8.

Drupal 7 will be supported until November 2021

Historically, our policy has been to only support two major versions of Drupal; Drupal 7 would ordinarily reach end of life when Drupal 9 is released. Because a large number of sites might still be using Drupal 7 by 2020, we have decided to extend support of Drupal 7 until November 2021. Drupal 7 will be receive community support for three whole more years.

We'll launch a Drupal 7 commercial Long Term Support program

In the past, commercial vendors have extended Drupal's security support. In 2015, a Drupal 6 commercial Long Term Support program was launched and continues to run to this day. We plan a similar paid program for Drupal 7 to extend support beyond November 2021. The Drupal Security Team will announce the Drupal 7 commercial LTS program information by mid-2019. Just like with the Drupal 6 LTS program, there will be an application for vendors.

We'll update Drupal 7 to support newer versions of PHP

The PHP team will stop supporting PHP 5.x on December 31st, 2018 (in 3 months), PHP 7.0 on December 3rd, 2018 (in 2 months), PHP 7.1 on December 1st, 2019 (in 1 year and 3 months) and PHP 7.2 on November 30th, 2020 (in 2 years and 2 months).

Drupal will drop official support for unsupported PHP versions along the way and Drupal 7 site owners may have to upgrade their PHP version. The details will be provided later.

We plan on updating Drupal 7 to support newer versions of PHP in line with their support schedule. Drupal 7 doesn't fully support PHP 7.2 yet as there have been some backwards-incompatible changes since PHP 7.1. We will release a version of Drupal 7 that supports PHP 7.2. Contributed modules and custom modules will have to be updated too, if not already.

Conclusion

If you are still using Drupal 7 and are wondering what to do, you currently have two options:

  1. Stay on Drupal 7 while also updating your PHP version. If you stay on Drupal 7 until after 2021, you can either engage a vendor for a long term support contract, or migrate to Drupal 9.
  2. Migrate to Drupal 8 by 2020, so that it's easier to update to Drupal 9 when it is released.

The announcements in this blog post made option (1) a lot more viable and/or hopefully helps you better evaluate option (2).

If you are on Drupal 8, you just have to keep your Drupal 8 site up-to-date and you'll be ready for Drupal 9.

We plan to have more specifics by April 2019 (DrupalCon Seattle).

Thanks for the Drupal 7 Core Committers, the Drupal 8 Core Committers and the Drupal Security Team for their contributions to this blog post.

Categories: Drupal

Drupal Modules: The One Percent: Drupal Modules: The One Percent — Multiselect (video tutorial)

11 September 2018 - 2:04pm
Drupal Modules: The One Percent — Multiselect (video tutorial) NonProfit Tue, 09/11/2018 - 16:04 Episode 43

Here is where we bring awareness to Drupal modules running on less than 1% of reporting sites. Today we'll consider Multiselect, a module which changes the input of lists and reference fields to a nifty two-column display.

Categories: Drupal

Acro Media: Decouple Drupal Commerce with the JSON API Module

11 September 2018 - 7:45am

There is a lot of talk out there right now about “decoupled” or “headless” open source eCommerce platforms. I won’t get into why that is in this article, but I will show you how easy it is to enable a full REST API for your Drupal 8 and Drupal Commerce platform in JSON format. It’s literally the enabling of a module… that’s it! Let’s take a look.

In this Acro Media Tech Talk video, you’ll learn a little bit about the module used to expose the API, where to find documentation, and see an additional module that enhances the experience working with the API. Using our Drupal Commerce demo site as an example, you’ll see where you can view and modify the site resources as well as how to view the data for each resources in JSON format.

The data structure of Drupal is well suited to the JSON API which makes Drupal and excellent choice as a backend content-creation area for a decoupled application. This video will get you started, but what you ultimately do with that data is up to you!

Additional details:
Categories: Drupal

Community: Governance Task Force Update, September 2018

11 September 2018 - 5:45am

This is a public update on the work of the Governance Task Force .

The Governance Task Force completed the research phase, community member interviews, and is now working on the proposal to be delivered to project leadership and the community. We analyzed all of the previously shared information, and the interviews we conducted, in an effort to identify individual themes. These individual themes will be the basis for the proposal.

Extension

This process has taken longer than expected, especially given summer time conflicts. As such, members of the Governance Task Force have formally requested a one-month extension. We aim to have the proposal delivered by the end of October.

Drupal Europe

September 11, some members of the Governance Task Force will be leading a session at Drupal Europe, providing an update on current progress, facilitating an open discussion, and answering and questions.

Ongoing Feedback

Should you want to contact the Governance Task Force, feel free to reach out to any member of the group via Slack, drupal.org, or any public place you find our members. We’ve also setup a Google form for direct feedback. You can submit the form anonymously. This form will stay active throughout the proposal process.

Adam Bergstein
David Hernandez
Ela Meier
Hussain Abbas
Lyndsey Jackson
Rachel Lawson
Stella Power

Categories: Drupal

Drupal Association blog: Privileged to Serve

11 September 2018 - 5:07am
Thanking the Drupal Association community and board for trusting me to lead the association as interim executive director.
 

As Megan Sanicki, the current executive director of the Drupal Association, prepares to move on to her next adventure, the Board of Directors came together at Drupal Europe to enact the Association's leadership succession plan.

I am privileged and humbled to have been asked to serve as interim Executive Director. I take on this new responsibility with great care - care that is at the core of who I am and how much I hope that I have demonstrated to you over the years as an active member of our community and staff. I also continue to have  tremendous confidence that both Drupal itself and the Association are poised to do great things.

From the recent release of Drupal 8.6, the most significant in Drupal's history, to the in-flight initiatives that will make each successive release even better than the last, Drupal will continue to lead as the most innovative platform for digital experiences.

On the Association side, we've spent the last several years expanding our reach and the audiences we serve. With initiatives like Promote Drupal, and the transformation of content to provide new persona-based programming for DrupalCon, the Association has been closely adapting to the changing needs of the Drupal ecosystem.  This need is growing in importance and meeting it is a priority.

At the same time, the Association continues to serve and strengthen our existing community, from announcing a new partnership with GitLab to enhance our contribution tools, to the return of DrupalCon Europe in 2019 (more details to be announced at the #Driesnote, here at Drupal Europe!)

The Association will continue to carry the torch of these initiatives and others that are still in progress as we move forward.

Forming a search committee

As I take on the interim executive role, the Drupal Association board is forming a search committee, on which I will serve, to find the right candidate to lead the Association moving forward. This is a process that will be pursued with rigor and care, but has no strict deadline as our most important priority is to ensure that we find a candidate who is the right fit for the association, the project, and our community.

A bit about me

It's hard to believe that my account on Drupal.org is almost twelve and a half years old. Like many of those in the community I began my journey as a Drupal freelancer, using that income to offset my tuition at university. My early career took me away from Drupal, but I was always looking for the chance to come home.

That chance came when I began my journey with the Drupal Association 4 years ago, at first as the Project Manager for the engineering team, and then taking on the role of Director of Engineering. I am proud of the milestones I was able to help our team achieve over the years: from the launch of DrupalCI to the Composer Façade to opening the gates of the Project Application process to improving our demographic understanding of Drupal.org users, to give us the data we need to measure our work to improve diversity and inclusion in our community (with further changes to come!).

I am especially proud to have worked with the rest of the  Drupal Association Engineering team on creating our Contribution Credit system. This system (which tracks both code and non-code contributions) is a first-of-its-kind in the open-source world and provides both visibility and incentive to those who build Drupal. It's only one of many ways in which Drupal leads in open source.

A bit more, about you

The work of the Association is made possible by you. From individual members to supporting partners to camp organizers, and all the other contributors to our community - what we do would not be possible without you. The Drupal Association is like the Drupal Project, not lead from the top-down, but informed in our mission and purpose from the bottom-up.

I encourage you to reach out to me and the rest of the Association team to find out how we can partner to make the project even stronger.

Thank you

Finally I want to say thank you.

I want to especially thank the staff of the Drupal Association. The people who work at the DA are some of the most caring and committed members of our community. We are a small but mighty team and working together with the community we have accomplished incredible things, and will continue to do so.

I want to thank the board of directors of the Drupal Association for placing their trust in me. I want to thank Dries for his mentorship and advice as I step into this new role. And I want to thank Megan for her tremendous leadership and friendship over these past years.

And finally I want to thank the community. I came for the code, but stayed for you.

- Tim Lehnen (hestenet)

Categories: Drupal

ADCI Solutions: Drupal adoption through the GTD conference

11 September 2018 - 3:54am

How to boost the Drupal adoption? Hold Drupal GTD. The ADCI Solutions organized it for the 7th time, and 116 participants came to learn more about Drupal! Find out how it was and, also, get a few tips on holding this event in your country.

Read more here

Categories: Drupal

Real Life Digital: What is pattern lab and why should I care about it?

11 September 2018 - 1:43am
Our front-end developer discusses why you and your business should be considering pattern lab for your next Drupal project.
Categories: Drupal

Dries Buytaert: Who sponsors Drupal development? (2017-2018 edition)

10 September 2018 - 10:01pm

For the past two years, I've examined Drupal.org's commit data to understand who develops Drupal, how much of that work is sponsored, and where that sponsorship comes from.

I have now reported on this data for three years in a row, which means I can start to better compare year-over-year data. Understanding how an open-source project works is important because it establishes a benchmark for project health and scalability.

I would also recommend taking a look at the 2016 report or the 2017 report. Each report looks at data collected in the 12-month period between July 1st and June 30th.

This year's report affirms that Drupal has a large and diverse community of contributors. In the 12-month period between July 1, 2017 and June 30, 2018, 7,287 different individuals and 1,002 different organizations contributed code to Drupal.org. This include contributions to Drupal core and all contributed projects on Drupal.org.

In comparison to last year's report, both the number of contributors and contributions has increased. Our community of contributors (including both individuals and organizations) is also becoming more diverse. This is an important area of growth, but there is still work to do.

For this report, we looked at all of the issues marked "closed" or "fixed" in our ticketing system in the 12-month period from July 1, 2017 to June 30, 2018. This includes Drupal core and all of the contributed projects on Drupal.org, across all major versions of Drupal. This year, 24,447 issues were marked "closed" or "fixed", a 5% increase from the 23,238 issues in the 2016-2017 period. This averages out to 67 feature improvements or bug fixes a day.

In total, we captured 49,793 issue credits across all 24,447 issues. This marks a 17% increase from the 42,449 issue credits recorded in the previous year. Of the 49,793 issue credits reported this year, 18% (8,822 credits) were for Drupal core, while 82% (40,971 credits) went to contributed projects.

"Closed" or "fixed" issues are often the result of multiple people working on the issue. We try to capture who contributes through Drupal.org's unique credit system. We used the data from the credit system for this analysis. There are a few limitations with this approach, which we'll address at the end of this report.

What is the Drupal.org credit system?

In the spring of 2015, after proposing ideas for giving credit and discussing various approaches at length, Drupal.org added the ability for people to attribute their work to an organization or customer in the Drupal.org issue queues. Maintainers of Drupal modules, themes, and distributions can award issue credits to people who help resolve issues with code, translations, documentation, design and more.

A screenshot of an issue comment on Drupal.org. You can see that jamadar worked on this patch as a volunteer, but also as part of his day job working for TATA Consultancy Services on behalf of their customer, Pfizer.

Credits are a powerful motivator for both individuals and organizations. Accumulating credits provides individuals with a way to showcase their expertise. Organizations can utilize credits to help recruit developers, to increase their visibility within the Drupal.org marketplace, or to showcase their Drupal expertise.

Who is working on Drupal?

In the 12-month period between July 1, 2017 to June 30, 2018, 24,447, Drupal.org received code contributions from 7,287 different individuals and 1,002 different organizations.

While the number of individual contributors rose, a relatively small number of individuals still do the majority of the work. Approximately 48% of individual contributors received just one credit. Meanwhile, the top 30 contributors (the top 0.4%) account for more than 24% of the total credits. These individuals put an incredible amount of time and effort in developing Drupal and its contributed projects:

RankUsernameIssues1RenatoG8512RajabNatshah7453jrockowitz7004adriancid5295bojanz5156Berdir4327alexpott4148mglaman4149Wim Leers39510larowlan36011DamienMcKenna35312dawehner34013catch33914heddn32715xjm30316pifagor28417quietone26118borisson_25519adci_contributor25520volkswagenchick25421drunken monkey23122amateescu22523joachim19924mkalkbrenner19525chr.fritsch18526gaurav.kapoor17827phenaproxima17728mikeytown217329joelpittet17030timmillwood169

Out of the top 30 contributors featured, 15 were also recognized as top contributors in our 2017 report. These Drupalists' dedication and continued contribution to the project has been crucial to Drupal's development. It's also exciting to see 15 new names on the list. This mobility is a testament to the community's evolution and growth. It's also important to recognize that a majority of the 15 repeat top contributors are at least partially sponsored by an organization. We value the organizations that sponsor these remarkable individuals, because without their support, it could be more challenging to be in the top 30 year over year.

How diverse is Drupal?

Next, we looked at both the gender and geographic diversity of Drupal.org code contributors. While these are only two examples of diversity, this is the only available data that contributors can currently choose to share on their Drupal.org profiles. The reported data shows that only 7% of the recorded contributions were made by contributors that do not identify as male, which continues to indicates a steep gender gap. This is a one percent increase compared to last year. The gender imbalance in Drupal is profound and underscores the need to continue fostering diversity and inclusion in our community.

To address this gender gap, in addition to advancing representation across various demographics, the Drupal community is supporting two important initiatives. The first is to adopt more inclusive user demographic forms on Drupal.org. Adopting Open Demographics on Drupal.org will also allow us to improve reporting on diversity and inclusion, which in turn will help us better support initiatives that advance diversity and inclusion. The second initiative is supporting the Drupal Diversity and Inclusion Contribution Team, which works to better include underrepresented groups to increase code and community contributions. The DDI Contribution Team recruits team members from diverse backgrounds and underrepresented groups, and provides support and mentorship to help them contribute to Drupal.

It's important to reiterate that supporting diversity and inclusion within Drupal is essential to the health and success of the project. The people who work on Drupal should reflect the diversity of people who use and work with the software. While there is still a lot of work to do, I'm excited about the impact these various initiatives will have on future reports.

When measuring geographic diversity, we saw individual contributors from 6 different continents and 123 different countries:

The top 20 countries from which contributions originate. The data is compiled by aggregating the countries of all individual contributors behind each commit. Note that the geographical location of contributors doesn't always correspond with the origin of their sponsorship. Wim Leers, for example, works from Belgium, but his funding comes from Acquia, which has the majority of its customers in North America.

123 different countries is seven more compared to the 2017 report. The new countries include Rwanda, Namibia, Senegal, Sierra Leone, and Swaziland, Zambia. Seeing contributions from more African countries is certainly a highlight.

How much of the work is sponsored?

Issue credits can be marked as "volunteer" and "sponsored" simultaneously (shown in jamadar's screenshot near the top of this post). This could be the case when a contributor does the minimum required work to satisfy the customer's need, in addition to using their spare time to add extra functionality.

While Drupal started out as a 100% volunteer-driven project, today the majority of the code on Drupal.org is sponsored by organizations. Only 12% of the commit credits that we examined in 2017-2018 were "purely volunteer" credits (6,007 credits), in stark contrast to the 49% that were "purely sponsored". In other words, there were four times as many "purely sponsored" credits as "purely volunteer" credits.

A few comparisons between the 2017-2018 and the 2016-2017 data:

  • The credit system is being used more frequently. In total, we captured 49,793 issue credits across all 24,447 issues in the 2017-2018 period. This marks a 17% increase from the 42,449 issue credits recorded in the previous year. Between July 1, 2016 and June 30, 2017, 28% of all credits had no attribution while in the period between July 1, 2017 to June 30, 2018, only 25% of credits lacked attribution. More people have become aware of the credit system, the attribution options, and their benefits.
  • Sponsored credits are growing faster than volunteer credits. Both "purely volunteer" and "purely sponsored" credits grew, but "purely sponsored" credits grew faster. There are two reasons why this could be the case: (1) more contributions are sponsored and (2) organizations are more likely to use the credit system compared to volunteers.

No data is perfect, but it feels safe to conclude that most of the work on Drupal is sponsored. At the same time, the data shows that volunteer contribution remains very important to Drupal. Maybe most importantly, while the number of volunteers and sponsors has grown year over year in absolute terms, sponsored contributions appear to be growing faster than volunteer contributions. This is consistent with how open source projects grow and scale.

Who is sponsoring the work?

Now that we've established a majority of contributions to Drupal are sponsored, we want to study which organizations contribute to Drupal. While 1,002 different organizations contributed to Drupal, approximately 50% of them received four credits or less. The top 30 organizations (roughly the top 3%) account for approximately 48% of the total credits, which implies that the top 30 companies play a crucial role in the health of the Drupal project. The graph below shows the top 30 organizations and the number of credits they received between July 1, 2017 and June 30, 2018:

The top 30 contributing organizations based on the number of Drupal.org commit credits.

While not immediately obvious from the graph above, a variety of different types of companies are active in Drupal's ecosystem:

Category Description Traditional Drupal businesses Small-to-medium-sized professional services companies that primarily make money using Drupal. They typically employ fewer than 100 employees, and because they specialize in Drupal, many of these professional services companies contribute frequently and are a huge part of our community. Examples are Chapter Three and Lullabot (both shown on graph). Digital marketing agencies Larger full-service agencies that have marketing-led practices using a variety of tools, typically including Drupal, Adobe Experience Manager, Sitecore, WordPress, etc. They tend to be larger, with the larger agencies employing thousands of people. Examples are Wunderman and Mirum. System integrators Larger companies that specialize in bringing together different technologies into one solution. Example system agencies are Accenture, TATA Consultancy Services, Capgemini and CI&T (shown on graph). Technology and infrastructure companies Examples are Acquia (shown on graph), Lingotek, BlackMesh, Rackspace, Pantheon and Platform.sh. End-users Examples are Pfizer (shown on graph) or NBCUniversal.

A few observations:

  • Almost all of the sponsors in the top 30 are traditional Drupal businesses. Companies like MD Systems (12 employees), Valuebound (58 employees), Chapter Three (33 employees), Commerce Guys (13 employees) and PreviousNext (22 employees) are, despite their size, critical to Drupal's success.
  • Compared to these traditional Drupal businesses, Acquia has nearly 800 employees and at least ten full-time Drupal contributors. Acquia works to resolve some of the most complex issues on Drupal.org, many of which are not recognized by the credit system (e.g. release management, communication, sprint organizing, and project coordination). Acquia added several full-time contributors compared to last year, however, I believe that Acquia should contribute even more due to its comparative size.
  • No digital marketing agencies show up in the top 30, though some of them are starting to contribute. It's exciting that an increasing number of digital marketing agencies are delivering beautiful experiences using Drupal. As a community, we need to work to ensure that each of these firms are contributing back to the project with the same commitment that we see from firms like Commerce Guys, CI&T or Acro Media. Compared to last year, we have not made meaningful progress on growing contributions from digital marketing agencies. It would be interesting to see what would happen if more large organizations mandated contributions from their partners. Pfizer, for example, only works with agencies and vendors that contribute back to Drupal, and requires that its agency partners contribute to open source. If more organizations took this stance, it could have a big impact on the number of digital agencies that contribute to Drupal
  • The only system integrator in the top 30 is CI&T, which ranked 3rd with 959 credits. As far as system integrators are concerned, CI&T is a smaller player with approximately 2,500 employees. However, we do see various system integrators outside of the top 30, including Globant, Capgemini, Sapient and TATA Consultancy Services. Each of these system integrators reported 30 to 85 credits in the past year. The top contributor is TATA with 85 credits.
  • Infrastructure and software companies also play an important role in our community, yet only Acquia appears in the top 30. While Acquia has a professional services division, more than 75% of the contributions come from the product organization. Other infrastructure companies include Pantheon and Platform.sh, which are both venture-backed, platform-as-a-service companies that were born from the Drupal community. Pantheon has 6 credits and Platform.sh has 47 credits. Amazee Labs, a company that is building an infrastructure business, reported 40 credits. Compared to last year, Acquia and Rackspace have slightly more credits, while Pantheon, Platform.sh and Amazee contributed less. Lingotek, a vendor that offers cloud-based translation management software has 84 credits.
  • We also saw three end-users in the top 30 as corporate sponsors: Pfizer (491 credits, up from 251 credits the year before), Thunder (432 credits), and the German company, bio.logis (319 credits, up from 212 credits the year before). Other notable customers outside of the top 30, include Workday, Wolters Kluwer, Burda Media, YMCA and OpenY, CARD.com and NBCUniversal. We also saw contributions from many universities, including University of Colorado Boulder, University of Waterloo, Princeton University, University of Adelaide, University of Sydney, University of Edinburgh, McGill University and more.

We can conclude that technology and infrastructure companies, digital marketing agencies, system integrators and end-users are not making significant code contributions to Drupal.org today. How can we explain this disparity in comparison to the traditional Drupal businesses that contribute the most? We believe the biggest reasons are:

  1. Drupal's strategic importance. A variety of the traditional Drupal agencies almost entirely depend on Drupal to support their businesses. Given both their expertise and dependence on Drupal, they are most likely to look after Drupal's development and well-being. Contrast this with most of the digital marketing agencies and system integrators who work with a diversified portfolio of content management platforms. Their well-being is less dependent on Drupal's success.
  2. The level of experience with Drupal and open source. Drupal aside, many organizations have little or no experience with open source, so it is important that we motivate and teach them to contribute.
  3. Legal reservations. We recognize that some organizations are not legally permitted to contribute, let alone attribute their customers. We hope that will change as open source continues to get adopted.
  4. Tools barriers. Drupal contribution still involves a patch-based workflow on Drupal.org's unique issue queue system. This presents a fairly steep learning curve to most developers, who primarily work with more modern and common tools such as GitHub. We hope to lower some of these barriers through our collaboration with GitLab.
  5. Process barriers. Getting code changes accepted into a Drupal project — especially Drupal core — is hard work. Peer reviews, gates such as automated testing and documentation, required sign-offs from maintainers and committers, knowledge of best practices and other community norms are a few of the challenges a contributor must face to get code accepted into Drupal. Collaborating with thousands of people on a project as large and widely-used as Drupal requires such processes, but new contributors often don't know that these processes exist, or don't understand why they exist.
We should do more to entice contribution

Drupal is used by more than one million websites. Everyone who uses Drupal benefits from work that thousands of other individuals and organizations have contributed. Drupal is great because it is continuously improved by a diverse community of contributors who are enthusiastic to give back.

However, the vast majority of the individuals and organizations behind these Drupal websites never participate in the development of the project. They might use the software as it is or don't feel the need to help drive its development. We have to provide more incentive for these individuals and organizations to contribute back to the project.

Consequently, this data shows that the Drupal community can do more to entice companies to contribute code to Drupal.org. The Drupal community has a long tradition of encouraging organizations to share code rather than keep it behind firewalls. While the spirit of the Drupal project cannot be reduced to any single ideology — not every organization can or will share their code — we would like to see organizations continue to prioritize collaboration over individual ownership.

We understand and respect that some can give more than others and that some might not be able to give back at all. Our goal is not to foster an environment that demands what and how others should give back. Our aim is not to criticize those who do not contribute, but rather to help foster an environment worthy of contribution. This is clearly laid out in Drupal's Values and Principles.

Given the vast amount of Drupal users, we believe continuing to encourage organizations and end-users to contribute is still a big opportunity. From my own conversations, it's clear that organizations still need need education, training and help. They ask questions like: "Where can we contribute?", "How can we convince our legal department?", and more.

There are substantial benefits and business drivers for organizations that contribute: (1) it improves their ability to sell and win deals and (2) it improves their ability to hire. Companies that contribute to Drupal tend to promote their contributions in RFPs and sales pitches. Contributing to Drupal also results in being recognized as a great place to work for Drupal experts.

What projects have sponsors?

To understand where the organizations sponsoring Drupal put their money, I've listed the top 20 most sponsored projects:

RankProject nameIssues1Drupal core59192Webform9053Drupal Commerce6074Varbase: The Ultimate Drupal 8 CMS Starter Kit (Bootstrap Ready)5515Commerce Point of Sale (POS)3246Views3187Commerce Migrate3078JSON API3049Paragraphs27210Open Social22211Search API Solr Search21212Drupal Connector for Janrain Identity Cloud19713Drupal.org security advisory coverage applications18914Facets17115Open Y16216Metatag16217Web Page Archive15418Drupal core - JavaScript Modernization Initiative14519Thunder14420XML sitemap120
Who is sponsoring the top 30 contributors? Rank Username Issues Volunteer Sponsored Not specified Sponsors 1 RenatoG 851 0% 100% 0% CI&T (850), Johnson & Johnson (23) 2 RajabNatshah 745 14% 100% 0% Vardot (653), Webship (90) 3 jrockowitz 700 94% 97% 1% The Big Blue House (680), Memorial Sloan Kettering Cancer Center (7), Rosewood Marketing (2), Kennesaw State University (1) 4 adriancid 529 99% 19% 0% Ville de Montréal (98) 5 bojanz 515 0% 98% 2% Commerce Guys (503), Torchbox (17), Adapt (6), Acro Media (4), Bluespark (1) 6 Berdir 432 0% 92% 8% MD Systems (396), Translations.com (10), Acquia (2) 7 alexpott 414 13% 84% 10% Chapter Three (123), Thunder (120), Acro Media (103) 8 mglaman 414 5% 96% 1% Commerce Guys (393), Impactiv (17), Circle Web Foundry (16), Rosewood Marketing (14), LivePerson (13), Bluespark (4), Acro Media (4), Gaggle.net (3), Thinkbean (2), Matsmart (2) 9 Wim Leers 395 8% 94% 0% Acquia (371) 10 larowlan 360 13% 97% 1% PreviousNext (350), University of Technology, Sydney (24), Charles Darwin University (10), Australian Competition and Consumer Commission (ACCC) (1), Department of Justice & Regulation, Victoria (1) 11 DamienMcKenna 353 1% 95% 5% Mediacurrent (334) 12 dawehner 340 48% 86% 4% Chapter Three (279), Torchbox (10), Drupal Association (5), Tag1 Consulting (3), Acquia (2), TES Global (1) 13 catch 339 1% 97% 3% Third and Grove (320), Tag1 Consulting (8) 14 heddn 327 2% 99% 1% MTech (325) 15 xjm 303 0% 97% 3% Acquia (293) 16 pifagor 284 32% 99% 1% GOLEMS GABB (423), Drupal Ukraine Community (73) 17 quietone 261 48% 55% 5% Acro Media (143) 18 borisson_ 255 93% 55% 3% Dazzle (136), Intracto digital agency (1), Acquia (1), DUG BE vzw (Drupal User Group Belgium) (1) 19 adci_contributor 255 0% 100% 0% ADCI Solutions (255) 20 volkswagenchick 254 1% 100% 0% Hook 42 (253) 21 drunken monkey 231 91% 22% 0% DBC (24), Vizala (20), Sunlime Web Innovations GmbH (4), Wunder Group (1), epiqo (1), Zebralog (1) 22 amateescu 225 3% 95% 3% Pfizer (211), Drupal Association (1), Chapter Three (1) 23 joachim 199 56% 44% 19% Torchbox (88) 24 mkalkbrenner 195 0% 99% 1% bio.logis (193), OSCE: Organization for Security and Co-operation in Europe (119) 25 chr.fritsch 185 0% 99% 1% Thunder (183) 26 gaurav.kapoor 178 0% 81% 19% OpenSense Labs (144), DrupalFit (55) 27 phenaproxima 177 0% 99% 1% Acquia (176) 28 mikeytown2 173 0% 0% 100% 29 joelpittet 170 28% 74% 16% The University of British Columbia (125) 30 timmillwood 169 1% 100% 0% Pfizer (169), Appnovation (163), Millwood Online (6)

We observe that the top 30 contributors are sponsored by 58 organizations. This kind of diversity is aligned with our desire to make sure that Drupal is not controlled by a single organization. These top contributors and organizations are from many different parts of the world, and work with customers large and small. Nonetheless, we will continue to benefit from an increased distribution of contribution.

Limitations of the credit system and the data

While the benefits are evident, it is important to note a few of the limitations in Drupal.org's current credit system:

  • Contributing to issues on Drupal.org is not the only way to contribute. Other activities, such as sponsoring events, promoting Drupal, and providing help and mentorship are also important to the long-term health of the Drupal project. Many of these activities are not currently captured by the credit system. For this post, we chose to only look at code contributions.
  • We acknowledge that parts of Drupal are developed on GitHub and therefore aren't fully credited on Drupal.org. The actual number of contributions and contributors could be significantly higher than what we report. The Drupal Association is working to integrate GitLab with Drupal.org. GitLab will provide support for "merge requests", which means contributing to Drupal will feel more familiar to the broader audience of open source contributors who learned their skills in the post-patch era. Some of GitLab's tools, such as inline editing and web-based code review, will also lower the barrier to contribution, and should help us grow both the number of contributions and contributors on Drupal.org.
  • Even when development is done on Drupal.org, the credit system is not used consistently. As using the credit system is optional, a lot of code committed on Drupal.org has no or incomplete contribution credits.
  • Not all code credits are the same. We currently don't have a way to account for the complexity and quality of contributions; one person might have worked several weeks for just one credit, while another person might receive a credit for ten minutes of work. In the future, we should consider issuing credit data in conjunction with issue priority, patch size, etc. This could help incentivize people to work on larger and more important problems and save coding standards improvements for new contributor sprints. Implementing a scoring system that ranks the complexity of an issue would also allow us to develop more accurate reports of contributed work.

Like Drupal itself, the Drupal.org credit system needs to continue to evolve. Ultimately, the credit system will only be useful when the community uses it, understands its shortcomings, and suggests constructive improvements.

Conclusion

Our data confirms that Drupal is a vibrant community full of contributors who are constantly evolving and improving the software. While we have amazing geographic diversity, we still need greater gender diversity, in addition to better representation across various demographic groups. Our analysis of the Drupal.org credit data concludes that most contributions to Drupal are sponsored. At the same time, the data shows that volunteer contribution remains very important to Drupal.

As a community, we need to understand that a healthy open source ecosystem includes more than the traditional Drupal businesses that contribute the most. We still don't see a lot of contribution from the larger digital marketing agencies, system integrators, technology companies, or end-users of Drupal — we believe that might come as these organizations build out their Drupal practices and Drupal becomes more strategic for them.

To grow and sustain Drupal, we should support those that contribute to Drupal and find ways to get those that are not contributing involved in our community. We invite you to help us continue to strengthen our ecosystem.

Categories: Drupal

Chocolate Lily: Managing Shared Configuration Part 3: Respecting Customizations

10 September 2018 - 5:28pm

This is the third installment in a series presenting configuration management work that comes out of the Drutopia initiative.

  • In part 1 of this series, Configuration Providers, we introduced the problem of managing shared configuration in Drupal, starting with how to determine what configuration is available.
  • In part 2, Configuration Snapshots, we covered creating snapshots of configuration to facilitate comparison of different configuration states.
  • In this installment, we'll look at another key issue when updating shared configuration: how to handle customizations.

To help clarify the problem, take this scenario:

  • You install a site from a Drupal distribution.
  • One of the pieces of configuration that distribution provides is an event content type.
  • You edit the content type to tweak the help text that appears when a user creates a new piece of content.
  • Now a new release of the distribution is available.

You want to update to the new version and get any updates it provides, including any changes that were made to the event content type. But - and here's the tricky part - when you update, you don't want to lose the customization you made to event the content type's help text.

Categories: Drupal

Annertech: D is for Darmstadt; D is for Drupal Europe

10 September 2018 - 5:38am
D is for Darmstadt; D is for Drupal Europe The Annertechies have been taking to the air for the past two days flying into Frankfurt en route to Darmstadt for Drupal Europe. As ever, we have brought our bags of knowledge with us to share out our goodies. Find out more about the sessions we're giving and other things we'll be doing at Drupal Europe.
Categories: Drupal

Agiledrop.com Blog: AGILEDROP: Michel van Velde in the shoes of one of Deloitte's Fast 50 companies

9 September 2018 - 5:50pm
Agiledrop is highlighting active Drupal community members through a series of interviews. Learn who are the people behind Drupal projects.  This week we talked with Michel van Velde. Read about what his company has achieved during one of the worst economic crisis in decades, what are his biggest contributions to Drupal community, and what his next personal project will be (a hint: it will involve drones).   1. Please tell us a little about yourself. How do you participate in the Drupal community and what do you do professionally? Michel van Velde, a proud father of two children, a daughter… READ MORE
Categories: Drupal

Joachim's blog: Drupal Code Builder: the analytical, adaptive code generator

9 September 2018 - 2:26pm

It's now just over 10 years since webchick handed maintainership of the Module Builder project over to me. I can still remember nervously approaching her at the end of a day at DrupalCon 2008, outside the building where people were chatting, and asking her if she'd had time to look at the patches I'd posted for it. I was at my first DrupalCon; she'd just been named as the core co-maintainer for the work about to start on Drupal 7. No, she hadn't, she said, and she instantly came to the conclusion that she'd never have the time to look at them, and so got her laptop out of her rucksack and there and then edited the project node to make me the maintainer.

Given the longevity of the project, I am often surprised when I talk to people that they don't know what its crucial advantage is over the other Drupal code generating tools that now also exist. Drupal Code Builder, as it's now called, is fundamentally different from Drupal Console's Generator command, and the Drupal Code Generator library that’s included in Drush 9.

I feel that perhaps this requires a buzzword, to make it more noticeable and memorable.

So here is one: Drupal Code Builder is an analytical code generator.

I'm going to add a second one: the Drupal Code Builder Drush commands and Module Builder (which still exists, though is now just module that provides a Drupal-based UI for the Drupal Code Builder library) are adaptive.

What do I mean by those?

When you first install Drupal Code Builder, it has no information about Drupal hooks, or plugin types, or services. There is no data in the codebase on how to generate a hook_form_alter() implementation, or a Block plugin, or how to inject the entity_type.manager service.

Before you can generate code, you need to run a command or submit an admin form which will analyse your entire codebase, and store the resulting data on hooks, plugin types, services, and other Drupal structures (the list of what is analysed keeps growing.).

The consequence of this is huge: Drupal Code Builder is not limited to core hooks, or to the hooks that it's been programmed for. Drupal Code Builder knows all the hooks in your codebase: from core, from contrib module, even from any of your own custom code that invents hooks.

Now repeat that statement for plugin types, for services, and so on.

And that analysis process can, and should, be repeated when you download a new module, because then any Drupal structures (hooks, plugin types, etc) that are defined in new modules gets added to the list of what Drupal Code Builder can generate.

This means that you can use Drupal Code Builder to do something like this:

  1. Generate a new plugin type. This creates a plugin manager service class and declaration, an annotation class that defines the plugin annotation, and an interface and base class for the plugins.
  2. Re-run DCB's analysis.
  3. Generate a plugin of the type you've just made.

When I say that this technique of analysis makes Drupal Coder Builder more powerful than other code generators, I'm not even blowing my own trumpet: the module I was handed in 2008 did the same. Back then in the Drupal 6 era is needed to connect to drupal.org's CVS repository to download the api.php files that document a module's hooks (which is why the Drush command for updating the code analysis prior to Drush 9 is called mb-download). For Drupal 7, the api.php files were moved into the core Drupal codebase, so from that point the process would scan the site's codebase directly. For Drupal 8, I added lots more code analysis, of plugin types and services, but still, the original idea remains: Drupal Code Builder knows how to detect Drupal structures, so it can know more structures than can be hardcoded.

This analysis can get pretty complex. While for hooks, it's just a case of running a regex on api.php files, for detecting information about plugin types, all sorts of techniques are used, such as searching the class parentage of all the plugins of a type to try to guess whether there is a plugin base class. It’s not always perfect, and it could always use more refinement, but it’s a more powerful approach than hardcoding a necessarily finite number of cases. (If only plugin types were declared in some way, or if the documentation for them were systematic in the way hook documentation is, this would all be so much simpler, and much more importantly, it would be more accurate!)

My second buzzword, that UIs for Drupal Code Builder are adaptive, describes the way that neither of the Drush command nor the Drupal module need to know what Drupal Code Builder can build. They merely know the API for describing properties, and how to present them to the user, to then pass the input values to Drupal Code Builder to get the generated code.

This is analogous to the way that Form API doesn’t know anything about a particular form, just about the different kinds of form elements.

This isn’t as exciting or indeed relevant to the end-user, but it does mean that development on Drupal Code Builder can move quickly, as adding new things to generate doesn’t require coordinated releases of software packages for the UI. In fact, I think nearly every new release of Drupal Code Builder has featured some sort of new code generating functionality, while keeping the API the same.

For example, this used to be the UI for adding a route on Drupal and Drush:

A later release of Drupal Code Builder turned the UI into this, without the Drush command or Module Builder needing their code to be updated:

Similarly, an even later version of Drupal Code Builder added code analysis to detect all top-level admin menu items, and so the admin settings form generation now lets you pick where to place the form in the menu.

It would be nice to think that a couple of buzzwords could gain Drupal Code Builder more attention and more users, but I fear that Drupal Console’s generator has got rather more traction in Drupal 8, despite its huge limitation. It’s disappointing that Drush has now added a third code generator to the mix, to even further dilute the ecosystem, and that it’s just as limited by hardcoding.

So where do we go from here?

Well, people get attached to UIs, but they don’t care much about what powers them, especially in this day and age of Composer, where adding dependencies no longer creates an imposition on the end-user.

So I suggest the following: the code analysis portion of Drupal Code Builder could be extracted to a new package. It doesn’t depend on anything on the code generation side, so that should be fairly simple. It provides an API that supports analysis being run in batches, which could maybe do with being spruced up, but it’s good enough for a 1.0.0 version for now.

Then, any code generating system would be able to use it. Both Console and Drush could replace their hardcoded lists of hooks and plugins with analytical data, while keeping the commands they expose to the end-user unchanged.

I’ll be at DrupalEurope in Darmstadt, where I’ll be running a BoF to discuss where we go next with code generation on Drupal.

Categories: Drupal

Drop Guard: Win a free Drop Guard update package!

9 September 2018 - 9:15am
Win a free Drop Guard update package!

 

 

Join the short quiz Drupal Planet Drupal Events announcements
Categories: Drupal

mark.ie: Creating a Card Component in PatternLab and Mapping to Drupal the "right" way

8 September 2018 - 5:51am
Creating a Card Component in PatternLab and Mapping to Drupal the "right" way

Yes, I know, there's more than one way to integrate PatternLab with Drupal. Here's how I create a card component and map it to Drupal.

markconroy Sat, 09/08/2018 - 13:51

Here's the task - create a card component with fields for:

  1. Card Image
  2. Card Title
  3. Card Body
  4. Card Link URL
  5. Card Style (sets a colour for a border-top on the card)
  6. Card Size (sets the width of the card)

In PatternLab, here's what our Twig file might look like (with explanations after it):

The classes array at the top allows us to set variations for our card, depending on values chosen by the editor. So, if there is an image, we add a class of .card--has-image; if a style is chosen, we add a class of that style, for example: .card--medium (I create options for small, medium, large, and full - with 'small' being the default - corresponding on large screens to a width within their container of 33%, 50% 66% and 100% respectively).

Next, we set our {{ element }}. This allows us to have the card wrapped in an a tag or a div tag. We check to see if the link field has been filled in and, if so, we use the a element, but if not, we use the div element instead. This will render HTML like one of the following:

Following this, we check if there is an image and, if so, we render our image div. Checking first allows us to have nice bem-style classes, but also means we don't end up rendering emtpy divs. Although, when it comes to Drupal, what's another div!

We then do the same for the title and body.

The funny looking part at the end about cache was inspired by an article about Drupal block cache bubbling by PreviousNext. The specific code came from this Drupal.org issue. The PreviousNext article says to render the {{ content }} variable with our fields set to 'without', because without the {{ content }} variable rendering, caching is not working properly (I don't know enough about caching to explain more). However, on a content type with loads of fields, it's very cumbersome to add every field in with {{ content|without('field_image', 'field_tags', 'field_other', etc) }}. Instead, I put that {{ catch_cache = content|render }} at the bottom of each of my content patterns - node, block, paragraphs, etc, then don't need to add it later in Drupal.

The SCSS for this looks like this:

We can do the site building very easily with the paragraphs module. Create a paragraph of type card, add the fields

  1. Card Image - media image
  2. Card Title - text (plain)
  3. Card Body - text (long, formatted)
  4. Card Link URL - link
  5. Card Style (sets a colour for a border-top on the card) - text (list)
  6. Card Size (sets the width of the card) - text (list)

Then, in our paragraph--card.html.twig file, we write the following code:

What the above does is checks if the card paragraph has values in its fields and then sets variables if it does. This means we don't render empty divs.

You will also notice that I render each fields full content for image, title, and body. This is to keep all the Drupal goodness we have in the attributes object - for accessibility and to make sure things like contextual links/quick edit still work.

You will often see the same template written like this:

I find doing that leads to fields such as {{ content.field_image }} always returning true because of Drupal's rendering system. So, even if we don't have an image, we'll still have an image div, whereas doing an explicit check before we {% include %} our variable seems much safer.

That's it - PatternLab + Drupal integrated beautifully (I think) the "right" way (according to me - you might differ).

Categories: Drupal

OpenSense Labs: Unleashing Macro Trends in Technology with Drupal

7 September 2018 - 6:06am
Unleashing Macro Trends in Technology with Drupal Shankar Fri, 09/07/2018 - 18:36

Nothing is permanent as every cloud has a silver lining. People come and go in your life. Some may call themselves your neighbour, well-wisher or a even a friend. But only some leave an indelible imprint on your mind. These people continue to stay in your life either physically or even in your memories. The space of macro trends in technology is also a volatile one where one or the other tech marvel glows bright and others may see a downward spiral.


Webbmedia Group’s 2016 Trend Report says that emerging technology breakthroughs are outpacing the evolution of public policies and discussions vis-à-vis ethics. It further states that our evolutionary responses to the technologies, that is pick-and-shovel for us to understand, is either to ignore them or to fear the worst. So, what does the macro trends in the tech industry look like in 2018?

Unwrapping macro trends

A macro trend refers to the pervasive and persistent directional shift of a certain phenomenon on a global scale. For instance, urbanisation, automation or the altering demographics are some of the examples of macro trends.

Macro trends help in zeroing in on the listicle consisting of all the things that would not fade away soon. Although they may attain a point where they are fully realised and are not considered trends but just the characteristics of technological fraternity.

Macro trends help in zeroing in on the listicle consisting of all the things that would not fade away soon

Longevity is usually seen as a significant characterisation of trends. Mega trends are the most pervasive and insistent phenomena. Megatrends, as defined by the Copenhagen Institute for Future Studies, are developing trends that help in predicting “the probable future - express what we know with great confidence about the future. Megatrends are certainties.” A phenomena like global warming come under the category of megatrends.

Right down at the end of the table are the fads - widespread but with a short spell lasting a few years or even less. Pokemon Go, an augmented reality game, reached unprecedented fame in 2016 but people are highly unlikely to be hunting down Pikachu in 2030.

Microtrends fall somewhere between fads and macro trends that are influential and last a few years. For instance, flexible workforce where a firm retains minimal staff and gets the work done mostly with external contracts is an example of micro trend. Inherent caveats to such microtrends, most often than not, become apparent in practice thereby leading to a trend in the opposite direction.

Macro trends in the tech industry

In an ever-evolving technological landscape, it is worth witnessing the macro trends in the tech industry to understand its progress and the path ahead.

Continuous Delivery

For superfast project deliveries, Continuous Delivery has been instrumental in handling software development. In addition to this, it has also been bearing fruit in enabling Evolutionary Architectures. Evolutionary Architecture is a terminology, created by Thoughtworks, that stresses on supporting incremental, guided change as a first principle across various dimensions.

Source: Logigear For superfast project deliveries, Continuous Delivery has been instrumental in handling software development.

With a cloud platform and nice automation techniques, software architecture can be treated as code - infrastructure, servers, interconnections, services, and networking that are defined and governed through version controlled text files. This helps in achieving architectural leaps that were never possible before.

Drupal factor in Continuous Delivery

Like ship of theseus, a thought experiment that questions whether a ship fundamentally remains the same object if its components are replaced, we can replace parts of our system until the entire thing is new. Thereafter, we can keep moving forward as necessary or strategic.

For instance, Drupal development can garner tremendous positives through agile development methodology. Agile manifesto was formulated in 2001 with the objective of implementing Continuous Delivery. Agile process uses incremental and iterative approach to govern project development.


Service NSW portal is an initiative established by the NSW Premier for offering a centralised point of transaction for the Australian citizens with government agencies. In combination with Agile methodology, the Drupal development of the portal was completed within the stipulated timeline of 6 months that was agreed upon before the project started. 

Microservices

Microservices architecture style constitutes a collection of small, autonomous services where each of the services are self-contained and implement a single business capability.

Microservices has been a buzzword in the recent years among the web chefs as it comes up with a whole lot of benefits:

  • Autonomous deployments: Update a service without redeploying the complete application and rollback or roll forward an update during mishaps. Fixing bugs and feature releases are more manageable with fewer challenges.
  • Autonomous development: Building, testing and deploying a service would require a single development team which leads to continuous innovation and faster release cadence.
  • Small teams: Teams can lay their emphasis onto one service thereby streamlining the understanding of codebase with smaller scope for each service.
  • Isolation of faults: Downtime in one of the services won’t affect the entire application which does not mean that you get resiliency for free.
  • Tech stack mixture: Technology that is deemed most suitable for a service can be chosen by the teams.
  • Scalability at granular levels: Independent scaling of services is possible.
Source: Logentries

It does have a set of caveats that is needed to be considered like:

  • Intricacy: More moving parts are there in microservice application than the equivalent monolithic application.
  • Development and testing: Developing against service dependencies would need a different approach and testing service dependencies is challenging particularly when the application is evolving rapidly.
  • Dearth of administration: The decentralised approach to building microservices may result in so many different languages and frameworks making it harder to govern.
  • Network congestion and latency: Usage of granular services can lead to more interservice communication and if the chain of service dependencies gets too elongated, additional latency can be an issue.
  • Data integrity: Data consistency can be an issue with each microservice responsible for its own data persistence.
  • Governance: Correlated logging across services can become an arduous task.
  • Update issues: If not for a careful design, several services updating at a given time  could lead to backward or forward compatibility.
  • Team skill-set: As the highly distributed systems, microservices need to have a team with right skills and experience.

Apparently, microservices have a great potential but it has to cover a long journey still. Businesses would find it a formidable task to migrate from a monolith to microservices. It is difficult to decide when to split services as it needs a good underlying platform and wonderful DevOps practices.

Drupal factor in microservices

A presentation held at DrupalCon Vienna 2017 showed an awesome and easy way of integrating Drupal 8 in a microservices architecture. With Symfony components, Composer to govern external dependencies and astounding results of the WSCCI initiative, Drupal 8 proved to a useful content store.

Source: Drupal.org

It demonstrated the delegation of asynchronous work from Drupal to a bunch of very reactive applications written in Go with the help of some RabbitMq queues. Elasticsearch was used as a common data storage between services and REST endpoints were exposed where the external services could notificate back to Drupal.

Moreover, methods of connecting websocket server to push and pull messages between services were displayed and Ansible and Docker were used for running all these services in a controlled and replicable manner.

Machine Learning

Machine learning, a method of data analysis for automating analytical model building, is a branch of artificial intelligence. It is based on the notion that systems can learn from data, identify patterns and take part in decision-making with minimal human intervention.

Source: PwC

Towards the path of productivity

Machine learning is on a roll with astronomical metamorphosis in the Gartner Hype Cycle, down the “peak of inflated expectations” through the “trough of disillusionment” to the “plateau of productivity”.

Business enterprises are beginning to consolidate all the different proofs of concept that has popped over in the recent years. With tools, platforms and services on one side and inflated expectations propagated by media and artificial intelligence (AI) on the other side infiltrating market, several questions are being pondered over. How can AI benefit an organisation? What skills does an in-house team need? What software, tools and platforms would be the right fit for a business? These are the right set of questions to move forward in the direction of the “plateau of productivity”.

Machine learning is on a roll with astronomical metamorphosis in the Gartner Hype Cycle

An intelligent approach to development

With hyper-advancement of machine learning, curiosity ignites interesting question - How will it affect the job of software developers who have always written explicit instructions for computers, though, at accentuating levels of abstraction?

It is too soon to tell. There have been a superabundance of attempts at higher order languages where human developers just have to elaborate their intent and an ML/AI system conjures up implementation code. Although not far-fetched but these techniques are a long way-off.

Interestingly, hurdles plaguing other technologies may be improved with the help of ML. For instance, take a look at architecture review for an existing suite of enterprise systems. There might be highly intricate interactions between systems and components, sophisticated data access patterns and relationships etc.

Instrumenting these systems and then applying ML would provide better insight to do enterprise architecture in an improved way. Insights like “apply the strangler pattern here”, “couple these two related systems”, “remove this flaky old system” etc. can prove to be a smart way of business development.

Drupal factor in machine learning

So, how can you personalise web content experiences on the basis of subtle elements of a person’s digital persona? Standard personalisation mechanisms point to content which is based on a user profile or behavioural patterns.

Deep-Feeling, a proof-of-concept project, uses machine learning techniques to provide improved content recommendations to users. A presentation in Drupalcon Baltimore 2017 used the Instagram API to access a person’s stream-of-consciousness and filtered their feeds through a computer-vision API.  This was used to detect and learn subtle themes about the user’s preferences.


The presentation focussed on establishing an idea about the sort of experiences that the user deems fit to be worth sharing. It was, then, used to match the user’s characteristics against their own databases. In this proof-of-concept, they used Acquia Lift service and Drupal 8 to recommend travel experiences on the basis of sort of things that a person shares.

On the Cloud

AWS defines cloud computing as “the on-demand delivery of compute power, database storage, applications, and other IT resources through a cloud services platform via the internet with pay-as-you-go pricing”.

Source:iMicron

Complications in Cloud

Today, more than ever before, cloud is much more complicated than an edict from the Chief Technology Officer to “put everything in the cloud”. With AWS featuring so heavily, is that an indication of its maturity? Or is that the resultant of Amazon’s explicit strategy to out-compete other cloud platforms based on features? It’s a mix of both but many retail enterprises are dodging AWS as they see Amazon as a competitor and have started following a strategic decision-making as to forbid using their services.

Today, more than ever before, cloud is much more complicated than an edict from the Chief Technology Officer to “put everything in the cloud”.

There is a discernible growth in confidence in Azure and Google Cloud platform with both maturing as platforms and their messaging having a firm resonance with the buyers. There is a plenitude of choice in cloud but with new data protection laws such as the EU’s GDPR coming into play, it has complicated the situation. Organisations are finding it difficult to identify which cloud will support their regulatory and compliance obligations.

Feature parity

Another trend that can be witnessed is the use of feature parity as an objective while performing a cloud migration, product redevelopment or legacy system upgrade. It is hardly a good idea to simply reimplement a 10 or 15 year old system - bugs and all - using latest technology.

Often the excuse tends to be that “we do not want to confuse the business”. Or, there are concerns about changing the process or calculations but the output is, most often than not, a long, sluggish, big-bang delivery with superabundance of risk. Stakeholders are often not happy with a project that is late, exceeds budget, and does not deliver anything new for the business.

Instead, thought leaders in the IT should be more eager to raise question on whether the logic written more than a decade ago is a right fit for today’s business workflow. Also, they should provide their users more credit for being able to absorb a new and overall more capable system. Organisations should be closely examining the features that they really need rather than recreating a complete feature-set on a new platform.

Betterment in platform-thinking

There is a wave of ‘platform-thinking’ doing rounds which is basically deliberate encapsulation of useful capabilities and business functions into self-service, reusable platform components. As the technology and business platforms gains new features, it enables the business enterprises to speed up time-to-value.

The rise of platforms is becoming a significant latest trend. Whether it is public platform like AWS and Azure or the private ones like Cloud Foundry and Kubernetes, Cloud has given organisations new options for infrastructure deployment.

Container management

Google Cloud states that “containers offer a logical packaging mechanism in which applications can be abstracted from the environment in which they actually run”. 

The containerisation trend has been creating an ecosystem where all of our tools now work with containers. And in some ways, containers, are the new POSIX, the latest universal interface. Other significant trends like microservices, evolutionary architecture, cloud-by-default work tremendously well with containers.

Not long ago, big players in the industry were engrossed in the conversation involving topics of GIFEE - Google’s Infrastructure For Everyone Else. Kubernetes is just a Google-style infrastructure that can be leveraged by everyone. Google pushed hard and put in a lot of resources with the objective of getting people onto the Google cloud offering. Eventually, Kubernetes became the default container platform. Kubernetes is an open source container orchestration system for automation of deployment process and scaling and governance of containerised applications.

Moreover, Kubernetes has been becoming more accessible to run at scale. Running resilient, production clusters is becoming easier with improvements in the core Kubernetes software. In addition to this, Kubernetes is coming up with better tooling and highly active ecosystem. Most of the big cloud providers have started offering Kubernetes-based hosting.

Virtualisation

When the VMware virtual machines came into the scene in 1999, it was a slight hint towards virtualisation long-term impact on revolutionising all aspects of software. Virtual machines are used in everything ranging from developer workstations to Google-sized data centres. Docker, Kubernetes and all those today’s super exciting cloud technologies are the resultant of virtualisation.

The Drupal factor in Kubernetes

At a conference held in the Great Indian Developer Summit Bangalore 2018, a demonstration showed the orchestration, powered by Kubernetes, that provides a simple way to leverage the scalability and power of Drupal.

Source: IBM Developer

A Drupal site was set up using Kubernetes and Postgres by splitting the services into containers. It involved:

  • Configuring an app that ran multiple containers in Kubernetes
  • Running a website hosted via Kubernetes
  • Using Kubernetes-persistent volumes to govern Drupal configuration between container restarts.
  • User interactions with the Drupal web interface
  • Drupal container using its persistent volume to store website date but not content
  • PostgreSQL container using persistent volume to store the database contents.
Data streaming

The world is expecting real-time analytics. It is a de-facto thing that we have to accommodate as we design systems. We savour the merits yielded from an event-based streaming architecture like loose coupling, high performance, autonomous components and scalability. But the need for streaming has been driven by the analytics requirement, that means, you just cannot meet this need without streaming.
 
Maturity in event-driven architecture is associated with rapid rise in data streaming. These systems are now a run-of-the-mill thing and well understood. Also, new techniques like using streams as persistent storage of enterprise facts are seeing a steady rise. Streaming is here to stay!

Blockchain

Forbes defines Blockchain as “a public register in which transactions between two users belonging to the same network are stored in a secure, verifiable and permanent way. The data relating to the exchanges are saved inside cryptographic blocks, connected in a hierarchical manner to each other. This creates an endless chain of data blocks -- hence the name blockchain -- that allows you to trace and verify all the transactions you have ever made.

Source: Dot Com Infoway

This technology holds the promise to alter industries. Even though the conversation is often surrounding financial opportunities, it has lot more to offer in government, healthcare, supply chain, content distribution and many more. However, many blockchain technologies are still immature and unproven which needs to be unregulated.

Blockchain technology holds the promise to alter industries

Pragmatic approach to blockchain requires a clear understanding of the business opportunity, immense capabilities and the caveats, a trust architecture and the necessary implementation skills. Before kickstarting a distributed-ledger project, your team should have the cryptographic skills to understand the possibilities. Identify the integration points with existing infrastructures in addition to monitoring the platform evolution and its maturation. Be very cautious while interacting with vendors.
 
Today, Ethereum smart contracts and the Corda distributed ledger are praiseworthy options to consider.

The Drupal factor in Blockchain

Chainfrog has been working on blockchain technology since its early stages. They exhibited a use case where user data like communication history, addresses or the profile data will be available to users in a big enterprise.


Rather than making an HTTP call everytime a new user is added, Chainfrog proposed to remove the middleman, in this case, API, and adopt a peer-to-peer immutable ledger. 

Whenever a new user would be added to the Drupal system, Chainfrog’s blockchain based solution ‘Blockbinder’ will help in recording everything in a data table. This , thereby, ensures that all the Drupal installations inside a firm would synchronise their user data within 30 seconds of any new addition in one of their installations.

Conversational platforms

Conversational UI and Natural Language Processing (NLP) are often in the scheme of things when it comes to recent innovations in the tech industry. The foundational example is the Amazon Echo.

Source: Artificial Solutions

For designing a device with no screen, Amazon started considering the development of conversational UI. Carrying on a conversation with a device or chatbot is not anymore reserved for the likes of Alexa, Cortana or Siri. With the help of APIs and third-party services to do the heavy lifting, these capabilities could be leveraged by device makers and enterprise developers.

Conversational platforms are driving a paradigm shift in which the burden of translating intent shifts from user to computer.

The Drupal factor in conversational platforms

Chatbot API, a Drupal module, can be leveraged to integrate a bot in the site. It is an extra layer that falls between your Drupal installation, NLP and various chatbots and personal assistants. It can work with systems like Dialogflow, Alexa, Cisco Spark Microsoft and Twilio.

Immersive Experience

Augmented Reality (AR) and Virtual Reality (VR) are moving towards the mainstream adoption. Businesses showing interests in VR beyond gaming and also novel applications of AR to improve productivity. The technology is still developing and needs specific skills such as 3D modelling but organisations are preparing itself for this new wave of interaction.

Source: MDG Advertising

In the near future, VR and AR will be mainstream capabilities that businesses need to build, buy or rent. VR and AR would allow natural interactions between people and the digital world.

The Drupal factor in Immersive experiences

The demonstration shown in the video depicts a shopper interacting with the AR application. The mobile application of Freshland Market (a fictional grocery store), built on Drupal 8, guided the shopper through the lists while shopping.


Another demonstration shows a decoupled React VR application on top of Drupal 8. The Drupal site of Massachusetts State University (a fictional university) stores all the content and the media that is going to be featured in the VR tour.



Internet of things and Digital Twins

Internet of things (IoT) has been revolutionising the way we see connected world. Basically everything we see around us can be connected through internet. Almost!

One of the key trends in the IoT in the recent years is the digital twins. Forbes defines it as “a virtual model of a process, product or service. This pairing of the virtual and physical worlds allows analysis of data and monitoring of systems to head off problems before they even occur, prevent downtime, develop new opportunities and even plan for the future by using simulations”.

Source: Deloitte University Press

John Vickers, NASA’s leading manufacturing expert and manager of NASA’s National Centre for Advanced Manufacturing says that “the ultimate vision for the digital twin is to create, test and build our equipment in a virtual environment”.

For instance, GE’s digital wind farm paved new ways of improving productivity. GE uses the digital environment to inform the configuration of each wind turbine before the construction commences. Its aim is to generate 20% gains in efficiency by assessing the data from each turbine that is fed to its virtual equivalent.

The Drupal factor in IoT

A session held at DrupalCon New Orleans 2016 showed how Drupal and internet of things and come together. It showed a demonstration that used a barometric pressure sensing, GPS-enabled wearable armband connected to the internet. It could, then, display an icon to provide the weather forecast for the current location.

Conclusion

While the planet Earth keeps on revolving around the sun, not only the climate and year changes with that but the people and their needs as well. And so happens technological innovations and, thus, macro trends listicle go on adding and subtracting the name of technologies every few years.

The macro trends in technology shown in this blog post are the key mentions that are being witnessed in recent times and will continue growing. Drupal, as a stupendous content store, keeps scaling itself with a robust community presence that makes it relevant and useful in the times of tech innovations.

We, at Opensense Labs, keep following our everlasting approach towards keeping pace with new inventions. We can give your business a digital transformation that it deserves with the help of our experts who have years of experience in Drupal development.

Contact us at hello@opensenselabs.com to develop Drupal-based projects using such futuristic technologies that are doing rounds in the macro trends.

blog banner blog image Blog Type Articles Is it a good read ? On
Categories: Drupal

Specbee: Drupal 8.6.0 - The biggest Drupal release since Drupal 8

7 September 2018 - 5:16am

On September 6th the Drupal team shipped Drupal 8.6.0, a huge update to the Drupal project. Packed with powerful features shipped with Drupal, the release is a significant one for content editors, site builders, developers and evaluators.

With a rapid year-on-year adoption of Drupal 8, the release is set to be the leading choice for many big organisations. Known for constantly improving itself with every release, the features of Drupal 8.6.0 are quite interesting.

Categories: Drupal

Agiledrop.com Blog: AGILEDROP: Digital Transformation and Enterprise sessions you don't want to miss at Drupal Europe

6 September 2018 - 4:31pm
There will be a lot of sessions at DrupalEurope. So many, in fact, you can’t attend all you would want to. Therefore, we have made a short list of the Digital Transformation and Enterprise sessions you don't want to miss. We sure won't.  Avoiding the "best practices" trap: thanks for the theory, but let's solve the problems I actually have first. Thursday, September 13, 16:00 Michael Godeck, Business Analyst, PfizerMarin Balabanov, Content Designer, Appnovation Technologies Limited Development teams often encounter various impediments. In this session, we will learn how to take a more… READ MORE
Categories: Drupal

Lullabot: Drupal Europe, Not DrupalCon Europe

6 September 2018 - 4:00pm
Mike and Matt are joined by Joe Shindelar from Drupalize.Me and Baddý Breidert one of the organizers of Drupal Europe, a huge conference that's being billed as "A family reunion for the Drupal community." Drupal Europe is put on by a huge group of community volunteers in collaboration with the German Drupal Association.
Categories: Drupal

Chocolate Lily: Managing Shared Configuration Part 2: Configuration Snapshots

6 September 2018 - 11:50am

This is the second installment in a series presenting configuration management work that comes out of the Drutopia initiative.

In part 1 of this series, Configuration Providers, we introduced the problem of managing shared configuration, starting with how to determine what configuration is available.

But knowing what configuration is available is only part of the picture. To import configuration updates, we also need to answer the question: what's changed since the configuration was originally installed? That's where snapshotting comes in.

Categories: Drupal

Pages