Talking Drupal
Talking Drupal is a weekly chat about web design and development by a group a guys with one thing in common, we love Drupal. With hosts Stephen Cross, John Picozzi and Nic Laflin.

Today we are talking about DDEV, The DDEV Community, and It’s Future Sustainability with guest Randy Fay and Andrew Berry. We’ll also cover DDEV Drupal Contrib as our module of the week.

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

Topics

  • What is DDEV
  • In March you posted the DDEV Project Plan for 2024, what is the contributor training initiative
  • DDEV has grown rapidly over the past few years, what do you attribute that to
  • You seem to be the face of DDEV, who else is involved
  • How is DDEV funded
  • What happens when you retire
  • Does the DDEV Foundation have employees
  • What is DDEV coded in
  • What is your favorite feature of DDEV
  • What is next
  • How can people get involved

Resources

Guests

Andrew Berry - deviantintegral

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan
John Picozzi - epam.com johnpicozzi
Randy Fay - rfay

MOTW

Correspondent

Martin Anderson-Clutz - mandclu.com mandclu

  • Brief description:
    • Have you ever wanted a local DDEV environment optimized for working on a Drupal contrib project? There’s a DDEV add-on for that.
  • Module name/project name:
  • Brief history
    • How old: created in Apr 2023 by Moshe Weitzman, a Drupal core maintainer, and according to his resume the first American to contribute to Drupal
    • Versions available: 1.0.0-rc8
  • Maintainership
    • Actively maintained
    • Test coverage
    • Documentation - Lengthy README
    • Number of open issues: 2 open issues, 1 of which is a bug
  • Module features and usage
    • The add-on adds two ddev commands to help during setup:
    • ddev poser creates a temporary composer.contrib.json, adding drupal/core-recommended as a dev dependency. It also runs composer install and yarn install so that all dependencies are available
    • The additional ddev symlink-project command adds symlinks from your project files to an expected path within the custom modules directory of the installed version of Drupal
    • Once it’s set up, you can easily run tests locally exactly the way they will be run in GitlabCI. It’s also even easier to apply any of the automatic fixes that are available, for example by running ddev phpcbf or ddev eslint with the –fix flag
    • You can also commit the generated .ddev directory inside your project, to make it easy for other contributors to use the same tools
    • I will note that after running ddev poser I got errors trying to use composer to add any other projects to the local environment, for example to use admin toolbar for manual testing
    • That said, this is another great example of how the set of Drupal developer tools is always improving, and also illustrates to the power of DDEV’s add-ons
Direct download: td-456-libsyn.mp3
Category:general -- posted at: 12:00pm EDT

Today we are talking about AI Tips for Drupal Devs, AI Best Practices, and Drupal Droid with guest Mike Miles. We’ll also cover AI interpolator as our module of the week.

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

Topics

  • Top 5 tips
    • Idea Generation (Ideation)
    • Code Generation
    • Debugging
    • Content Generation
    • Technical Explanations
  • How do you suggest people use AI for Ideation
  • Is MIT Sloan using AI to help with Drupal Development
  • Does that code get directly inserted into your sites
  • What are some common pitfalls
  • Is your team using AI for debugging
  • Any best practices you have found helping when working with AI
  • Is MIT Sloan using AI for content generation
  • What is an example of how you use AI for technical explanations
  • What is your view ont he future of AI in Drupal, do you think AI will replace Drupal developers

Resources

Guests

Michael Miles - mike-miles.com mikemiles86

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan
John Picozzi - epam.com johnpicozzi
Randy Fay - rfay

MOTW

Correspondent

Martin Anderson-Clutz - mandclu.com mandclu

  • Brief description:
    • Have you ever wanted to use AI to help populate entity fields that were left blank by Drupal content authors? There’s a module for that.
  • Module name/project name:
  • Brief history
    • How old: created in Sep 2023 by Marcus Johansson of FreelyGive
    • Versions available: 1.0.0-rc4
  • Maintainership
    • Actively maintained, recent release in the past month
    • Security coverage - opted in, needs stable release
    • Test coverage
    • Documentation - User guide
    • Number of open issues: 18 open issues, none of which are a bugs
  • Usage stats:
    • 94 sites
  • Module features and usage
    • In scientific fields, interpolation is the process of using known data to extrapolate or estimate unknown data points. In a similar way this module helps your Drupal site provide values for fields that didn’t receive input, based on the information that was provided.
    • Fundamentally Interpolator AI provides a framework and an API, and then relies on companion modules for processing, either by leveraging third-party services like AI LLMs, or PHP-based scripting.
    • There are existing integrations with a variety of AI services, including OpenAI, Dreamstudio, Hugging Face, and more.
    • You can add retrievers to help extract and normalize the content you’re processing, for example photos from an external site, and other tools to help normalize and optimize content and media, and optimize any prompts you will be using with AI services.
    • You can also extend the workflow capabilities of AI Interpolator, for example using the popular and powerful ECA module that we’ve talked about before on this show.
Direct download: td-455-libsyn.mp3
Category:general -- posted at: 4:08pm EDT

Today we are talking about Drupal’s API Client, What it does, and why you might need it with guest Brian Perry. We’ll also cover Iconify Icons as our module of the week.

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

Topics

  • Brian what is new with you!
  • Elevator pitch for Drupal API Client
  • What was Pitchburg like
  • Is this a normalizer for JSON API
  • Why is this JS framework agnostic
  • What is typescript and how does Drupal API Client use it
  • Looking at the quick start guide the second step is to create an instance, where do you do that
  • Who is this module for
  • Will Drupal API Client be added to core
  • What is on the roadmap
  • How does this relate to Chapter Three and Next.js
  • What is the spin up time
  • How will Starshot impact this

Resources

Guests

Brian Perry - brianperry.dev brianperry

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan
John Picozzi - epam.com johnpicozzi
Randy Fay - rfay

MOTW

Correspondent

Martin Anderson-Clutz - mandclu.com mandclu

  • Brief description:
    • Have you ever wanted to empower your content creators to place icons from a massive, open source library into your Drupal site? There’s a module for that.
  • Module name/project name:
  • Brief history
    • How old: created on May 22 of this year, so less than two weeks ago, by David Galeano (gxleano) of Factorial
    • Versions available: 1.0.0 which supports Drupal 9.3 or newer, right up to Drupal 11
  • Maintainership
    • Actively maintained
    • Security coverage
    • Test coverage
    • Documentation
    • Number of open issues: 2 open issues, neither of which are bugs
  • Usage stats:
    • 1 site
  • Module features and usage
    • Out of the box the module provides both a CKEditor button for placing icons, and a new field type. It even provides a new form element that can be used in custom forms, a render element you can use to programmatically put an icon into something like a custom block, and a Twig extension that can be used to place icons in templates.
    • According to the project page, the Iconify icon library includes more than 200,000 icons, though in my limited experimentation it seems like there are some duplicates between icon sets. Speaking of which, Iconify provides over 150 different icon sets, and in this module’s configuration you can specify which ones you want to be available on your site.
    • Placing an icon is as simple as using an autocomplete to search the names of the icons available, and a preview is shown for each of the matches found.
    • The field widget and the CKEditor button both give content creators options for what size and color to use for the icons. For myself I’d prefer to lock some of those options down (for example, make that part of the field’s display configuration instead), but I’m sure that could be added as part of a different widget.
    • I can think of a few Drupal sites I’ve built where this would have been really handy, so I’m interested to play around with this module some more, and see how it evolves.
Direct download: td-454-libsyn.mp3
Category:general -- posted at: 2:00pm EDT

 Today we are talking about Urban Institute, What they do, and How they use Drupal with guest Josh Miller. We’ll also cover Access Unpublished as our module of the week.


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

Topics

  • Tell us how you got started with Drupal
  • What does Urban Institute do
  • What do you do at Urban Institute
    • Number of people on dev team
    • Number of sites
  • How does Urban Institute use Drupal
  • Are you using a custom upstream
  • How many sites on Drupal 7
  • Are you doing Page builders
  • What kind of front end tools do you use
  • What is the preferred local development tool
  • Why did Urban Institute choose Drupal
  • What is the hardest part of using Drupal at a large non profit
  • What is the most interesting interactive experience you have built for Urban Institute

Resources

Guests

Josh Miller - joshmiller

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan
John Picozzi - epam.com johnpicozzi
Randy Fay - rfay

MOTW

Correspondent

  • Martin Anderson-Clutz - mandclu.com mandclu
  • Brief description:
    • Have you ever wanted to get feedback on unpublished content from people who aren’t users on your Drupal site? There’s a module for that.
  • Module name/project name:
  • Brief history
    • How old: created in Feb 2011 by aberg, though recent releases are by Christian Fritsch (chr.fritsch) of Thunder
    • Versions available: 8.x-1.5
  • Maintainership
    • Security coverage
    • Test coverage
    • Number of open issues: 58 open issues, 17 of which are bugs against the current branch
  • Usage stats:
    • 8,638 sites
  • Module features and usage
    • Once installed, this module adds a new element to your unpublished entity forms, for generating links with a special hash value. When generating the link, you can choose how long the hash value can be used for access.
    • Within that form section, you can copy the access URL for any of your generated tokens, and then paste into an email or some kind of direct message.
    • You will need to set a permission for users to access content using the special access URLs, so if you want anyone with the URL to be allowed access, you’ll need to assign that permission to the Anonymous user role
    • The access lifetime can be anything from 1 day to unlimited (never expires), and you can set the default value in the settings form. That form also allows you to set the URL parameter that will be used for access, gives you options to modify the HTTP headers on the unpublished page, and has a check box you can use to delete all expired tokens.
    • Expired tokens will be deleted on cron run, and when you delete an entity any related tokens are also removed.
    • This use case of allowing review of unpublished content for people who aren’t users in the Drupal site is a request I hear on a regular (if infrequent) basis, so I’ve personally found this module really useful.
  • Necessary Patch: https://www.drupal.org/project/access_unpublished/issues/3421309
  • Not to be confused with https://www.drupal.org/project/preview_link
    • Preview link is missing the ability to set length of access.
Direct download: td-453-libsyn.mp3
Category:general -- posted at: 2:00pm EDT