DiscoverTalking Drupal
Talking Drupal
Claim Ownership

Talking Drupal

Author: Talking Drupal Hosts

Subscribed: 184Played: 7,482
Share

Description

Talking Drupal is a weekly chat about web design and development by a group of people with one thing in common: We Love Drupal. With hosts John Picozzi, Nic Laflin, and Martin Anderson-Clutz
600 Episodes
Reverse
In a Talking Drupal Cafe conversation, Stephen Cross chats with recent Talking Drupal Guest Host, Tim "Tea Sharp," a relatively new Drupal user at Appalachian State University, starting with a light discussion about a 3:00 PM drink before digging into Tim's path from sustainability science and design through nonprofit work, WordPress site building, and finally Drupal in higher ed. Tim describes learning Drupal 7, discovering Views, and then helping his team manually consolidate hundreds of departmental subdomain sites while migrating to Drupal 10 using a product approach and a shared distribution initially built with Lullabot. He discusses training and documentation for non-technical site managers, professional development through DrupalCon Atlanta and Drupal Camp Asheville, interest in Drupal AI for tasks like alt text generation, and aspirations to keep speaking, contribute more, and improve module discoverability and documentation. For show notes visit: https://www.talkingDrupal.com/cafe021 Topics Finding Talking Drupal From Sustainability to Design Pandemic Pivot to Web WordPress Site Builder Era Discovering Drupal at App State Drupal 10 Rebuild and Consolidation Team Structure and Iteration AI in Drupal Workflows Upgrade Blockers Cleared Aspiring Drupal Speaker Raycast Productivity Talk Stage Fright Reframed Posting Beyond Comfort Finding a Username Joining Talking Drupal Better Module Discovery Open Source Burnout Lessons Why More TD Cafe Final Encouragement Tim Sharp Tim is a self-taught Web Developer at Appalachian State University in Boone, North Carolina. At App State, he works with a team of developers to support over 300 websites. Tim is passionate about community organizing and recently became a co-organizer of Drupal Camp Asheville. Stephen Cross Stephen is the founder of Talking Drupal and Drupal Developer. Guests Tim Sharp - tea-sharp Stephen Cross - stephencross
Today we are talking about Drupal Advocacy, Non-Code Contribution, and the future with guest Tiffany Farriss. We'll also cover Better Social Sharing Buttons as our module of the week. For show notes visit: https://www.talkingDrupal.com/575 Topics Tiffany New DA Role Sustaining Drupal Next 25 Time Box And Priorities Three Bucket Strategy Fixing DA Finances Transparency And Trust Trust Through Transparency What Advocacy Solves Why Reputation Lags From Scattered To Focused Beyond The Drupal Bubble Problem First Storytelling Proof Over Promotion Scaling Non Code Contributions Funding Drupal Sustainability Success Metrics Resources Drupal Advocacy Program Guests Tiffany Farriss - association.drupal.org farriss Hosts Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Tim Sharp - tea-sharp MOTW Correspondent Martin Anderson-Clutz - mandclu.com mandclu Brief description: Have you ever wanted to let visitors share your content on social media, without loading any tracking scripts or third-party JavaScript? There's a module for that. Module name/project name: Better Social Sharing Buttons Brief history How old: created in Aug 2018 by Joery Lemmens (flyke), though recent releases are by Shelane French (shelane) Versions available: 5.0.0, which works with Drupal 10.1, 11, and 12 Maintainership Actively maintained, latest release in July, adding Drupal 12 support Security coverage Number of open issues: 17, 5 of which are bugs against older branches Usage stats: 8,347 sites Module features and usage Supports 16 services, including Facebook, X, LinkedIn, Bluesky, Reddit, Pinterest, WhatsApp, Telegram, and email, plus handy extras like print and copy link Each button is just a plain link to that service's share URL, opening in a new tab. No trackers, no external API calls, no ad servers That's a nice win for performance, and for privacy and GDPR, since nothing third-party loads until a visitor actually clicks You can place it as a block, as a pseudo field on nodes or paragraphs, or call it from Twig with Twig Tweak The global settings form lets you enable services and drag them into order, and each block instance can override that list, the icon set, and the sizing The module comes with two icon sets: colored squares, which become round if you set the radius to 100%, or flat icons you can color with a CSS fill. The colored set also exposes CSS custom properties, so you can re-brand it from your theme The icons are minified SVGs in a single sprite, so they load once no matter how many buttons are on the page There's also a per-node submodule: enable it per content type, and editors with the right permission get a checkbox to turn sharing on or off for individual nodes Under the hood it's nearly all Twig, one template partial per service, with just a little JavaScript for copy link, print, and Bluesky. Copy link even uses an aria-live region to announce the confirmation to screen readers The block uses the current page's URL and title, so it works on user and term pages too, while the field version shares the node's own URL and title Developers can tweak what gets shared with an alter hook on the block's items Caveats: Facebook Messenger needs a Facebook App ID, and Metatag is recommended so services get proper Open Graph previews, and if a service changes its share URL format, the module needs an update Back in episode #548 we covered Social Media Links, and the two look similar: both give you a block of social network icons, with a choice of icon sets. But they solve opposite problems. Social Media Links is "follow us": it links out to your own profiles, using URLs you configure in the block or a field. Better Social Sharing Buttons is "share this": it builds each link on the fly from the current page's title and URL. So plenty of sites could use both
Today we are talking about the UN, Open Source, and Drupal with guests Tim Lehnen & Henry Poole. We'll also cover Live Update as our module of the week. For show notes visit: https://www.talkingDrupal.com/574 Topics What Is UN Open Source Week Why Open Source Fits UN Goals Who Attends and What Tech Is There Conference Audience and DPI DPG Drupal as a Digital Public Good UN Uses Drupal at Scale Why Attend and What to Gain Upstream First Contracting Open Procurement Curriculum Reaching Procurement Conferences Steering Spend Upstream Funding Open Source Legally Talking Louder Beyond Drupal Digital Sovereignty Explained Governance Values Matter Fixing Funding Perception Community Next Steps Closing Resources Appalachia Omar Mohsine Digital public infrastructure - DPI Digital public good - DPG ShareIT act Agencies need to use open source PDF: https://www.govinfo.gov/content/pkg/COMPS-17951/pdf/COMPS-17951.pdf Ditap NCMA Sovereign tech agency Palantir blog Eva black - Four opens FSF - Four freedoms Drupal's open web manifesto https://www.drupal.org/association/open-web-manifesto https://openwebsitealliance.org/charter.html#open-web-manifesto Guests Henry Poole - civicactions.com henry-poole Tim Lehnen - drupal.org hestenet Hosts Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Tim Sharp - tea-sharp MOTW Correspondent Martin Anderson-Clutz - mandclu.com mandclu Brief description: Have you ever wanted parts of your Drupal pages, like blocks, views, or notifications, to update in real time without a page refresh, and without having to stand up extra infrastructure to do it? There's a module for that. Module name/project name: Live Update Brief history How old: created in Sep 2026 by Alessandro Feijó (afeijo) of Mindcore Versions available: 1.0.0-alpha6, which works with Drupal 11 and 12 Maintainership Actively maintained, latest release just a week ago No security coverage yet, since it was just created and only has alpha releases Test coverage Documentation: a detailed README, plus a roadmap doc and a built-in demo page Number of open issues: none Usage stats: 14 sites Module features and usage Live Update positions itself as a generic real-time event layer for Drupal: modules publish events to named channels, and browsers subscribed to those channels update just the affected part of the page Out of the box it uses plain HTTP polling back to Drupal, every 5 seconds by default, so it works on pretty much any host with no extra services The transport is pluggable, though. Set it to automatic and it'll try WebSockets first, then an experimental Server-Sent Events submodule, then fall back to polling For site builders, the base module adds an "Update this block live" checkbox to any block in the block layout, no code needed There's also a whole suite of submodules: live-refreshing Views displays, single-entity updates, user presence blocks like "who's viewing this page", a notification bell with toasts, queue progress monitoring, remote JSON API tables, and an admin dashboard with an event monitor One I think editorial teams will like: Live Update Form, which warns you when someone else is editing the same content you are For developers, publishing is one line, a liveupdate_publish() helper or an injectable service, and on the front end you can either use data attributes in your markup or subscribe through a small JavaScript API Every channel is access-controlled, and modules can weigh in on who's allowed to subscribe through by implementing hook_liveupdate_channel_access() Under the hood, events are stored in their own database table with an optional time-to-live, and expired ones get cleaned up on cron. Polling clients just ask for anything newer than the last event ID they saw There's a solid set of Drush commands too, including one to publish a test event straight from the command line, which is handy for debugging Caveat: this is very new and still alpha, so I'd treat it as one to watch and experiment with rather than deploy into production today And if polling isn't enough for you, there's a companion project, Live Update Go: https://www.drupal.org/project/liveupdate_go It's the push transport Live Update is designed around. A small Drupal module, plus a standalone gateway written in Go that gives browsers a native WebSocket connection Drupal stays in charge: it checks channel access, hands the browser a short-lived signed token, and sends signed events to the gateway, which fans them out to connected clients You run the gateway as its own service, with systemd or Docker, behind a TLS reverse proxy. The README is very clear that you shouldn't try to launch it from PHP It can scale horizontally using Redis or Valkey pub/sub, one gateway can serve multiple Drupal sites with isolated tenants, and if it ever goes down, Live Update falls back automatically and switches back once it recovers Same maintainer, created at the start of October, and also alpha, with an alpha1 release and one reported site so far
Today we are talking about Drupalcon Rotterdam, Canvas and evaluating modules. We'll also cover Revision Graph as our module of the week. For show notes visit: https://www.talkingDrupal.com/573 Topics DrupalCon Rotterdam recap AI summits and training FrankenPHP app servers Driesnote highlights Advocacy and WordPress Rosetta Sprint and MCP Canvas multilingual and headless 3Frameworks And Voiceover Canvas And SDCs Headless And Signage Drupal 12 Beta Testing Rector And Deprecations PHP 8.5 Requirements Rethinking Module Evaluation AI And Commit Scale Module Discoverability 0Distributions Versus Recipes Resources Wordpal Core metrics Hosts Nic Laflin - nLighteneddevelopment.com nicxvan Martin Anderson-Clutz - mandclu.com mandclu Tim Sharp - tea-sharp MOTW Correspondent Martin Anderson-Clutz - mandclu.com mandclu Brief description: Have you ever wanted to see a node's revision history drawn like a Git graph, with each translation as its own branch? There's a module for that. Module name/project name: Revision Graph Brief history How old: created in Sep 2019 by Shibin Das (D34dMan) of Factorial Versions available: 4.0.0, which works with Drupal 11 and 12, and 3.1.1 for Drupal 10 and 11 Maintainership Actively maintained, 4.0.0 landed in mid-August after two alphas the same week Security coverage Test coverage Documentation: a solid README plus in-depth technical and revision-model docs in the repo Number of open issues: zero open issues Usage stats: 242 sites Module features and usage With the module installed, every node gets a Revision Graph tab, right next to the core Revisions tab One row per revision, one lane per language, so you can see when a translation branched off and how it's evolved since Each dot tells you two things: a solid ring means that revision was live at some point, a dashed ring means it's a draft that never was, and a filled center means it's what that language is serving right now It works with Content Moderation if you have it, showing your workflow states as text badges with whatever names your site uses, and adapts cleanly when you don't Reverts, and edits made from the published version while a draft is pending, show up as forks instead of a straight line Under the hood: Drupal doesn't actually store which revision a new one was derived from, so the module adds a small base field that records it at presave Older revisions don't get backfilled, on purpose, since reconstructing that would mean guessing. Those edges are inferred, and the graph draws inferred edges differently from recorded ones, so it never implies more precision than it has So on an existing site, make sure you run drush updb after enabling it Ships a distinct color for all 95 language codes Drupal knows, so it looks good out of the box, but you can override a lane's color or the fallback palette in config The graph loads in pages as you scroll, so long histories render quickly, and it's keyboard navigable, ARIA-labelled, and works in forced-colors mode Great for editorial teams on multilingual sites, and handy for compliance or auditing when you need to answer "what was live, and when?" Caveats: it's nodes only, and for obvious reasons a user will need the "view all revisions" permission to see the graph  
Today we are talking about PHP, Open Source, and Sustainability with guest Elizabeth Barron. We'll also cover AI Image Classification as our module of the week. For show notes visit: https://www.talkingDrupal.com/572 Topics What is the PHP Foundation Language Health Challenges Paid Core Developers Release Infrastructure Foundation Role and Perception Docs and Onboarding Elizabeth Open Source Journey Future of PHP Ecosystem Listener Elephant Question Ecosystem Security Hub Advisory Board Limits Modernizing Mailing Lists Foundation Awareness Push PHP Ambassadors Strategy State of PHP Survey Five Year Vision Community Hour Podcast php.net Design Refresh Resources The PHP Foundation Derek Rethans xdebug Infrastructure https://github.com/derickr Drupal advocacy Link to community hour podcast Php 8.5 Contribute to php article Guests Elizabeth Barron - thephp.foundation elizabethbarron Hosts Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Tim Sharp - tea-sharp MOTW Correspondent Martin Anderson-Clutz - mandclu.com mandclu Brief description: Have you ever wanted the images in your Drupal media library to be automatically given alt text, a rich description, and a set of tags, using AI? There's a recipe for that. Module name/project name: AI Image Classification Brief history How old: created in Sep 2025 by Artem Dmitriiev (a.dmitriiev) of 1xINTERNET Versions available: 1.1.1, which requires Drupal 11.2 or newer Maintainership Actively maintained, latest release and commit just two weeks ago Security coverage Number of open issues: 9 open issues, 4 of which are bugs Usage stats: No usage data reported Module features and usage This recipe applies core's image media type recipe, then adds a description field and a tags field to image media, with tags in a new "Image Classification" vocabulary Editors get a "Generate Alt Text" button right on the image field, using the Field Widget Actions module, with a prompt written like an accessibility expert: under 100 characters, no "image of", flag logos and graphics On save, a vision model writes a description of up to eight sentences: colours, photo versus illustration, people, mood, and key objects, using the media name for context Tagging is chained off that description rather than the image itself, picking or creating up to five short, general terms, and reusing similar existing tags where it can It also adds bulk actions to the media admin view, so you can run description and tagging across an existing library, not just new uploads Description and tag filters are added to the media library, including the widget, so editors can search for "sunny summer day" right in the image picker The stated bigger goal is making images discoverable by RAG and other AI search, so good descriptions become a foundation for future AI features. In fact, this recipe is a dependency for the Canvas AI Image Search recipe, which is still a work in progress Under the hood, images get scaled to 400px wide and converted to PNG before they're sent to the model, which keeps things faster and cheaper One caveat: your site needs an AI provider with a default "chat with image vision" model, and the recipe checks for that when it's applied Also worth a look: the description prompt asks the model to describe people's age, gender, and ethnicity, and even name them if it can, so you may want to review that prompt for your privacy policies, and adjust accordingly Like any recipe, it provides a robust starting point for some compelling features, and every prompt and setting can be tweaked after you apply it Lastly, I wanted to mention that in today's Driesnote in here in Rotterdam, Dries demoed being able to use MCP to search images on his own site. A recipe like this could help you make sure the images in your media library have sufficient metadata to make that work reliably
loading
Comments