The Drop Times: Contribution Health Dashboards: A Conversation with Alex Moreno

Gain an in-depth understanding of the newly developed Contribution Health Dashboards as Alex Moreno,
The program Manager and Drupal Innovation Coordinator at the Drupal Association discuss CHD development, technological underpinnings, and potential impact on the global diversity of the Drupal community. Discover the challenges faced, future steps, and how the Drupal community can contribute to the dashboards' enhancement.

PreviousNext: The Future of Symfony Messenger in Drupal

The thrilling conclusion to this eight-part miniseries includes the next steps for the SM project and the Symfony Messenger ecosystem.

by daniel.phin / 14 February 2024

Symfony Messenger and the SM integration permits time savings and improved DX for developers, making the pipeline and workers more flexible.

Real business value is added when messages can be processed in real-time, providing potential infrastructure efficiencies by permitting rescaling resources from web to CLI. End user performance is improved by offloading processing out of web threads.

Further integrations provide feedback to end users such as editors, informing them in real-time when relevant tasks have been processed.

Messenger messages are an opportunity to offload expensive business logic, particularly those which would be found in hooks. Instead of using the batch API, consider creating messages and deferring UI feedback to Toasty rather than blocking a user’s browser.

Given these points, integration with Drupal core could prove quite valuable.

The design of the SM project focuses on core integration from the beginning. The highest priority has been to maintain the original Symfony Messenger services and configuration, while minimising the introduction of new concepts.

In the context of core integration, niceties like SM’s queue interception feature may initially be left on the factory floor, but could prove useful when deprecating @QueueWorker plugins.

Concepts like the consume command may be a tricky requirement for some, but there are always workarounds that can be built, in the same vein as request-termination cron. Workarounds wouldn’t allow for the main advantage of Messenger, which is its real-time processing capabilities.

Next steps for the SM project and the Messenger ecosystem include

Read the other posts in this series:

  1. Introducing Symfony Messenger integrations with Drupal 
  2. Symfony Messenger’ message and message handlers, and comparison with @QueueWorker
  3. Real-time: Symfony Messenger’ Consume command and prioritised messages
  4. Automatic message scheduling and replacing hook_cron
  5. Adding real-time processing to QueueWorker plugins
  6. Handling emails asynchronously: integrating Symfony Mailer and Messenger
  7. Displaying notifications when Symfony Messenger messages are processed
  8. Future of Symfony Messenger in Drupal

Tagged

Symfony, Symfony Messenger

Nonprofit Drupal posts: February Drupal for Nonprofits Chat

Join us THURSDAY, February 15 at 1pm ET / 10am PT, for our regularly scheduled call to chat about all things Drupal and nonprofits. (Convert to your local time zone.)

This month we'll be giving an update on our plans for DrupalCon Portland, including the Nonprofit Summit and the recently announced discount for nonprofit attendees!

And we'll of course also have time to discuss anything else that's on our minds at the intersection of Drupal and nonprofits -- including our plans for NTC in next month.  Got something specific you want to talk about? Feel free to share ahead of time in our collaborative Google doc: https://nten.org/drupal/notes!

All nonprofit Drupal devs and users, regardless of experience level, are always welcome on this call.

This free call is sponsored by NTEN.org and open to everyone. 

  • Join the call: https://us02web.zoom.us/j/81817469653

    • Meeting ID: 818 1746 9653
      Passcode: 551681

    • One tap mobile:
      +16699006833,,81817469653# US (San Jose)
      +13462487799,,81817469653# US (Houston)

    • Dial by your location:
      +1 669 900 6833 US (San Jose)
      +1 346 248 7799 US (Houston)
      +1 253 215 8782 US (Tacoma)
      +1 929 205 6099 US (New York)
      +1 301 715 8592 US (Washington DC)
      +1 312 626 6799 US (Chicago)

    • Find your local number: https://us02web.zoom.us/u/kpV1o65N

  • Follow along on Google Docs: https://nten.org/drupal/notes

View notes of previous months' calls.

Drupal Association blog: Turning Takers into Makers: The enhanced Drupal Certified Partner Program

In a recent working paper published by the Harvard Business School entitled “The Value of Open Source Software,” the authors, Manual Hoffmann, Frank Nagle, and Yanuo Zhou, use a new methodology to determine that the value of open source software is in excess of $8.8 trillion. They further admit that this is likely an underestimate.

Clearly, open source software plays a foundational and often underappreciated role in the digital lives of people across the world. This fact will not be news to those immersed in the open source communities that were the subject of the study (though I think the economic impact is illuminating).

Among the contributions of the Working Paper to open source literature, the authors assert that:

...users of OSS should not just free ride but also contribute to the creation and maintenance of OSS(...). Such contributions are a fraction of the costs that firms would incur if OSS did not exist and the active participation of OSS users in helping maintain the OSS they use is critical to the health and future well-being of the OSS ecosystem”

They further add:

Our results further show that the majority of the value created by OSS is created by a small number of contributors.”

While Drupal was not specifically included in the Harvard study (though PHP was), these conclusions are not news to the Drupal Community. Dries Buytaert introduced these concepts to the Community in his 2019 blog post Balancing Makers and Takers to scale and sustain Open Source. In it, he cites the “free rider” problem long studied in traditional economics and applies it to Drupal. His message in short: if Drupal is to thrive, we need to convert Takers to Makers.

In 2023, Drupal was recognized as a Digital Public Good. The recognition highlighted both Drupal’s importance in advancing an open and inclusive web as well as its susceptibility to the Free Rider problem.

The Role of the Drupal Association

The Drupal Association plays a unique role in the Drupal ecosystem.  As the nonprofit formed to support the global, decentralized open source project, our mission is to drive innovation and adoption of Drupal as a high-impact digital public good, hand-in-hand with our open source community.

Our fundamental task, day in and day out, is to ensure that Drupal is secure and available to anyone, anywhere in the world to download and use for free. This takes resources beyond the contributions to code that the community makes. Thus, we leverage financial contributions to maintain and improve the infrastructure that keeps Drupal available.

We are in an environment in which, without an intentional focus on innovation and a commitment to getting the word out about the benefits of Drupal (i.e. marketing), open source projects risk withering, and organizations with far larger budgets and profit incentives will oversell proprietary solutions that unnecessarily trap users data and raise the cost basis of accessing the internet.  Both are contrary to an open and inclusive web.

Enhancements to the Drupal Certified Partner Program

To fulfill our mission and to better support the availability of Drupal, the Drupal Association is re-orienting the Drupal Certified Partner program to recognize and highlight those firms who represent the “small number of contributors” that “are critical to the health and future well-being” of Drupal. In other words, we’re focusing the Drupal Certified Partner program on “Makers.”

We launched the Drupal Certified Partner program in 2021. It was a good start and we have learned much over the past 3 years. We learned that we have room for improvement to amplify and highlight Makers.

The current Marketplace lists 2,283 companies, many of whom provide Drupal services. Of these companies, 591 made a contribution to Drupal in 2023. Of these 591 contributors, the top 14% made 88% of total contributions in 2023. Some of these are relatively small organizations, who aren't necessarily getting the recognition they deserve. In fact, five of the top ten contributors in 2023 were companies with fewer than 50 employees.

It would be fair to say that, in Drupal, the majority of the value is created by a small number of contributors. We hope to better recognize those organizations and grow their number.

Starting on April 1, 2024, the Drupal Certified Partner program will support those companies who are committed to supporting the Drupal Project and the Drupal Community with the following improvements:

  • The Drupal Marketplace on Drupal.org will be reserved solely for Makers, known as Drupal Certified Partners. The Marketplace will be branded as the global list of “Makers” and recommended by the Drupal Association and will only list Drupal Certified Partners in active status.
  • Becoming and maintaining certification as a Drupal Certified Partner will require at least 150 annual credits and complete a short annual business survey.
  • Companies will be awarded a tier badge (Bronze, Silver, Gold, Platinum, Diamond, Top Tier), based solely on their credits (see below).
  • Position on the Marketplace will be largely determined by credits (this is “largely” and not “solely” because we plan on providing Marketplace advantages to those companies that sponsor local camps).
  • An annual financial contribution will be required of all Drupal Certified Partners based on company size and measured by number of employees and full time contractors (see below). The intent is that this contribution be nominal to the size of the organization. These funds are used to maintain the Drupal infrastructure, a core responsibility of the Drupal Association, as well as supporting the Drupal Community.
  • Many benefits conferred by the Drupal Association will be limited to Drupal Certified Partners. These benefits are being updated and will be published before the end of the first quarter of 2024.
  • The Supporting Partner program will be re-oriented to recognize those companies who are not in the business of selling Drupal services, but want to contribute to the project and the community.

New Tiered Badge Levels

In developing the new tiers, we started with our highest performing contributor and then looked for natural cut points in the data to create subsequent tiers. With these changes, the annual contribution credit minimums for each Tier have increased.

Since 2021, when this program launched, code contribution within organizations has increased. What this tells us is the program is working. Organizations are motivated to increase contribution which, in turn, will increase innovation. It also proves we can incrementally increase the weighted contribution credit eligibility to continue to grow code contributions.

Weighted contributions over the previous twelve months will determine the Tier at an organization’s annual renewal date.

Image removed.

New Financial Sponsorship Levels

Maintaining Drupal and making it available worldwide free of charge to anyone to download and use takes resources beyond contributions by the community.  The nonprofit Drupal Association, in conjunction with the Drupal Project, does the bulk of this work.  Undertaking this work on a continual basis and with great quality requires a consistent source of funding.  The Association’s historic reliance on DrupalCon revenue is insufficient to undertake the goals of innovating Drupal faster and expanding its impact.

Drupal’s market impact is conservatively valued at $3 to $5 billion.  If only 1% of the value was invested back into Drupal, this would result in tens of millions of dollars annually.  This would more than address Drupal’s maintenance, innovation, and marketing needs.

In this vein, the enhanced Drupal Certified Partner program will require an annual financial sponsorship amount.  The amount will vary commensurate with the size of the organization.  The idea is that makers who use Drupal should contribute a nominal financial amount to help the Association maintain Drupal.  It is a cost of doing business, similar to any software tool an organization may use to build and maintain their digital presence.  The amount will generate far less than “tens of millions” of dollars, but will provide a sustainable source of revenue that will be invested in innovating and marketing Drupal.  Many companies already contribute at this level, we want to formalize the commitment for all Drupal Certified Partners.

The number of employees and full-time employees will be used as a proxy for company size.

Image removed.

The new Drupal Certified Partner requirements will go into effect starting 1 April 2024. All companies currently on the marketplace who are not yet Certified are invited to enroll. New organizations joining the Drupal Certified Partner program will enroll in this new program starting 1 April. Current Drupal Certified Partners will be invited to enroll on their annual renewal date after 1 April 2024. Current Drupal Certified Partners will not see a change in their financial contribution requirements until their next renewal date.

If your organization does not contribute code or your organization is an end-user, you will still be able to support Drupal the community. The current “Supporting Partner” program will now be called the “Supporting Member” program. The current financial levels will be available and some of the same benefits will be part of the program, such as 10% off DrupalCon registrations. For some, the Supporting Members program will be a starting point towards becoming a Drupal Certified Partner with the Drupal Association hosting webinars and training on how to get started contributing.

A webinar is planned for March to review the new Drupal Certified Partner program.

If you would like to learn more, please register for our upcoming webinar on 5 March 2024 hosted by myself and Kelly Delaney, our Director of Development.

Register for the webinar here. If you can’t make the live webinar, we’ll send the recording to everyone who registered after the event.

Tim Doyle
Chief Executive Officer
Drupal Association

Drupal Association blog: Bounty program extension (for innovative modules and ideas)

A few weeks ago we announced the Bounty Program. This was a pilot program with the idea to solve a few common problems. For a start, and after meeting with different companies and individuals, it is apparent that we need a clear path and guidance to where contributions would be most helpful. A constant question from pretty much all companies I have met was “how can we make our contributions more impactful”.

Fortunately - there are many areas and projects where contributions are VERY important, and where the Drupal Association, core maintainers and other leaders in the project are waiting for a helping hand.

The goal of this credit bounty program is to explore introducing some of that guidance, increasing contribution in those areas where it really matters and, creating more impact to push Drupal innovation further.

The good news is the idea has been working pretty well. For a start we have got some long-standing, tricky issues unblocked, and with new momentum we already have one of those issues fixed. This is a great initial result for the program, because that issue in particular was 5 years old.

Community feedback has also been positive, from the core maintainer team, to companies and people willing to participate in the program or simply excited to see this happening.

The only drawback I saw with this approach is that the issues that we have published are highly specialized and potentially complex. And that’s ok, because contributing to Core is actually a complex, time consuming task, and here your contributions are going to make a big difference. But at the same time this is limiting how many people have the required knowledge and can contribute to this initiative.

That’s why I’m opening a consultation period. Do you think you have an innovative module or project that can benefit drupal? Do you know of one you would like to nominate as an innovative module that could benefit from some momentum and contributors? Is there a core feature request or idea queue issue that you think could use focused attention?

We especially want your nominations if you are a module maintainer and you are willing to spend a little bit of time to support contributors who could help innovate items on your roadmap. , To provide your nominations, please contact me: alex.moreno@association.drupal.org.

What will you get in exchange? Public promotion for your module, being a candidate for extra credit bounties, but most importantly, seeing how your module gets the attention, promotion and the extra push that it deserves as an innovative idea.

This does not stop here, because we have opened another round of consultations with the Core team as well for their own nominations of new issues that will be included in the next round of the credit bounty program.

We will likely select anywhere between 4 and 12 new issues for the second round, so if you you know an innovative module or project that could benefit from this, please send me your proposals: alex.moreno@association.drupal.org

Gábor Hojtsy: Onwards to Drupal 11 - ways to get involved

Onwards to Drupal 11 - ways to get involved

Last November the Drupal project announced that Drupal 10 will receive long term support until mid-late 2026. That is when Drupal 12 will be released, so this long term support does not mean that Drupal 11 will not be released as well in the meantime. And by meantime, I mean Drupal 11 will be released this year, in 2024, in June or July or December.

Gábor Hojtsy Mon, 02/12/2024 - 13:52

Specbee: Driving E-Commerce Revenue Success with Drupal Commerce

Every e-commerce business has unique requirements. While some are simple plug-and-play solutions, others are tailored with custom development. Evolving trends like AI-driven personalization, seamless mobile experiences, and the growing importance of sustainability, are equally playing a part in an e-commerce application’s requirements.  Using a framework that offers deep customization is essential for almost every e-commerce store. Today, we’re going to talk about one such e-commerce framework - Drupal Commerce. With Drupal Commerce, you get the flexibility of Drupal and the power of innovation. Let's take a closer look at some of its features and architecture in this article. The Relevance of E-commerce Today Global Reach: With an internet connection, anyone can access e-commerce platforms worldwide. 24/7 Accessibility: Enjoy the convenience of anytime access. Diverse Product Offerings: Unlike offline shopping, where options are limited, e-commerce opens the door to a wide variety of products. Economic Growth: E-commerce fosters economic growth by offering a broad spectrum of products, breaking free from the constraints of limited stock seen in offline shopping. Contactless Transactions: Embrace the ease and safety of contactless transactions in the digital shopping realm. Choosing Drupal Commerce Now, the next question arises: Why should we choose the Drupal Commerce platform for e-commerce? Considering the myriad CMS platforms in the market such as Magento, WordPress, Shopify, and Drupal, selecting the right platform can indeed be challenging. Here are some reasons for opting for Drupal as your e-commerce platform: Open-source and extensible Flexibility for complex business needs Rules-based architecture  Community support and modules Integration with third-party services Stands out for businesses aiming to create a user-friendly and easily accessible e-commerce platform. Key Features of Drupal Commerce Take a look at some key features of Drupal Commerce that you might like: Integrations - Drupal provides extensive integration possibilities with third-party services and tools. E-commerce websites can seamlessly integrate with payment gateways, shipping providers, and other essential services. Rules-Based Architecture - Drupal Commerce, as part of Drupal, integrates with the Rules module. This allows administrators to define complex business rules and workflows, providing flexibility in managing various aspects of the e-commerce process. Headless and Decoupled Architecture - Drupal supports headless and decoupled architectures, allowing businesses to use Drupal as a back-end while using a different front-end technology. This flexibility is beneficial for creating unique and tailored user interfaces  Additional Features: Multiple stores - Easily create and manage multiple stores with Drupal Commerce. Multiple currencies - Handle transactions in multiple currencies. Flexible and Extensible Powerful Content Management Community Support Theming and Responsive Design SEO-Friendly Multilingual Capabilities Security Drupal Commerce Architecture and Components Now, let's delve into the architecture and components of Drupal Commerce. There are different types of entities in Drupal Commerce, including, Store: Can products be added without a store? Absolutely not! A key element in Drupal Commerce, the store, plays a crucial role in controlling billing and shipping countries available during the checkout process. Each store can even have its own currency, a boon for dealing with multiple currencies across locations. Product Architecture: Understanding the product structure is key before diving into adding products in Drupal Commerce. Imagine your store selling t-shirts or shirts. These products come in various sizes, colors, types, fabrics, etc. To handle this complexity, Drupal Commerce introduces Product Attributes. For example: Product Type: t-shirt Size: Product Attribute Color: Product Attribute In Drupal Commerce: There's a single product entity. This product entity comprises 7 different product variations. Size Product Attribute has 3 values: Small, Medium, and Large. Color Product Attribute has 4 values: Green, Orange, Red, and Blue. Order Entities: Order entities contain information about the product, its variation, and customer details. Order Items: These represent purchased items within the order. Order Types: Each order type has its own settings for the cart and checkout pages. We’ll discuss more practical implementations of this later. Implementing Drupal Commerce Prerequisites Make sure you have a web server that satisfies Drupal’s requirements The preferred memory limit is 256MB or more. Latest version of Composer to manage dependencies. DDEV or lando for local development.  Drupal Installation composer require "drupal/commerce"Enable Commerce drush en commerce_product commerce_checkout commerce_cartGetting Started Create a Store From the toolbar navigate to Commerce > Configuration > Store > Stores and click on the Add Store button. Once you add the store, you will be able to add and display products easily.   Configure different product entities To add a new Product inside a Store, let’s first create a Product Type by navigating to Commerce > Configuration > Product types from the toolbar menu or visit /admin/commerce/config/product-types Click on Add Product type button When you select Product variation type as “Create new” then you don’t need to add Product variation additionally. Now, let's create Product Attributes for the same Product Type by navigating to Commerce > Configuration > Product Attributes or simply visit /admin/commerce/product-attributes and click on the “Add product Attribute” button. While adding a Product Attribute, you will notice that the Product variation types (created in step 2) are present and you can map your attributes to your variations. As a result, these attributes will be visible when you add variations to any product. Here in the above example, we have created a Product Attribute as Color, in which we have listed different colors. Similarly you can create different Product attributes like Size, Type, etc. Now that you have created a Store, Product Type, Product Variations, and Product Attributes, it’s time to create a new Product. Add Products 1. To add a Product navigate to Commerce > Products and click on the “Add Product” button. 2. Enter your Product Details and click on “Save and add variations”. 3. Add your different product variations. Displaying Products Product display pages First, you will need to customize the product pages from the “Manage Display” tab option. For multi-product displays, simply create a view page to display multiple products. Add to cart form Next, include the Add to Cart form on product pages or the other pages from where the user can add the products to the cart. To include the “Add to cart” form, navigate to Commerce > Configuration > Orders > Order Item Types and then navigate to “Manage Form Display” of the particular order item (here we used Default)   Product images To add Product Images, you need to add a field inside the Product Variation Type entity so that different images can be uploaded for every different Product variations. Further, you can learn how to use the Drupal Core Image module to create a custom image style for products. To create a custom view mode for product variations, you can use the Image delta formatter module. Add Payment Gateway By default, Drupal Commerce provides a COD (Cash On Delivery) payment gateway, but you can configure different payment gateways as well. To learn more about how to add a payment gateway click here.     Orders You can manage your orders from the Orders page by navigating to Commerce > Orders.   Final Thoughts Choosing the right framework for your unique e-commerce business is absolutely crucial. A robust and customizable framework like Drupal Commerce is not just an option; it's a strategic necessity. Combining the flexibility of Drupal with a flair for innovation, Drupal Commerce stands as a powerful solution for varied e-commerce needs. If you’re looking to build or enhance your e-commerce solution, we have the Drupal development expertise and experience to bring your vision to life. Let’s make it happen!  

Chapter Three: Apigee Kickstart in Action: Powering Financial Services

A Developer Portal Shows the Flexibility of Drupal Black Knight, Inc. is a financial services company that provides integrated software, data, and analytics solutions primarily to the real estate and mortgage lending sectors, as well as to the capital and secondary markets. Originally founded as Computing and Statistical Services in 1962, the Jacksonville, Florida-based corporation is a national leader in providing automated solutions that span the homeownership life cycle. Note that Black Knight has recently been acquired by Intercontinental Exchange (ICE).

Talking Drupal: Talking Drupal #437 - Drupal Mail & Easy Email

Today we are talking about sending email with Drupal, The Easy Email Module, and Drupal Mail Best Practices with guest Wayne Eaker. We’ll also cover Content Access by Path as our module of the week.

For show notes visit: www.talkingDrupal.com/437

Topics
  • Current state of email
  • What happened to swiftmailer
  • Do you still need the mailsystem module
  • Why Symfony Mailer
  • New dependency in core
  • Difference between Symfony Mailer module and the Symfony Mailer Lite module
  • How does the Easy email module make it easier
  • What are the features of Easy Email
  • Why not use PHP mail
  • JMAP
  • Do you have a roadmap
  • How do we communicate the different module options
  • Are you looking for help
Resources Guests

Wayne Eaker - drupaltutor.com zengenuity

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Ivan Stegic - ten7.com ivanstegic

MOTW Correspondent

Martin Anderson-Clutz - mandclu

  • Brief description:
    • Have you ever wanted to grant users access to edit content based on the path alias of the content? There’s a module for that.
  • Module name/project name:
  • Brief history
    • How old: created in the past month by Mark Conroy of Annertech, who is also a core subsystem maintainer for the Umami profile
    • Versions available: a stable 1.0.0, created in the past week, that works with Drupal 10
  • Maintainership
    • Actively maintained
    • Doesn’t have a user guide yet, but the module’s README does include some FAQs, and the project page includes a link to a YouTube video that demonstrates how to install and use the module
    • Number of open issues: 2, one of which is a bug
  • Usage stats:
    • 2 sites
  • Module features and usage
    • When installed, the module adds a new taxonomy vocabulary to your site. You can add terms to this vocabulary to define sections by path
    • Users on the site will have a new field, where you can reference one or more of the section terms, granting the user access to edit any content with a path that matches the section
    • The module also includes a submodule called Content Access by Path Admin Content. When installed, users who go to the admin/content listing will only see content listed that they can edit, based on either the sections they’ve been assigned, or their ownership of the content.
    • Granting edit permissions to a “section” of the website is a common ask for site owners, so I’m excited that this module makes it easy to set that up. There are solutions in the contrib ecosystem based on taxonomy for access control, and back in episode #414 we talked about Access Policy as a very flexible way to grant edit permissions, but in my mind those all require more set-up, and may require an extra step during content creation to make sure the right access is available. Content Access by Path, along with something like the near-ubiquitous Pathauto, can make it pretty painless to set up and use section-specific edit permissions