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.
info_outline
Talking Drupal #481 - Drupal Marketing & Drupal CMS
12/23/2024
Talking Drupal #481 - Drupal Marketing & Drupal CMS
Today we are talking about Drupal Marketing, how it applies to Drupal CMS, and what a Drupal and Drupal CMS Marketing Future look like with guest Suzanne Dergacheva. We’ll also cover Drupal 11.1 as our module of the week. For show notes visit: Topics Drupal marketing moves New brand Marketing people at the DA Goal of marketing How does this impact Drupal CMS Drupal CMS marketing How will you educate people about the differences between core and CMS Any challenges How do you like the new homepage Next steps to move the brand forward Case studies Why did you volunteer If someone wants to get involved how can they Resources homepage Hosts Nic Laflin - John Picozzi - Suzanne Dergacheva - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you been wanting a version of Drupal with improvements to the recipes system, the ability to write hooks as classes, and an icon management API? The new Drupal 11.1 release has all of that and more. Module name/project name: Brief history How old: created on Dec 16 by catch of Tag1 and Third & Grove Module features and usage We’ve talked a number times on this show about the recipes system, particularly because it’s at the heart of Drupal CMS. In Drupal 11.1 recipes can define whether or not to use strict comparison for provided configuration, and there are a ton of new config actions. These allow your recipe to place blocks, take user input, enable layout builder for content types, clone configuration entities and more. It’s a huge leap forward, and I think you’ll quickly see a number of recipes that require Drupal 11.1 or newer. Hooks have long been a powerful Drupalism that allow for deep customization of how your website functions. These hooks can now be written as classes, thanks to the new Hook attribute on methods. This will bring many of the object-oriented benefits of modern Drupal to the hooks system, and should also make it easier for developers new to Drupal to understand the code to create these customizations. A new Icon Management API allows themes and modules to define icon packs, with unique identifiers for each included icon. Drupal 11.1 also includes PHP 8.4 support. I haven’t been able to find any data on speed improvements compared to PHP 8.3, but there are interesting new features like property hooks, asymmetric visibility, new functions for finding array items, and more There are plans to use Workspaces for content moderation, so the UI for Workspaces is now in a separate module. For new site builds if you want your editors to be able to use Workspaces, you’ll need to remember to enable this new UI module as well New installs of Drupal 11.1 will also see improvements to the initial experience. These include defaulting to admin-created user accounts only, not adding the body field by default when creating new content types, and more. Drupal 11.1 also includes a new views entity reference filter, opt-in render caching for forms, and improved browser and CDN caching for Javascript and CSS, among a host of other improvements. A number of these improvements will also find their way into the upcoming 10.4 release, ensuring, for example, that recipes built to use the new config actions can be used with Long-Term Support (LTS) versions of Drupal, that will be supported until the stable release of Drupal 12 in mid- to late-2026
/episode/index/show/sacstudio/id/34557200
info_outline
Talking Drupal #480 - Ripple Makers
12/16/2024
Talking Drupal #480 - Ripple Makers
Today we are talking about The Ripple Makers program, How it benefits Drupal Association members, and Why it’s important to Drupal with guest Julia Kranzthor. We’ll also cover Migrate Boost as our module of the week. For show notes visit: Topics What is Ripple Makers Taxes Why did the Drupal Association (DA) membership program need overhauling Are DA individual memberships different than Ripple Makers Do people have to sign up if they are already a DA member Coming up with the benefits Where did the name come from Does this have new benefits What has the impact been Resources Ripple Makers Migrate Boost 'workbench_moderation', 'pathauto', 'xmlsitemap', 'search_api', 'search_api_algolia', Guests Julia Kranzthor - Hosts Nic Laflin - John Picozzi - Suzanne Dergacheva - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to disable hooks to accelerate your Drupal migration? There’s a module for that. Module name/project name: Brief history How old: created in Sep 2023 by our own Nic Laflin Versions available: 1.0.1, compatible with Drupal 10 and 11 Maintainership Actively maintained Security coverage Documentation README / project page have instructions Number of open issues: none! Usage stats: 119 sites Module features and usage Having hooks fire during a migration can significantly slow down the process, and what’s worse, it can also cause some significant problems, for example sending email notifications every time a node is created You disable hooks by defining an array in your settings.php file, either an array of specific hooks you want to disable, or an array of modules for which you want to disable all hooks This was a capability available for the Drupal 7 Migrate module, but hasn’t been available in the Migrate API in Drupal core since version 8, so this module can be invaluable if you’re working on a sizable migration Hopefully there are a lot of folks working on migrations ahead of the January 5 EOL for Drupal 7, so I thought this module would be timely
/episode/index/show/sacstudio/id/34441010
info_outline
Talking Drupal #479 - Drupal CMS Media Management
12/09/2024
Talking Drupal #479 - Drupal CMS Media Management
Today we are talking about Drupal CMS Media Management, How media management has evolved, and Why managing our media is so important with our guest Tony Barker. We’ll also cover URL Embed as our module of the week. For show notes visit: Topics What do we mean by media management in Drupal CMS How is it different from media in Drupal today Why is media management important How are you applying these changes to Drupal What phase are you in Will this be ready for Drupal CMS release in January What types of advanced media will supported Do you see it growing to replace some DAMs Are there future goals How did you get involved How can people get involved Resources Vision for media management Contributed module file upload field for media and these related modules Slack: #starshot-media-management and #starshot Guests Tony Barker - Hosts Nic Laflin - John Picozzi - Suzanne Dergacheva - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted a simple way to insert oEmbed content on your Drupal site? There’s a module for that. Module name/project name: Brief history How old: created in Sep 2014 by the venerable Dave Reid, though recent releases are by Mark Fullmer of the University of Texas at Austin Versions available: 2.0.0-alpha3 and 3.0.0-beta1, the latter of which works with Drupal 10.1 or 11. That said, it does declare a dependency on the Embed project, which unfortunately doesn’t yet have a Drupal 11-ready release Maintainership Actively maintained Security coverage technically, but needs a stable release Test coverage Documentation guide Number of open issues: 63 open issues, 4 of which are bugs against the current branch Usage stats: 7,088 sites Module features and usage A content creator using this module only needs to provide a URL to the content they want to embed, as the name suggests The module provides both a CKEditor plugin and a formatter for link fields. Note that you will also need to enable a provided filter plugin for any text formats where you want users to use the CKEditor button Probably the critical distinction between how this module works and other elements of the media system is that this bypasses the media library, and as such is better suited to “one off” uses of remote content like videos, social media posts, and more It’s also worth mentioning that the module provides a hook to modify the parameters that will be passed to the oEmbed host, for example to set the number of posts to return from Twitter I could definitely see this as a valuable addition to the Event Platform that we’ve talked about previously on the podcast, but the lack of a Drupal 11-ready release for the Embed module is an obvious concern. So, if any of our listeners want to take that on, it would be a valuable contribution to the community
/episode/index/show/sacstudio/id/34322495
info_outline
Talking Drupal #478 - WEBAssembly
12/02/2024
Talking Drupal #478 - WEBAssembly
Today we are talking about WEBAssembly, How it’s used, and cool things you can use it for with Drupal with guest Matt Glaman. We’ll also cover Darkmode JS as our module of the week. For show notes visit: Topics What is WebAssembly Progressive Web Aoos Open source Does it have a community Browser support How does it work Common use cases How can you use this with Drupal This was an early concept for Drupal trial Challenges Wordpress playground Pieces that do not work for PHP Are there risks Are there resources for people that want to use WebAssembly Do you see it being used with Drupal Resources WordPress Playground Slides from Barcelona: The Web APIs powering the Starshot trial: Guests Matt Glaman - Hosts Nic Laflin - John Picozzi - Suzanne Dergacheva - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted your Drupal site to provide a widget that allows visitors to go over to the dark side of your theme? There’s a module for that. Module name/project name: Brief history How old: created in May 2022 by Arthur Baghdasaryan (arthur.baghdasar) of Last Call Media Versions available: 1.0.7 which works with Drupal 9, 10, and 11 Maintainership Actively maintained Security coverage Number of open issues: 1 open issues which is a bug against the current branch, but is postponed, waiting for more info Usage stats: 89 sites Module features and usage The module is a wrapper for the DarkmodeJS library which gets 1,000 weekly downloads, according to NPM. That library does have its own demo / tutorial site, so if you want to understand the options it exposes, we will add a link in the show notes The module provides options to control where on the page you want the widget to appear, what colors it should use, whether or not to store a user’s choices in cookies, and whether or not to automatically match a visitor’s OS theme setting of light/dark Installing the module currently requires making some changes to your site’s composer.json file, then configuring how you want the widget to appear, and then placing the block in your site theme The module also doesn’t currently include a schema file for its configuration, which can cause challenges particularly for sites that run automated tests
/episode/index/show/sacstudio/id/34185590
info_outline
Talking Drupal #477 - Drupal Association CTO Then & Now
11/25/2024
Talking Drupal #477 - Drupal Association CTO Then & Now
Today we are talking about being the CTO of the Drupal Association, How the job has changed, and How its impacted Drupal with guests Josh Mitchell & Tim Lehnen. We’ll also cover Automatic Anchors as our module of the week. For show notes visit: Topics How long ago were you CTO Josh Tim when did you take over DA infrastructure Drupal Credit System Josh's proudest moment Tim's proudest moment Growth Josh if you could do one thing differently Tim if you could make one change Future of the CTO job Resources Guests Tim Lehnen - Hosts Nic Laflin - John Picozzi - Joshua "Josh" Mitchell - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted headings on your Drupal site to have unique id values, so links can be created to take users to specific parts of any page? There’s a module for that. Module name/project name: Brief history How old: created in Jun 2020 by Chris Komlenic (komlenic) of Penn State Versions available: 2.1.1-beta1, which supports Drupal 8.8, 9, and 10 Maintainership Test coverage Number of open issues: x open issues, y of which are bugs against the current branch Usage stats: 137 sites Module features and usage By default, the module automatically generates ids on <h2>, <h3>, <h4>, <h5>, and <h6> elements within the page content Even if two headings have the same content, the module will make sure their ids are unique, as well as making sure they are i18n-friendly, use hyphens instead of spaces, and are short enough to be useful The module won’t interfere with or change manually-added or already-existing HTML ids There’s a permission to view helpful links on each heading that the ids obvious and easy to copy Configuration options include the root element it should look within (defaults to the body tag), which elements should get ids, what content to use for the displayed links, and whether or not generate ids on admin pages
/episode/index/show/sacstudio/id/34111496
info_outline
Talking Drupal #476 - Off The Cuff #10
11/18/2024
Talking Drupal #476 - Off The Cuff #10
Today we are talking about some things are on our mind including, The DOJ Accessibility ruling,Drupal CMS Event Recipes and Tooling for core development with our Hosts. We’ll also cover @font-your-face as our module of the week. For show notes visit: Topics DOJ Accessibility Ruling Drupal CMS Tooling for core development Open University Resources PHPUnit testing Guests Martin Anderson-Clutz - Hosts Nic Laflin - John Picozzi - Martin Anderson-Clutz - Joshua "Josh" Mitchell - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to add and manage web fonts for your Drupal site, directly within the admin interface? There’s a module for that. Module name/project name: Brief history How old: created in May 2010 by Scott Reynen, but the most recent release was by Henrique Mendes (hmendes) of CI&T Versions available: 7.x-2.8 and 4.0.0 versions available, the latter of which support Drupal 9.4 and 10. Maintainership Actively maintained Security coverage Test coverage Documentation, but looks like it might be ready for a refresh Number of open issues: 48 open issues, 8 of which are bugs against the current branch Usage stats: 32,213 sites Module features and usage The module provides an interface to browse fonts from Google, Adobe, Typekit, and more License restrictions for fonts are clearly indicated When you find a font you want to use, you just click “enable”. You don’t need to write any CSS or define a library, and it’s easy to mix-and-match fonts from different providers. It can even make it easier to include your own local fonts The module includes submodules for the different font providers, so you enable the submodules based on where you want to use fonts from Then you can import the fonts for those providers, though you do need an API key to import fonts from Google The module does also have an API, so you can write your own modules to integrate with other font providers, or access the information about available fonts
/episode/index/show/sacstudio/id/33981042
info_outline
Talking Drupal #475 - Workspaces
11/11/2024
Talking Drupal #475 - Workspaces
Today we are talking about Workspaces, What They are, and How They Work with guest Scott Weston. We’ll also cover Workspaces Extra as our module of the week. For show notes visit: Topics What are Workspaces in Drupal What's a common use cases for Workspaces Are Workspaces stable Do Workspaces help with content versioning What does the module ecosystem look like for Workspaces Inspiration Workspaces best practices Any interesting ways it is being used Is there a way to access workspace content in twig Navigation integration Workspaces and workflows What aspects of a Workspace are limited to live If someone wants to get involved or get started Resources Guests Scott Weston - Hosts Nic Laflin - John Picozzi - Joshua "Josh" Mitchell - MOTW Correspondent Martin Anderson-Clutz - Brief description: Do you want to extend the capabilities of the Workspaces system in Drupal core? There’s a module for that. Module name/project name: Brief history How old: created in Apr 2021 by Andrei Mateescu (amateescu) of tag1, who has also contributed to Workspaces in core, among other many things Versions available: 2.0.0-alpha3 which works with Drupal 10.3 or 11 Maintainership Actively maintained, latest release is less than a week old Security coverage: technically yes, but not really until it has a stable release Test coverage Number of open issues: 20 open issues, 3 of which are bugs against the current branch, though one has already been fixed Usage stats: 89 sites Module features and usage One of the big features in Drupal 10.3 was that Workspaces is now officially stable. That said, not everything works the way some site builders will want it to. That’s where a contrib solution like Workspace Extra can help to fill in the gaps It provides new options like letting you roll back changes from a published workspace, move content between workspaces, discard changes in a workspace, squashing content revisions when a workspace is published, and more Workspaces Extra, or WSE also includes a number of submodules to add even more capabilities. For example, they can allow your workspace to stage an allowlist of configuration changes, deploy workspace content using an import/export system, stage menu changes, and more. For workflow, there’s an option to generate a shareable workspace preview link for external users, and a scheduler to publish your workspace at a specific day and time I will add that the first time I played with workspaces I ran into an issue where I couldn’t create media entities within a workspace. I don’t know for sure that this hasn’t been fixed in core, but the core issue about it is still listed as “Needs work”. That said, the last comment on that issue (link in the show notes) lists WSE as something that helps, so if you encounter the same issue with Workspaces, WSE is worth a try
/episode/index/show/sacstudio/id/33878967
info_outline
Talking Drupal #474 - Revolt Event Loop
11/04/2024
Talking Drupal #474 - Revolt Event Loop
Today we are talking about the revolt event Loop, what it is, and why it matters with guest Alexander Varwijk. We’ll also cover IEF Complex Widget Dialog as our module of the week. For show notes visit: Topics What is an event loop Why does Drupal need an event loop What will change in core to implement this What problem does this solve Does this make Cron cleaner and long running processes faster What impact will this have on contrib How would contrib use this loop What does this mean for database compatibility What inspired this change Test instability Why Revolt Will this help with Drupal AI Resources Async PHP libraries Guests Alexander Varwijk - Hosts Nic Laflin - John Picozzi - Joshua "Josh" Mitchell - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to use Inline Entity Forms but have the dependent form open in a dialog? There’s a module for that. Module name/project name: Brief history How old: created in Mar 2020 by dataweb, though recent releases are by Chris Lai (chrisck), a fellow Canadian Versions available: 2.1.1 and 2.2.2, the latter or which is compatible Drupal 8.8 or newer, all the way up to Drupal 11 Maintainership Actively maintained, latest release in the past month Number of open issues: 4 open issues, none of which are bugs against the current version Usage stats: 273 sites Module features and usage When you install the module, your Inline Entity Form widget configuration will have a new checkbox, to “Enable Popup for IEF” Includes specialized handling for different kinds of entities, like nodes, users, taxonomy terms, and users Will handle not just the creation forms, but editing entities, and also duplicating or deleting entities Not something you would always need, but can be very useful if the form you want to use for entity or even parent forms that are complex I should also add that IEF supports form modes, so often I’ll create an “embedded” form mode that exposes fewer elements, for example hiding the fields for URL alias, sticky, and so on. So I would start there, but if the content creation experience still feels complex, then IEF Complex Widget Dialog might be a nice way to help
/episode/index/show/sacstudio/id/33773982
info_outline
Talking Drupal #473 - Color in CSS with Sass
10/28/2024
Talking Drupal #473 - Color in CSS with Sass
Today we are talking about Color with CSS, Sass, and bringing it all into Drupal with guest Aubrey Sambor . We’ll also cover Navigation Extra Tools as our module of the week. For show notes visit: Topics A little career background Why Front end Do you prefer JS or CSS How do colors work today in CSS Is this different from the past What is gamut Can color functions help with contrast What color functions make you the most excited Is Sass still a thing Do you use preprocessors with color functions Post CSS in Drupal Any modules you can recommend to help with CSS colros Any benefit for single directory compontents or web components Resources Hosts Nic Laflin - John Picozzi - Aubrey Sambor - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you been using the new Navigation module in Drupal core, but wanted some of the useful links previously available in the Admin Toolbar Tools submodule? There’s a module for that Module name/project name: Brief history How old: created in Oct 2024, less than a week ago by friend of the podcast James Shields aka lostcarpark Versions available: 1.0.0-beta3 which works with Drupal 10.3 and 11 Maintainership Actively maintained, already 3 releases Security coverage - too new, but hopefully will have in time Test coverage Number of open issues: 8 “open” issues, 4 of which are bugs, but all but one of which are now marked as fixed with the latest release Usage stats: 12 sites Module features and usage With this module enabled, the new left side Navigation menu available in Drupal core will include links to clear caches (all or a specific cache), run cron, and run database updates It’s a good example of a module that does something very specific and very useful, so I wanted to share it with our listeners as quickly as possible I know these functions are ones I’ve been missing in my own Drupal 11 dev sites, so I’m looking forward to using this module right away
/episode/index/show/sacstudio/id/33624492
info_outline
Talking Drupal #472 - Access Policy API
10/21/2024
Talking Drupal #472 - Access Policy API
Today we are talking about Access Policy API, What it does, and How you can use it with guest Kristiaan Van den Eynde. We’ll also cover Visitors as our module of the week. For show notes visit: Topics What is the Access Policy API Why does Drupal need the Access Policy API How did Drupal handle access before How does the Access Policy API interact with roles Does a module exist that shows a UI What is the difference between Policy Based Access Control (PBAC), Attribute Based Access Control (ABAC) and Role Based Access Control (RBAC) How does Access Policy API work with PBAC, ABAC and RBAC Can you apply an access policy via a recipe Is there a roadmap What was it like going through pitchburg How can people get involved Resources Guests Kristiaan Van den Eynde - Hosts Nic Laflin - John Picozzi - Aubrey Sambor - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted a Drupal-native solution for tracking website visitors and their behavior? There’s a module for that Module name/project name: Brief history How old: created in Mar 2009 by gashev, though recent releases are by Steven Ayers (bluegeek9) Versions available: 8.x-2.19, which works with Drupal 10 and 11 Maintainership Actively maintained Security coverage Test coverage Documentation guide is available Number of open issues: 20 open issues, none of which are bugs against the 8.x branch Usage stats: Over 6,000 sites Module features and usage A benefit of using a Drupal-native solution is that you retain full ownership over your visitor data. Not sharing that data with third parties can be important for data protection regulations, as well as data privacy concerns. You also have a variety of reports you can access directly within the Drupal UI, including top pages, referrers, and more There is a submodule for geoip lookups using Maxmind, if you also want reporting on what region, country, or city your visitors hail from It provides drush commands to download a geoip database, and then update your data based on geoip lookups using that database It should be mentioned that the downside of using Drupal as your analytics solution is the potential performance impact and also a likely uptick in usage for hosts that charge based on the number of dynamic requests served
/episode/index/show/sacstudio/id/33525042
info_outline
Talking Drupal #471 - Off The Cuff #9
10/14/2024
Talking Drupal #471 - Off The Cuff #9
Today we are talking about Freemium Drupal Modules, The WordPress hub-bub, and Drupal, Now with AI with our hosts. We’ll also cover FullCalendar as our module of the week. For show notes visit: Topics Freemium Drupal Wordpress controversy Drupal CMS and AI Resources Guests Hosts Nic Laflin - John Picozzi - Aubrey Sambor - Martin Anderson-Clutz - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted an interactive calendar to display your Drupal events with drag-and-drop rescheduling, and without using jQuery? There’s a module for that. Module name/project name: Brief history How old: created in Sep 2010 by ablondeau, though I’ve been behind the most recent releases Versions available: 7.x-2.0 and 3.0.0-beta2 versions available, the latter of which supports Drupal 10 and 11 Maintainership Actively maintained, latest release was this morning Security coverage, though technically the 3.0.x branch will have it once it’s stable Test coverage, minimal but on the roadmap Documentation - does have a user guide, but created for the D7 version, so newer documentation is needed Number of open issues: 337 open issues, none of which are bugs against the 3.0.x branch Usage stats: 3,388 sites, though the vast majority of those are for the D7 version, since the 3.0.x branch is very new Module features and usage No jQuery! Lots of configurability plus some extras specifically for Drupal Drag-and-drop to alter events Option to require confirmation Can display toast-style notifications when updates are save Double-click on a day or time to create an event at that time Can display events from different content types, even if they use different fields to store dates, and yes, even different kinds of fields, so a mixture of core and Smart Date fields will work You can set default colors and output type (block or the newer, list-item display), and the ability to override color based on content type or a taxonomy reference This module had been essentially dormant for over 4 years, but I decided to work with Jürgen Haas on reviving it after a similar and popular project called Fullcalendar View was not only marked as “Minimally maintained” and “Maintenance fixes only”, but the project page directed users to contact the maintainer to pay for a premium version, in order to use the current version of the Fullcalendar JS library, or to load events via AJAX, which as been an often-requested feature because Fullcalendar View has had common reports of performance problems on sites with lots of event data. Worse, the maintainer has closed as “won’t fix” issues that had community-provided patches, because he only wanted to provide said improvements in the paid, premium version In my work on the Events recipe for Drupal CMS, I knew that having a solid calendar would be important, and I didn’t feel good about relying on a module that seemed to be pushing users more and more towards a paid model. I’m grateful to Jurgen and everyone who worked on FullCalendar before us for creating such a robust and extensible code base
/episode/index/show/sacstudio/id/33422272
info_outline
Talking Drupal #470 - Creating Recipes
10/07/2024
Talking Drupal #470 - Creating Recipes
Today we are talking about Creating Recipes, What Recipes already exist, and helpful tips and tricks with guest Jim Birch. We’ll also cover Features as our module of the week. For show notes visit: Topics What are recipes How do you recommend someone get started writing recipes Where can people find recipes Can you include sub recipes How should you test recipes Any tools that make writing recipes easier What recipes are needed that do not exist How can people move recipes forward Resources Guests Jim Birch - Hosts Nic Laflin - John Picozzi - Aubrey Sambor - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted an admin UI to manage sets of configuration, to version and share across Drupal sites? There’s a module for that. Module name/project name: Brief history How old: created in Mar 2009 by yhahn, though recent releases are by Dave Reid Versions available: 7.x-2.15 and 8.x-3.14, the latter of which works with Drupal 9.4 and 10 Maintainership Minimally maintained Security coverage Test coverage Documentation: Has a documentation guide and probably hundreds if not thousands of of tutorials available Number of open issues: 610 open issues, 54 of which are bugs against the 8.x branch Usage stats: Almost 117,000 sites, though the majority are using the D7 version Module features and usage Many listeners will remember Features as the de facto solution for configuration management in Drupal 7 and earlier As the name implies, it was really intended to share common capabilities across different Drupal sites Unlike recipes, Features can have version numbers, because there is a path to sync configuration updates across sites using a Feature, though this is where a lot of teams found Features could be complex to use We did previously cover Features as MOTW all the way back in episode #147, but I thought it was relevant to today’s discussion because of the way it provides a UI for organizing and exporting specific sets of configuration There is an open issue for Features to directly export recipes, because it already does a lot of the time-consuming work of collecting together necessary config files, including dependencies Even its current state, it could be a time saver for anyone wanting to start creating their own recipes
/episode/index/show/sacstudio/id/33331177
info_outline
Talking Drupal #469 - Drupal’s Popularity & Dev Experience
09/30/2024
Talking Drupal #469 - Drupal’s Popularity & Dev Experience
Today we are talking about Drupal’s Popularity & Dev Experience, what could be better, and things that are great with guest Nathan Dentzau. We’ll also cover Spam Master as our module of the week. For show notes visit: Topics Drupal's popularity What can Drupal to enhance popularity and enhance dev experience What is missing in Drupal What could use improvement in Drupal What about recent tooling improvements Drupal CMS (Starshot) Resources Hosts Nic Laflin - John Picozzi - Nate Dentzau - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to defend your Drupal website from webform spam using a constantly updating list of known bad actors? There’s a module for that. Module name/project name: Brief history How old: created in Mar 2018 by Pedro Alves (pedro-alves) Versions available: 8.x-1.99 and 8.x-2.50, the latter of which support Drupal versions 8 through 11 Maintainership Actively maintained Security coverage Documentation on Number of open issues: no open issues Usage stats: 449 sites Module features and usage Spam Master is a website protection technology that was originally created back in 2012, and is used across sites based on a variety of technologies, including Wordpress, Drupal, Joomla, and more It uses a variety of techniques to identify and block malicious actors, including “real-time block lists”, honeypot traps, comment analysis, and more By maintaining a list of known bad actors, tracked by IP address and email addresses used, you can also benefit from a “network effect” by being able to identify them based on malicious behavior on any of the thousands of sites using Spam Master The module claims compatibility with a variety of forms, including registration, comments, commerce, and more It includes a variety of reports you can use to understand the amount of spam your site is receiving, and the module can automatically send you an email if it believes your site has reached “Level 3” of spam targeting Spam Master does use licenses on , but free licenses are available
/episode/index/show/sacstudio/id/33236542
info_outline
Talking Drupal #468 - Drupal AI
09/24/2024
Talking Drupal #468 - Drupal AI
Today we are talking about Artificial Intelligence (AI), How to integrate it with Drupal, and What the future might look like with guest Jamie Abrahams. We’ll also cover AI SEO Analyzer as our module of the week. For show notes visit: Topics What is AI What is Drupal AI How is it different from other AI modules How do people use AI in Drupal How does Drupal AI make AI easier to integrate in Drupal What is RAG How has Drupal AI evolved from AI Interpolator What does the future of AI look like Resources Guests Jamie Abrahams - Hosts Nic Laflin - John Picozzi - Martin Anderson-Clutz - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted an AI-based tool to give your Drupal site’s editors feedback on the SEO readiness of their content? There’s a module for that. Module name/project name: Brief history How old: created in Aug 2024 by Juhani Väätäjä (j-vee) Versions available: 1.0.0-beta1, which supports Drupal 10.3 and 11 Maintainership Actively maintained Number of open issues: none Usage stats: 2 sites Module features and usage Once you enable this module along with the AI module, you can select the default provider, and optionally modify the default prompt that will be used to generate the report With that done, editors (or anyone with the new “view seo reports” permission) will see an “Analyze SEO” tab on nodes throughout the site. Generated reports are stored in the database, for ongoing reference The reports are also revision-specific, so you could run reports on both a published node and a draft revision There’s a separate “create seo reports” permission needed to generate reports. Within the form an editor can modify the default prompt, for example to get suggestions on optimizing for a specific topic, or to add or remove areas from the generated report. By default the report will include areas like topic authority and depth, detailed content analysis, and even technical considerations like mobile responsiveness and accessibility. It’s able to do the latter by generating the full HTML markup of the node, and passing that to the AI provider for analysis It feels like it was just yesterday that the AI module had its first release, so I think it’s great to see that there are community-created additions like this one already evolving as part of Drupal’s AI ecosystem
/episode/index/show/sacstudio/id/33147082
info_outline
Talking Drupal #467 - Config Actions System
09/16/2024
Talking Drupal #467 - Config Actions System
Today we are talking about The Config Actions System, What it does, and how it helps with Drupal Recipes with guests Alex Pott and Adam Globus-Hoenich. We’ll also cover the Events recipe as our module of the week. For show notes visit: Topics Explain Config Actions Is this related to the Actions UI How are config actions used in Drupal How will the average user interact with Config Actions What does non-desctructive mean Where did the Config Action system come from Future of the Config Action system How can people help out How does the Config Action system help with Drupal CMS Resources Guests Alex Pott - Adam Globus-Hoenich - Hosts Nic Laflin - John Picozzi - Nate Dentzau - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to set up and configure a robust events system in your Drupal website, in just a few seconds? There’s a recipe for that. Module name/project name: Brief history How old: originally created in Mar 2013 as a distribution, but reborn as a recipe in July 2024 Versions available: 1.0.0-alpha3, compatible with Drupal 10.3 and 11 Maintainership Actively maintained Security coverage? - no stable release Documentation in the works Number of open issues: 1 open issue, which is a bug Usage stats: not tracked for recipes Maintainer(s): mandclu Module features and usage Listeners probably won’t be surprised to hear that Smart Date is at the heart of what you’ll get when you apply the Events recipe You will have an Event content type, and a view to list upcoming and past events The recipe will also set up add-to-calendar links on your event page, making it easy for your site visitors to be reminded of when your event will take place There are companion recipes to add a calendar view, to be able to associate locations (with maps), and to add event registration A modified version of the Events recipe has already been integrated into Drupal CMS, so it will be even easier to apply for a site based on that Internally it makes use of the createIfNotExists and setComponents config actions, which is why I thought it would be relevant to today’s discussion
/episode/index/show/sacstudio/id/33047437
info_outline
Talking Drupal #466 - Progressive Migration
09/09/2024
Talking Drupal #466 - Progressive Migration
Today we are talking about Progressive migration with Drupal, What it is, and how you can do it with your organization with guest Stephen Cross. We’ll also cover Views JSON Source as our module of the week. For show notes visit: Topics What is a progressive migration What other types of migration are there What problem does progressive migration solve at the ATF What versions of Drupal are involved Technical implementation Technical challenges Non-Technical challenges Processes needed for success When to use another migration process Resources Guests Stephen Cross - Hosts Nic Laflin - John Picozzi - Nate Dentzau - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to use Drupal’s Views interface to allow visitors to browse and navigate data from another source? There’s a module for that Module name/project name: Brief history How old: created in Apr 2020 by Pradeep Venugopal (venugopp), but recent releases are by Viktor Holovachek (astonvictor), a member of the Ukraine Drupal community Versions available: 2.0.2 compatible with Drupal 8.8 and newer, all the way up to Drupal 11 Maintainership Actively maintained Security coverage Documentation: pretty lengthy README to help you get started Number of open issues: 17 open issues, 4 of which are bugs against the current branch, although one had a fixed merged in the past week Usage stats: 1,641 sites Module features and usage After installing the module, you can create a view and specify it should show “JSON” instead of some kind of content entity In the view settings you can then provide a URL for where to retrieve the JSON, and an optional Apath value to indicate a section of the data to show It also supports contextual filters, so you can create a single view that will show different sections of data depending on the path used to access it From there you can build out your view in the normal way: using fields to specify what data should be shown and how, filters to limit which rows will be shown, and sort criteria to specify the order in which it will be listed. And of course, the ability to expose controls for users to filter and sort the data in ways that meet their own needs make this an extremely powerful way to make data available to your site’s visitors We spoke a couple of episodes ago about how powerful it can be to use Drupal as the “glass” or experience layer through which visitors can interact with other systems, and I think this is another great example of that
/episode/index/show/sacstudio/id/32945922
info_outline
Talking Drupal #465 - Greater Cleveland RTA
09/02/2024
Talking Drupal #465 - Greater Cleveland RTA
Today we are talking about The Greater Cleveland RTA, How they use Drupal, and how they built a Drupal team with guests Mike Cermak & Rithya Lath. We’ll also cover Geofield Directions as our module of the week. For show notes visit: Topics What does the Greater Cleveland RTA do Is the RTA a state agency What kind of Digital Service do you provide How does the GCRTA use Drupal Whay was Drupal selected Let's talk about the team How long has the team existed and how many people What type of skill makeup doest hte team have Local development and deployment Point and click learning, how do you keep up to speed now Day to day responsibilities Drupal con and Starshot Resources Guests Rithya Lath - Mike Cermak - Hosts Nic Laflin - John Picozzi - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to make it easy for visitors to your Drupal site to get directions to a location via Google Maps? There’s a module for that. Module name/project name: Brief history How old: created in Feb 2021 by Christopher Martin (ccjjmartin), though recent releases are by Allan Chappell (generalredneck) Versions available: 1.0.1, compatible with Drupal ^8.8 ^9 || ^10 ^11 Maintainership Minimally maintained, Maintenance fixes only Security coverage Test coverage Documentation? Not even a README Number of open issues: 1 open issue, not a bug Usage stats: 26 sites Module features and usage The module provides a new field formatter, so you can install it and then update a view mode to use Geofield Directions. Now your content display will include a link to get directions You can figure the text of the link, whether the link should open in a new tab, the magnification of the destination map, and more The module also includes token support, so you can dynamically include things like the name of the location in the link text I think the only downside I can see is that because this is implemented as a formatter, you have to choose the directions link OR a map, where I could foresee sites wanting to show both
/episode/index/show/sacstudio/id/32811667
info_outline
Talking Drupal #464 - Drupal Content Production
08/26/2024
Talking Drupal #464 - Drupal Content Production
Today we are talking about Producing content with Drupal, How Drupal can help content producers, and ways it could be better with guest Jerry Ta. We’ll also cover Stage File Proxy as our module of the week. For show notes visit: Topics Brief overview of Urban Institute using Drupal What are the day to day responsibilities of a content producer Layout Builder or Paragraphs What is your opinion You've been in content production for almost 2 decades, what was your first website editing tool. How long have you been using Drupal What is your number one wish the Drupal community would solve Drupalcon What value do you look for for a content producer What is the hardest part of using Drupal Starshot reaction Predictions for Drupal in 5 years for content producers Resources Modules for replacing files on Drupal - , Media Entity File Replace, etc. Content Sync Experience builder Starshot Guests Jerry Ta - Hosts Nic Laflin - John Picozzi - Josh Miller - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to work on code or configuration changes to your Drupal site in a non-production environment, without having to copy over all the images and other content files? There’s a module for that. Module name/project name: Brief history How old: created in Jan 2011 by netaustin, by recent releases are by Stephen Mustgrave, who listeners will probably recognize from the Needs Review initiative, among his many other Drupal contributions Versions available: 7.x-1.10, 3.0.0-alpha2, and 3.1.0, the last of which works with Drupal 10.3 and 11 Maintainership Actively maintained Security coverage Test coverage Documentation - not a lot, but it has been the subject of numerous blog posts over the years Number of open issues: 15 open issues, 2 of which are bugs against the current branch Usage stats: 16,710 sites Module features and usage Once you have Stage File Proxy site up on your non-production site, when the environment gets a request for a content file it doesn’t have like an image, it will query the production site to create a local copy It also has a mode where those requests are served 301 redirects to their location on the production server, so no files are ever copied Once you have the module installed, you can set the origin website URL using the admin UI, using a drush variable-set command, or you can add a line to your settings.php file. Also, if you have simple HTTP authentication set up on the site you want to pull from (for example using the Shield module), you can add URL-encoded versions of the username and password to the origin URL, and the module will still be able to copy down the files. This module was previously covered in this podcast way back in episode #33, but I thought it was worth bring back because it is so useful for working on site locally or across non-production environments
/episode/index/show/sacstudio/id/32714267
info_outline
Talking Drupal #463 - Drupal vs DIY Site Builders
08/12/2024
Talking Drupal #463 - Drupal vs DIY Site Builders
Today we are talking about DIY Site Builders, what are the benefits over Drupal (If Any), and When using Drupal makes sense with guest Ivan Stegic. We’ll also cover Drupal 11 as our module of the week. For show notes visit: Topics What is a DIY site builder Does TEN7 use DIY site builders How are DIY site builders better than Drupal Are they less expensive than Drupal HAve you ever suggested a site builder to a client What does a migration from a site builder look like Do you think starshot will make Drupal competitive with site builders Resources Preshow: Guests Ivan Stegic - Hosts Nic Laflin - John Picozzi - Josh Miller - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you been wanting a version of Drupal that can use Workspaces, Recipes, and Single Directory Components, while running all the latest versions of its underlying technologies? Drupal 11 is all of that and more Module name/project name: Brief history How old: created on Aug 2 by catch of Tag1 and Third & Grove Module features and usage Limited additions vs 10.3: by design to make the transition easier Mostly in the recipes API, e.g. new config actions Recap of new features vs. 10.0 Workspaces Revisions and workflow are possible in the UI for Blocks and Taxonomy Terms UI updates for creating and reusing fields, as well as bulk content operations New Access Policy API and Single Directory Components New Navigation and Announcements Feed modules : about ⅔ of the top 200 modules already support Drupal 11 Adding modules that Rector estimates will only need info.yml or automated fixes brings us to over 80% of the top 200, or about 75% of all Drupal 10-compatible projects on Updated dependencies: PHP 8.3, Symfony 7, CKEditor 5 42.0,2, Twig 3.9, Yarn 4, jQuery 4.0.0-beta, jQuery UI 1.14-beta.2 and more Modules moved to contrib (smaller core): Actions UI Activity Tracker Book Forum Statistics Tour , so the community created this release of Drupal 11 early to give sites as much time as possible to make the transition, in this case almost 2 years!
/episode/index/show/sacstudio/id/32520052
info_outline
Talking Drupal #462 - DrupalCon Singapore
08/05/2024
Talking Drupal #462 - DrupalCon Singapore
Today we are talking about DrupalCon Singapore, What you can expect, and What’s next for Drupal in Asia with guest Mike Richardson & Surabhi Gokte. We’ll also cover Filefield Paths as our module of the week. For show notes visit: Topics When is Drupalcon Asia The last one was in 2016, what did it take to reprise How do you handle language barriers What are your roles in the organizing committee Steering committee and Drupal South What can attendees expect Any special programming What kind of diversity is expected from attendees Driving from Mumbai to Singapore is 110 hours Will Dries be there Can we expect future Drupalcon Asia's Planning and logistics regarding coffee Starshot Resources DrupalCon Singapore Sponsorship Email Guests Mike Richardson - Surabhi Gokte - Hosts Nic Laflin - John Picozzi - Josh Miller - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to use a variety of tokens to customize the directory and file names of your uploaded files? There’s a module for that. Module name/project name: Brief history How old: created in July 2008 by Stuart Clark (Deciphered), though recent releases are by Oleh Vehera (voleger) of Golems GABB Versions available: 7.x-1.2 and 8.x-1.0-beta7, the latter of which supports Drupal 9.3 or newer, and Drupal 10 Maintainership Seeking co-maintainers Security Coverage Opted in, but no coverage in practice for Drupal 9 or 10 Test coverage Number of open issues: 131 open issues, 50 of which are bugs against the current branch Usage stats: 34,609 sites almost 35,000 sites Module features and usage This module allows you to customize file names and paths by leveraging a variety of entity-based tokens It also integrates with the Pathauto module, giving you options to clean up the tokens for example by removing slashes, filtering out words or punctuation, and so on It can also work with the Transliteration module to convert unicode characters into US-ASCII Filefield Paths has options to rename and move existing files, and can retroactively rename files, effectively bulk updating and moving all your existing files It can also work with the Redirect module to automatically create redirects from the old path and filename to the new location, when renaming I’d also like to give a tip of the cap to Jim Birch of Kanopi for suggesting this module, when I was talking to a customer who was looking to achieve pretty much exactly what this module does
/episode/index/show/sacstudio/id/32408677
info_outline
Talking Drupal #461 - Distributions
07/29/2024
Talking Drupal #461 - Distributions
Today we are talking about The Benefits of Distributions, If they have drawbacks, and what the future of distributions looks like with guest Rajab Natshah and Mohammed Razem. We’ll also cover Google Analytics Reports as our module of the week. For show notes visit: Topics What is a distribution How does this differ from profiles What does Varbase provide What types of users is Varbase geared towards Paragraphs or Layout Builder Vardoc How do you overcome fear of lock-in What do you think the future of distributions look like considering recipes Any plans to move Varbase to recipes Starshot Resources Guests Rajab Natshah - Mohammed Razem - Hosts Nic Laflin - John Picozzi - Josh Miller - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to display Google Analytics charts directly within your Drupal website? There’s a module for that. Module name/project name: Brief history Created in Apr 2011 by raspberryman, but recent releases are by today’s guest Rajab Natshah Versions available include 7.x-3.2, 8.x-3.2, and 4.0.0, that last two of which support Drupal 10 and 11 Maintainership Actively maintained, recent releases were less than a month ago Security coverage A documentation guide for older versions, and a README with detailed instructions to get it set up Number of open issues: 76 open issues, 9 of which are bugs against the current branch Usage stats: 4,272 sites Module features and usage To set up this module, you first need to set up the API connection in the Google Developers Console, and download the client secret JSON You’ll then upload that into the Google Analytics Report API submodule along with the property ID to enable the connection Next, you need to install the Charts module, and either the Google Charts or Highcharts sub-module to see graphical reports You will now have a new Google Analytics Summary in your site’s reports menu, and new "Google Analytics Reports Summary Block" and "Google Analytics Reports Page Block" blocks available I haven’t had a chance to try the 4.0 version of this module yet, but I have used older versions with a variety of dashboard solutions, including Moderation Dashboard and Homebox One of the many benefits of using a powerful, open source framework like Drupal to build your site is its ability to act as the “glass” for a variety of other systems, and this module is a perfect demonstration of that
/episode/index/show/sacstudio/id/32307622
info_outline
Talking Drupal #460 - Preconfigured CMS Solutions
07/22/2024
Talking Drupal #460 - Preconfigured CMS Solutions
Today we are talking about Preconfigured CMS Solutions, How they can help your business, and The best way to build them in Drupal with guests Baddy Sonja Breidert and Dr. Christoph Breidert. For show notes visit: Topics Spain What is a Preconfigured CMS / Drupal Solution Who is the audience What business objectives can preconfigured solutions solve What are the ingredients How do you manage theming How do you manage customized design What do you do if your client has a need that your preconfigured solution does not solve What about Starshot Did the two of you meet over Drupal How do you manage work life balance Resources Guests Christoph Breidert - Hosts Nic Laflin - John Picozzi - Baddý Sonja Breidert - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to customize the way Google Maps appear on your Drupal site? There's a module for that. Module name/project name: Brief history How old: created in Mar 2014 by iampuma, but recent releases are by Artem Dmitriiev (a.dmitriiev) of 1xINTERNET Versions available: 7.x-2.0, 8.x-1.7, and 8.x-2.6 versions available, the last of which works with Drupal 8, 9, 10, and 11 Maintainership Actively maintained, latest release a week ago Security coverage Has a Documentation page and lots of information on the project page Number of open issues: 8 open issues, 1 of which is a bug against the current branch, though it was actually fixed in the latest release Usage stats: 1,764 sites Module features and usage The module provides allows your Drupal to use custom styles, which you can copy and paste from , or create from scratch using a configuration widget on Github that is linked from the project page You will be able to use custom markers by using the System Stream Wrapper module You can also specify popups for the markers, using a field or a view mode If you use the companion styled_google_views module, you can also show multiple locations, and define clustering options Styled Google Map also has integration with Google's Directions service, so visitors can easily get turn-by-turn directions for how to reached their chosen location The module also includes a demo submodule you can use to quickly set up a working example to illustrate all the different options available using Styled Google Map
/episode/index/show/sacstudio/id/32220622
info_outline
Talking Drupal #459 - Off The Cuff 8
07/15/2024
Talking Drupal #459 - Off The Cuff 8
Today we are talking about Config Actions, The Panels Favorite Drupal Modules, and Drupal Contribution. We’ll also cover Transform API as our module of the week. For show notes visit: Topics New Config Action: Place Block Favorite Contrib modules Slack channels Preparing for Drupal 11 Drupal events Resources Hosts Nic Laflin - John Picozzi - Martin Anderson-Clutz - Baddý Sonja Breidert - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to expose your Drupal site’s data as JSON using view modes, formatters, blocks, and more? There’s a module for that. Module name/project name: Transform API Brief history How old: created in Sep 2023 by LupusGr3y, aka Martin Giessing of Denmark Versions available: 1.1.0-beta4 and 1.0.2 versions available, both of which work with Drupal 9 and 10 Maintainership Actively maintained, in fact the latest commit was earlier today Security coverage Documentation: in-depth README and a full user guide Number of open issues: 14 open issues, 3 of which are bugs, but none against the current branch Usage stats: 2 sites Module features and usage After installing Transform API, you should be able to get the JSON for any entities on your site by adding “format=json” as a parameter to the URL To get more fields exposed as JSON, you can configure a Transform mode, using a Field UI configuration very similar to view modes You can also add transform blocks to globally include specific data in all transformed URLs, in the same way you would use normal blocks to show information on your entity pages. The output of transform blocks is segmented into regions, Where Drupal’s standard engine produces render arrays that ultimately become HTML, Transform API replaces it with an engine that produces Transform Arrays that will ultimately become JSON Where Drupal’s standard JSON:API supports more or less exposes all information as raw data for the front end to format, Transform API allows for more of the formatting to be managed on the back end, where it will use Drupal’s standard caching mechanisms, permission-based access, and more Transform API also supports lazy transformers, which are callbacks that will be called after caching but before the JSON response is sent You can also use alter hooks to manipulate the transformed data
/episode/index/show/sacstudio/id/32114857
info_outline
Talking Drupal #458 - Drupal & Next.js
07/08/2024
Talking Drupal #458 - Drupal & Next.js
Today we are talking about Next.js, what it is, and how to integrate it with Drupal with guest John Albin Wilkins. We’ll also cover Next.js Webform as our module of the week. For show notes visit: Topics What is Next.js What kind of server do you need How is it used on the web Does it only work on react based systems Why would someone want to integrate with Drupal When changes are made in the content how do you update the app On the module page there are a lot of references to Preview, is this something Next does well What is server side rendering How does Next work with menus and views Any preference on the api for json api vs graphql Performance Editorial experience Responsive images Will Drupal ever ship with a headless front end Winner of the TPOTM Resources Guests John Albin Wilkins - Hosts Nic Laflin - John Picozzi - Baddý Sonja Breidert - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to build a webform in Drupal and have the corresponding Next.js template automatically created for you? There’s a Next.js library for that. Module name/project name: Brief history How old: created in Aug 2022 by Lauri Timmanee (lauriii), who listeners may know as the Drupal Core Product Manager, and one of the people leading the Starshot initiative Versions available: 1.1.1 Maintainership Test coverage Documentation - Lengthy README and a tutorial on the Acquia Dev Portal Number of open issues: 17 open issues, 3 of which are bugs Usage stats: 2,246 weekly downloads according to Module features and usage Using this library does require some setup on the Drupal side, including installing the Webform and Webform REST modules. There’s also an extra patch to install if you want to use any autocomplete fields, and some configuration needed for both the REST resources that will be used to exchange data, and the permissions for the account that will be used to retrieve and submit data Out of the box, the library supports over 40 webform components, but you can also provide custom elements if you need something additional. The library also supports conditional logic, so fields can show or hide in the Next.js front end based on conditions defined in your Drupal backend The library also provides front-end validation for email confirmation, date list, and datetime fields, but back end validation is also processed for every submission There is a crowded field of headless CMS competitors, but I thought this library is a good example of the extra power and flexibility you get by using a robust, open source CMS like Drupal as the back end in your headless architecture
/episode/index/show/sacstudio/id/32023272
info_outline
Talking Drupal #457 - Drupal Architecture
07/01/2024
Talking Drupal #457 - Drupal Architecture
Today we are talking about Drupal Architecture, Common Site Building questions, and How we solve things with Drupal with guest Alexander Varwijk. We’ll also cover Drupal 10.3 as our module of the week. For show notes visit: Topics Where do you start when thinking about a new site or feature. Where is the line for extending vs forking Do you have solutions that you default to when building a feature Do you find people come to Drupal with specific third party requirements What do you think about Headless When do you choose to contribute a new module to Drupal Will recipes change your architecture How do you learn about new ways of doing things Where did you get your username, are you the king of the Netherlands Resources Drupal Core Issues to split "Site builder" functionality into more granular chunks A free, unlimited, and flexible open source messaging platform that’s been built mobile-first Guests Alexander Varwijk - Hosts Nic Laflin - John Picozzi - Baddý Sonja Breidert - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you been wanting to use Workspaces, Single Directory Components, Recipes, or the new admin menu in your Drupal site? The new Drupal 10.3 release is better for using all of these and more. Module name/project name: Brief history How old: It was tagged on Jun 20 by catch of Tag1 and Third & Grove Features and usage In this new minor version, Workspaces is now declared stable, and Single Directory Components are now fully integrated into core, instead of being in an experimental module. Drupal 10.3 also includes the new Access Policy API that was funded as part of the Pitchburgh process kicked off at DrupalCon Pittsburgh The “super user” access policy that automatically grants user 1 every permission can now be turned off in services.yml Also, Recipes and the new Navigation menu are available as experimental features The Actions UI, Book, and Statistics modules are deprecated, and contrib projects are available Install profiles can now be uninstalled, and new sites can be installed without any profile at all 10.3 also includes a revision UI for taxonomy terms, and they can also be used with content moderation All core-provided image styles now include WebP conversion The state service now uses a cache collector for performance, which requires opt in within settings.php for existing sites There are other performance improvements, including: POST requests are now render cacheable, duplicate queries during logins are avoided, and big pipe requests now avoid reading session from the database multiple times With 10.3 developer can also make use of a new AJAX command to open a URL in a dialog, and a new DraggableListBuilderTrait, among a host of other changes Of course, there are some additional deprecations, so the Project Update Bot has already been busy creating new MRs
/episode/index/show/sacstudio/id/31933487
info_outline
Talking Drupal #456 - DDEV Grows Up
06/24/2024
Talking Drupal #456 - DDEV Grows Up
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: 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 - Hosts Nic Laflin - John Picozzi - Randy Fay - MOTW Correspondent Martin Anderson-Clutz - 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
/episode/index/show/sacstudio/id/31841197
info_outline
Talking Drupal #455 - Top 5 uses of AI for Drupal
06/17/2024
Talking Drupal #455 - Top 5 uses of AI for Drupal
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: 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 AI guidelines Guests Michael Miles - Hosts Nic Laflin - John Picozzi - Randy Fay - MOTW Correspondent Martin Anderson-Clutz - 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.
/episode/index/show/sacstudio/id/31751712
info_outline
Talking Drupal #454 - Drupal API Client
06/10/2024
Talking Drupal #454 - Drupal API Client
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: 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 - Hosts Nic Laflin - John Picozzi - Randy Fay - MOTW Correspondent Martin Anderson-Clutz - 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.
/episode/index/show/sacstudio/id/31655077
info_outline
Talking Drupal #453 - Urban Institute
06/03/2024
Talking Drupal #453 - Urban Institute
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: 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 Urban Institute Post-recording Guests Josh Miller - Hosts Nic Laflin - John Picozzi - Randy Fay - MOTW Correspondent Martin Anderson-Clutz - 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: Not to be confused with Preview link is missing the ability to set length of access.
/episode/index/show/sacstudio/id/31551847
info_outline
Talking Drupal #452 - Starshot & Experience Builder
05/27/2024
Talking Drupal #452 - Starshot & Experience Builder
Today we are talking about web design and development, from a group of people with one thing in common… We love Drupal. This is episode #452 Starshot & Experience Builder. For show notes visit: Topics What is Starshot What is Experience builder How will Starshot build on Drupal Core Will Experience builder be added to Core Listener thejimbirch: When will people hear about their pledge Listener brook_heaton: Will experience builder be compatible with layout builder Will Experience builder allow people to style content Listener Matthieu Scarset Who is Starshot trying to compete with Listener Andy Blum Does the DA or other major hosting companies plan to set up cheap, easy hosted Drupal Listener Ryan Szarma Who does this initiative serve in the business community How can people get involved Resources Guests Lauri Eskola - Hosts Nic Laflin - John Picozzi - Matthew Grasmick - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to have your modules create content when they’re installed? There’s a module for that. Module name/project name: Brief history How old: created in Oct 2015 by prolific contributor Lee Rowlands (larowlan) though the most recent releases are by Sascha Grossenbacher (Berdir), also a maintainer of many popular Drupal modules Versions available: 2.0.0-alpha2, which works with Drupal 9 and 10 Maintainership Security coverage: opted in, but needs a stable release Test coverage Documentation Number of open issues: 105 open issues, 29 of which are bugs against the current branch Usage stats: Almost 20,000 sites Module features and usage Provides a way for modules to include default content, in the same way that many modules already include default configuration The module exports content as YAML files, and your module can specify the content that should be exported by listing the UUIDs in the info.yml file It also provides a number of drush commands, to export a single entity, to export an entity and all of its dependencies, or to bulk export all of the content referenced in a module’s .info.yml file There is also a companion project to export default content using an action within a view, which also makes me think it could probably be automated with something like ECA if you needed that Exported content should be kept in a content directory in your module, where it will imported during install on any site that has the default_content module installed I thought this would be a good module to cover today because Drupal core’s recipe system also includes support for default content, so when you install a recipe it will similarly import any YAML-encoded content in the recipe. In fact, I used this module for the first time exporting taxonomy terms I wanted a recipe to create as default values for a taxonomy it creates. Since Recipes will be a big part of Starshot, I expect default_content to be getting a lot of use in the coming months
/episode/index/show/sacstudio/id/31455717