Talking Drupal

Talking Drupal Hosts

  • 40 minutes 41 seconds
    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 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

    24 April 2024, 8:00 am
  • 1 hour 16 minutes
    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 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
    22 April 2024, 6:00 pm
  • 31 minutes 54 seconds
    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.
    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

    17 April 2024, 8:00 am
  • 1 hour 9 minutes
    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 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
    15 April 2024, 6:00 pm
  • 37 minutes 2 seconds
    Skills Upgrade #6

    Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 6.

    Topics
    • Review Chad's goals for the previous week

    • Review Chad's questions

      • Array structures
      • accordion.html.twig
      • D7 to D10 migrations
    • Tasks for the upcoming week

      • [testing_example](https://git.drupalcode.org/project/examples/-/tree/4.0.x/modules/testing_example?
      • Be sure to install drupal/core-dev dependencies using composer require –dev drupal/core-devref_type=heads) from Examples module.
      • Set up phpunit.xml file in project root - using this file to start
      • Run existing tests using command line from the project root. Something like: phpunit web/modules/contrib/examples/modules/testing_example/tests
      • Review test code in module.
      • Start with FrontPageLinkTest.php, then FrontPageLinkDependenciesTest.php, then TestingExampleMenuTest.php
    Resources

    Understand Drupal - Migrations 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

    10 April 2024, 8:00 am
  • 1 hour 2 minutes
    Talking Drupal #445 - Drupal Bounty Program

    Today we are talking about The Drupal Bounty Program, How it supports innovation, and how you can get involved with guest Alex Moreno. We’ll also cover WebProfiler as our module of the week.

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

    Topics
    • What is the Drupal Bounty program
    • How and when did it start
    • What issues and tasks are included
    • Has the bounty program been successful
    • Why was this program extended
    • Do you see any drawbacks
    • Can anyone participate
    • How are issues for the second round being selected
    • What do you see the future of the bounty program looking like
    • Could this become like other bounty programs with cash
    • Do you think the bounty program will help maintainers get sponsorship
    Resources Guests

    Alejandro Moreno - alexmoreno.net alexmoreno

    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 get detailed performance data for the pages on your Drupal sites? There’s a module for that.
    • Module name/project name:
    • Brief history
      • How old: created in Jan 2014 by Luca Lusso of Italy who was a guest on the show in episode #425
      • Versions available: 10.1.5 which works with Drupal >=10.1.2
    • Maintainership
      • Actively maintained, latest release on Feb 1
      • Security coverage
      • Test coverage
      • Not much in the way of documentation, but the module is largely a wrapper for the Symfony WebProfiler bundle, which has its own section in the Symfony documentation
      • Number of open issues: 36 open issues, 13 of which are bugs
    • Usage stats:
      • 477 sites
    • Module features and usage
      • Once installed the module adds a toolbar to the bottom of your site, within which it will show a variety of data for every page:
      • Route and Controller
      • Memory usage
      • Time to load (with some additional setup)
      • Number of AJAX requests
      • Number of queries run and the total query time
      • Number of blocks visible
      • How many forms are on the profile
      • Lots of other detailed information available through links
      • Reports are saved into the database, so you can dig through additional details such as:
      • Request information like access metadata, cookies, session info, and server parameters, in addition to the request and response headers
      • All of the queries that ran, how long each took, and even a quick way to create an EXPLAIN statement to get deeper insight from your database engine
      • You can also view all the services available, and with a single click open the class file in the IDE of your choice
      • A handy alternative to other performance monitoring tools like XHProf (either as Drupal module, or installed directly into your development environment), or commercial tools like Blackfire or New Relic
      • Discussion
      • Luca’s book Modernizing Drupal 10 Theme Development actually provides a great deep dive into this module
    8 April 2024, 6:00 pm
  • 34 minutes 58 seconds
    Skills Upgrade #5

    Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 5.

    Topics
    • Review Chad's goals for the previous week

      • .gitignore
      • Field Example module
      • Plugin API
      • Drupaal 10 Masterclass book
    • Review Chad's questions

      • Field Example follow up
    • Tasks for the upcoming week

      • Examples module: js_example module
        • js_example.libraries.yml
        • hook_theme() implementation in js_example.module
        • JsExampleController
        • template files
    Resources

    .gitignore Drupal 10 Masterclass Modernizing Drupal 10 Theme Development 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

    3 April 2024, 8:00 am
  • 1 hour 19 minutes
    Talking Drupal #444 - Design to Development Workflow Optimization

    Today we are talking about design to development hand off, common complications, and ways to optimize your process with guest Crispin Bailey. We’ll also cover Office Hours as our module of the week.

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

    Topics
    • Primary activities of the team
    • Where does handoff start
    • Handoff artifact
    • Tools for collaboration
    • Figma
    • Evaluating new tools
    • Challenges of developers and designers working together
    • How can we optimize handoff
    • What steps can the dev team take to facilitate smooth handoff
    • Framework recommendation
    • Final quality
    • AI
    Guests

    Crispin Bailey - kalamuna.com crispinbailey

    Hosts

    Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Anna Mykhailova - kalamuna.com amykhailova

    MOTW Correspondent

    Martin Anderson-Clutz - mandclu

    • Brief description:
      • Have you ever wanted to manage and display the hours of operation for a business on your Drupal site? There’s a module for that
    • Module name/project name:
    • Brief history
      • How old: created in Jan 2008 by Ozeuss, though recent releases are by John Voskuilen of the Netherlands
      • Versions available: 7.x-1.11 and 8.x-1.17
    • Maintainership
      • Actively maintained, latest release was 3 weeks ago
      • Security coverage
      • Test coverage
      • Documentation: no user guide, but a pretty extensive README
      • Number of open issues: 15 open issues, only 1 of which are bugs against the current branch, though it’s postponed for more info
    • Usage stats:
      • Almost 20,000 sites
    • Module features and usage
      • Previously covered in episode 113, more than 8 years ago, in the “Drupal 6 end of life” episode
      • The module provides a specialized widget to set the hours for each weekday, with the option to have more than one time slot per day
      • You can define exceptions, for example on stat holidays
      • You can also define seasons, with a start and end date, during which the hours are different
      • The module also offers a variety of options for formatting the output:
      • You can show days as ranges, for example Monday to Friday, 9am to 5pm, 12-hour or 24-hour clocks, and so on
      • Obviously it will show any exceptions or upcoming seasonal hours too
      • It can also show an “open now” or “closed now” indicator
      • It can create schema.org-compliant markup for openingHours, and has integration with the Schema.org Metatag module
      • Office Hours does all this with a new field type, so you could add it to Stores in a Drupal Commerce site, a Locations content type in a site for a bricks-and-mortar chain, or if you just need a single set of hours for the site, you should be able to use it with something like the Config Pages module
      • The README file also includes some suggestions on how to use Office Hours with Views, which can give you a lot of flexibility on where and how to show the information
    1 April 2024, 6:00 pm
  • 50 minutes 19 seconds
    Skills Upgrade #4

    Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 4.

    Topics 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

    27 March 2024, 9:00 am
  • 1 hour 4 minutes
    Talking Drupal #443 - Violinist.io

    Today we are talking about Violinist.io, Managing Composer Dependencies, and automation with guest Eirik Morland. We’ll also cover Composer Patches as our module of the week.

    For show notes visit: www.talkingDrupal.com/443 Topics

    • What is Violinist.io
    • How does it work
    • How much technical knowledge do you need
    • Is this a security risk
    • How much does it cost
    • Patron question: Peter: Difference between violinist and dependabot
    • What are the major differences in plans
    • Who is the ideal user
    • Can you self host
    • Can this help with Drupal 11 readiness
    • Complementary tools
    • Notable users
    • Why did you start this
    • What is it like using Drupal for a SAAS
    • Is it open source
    • Pros and cons of open source for a SAAS
    • How can the community support
    • What is on the roadmap

    Resources

    Guests

        Eirik Morland - violinist.io eiriksm

    Hosts

    Nic Laflin - nLighteneddevelopment.com nicxvan Martin Anderson-Clutz - mandclu.com mandclu Anna Mykhailova - kalamuna.com amykhailova

     

    MOTW Correspondent

    Martin Anderson-Clutz - mandclu

    • Brief description:
      • Have you ever wanted a simple way to manage patches to Drupal core and your contrib projects? There’s a composer plugin for that
    • Module name/project name:
      • https://github.com/cweagans/composer-patches
      • Composer Patches
    • Brief history
      • How old:created in Apr 2015 by Cameron Weagans
      • Versions available: 1.7.3 and 2.0.0-beta2
    • Maintainership
    • Actively maintained, beta2 release was a little over a month ago
      • Test coverage
      • Has a documentation site, as well as a COMMANDS markdown file in the repo to help you get started
      • Number of open issues: 10, 2 of which are bugs
    • Usage stats:
      • It’s been installed over 42 million times and it’s approaching 43 thousand installs per day, according to a recent blog post
    • Module features and usage
      • Using the plugin is simple, you require cweagans/composer-patches the same way you would a Drupal contrib project. The important difference is that composer will ask you if you trust composer-patches to make changes to your codebase. Once you grant that, the plugin is ready to start applying patches
      • You can specify what patches you want applied by adding a patches section to the extra section of your project’s composer.json file, or by adding a patches.json file
      • Each patch can be specified using a URL or a path relative to the JSON file
      • In theory it’s possible to have composer patches pulled directly from the diff in a merge request, but this is a significant security risk and should always be avoided
      • The first beta release for the 2.0 branch actually dropped support for dependency patch resolution, noting that it had become the source of most support requests. In the end the community made it clear that they would resist upgrading without this capability, so the most recent beta2 release adds it back in.
    •     Finally, on his website cweagans.net Cameron mentions that he’s currently looking for full-time employment. So if your organization relies heavily on composer in general or composer-patches specifically, consider reaching out to him
    25 March 2024, 6:00 pm
  • 38 minutes 9 seconds
    Skills Upgrade #3

    Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 3.

    Topics
    • Review Chad's goals for the previous week

      • DDEV performance improvements
      • Install Drupal 10
      • Install drupal/core-dev
      • Configure and test phpcs
      • Test phpstan
      • settings.local.php
      • Install Devel module
    • Review Chad's questions

      • Rancher Desktop appears to be holding on to port 443 after I installed it. Although I changed the port to something else, do you have any suggestions to update the setup to use ports 443 and 80 instead?
      • How are tools like phpcs and PHPStan used by the Drupal community for contrib? Are they a part of drupal.org's testing automation?
      • Starting a new D10 website from scratch in DDEV is one thing … How would I typically work with an existing D10 website? Do I start with the community config, then overwrite the code, database, and files? Is there a better approach?
    • Tasks for the upcoming week

    /vendor /web/core /web/modules/contrib/ /web/themes/contrib/ /web/profiles/contrib/ /web/libraries/ *.sql.gz 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

       
    20 March 2024, 11:10 am
  • More Episodes? Get the App
© MoonFM 2024. All rights reserved.