Drupal.org blog: What's new on Drupal.org - Q4 2022

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

Image removed.Drupal 10 is here!

Thanks to collaboration from more than 2,000 contributors and over 600 organizations across the world, Drupal 10 was released on December 15

The latest version of Drupal has upgrades to both the front-end and back-end design, with the Olivero front-end theme and the Olivero admin theme now default. The WYSIWYG editor has been updated to CKEditor 5, with significant improvements to in-place editing controls and great pluggability. 

More than 3,000 contributed modules were already compatible on the day of release, 26% more than during the Drupal 9 release, and the first public sites had updated to version 10 less than an hour after the release went live. 

Drupal 10 Celebrations

The Drupal Association encouraged the community to submit their launch parties on Drupal.org/community/events. We had more than a dozen events, including a global virtual launch party at drupal10party.com

Image removed.

Celebrating our success re-energizes the community, gets us psyched up for the next strategic initiatives, and is an opportunity to educate and inspire folks outside the community who haven't been following the latest developments. 

Release Support

The Drupal Association engineering team is on call during major release windows to:

  • Support the release managers with any infrastructure needs
  • Add new testing environments for versions of php, or database versions. 
  • Bulk update issues 
  • Help recruit support for any last minute issues needing resolution
  • Act as liaison between core maintainers and the DA marketing team. 

These release support operations are fundamental to creating harmony between the human process followed by release managers and the technical infrastructure needed to get the releases packaged and available to Composer. 

It's not one of the most visible aspects of the work we do, but it is one of the most crucial ways the Drupal Association team interfaces with the core maintainers. 

Drupal.org UpdatesImage removed.

GitLab Acceleration - Contribution Credit Record 

To finish our GitLab acceleration we need to advance each of three key areas in parallel, testing, issues, and contribution credit. 

With good progress on both CI and issue migration tooling, we spent time in Q4 on the contribution credit system. 

The new contribution records are a content type in our d9/d10 Drupal.org upgrade, and can source their data either from the existing D7 issues, or from GitLab issues, and potentially other sources in future. 

As we've said many times, Drupal's contribution recognition system is a pioneering initiative in open source. We have some of the best data of any project when it comes to understanding who builds Drupal, and what organizations sponsor the work to make that possible

It is absolutely critical that we don't lose that capability with the transition to GitLab issues, and in fact we'd love to expand it to capture even more types and sources of contribution. 

Drupal.org D9/10 updates

As mentioned in our last update, several of our drupal.org properties have Drupal 9 upgrades in pre-production, including: 

  • api.drupal.org
  • events.drupal.org
  • localize.drupal.org
  • portions of www.drupal.org 

And with Drupal 10's release we're running upgrade tests to ensure we're ready to go. 

It's important for the Drupal Association to show the best that Drupal can be with Drupal.org and its subsites. 

The upgrade exercise is also an opportunity to engage with community partners, and flex our own Drupal expertise, when so much of the time we are more focused on supporting technologies (like GitLab!) 

Drupal.org infrastructure improvements

In preparation for deploying our D9/D10 upgrades we're making major investments in Drupal.org infrastructure. We currently host the sites on owned hardware at the Oregon State Open Source Lab, which is aging significantly.

Thanks to our partners at Tag1, we now have a kubernetes cluster configuration for development and staging (with the production cluster in progress) for modern management and scalability for these sites. 

Open Source foundations face an interesting conundrum in that they are often responsible for fostering cutting edge technology, but have to do so relying on donated resources, or subsidized hosting services. 

We are very fortunate that we have the ability to invest in this modernization initiative to make Drupal.org more performant, scalable, and secure for community of innovators that build Drupal. 

History of Community/Events now exportable

In addition to the REST and JSON apis for accessing community events submissions on Drupal.org, organizers can now also view a tabular display of all event data to help prevent scheduling conflicts - and export that data to CSV. 

Drupal community events are a global phenomenon, and as these events scale up post-pandemic having this kind of data readily available helps organize avoid stepping on each other's toes when scheduling events. 

Exportable data also makes it easier to study community collaboration across the globe. 

Organization Profiles now show Events Sponsored

The launch of the community/events listings last year has been highly successful, and we've built on that success by adding new features continuously.

The latest feature is that any organization listed as a sponsor on an event, will now have that sponsorship reflected on their drupal.org profile. 

Image removed.

This is important because it provides recognition and visibility to organizations for the important work they do making grassroots Drupal gatherings around the world possible.

At the same time, it can also show end-users looking for partners that organizations are active in their community, and show potential recruits that the organization is truly committed to open source. 

Individual Profiles now show Events Organized

Individual user profiles now also aggregate data from any community/events they have been listed as being a part of, whether they are an organizer, code of conduct contact, speaker, or volunteer. 

Image removed.

There are so many ways to contribute to an open source project, and for many years event organizing has been a crucial part of developing the community, but has been invisible. 

Now, user profiles have a robust resume of their participation in this community building work. 

GitLab Acceleration

 - More user data managed directly in GitLab

As part of offloading more collaboration features to GitLab, we need to migrate some key user information.

As part of that process, we migrated the multiple email address handling from Drupal.org user profiles to GitLab profiles, so that users can configure additional emails for git config, and manage notifications from GitLab. 

This kind of data migration is part of dotting all our i's and crossing all our t's in ensuring we're ready to cut over more features to GitLab.

At the same time, each migration or decoupling also enables more functionality for users - in this case the granular control over GitLab notifications should make merge request collaboration easier! 

GitLab Acceleration

 - Drupal.org pronoun field synced to GitLab Profile

We are now syncing the Drupal.org pronoun field to GitLab. 

Engineering team member @drumm was able to contribute an upstream feature request to add pronoun handling to the GitLab api in the course of contributing other api improvements for our needs-meaning this is a feature improvement that other GitLab users will benefit from. 

Syncing pronoun information is part of promoting respectful dialogue and collaboration, and fostering a diverse community, according to our value of: "Treating each other with dignity and respect

It was a great way to end 2022, with a lot of great features released for the community, and a lot more in-progress for delivery in 2023. We're excited for what's to come, and to have you with us on this journey. 

———

As always, we’d like to thank all the volunteers who work with us and the Drupal Association Supporters who help to fund our work. In particular, we want to thank: 

If you would like to support our work as an individual or an organization, consider becoming a member of the Drupal Association

Follow us on Twitter for regular updates: @drupal_org, @drupal_infra

Matt Glaman: Trimming whitespace from Drupal form submissions using an HTTP middleware

Leading and trailing whitespaces. The bane of normalized data everywhere. It seems like a constant task that needs to be performed on incoming user data. When working with Laravel, I use the TrimStrings middleware. Calls PHP's built-in trim function on all string values for the request query and input values – including JSON! While working on my project WhiskeyDex, I noticed how mobile device keyboards always add trailing whitespace when using the autocomplete functionality. This, in turn, meant user-created data will end up with trailing whitespaces. I started to just quick-fix in the single instance and realized it should be solved once and for all.

Acquia Developer Portal Blog: How to Enable Project Browser on Your Drupal Site

Image removed.

Project Browser makes it easy for site builders to find modules. Once selected, instructions are provided on how to install the modules on your site. This browser lives inside the Drupal site itself, which means you don't need to leave your site in order to look for modules. Plus, it's a much improved experience than trying to page through modules by popularity on Drupal.org.

To get started, we must first composer require the module:

Quilltez: Drupal 10 Create Node Programmatically

Drupal 10 Create Node Programmatically

Drupal is a content management system that allows you to create and manage website content in an organized way. One of the ways to create content in Drupal is by creating a node programmatically. A node is a fundamental building block of a Drupal website and represents a piece of content such as an article, a page, or a product.

To create a node programmatically in Drupal 10, you will need to use the Drupal's Entity API, specifically the Node class. Here's an example of how you can create a basic node:

leopathu Tue, 01/10/2023 - 16:07 Drupal10 Drupal Planet