Drupal.org: Updating the tools we use for collaboration
hestenet
Tim Lehnen
drumm
Neil Drumm
mixologic
Ryan Aslett
b_man
Brendan Blaine
nnewton
Narayan Newton
mlhess
Michael Hess
fjgarlin
Fran Garcia-Linares
fmitchell
Frederic Mitchell
crawleyhost
Caleb Crawley
Infrastructure Team
Drupal Association Staff
Consultants
irinaz
Irina Zaks
Engineering Team
Infrastructure Partners
What does the DA invest
in engineering?
4
$375,000 in direct costs
+ More than $500,000 of in-kind trade
+ Salaries for personnel�
About half of the net revenue from DA programs is invested directly in engineering initiatives.
Drupal 7
End of Life
6
… We are announcing that moving forward, the scheduled Drupal 7 End-of-Life date will be re-evaluated annually. As of today, we are extending the end-of-life by one year to November 1, 2023.
- PSA-2022-02-23�drupal.org/security
“
“
Drupal 6 LTS vendor-provided support will end on October 22, 2022.
On February 24th, 2016, Drupal 6 was marked end-of-life (EOL). The Drupal 6 Long-Term-Support (LTS) program added more than 6 years of additional coverage for program participants and the community.
On behalf of the community the Drupal Security Team would like to thank all the vendors that participated in this program: Tag1, Acquia, and myDropWizard.
- PSA-2022-03-09�drupal.org/security
“
“
Community
Groups
9
Release Pages�Overhauled
13
Contrib Releases
Core Releases
Organization Profile
Refresh
16
Distributions�&�Starter Kits
19
Composer Template
Support Module
Distributions
=
+
drupal.org/i/3264926
A new model for distributions
drupal.org/i/3252534
GDPR Updates
22
Moving to a first-party analytics solution.�
Providing more fine-grained control of cookie acceptance.
Drupal 9 Upgrades
api.drupal.org
events.drupal.org
www.drupal.org
9
24
api.drupal.org
www.drupal.org�project endpoints
Bluecheese
What's left before we start deploying our Drupal 9 sites?
Auth/SSO
Theme
Production
Infrastructure
DA + Core Initiatives
Supply Chain Security�Automatic Updates
Project Browser
33
TED BOWMAN
drupal.org/u/tedbow
Getting Ready for Automatic Updates in Drupal Core
Wednesday, 27 April | 11:00 PDT
Principal Software Engineer
Acquia
USA
Learn More
Authentication/SSO
KeyCloak via Cloud-IAM
37
drupal.org/project/openid_connect
OpenID Connect
9
7
Camp & Community Sites?
Gitlab Acceleration Initiative
Big picture and details of implementation
42
Goals�
Make Code contribution to the Drupal project easier. �
Adopt standard tools and adapt for Drupal ecosystem.
�Preserve the collaborative nature of Drupal.
Remains on Drupal.org
Migrates to git.drupalcode.org
Discovery | |||||
Project Pages | |||||
Releases | |||||
Contribution Credit | |||||
Composer Endpoints | |||||
User Documentation� (D.O Guides and Pages) |
Repositories - completed | |||||
Testing (CI) | |||||
Issues | |||||
New: Kanban Boards | |||||
New: Developer Documentation GitLab Pages |
Drupal Association
GitLab
Community
The big picture
In progress | Single Sign-on | |||||
No big change | Projects | Releases | ||||
In progress | Simplifying Drupal.org (commits pages, profiles, credit system) | |||||
In progress | GitLab CI | |||||
Planning | Issue Collaboration | Issue Credit | Issue Migration |
Helps Drupal.org update past Drupal 7
drupalcamp.be/en/drupal-dev-days-2022/session/drupalorg-gitlab-acceleration-update
GitLab Quick Wins &
Simplifying Drupal.org
Features enabled in GitLab
SSH Key management
GPG for commit signing
�Notifications
Authentication/Audit Log
Dark mode
.. and more.
Full code search
Project pages
Removed commit information.�
Replace our listings with�links to git.drupalcode.org.
�Documentation link simplification.�
When issues migrate,�their block will be�replaced or removed.
Profile pages
Commit counts on profile pages�will be replaced with link to GitLab activity.�
Adding link to your�git.drupalcode.org profile.
GitLabCI
GitLabCI
DrupalCI was centralized.��GitLab CI is decentralized.�
GitLab CI replaces parts of DrupalCI that were cumbersome to maintain.
GitLab CI: Actually running tests
Every maintainer will have to set up their own .gitlab-ci.yml file, if they want testing.�
Replaces both the scheduling on Drupal.org and configuration that was implicit in DrupalCI.
�We want to find ways to make this�transition easy for maintainers.
GitLab CI: Discontinuing .patch files
GitLab CI tests merge requests,�not patches.�
When a project switches from DrupalCI to GitLab CI,�patches won’t be tested.
What about including .patch files in deployments?
Bad: Hot-linking to remotely hosted patch files is a really common habit in the Drupal community, but it's one we need to break.
Better: Commit the patch file to an artifacts directory on your infra.
Best: Help the patch get committed
- contribute your reviews.
Translating DrupalCI to GitLabCI
Thank you to these Contrib Projects
Search API Open Search
Decoupled Menus Initiative
Recurring Dates Field
BPMN.io
KeyCDN
Project Browser
Upgrade Status
Simple OAUTH
Scheduled Transitions
Views Filter Summary
Using Drupal Spoons .gitlab-ci.yml
Using own .gitlab-ci.yml
Thank you, DrupalSpoons!
Contribution Credit
Contribution is more than just issues
Mockup
Contributor Attribution
Maintainer
Credit Assignment
Mockup
Issue Migration
Drupal Flow: Collaborative by default
Issues: Collaboration
Issues on Drupal.org�are collaborative.�
We want to keep that�for GitLab issues.
Issues fixed in the last year,�that had people credited�As of 2022-04-02
People credited | Issues | Project |
5.8 | 1826 | Drupal core |
2.2 | 525 | Cloud |
2.2 | 289 | Open Social |
1.8 | 276 | Webform |
2.3 | 225 | Automatic Updates |
1.1 | 220 | Block Class |
2.5 | 155 | Commerce Core |
2.5 | 148 | CKEditor 5 |
2.7 | 148 | Florida DrupalCamp |
2 | 141 | ECA: Event - Condition - Action |
2.3 | 132 | Gin Admin Theme |
7.5 | 98 | Project Browser |
1.9 | 97 | simplytest.me |
1.5 | 96 | Search API Solr |
1.6 | 95 | farmOS |
1.3 | 86 | Geolocation Field |
3.9 | 85 | Views (for Drupal 7) |
1.4 | 83 | Web Experience Toolkit |
1.5 | 81 | Smart Date |
| | |
Fork-Merge vs. Drupal Flow
PROJECT
Fork a
Fork b
Fork-of-fork b
MR a
MR b
MR c
Personal�Namespace
Personal�Namespace
Personal�Namespace
Collaboration by maintainer invite only
PROJECT
Fork
MR
Shared
Namespace
Collaboration by default
Issues: Preparation for Migration
References to issues on www.drupal.org will go away as we move issues away.�
This will impact change records, documentation, and more.
Issues: Migration
Project by project.�
All the metadata, preserve as much as practical.�
Aim for a smooth transition.
How you can help with the GitLab Acceleration
Question & Answer
?
?
?
70
Join us in Contribution!
General Contribution | Every Day | Oregon Ballroom 204
Mentored Contribution | Wed & Thu | 14:30 to 17:30 | C120-121-122
Migration Assistance | Wed & Thu | 14:30 to 17:30 | B114-115
Photo credit: Josef Jerabek
Photo credit: Amazee Labs & Roy Segall