There are many cases where external connection poolers like pgBouncer become unavoidable despite the costs and complexities associated with them. PgBouncer is one of the most popular external connection poolers for PostgreSQL. It is thin and lightweight, so it doesn’t have built-in authentication features like LDAP, which is essential for many enterprises. Luckily, pgBouncer has […]
30
2024
Redis, Valkey, and Percona’s Ongoing Support of Open Source
For me, the Redis story starts with… Memcached. Back in the early 2000s, “Web 2.0” was being built following the aftermath of the dot-com crash. The open source LAMP (Linux-Apache-MySQL-PHP/Perl/Python) stack was all the rage. We needed to scale fast but also very efficiently, and caching became one of the core technologies to achieve […]
29
2024
Talking Drupal #448 – D11 Readiness & PHPStan
Today we are talking about Drupal 11 Readiness, What you need to think about, and PHPStan with guest Matt Glaman. We’ll also cover MRN as our module of the week.
For show notes visit: [www.talkingDrupal.com/448https://www.talkingDrupal.com/448)
Topics
- What do we mean by Drupal 11 Readiness
- How will this be different than 9 and 10
- Top 5 tips
- D11 Meeting and slack channel
- Will this be easier
- Major issues
- What is PHPStan
- How does it play a role
- How is PHPStan Drupal different than PHPStan
- Does using PHPStan with drupal reduce the need for tests
- How do you see it evolving over the next few years
- Drupal 12 wishlist
Resources
- PHPStan Drupal
- PHPStan
- Herodevs DrupalCon Party
- Smart date BC calls
- Contrib semantic versioning thoughts
- Change records
- Project analysis
- Gabor article Drupal rector
- Project update working group
- LTS even odd
- PHP version
- PHP stan rule levels
- Title issue
Hosts
Nic Laflin – nLighteneddevelopment.com nicxvan John Picozzi – epam.com johnpicozzi Matt Glaman – mglaman.dev mglaman
MOTW Correspondent
Martin Anderson-Clutz – mandclu
- Brief description:
- Have you ever wanted an easy way to generate detailed release notes for your contrib projects? There’s a web app for that
- Module name/project name:
- Brief history
- How old: created in Aug 2022 by today’s guest Matt Glaman
- Maintainership
- Actively maintained, latest updates were earlier this year
- Code project at https://github.com/mglaman/drupal-mrn has 13 open issues
- Usage stats:
- Currently no usage reporting, but a tool I’ve been using a ton lately as I get modules ready for Drupal 11
- Module features and usage
- It’s very simple to use, you just enter the machine name of your project, and then the numbers of the releases you want it to compare
- It will generate the structure for your release note, include a spot for you to write a summary at the top, a list of contributors that links to their profiles, and a list of issues
- Previously part of Matt’s drupalorg CLI project, MRN is now a lambda function on AWS, so there’s nothing to download or install
- I like that you can choose which tags you want to compare, so if the release is part of a branch that doesn’t yet have a stable release, I’ll put a comparison to the previous release in the branch at the top, and then a comparison to the current stable release below it, so people can see the full list of everything new they’ll get by moving from the stable release
- It’s worth noting that because this works from the git history, you need to make sure you credit everyone properly before clicking to merge an MR in the Drupal.org UI. You can give credit to other people after the fact using the checkbox and they’ll get contribution credits, but won’t be included in the release notes generated by MRN
26
2024
Trying out the PostgreSQL pg_tde Tech Preview Release
The tech preview version of the pg_tde extension for PostgreSQL 16 was released on March 28th, with many improvements compared to our previous MVP release. In addition to lots of bug fixes, the new release supports multi-tenancy and key rotation with a simplified configuration mechanism. Note that the Tech Preview release is not recommended for […]
26
2024
Benchmarking MongoDB Performance on Kubernetes
Cloud-native databases are becoming the norm, and containerized databases are a common trend (see the report from Dynatrace and Figure 1). Kubernetes—the de facto standard for platform engineers—and operators simplify database deployment and management. But what are the performance implications of running databases in Kubernetes? To answer this question, we compared the performance of Percona Server for […]
24
2024
Bringing Percona Experts to a City Near You
Percona.connect, a series of free events hosted by Percona database performance experts, is coming to a city near you! This amazing learning opportunity spans six cities — across two continents — and includes educational sessions, customer testimonials, networking activities, and more. Don’t miss your chance to talk with technical evangelists, MySQL, PostgreSQL, and MongoDB experts, Percona […]
24
2024
Skills Upgrade #8
Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 8.
Topics
-
Review Chad’s questions
-
What is the process of creating a new issue, reviewing automated tests, and creating a merge request for review by the project maintainer?
- https://www.drupal.org/docs/develop/git/using-gitlab-to-contribute-to-drupal
- https://www.drupal.org/docs/develop/git/using-gitlab-to-contribute-to-drupal/creating-issue-forks
- My example issue: https://www.drupal.org/project/smart_date/issues/3432819
- My example merge request: https://git.drupalcode.org/project/smart_date/-/merge_requests/94
-
If we’re not using Composer to pull the contrib module, how do we make sure that all dependencies are handled?
-
How can someone navigate so many complex issues without getting lost or “barking up the wrong tree”?
-
-
Tasks for the upcoming week
- Work toward getting the merge request accepted.
- Document learning bullet points for this journey.
Resources
Chad’s Drupal 10 Learning Curriclum & Journal Chad’s Drupal 10 Learning Notes
The Linux Foundation is offering a discount of 30% off e-learning courses, certifications and bundles with the code, all uppercase DRUPAL24 and that is good until June 5th https://training.linuxfoundation.org/certification-catalog/
Hosts
AmyJune Hineline – @volkswagenchick
Guests
Chad Hester – chadkhester.com @chadkhest Mike Anello – DrupalEasy.com @ultimike
22
2024
Talking Drupal #447 – Drupal Single Sign On
Today we are talking about Drupal Single Sign On, The Benefits it brings to the Drupal Community, and A new book called Fog & Fireflies with guest Tim Lehnen. We’ll also cover Drupal.org Username Field as our module of the week.
For show notes visit: www.talkingDrupal.com/447
Topics
- What is Single Sign On (SSO)
- Does Drupal already support SSO
- Why is SSO on drupal.org important
- Camps using SSO
- Other possibilities
- Gitlab login
- Cloud IAM
- Why did the Drupal Association choose Cloud IAM
- How do you see the collaboration growing
- Where are we now
- What are the next steps
- How far are we from this becoming a reality
- What does onboarding look like
- Will third party sites be able to use D.O SSO
- Can the community help
- Fog & Fireflies
- First book
- Can you buy it now
Resources
- Single Sign On is coming to Drupal.org thanks to Cloud IAM
- A new book called Fog & Fireflies
- Open ID Connect module
- Keycloak
- Neil Drumm
- Lucas Heddn
- Marco Villegas
- Tim Lehnen
Guests
Tim Lehnen – aspenthornpress.com hestenet
Hosts
Nic Laflin – nLighteneddevelopment.com nicxvan John Picozzi – epam.com johnpicozzi Matt Glaman – mglaman.dev mglaman
MOTW Correspondent
Martin Anderson-Clutz – mandclu
- Brief description:
- Have you ever wanted to have a field on user profiles specifically designed for drupal.org usernames? There’s a module for that
- Module name/project name:
- Brief history
- How old: created in August 2019 by hussainweb AKA Hussain Abbas of Axelerant
- Versions available: 2.0.0-beta4
- Maintainership
- Actively maintained, that release was made less than 6 months ago
- Test coverage
- Number of open issues: 8 open issues, none of which are bugs
- Usage stats:
- 1 site
- Module features and usage
- The module provides a new field type, along with its own widget and formatter
- With a simple checkbox, you can get the module to validate that the provided username is registered on drupal.org
- What’s really powerful about this module is that it can also pull other information from the drupal.org profile, such as first and last name, country, bio, and more
- It does this by leveraging a Guzzle-based API client for drupal.org that Hussain created as part of a DrupalCon Asia developer contest
- I believe the intended use of the modules is to use a provided drush command to copy the values from the drupal.org username field into other fields, where they would be displayed to site visitors
- Although this module isn’t something that a lot of sites will need, I could see it being really useful for Drupal camp websites, to automatically collect a lot of the information that many such sites ask users to populate manually
- I think it’s also an interesting use of the Drupal.org API, and could be a useful reference for anyone needing to implement a custom integration
17
2024
Skills Upgrade #7
Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 7.
Topics
-
Review Chad’s goals for the previous week
- Test Example
- Set up phpunit.xml
- Start with FrontPageLinkTest.php
-
Review Chad’s questions
- In the testing_example module, the file “src/Controller/TestingExampleController.php” has a function for simpletestDescription(). Is this an outdated artifact that should have been removed at some point? The module itself doesn’t appear to use Simpletest elsewhere and appears to only rely on PHPUnit.
- What do you recommend for the minimal code structure to include for any given test type? Is the Testing Example module an ideal model or are there other resources I should review? The testing reference from Selwyn was helpful.
- In the “FrontPageLinkDependenciesTest.php” setUp() function, the createContentType() function is called without specifying the type. Is that set somewhere else? I may have overlooked it. Nevermind—it’s set using randomMachineName() in the createContentType() function. Is there anything extra or standard to write in tests for drupal.org?
-
Tasks for the upcoming week
- Smart Date – Martin (maintainer) to review promptly, I’ve already chatted with him about it. Create a new functional test: “submit a range with an end time before the start and validate that an error is returned”
- Create an issue in the Smart Date queue and assign to yourself.
- Create an issue fork.
- Check out the issue fork locally.
- Write (and test) the test locally.
- Commit and push to the issue fork.
- Mark issue as “Needs review”.
- Ask someone to review – if all looks good, the reviewer will mark as RBTC.
- Smart Date – Martin (maintainer) to review promptly, I’ve already chatted with him about it. Create a new functional test: “submit a range with an end time before the start and validate that an error is returned”
Resources
Chad’s Drupal 10 Learning Curriclum & Journal Chad’s Drupal 10 Learning Notes
The Linux Foundation is offering a discount of 30% off e-learning courses, certifications and bundles with the code, all uppercase DRUPAL24 and that is good until June 5th https://training.linuxfoundation.org/certification-catalog/
Hosts
AmyJune Hineline – @volkswagenchick
Guests
Chad Hester – chadkhester.com @chadkhest Mike Anello – DrupalEasy.com @ultimike
15
2024
Talking Drupal #446 – Test Driven Development
Today we are talking about Test Driven Development, Why it’s important, and How it improves development with guest Alexey Korepov. We’ll also cover Test Helpers as our module of the week.
For show notes visit: www.talkingDrupal.com/446
Topics
- What does the term Test Driven Development (TDD) mean
- Does Drupal make use of TDD
- What makes TDD different from other methods of Development
- Do you have to change your way of thinking
- What are some good resources to learn TDD
- Do you have any pointers for teams looking to get started
- Are certain kinds of projects better suited to TDD
- How have dev teams adapted to TDD
- Any advice on environment setup
- Any special tools
Resources
- Open telemetry
- QA Engineer
- Kent Beck Test Driven Development: By Example
- Needs tests tag
- Local unit tests
- PHPUnit
Guests
Alexey Korepov – korepov.pro Murz
Hosts
Nic Laflin – nLighteneddevelopment.com nicxvan Martin Anderson-Clutz – mandclu Matt Glaman – mglaman.dev mglaman
MOTW Correspondent
Martin Anderson-Clutz – mandclu
- Brief description:
- Have you ever wanted an API that could dramatically simplify the process of writing Drupal unit tests? There’s a module for that.
- Module name/project name:
- Brief history
- How old: created in Sep 2022 by today’s guest, Alexey Korepov
- Versions available: 1.3.0 compatible with versions of Drupal 9.4 or newer, right up to Drupal 11
- Maintainership
- Actively maintained, latest release less than 3 months ago
- Security coverage
- Test coverage, would be ironic if it didn’t
- API Documentation is available, linked from the project page
- Number of open issues: 2 open issues, which are actually feature requests
- Usage stats:
- 5 sites officially, but modules or sites can leverage Test Helpers without enabling it, and this usage is recommended, so the number is actually higher
- Module features and usage
- Provides a new container that automated tests can leverage to perform common tasks with much less code.
- For example, you can create a user or a node with a single line of code
- You can also mock more complex operations like an entityQuery or loadMultiple call, again with a single line of code
- Traditionally, writing unit tests is more complicated because by design they run without fully bootstrapping Drupal
- That means that your test needs to mock functions or services in the code you’re testing which can result in units tests being much longer than the code they’re testing
- Test Helpers also allows your tests to leverage existing mocks and stubs for popular services
- The project page also links to the recording and slides for a talk Alexey gave about Test Helpers at DrupalCon Pittsburgh last year, if you want to do a deeper dive