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
Skills Upgrade #9
05/01/2024
Skills Upgrade #9
Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is the final episode, 9. Topics Review status of Chad's Smart Date test Panel discussion Chad, What was your biggest takeaway? Mike, How do you approach this type of one on one mentorship differently than your courses? AmyJune, do you think there are other types of focused mentorship like this that would be valuable to the community? Chad, what was the most surprising thing you learned in Modern Drupal vs Drupal 7? Michael, what did you learn through this process? How do you think people will use this journey to help their learning process? Chad, what are your plans for your next contribution? Resources The Linux Foundation is offering a discount of 30% off e-learning courses, certifications and bundles with the code, all uppercase DRUPAL24 and that is good until June 5th Hosts Nic Laflin - AmyJune Hineline - @volkswagenchick Guests Chad Hester - @chadkhest Mike Anello - @ultimike
/episode/index/show/sacstudio/id/31029703
info_outline
Talking Drupal #448 - D11 Readiness & PHPStan
04/29/2024
Talking Drupal #448 - D11 Readiness & PHPStan
Today we are talking about Drupal 11 Readiness, What you need to think about, and PHPStan with guest Matt Glaman. We’ll also cover MRN as our module of the week. For show notes visit: [) Topics What do we mean by Drupal 11 Readiness How will this be different than 9 and 10 Top 5 tips D11 Meeting and slack channel Will this be easier Major issues What is PHPStan How does it play a role How is PHPStan Drupal different than PHPStan Does using PHPStan with drupal reduce the need for tests How do you see it evolving over the next few years Drupal 12 wishlist Resources Change records Hosts Nic Laflin - John Picozzi - Matt Glaman - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted an easy way to generate detailed release notes for your contrib projects? There’s a web app for that Module name/project name: Brief history How old: created in Aug 2022 by today’s guest Matt Glaman Maintainership Actively maintained, latest updates were earlier this year Code project at has 13 open issues Usage stats: Currently no usage reporting, but a tool I’ve been using a ton lately as I get modules ready for Drupal 11 Module features and usage It’s very simple to use, you just enter the machine name of your project, and then the numbers of the releases you want it to compare It will generate the structure for your release note, include a spot for you to write a summary at the top, a list of contributors that links to their profiles, and a list of issues Previously part of Matt’s drupalorg CLI project, MRN is now a lambda function on AWS, so there’s nothing to download or install I like that you can choose which tags you want to compare, so if the release is part of a branch that doesn’t yet have a stable release, I’ll put a comparison to the previous release in the branch at the top, and then a comparison to the current stable release below it, so people can see the full list of everything new they’ll get by moving from the stable release It’s worth noting that because this works from the git history, you need to make sure you credit everyone properly before clicking to merge an MR in the UI. You can give credit to other people after the fact using the checkbox and they’ll get contribution credits, but won’t be included in the release notes generated by MRN
/episode/index/show/sacstudio/id/31030578
info_outline
Skills Upgrade #8
04/24/2024
Skills Upgrade #8
Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 8. Topics Review Chad's questions What is the process of creating a new issue, reviewing automated tests, and creating a merge request for review by the project maintainer? My example issue: My example merge request: If we're not using Composer to pull the contrib module, how do we make sure that all dependencies are handled? How can someone navigate so many complex issues without getting lost or "barking up the wrong tree"? Tasks for the upcoming week Work toward getting the merge request accepted. Document learning bullet points for this journey. Resources The Linux Foundation is offering a discount of 30% off e-learning courses, certifications and bundles with the code, all uppercase DRUPAL24 and that is good until June 5th Hosts AmyJune Hineline - @volkswagenchick Guests Chad Hester - @chadkhest Mike Anello - @ultimike
/episode/index/show/sacstudio/id/30960593
info_outline
Talking Drupal #447 - Drupal Single Sign On
04/22/2024
Talking Drupal #447 - Drupal Single Sign On
Today we are talking about Drupal Single Sign On, The Benefits it brings to the Drupal Community, and A new book called Fog & Fireflies with guest Tim Lehnen. We’ll also cover Username Field as our module of the week. For show notes visit: Topics What is Single Sign On (SSO) Does Drupal already support SSO Why is SSO on important Camps using SSO Other possibilities Gitlab login Cloud IAM Why did the Drupal Association choose Cloud IAM How do you see the collaboration growing Where are we now What are the next steps How far are we from this becoming a reality What does onboarding look like Will third party sites be able to use D.O SSO Can the community help Fog & Fireflies First book Can you buy it now Resources Guests Tim Lehnen - Hosts Nic Laflin - John Picozzi - Matt Glaman - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to have a field on user profiles specifically designed for usernames? There’s a module for that Module name/project name: Brief history How old: created in August 2019 by hussainweb AKA Hussain Abbas of Axelerant Versions available: 2.0.0-beta4 Maintainership Actively maintained, that release was made less than 6 months ago Test coverage Number of open issues: 8 open issues, none of which are bugs Usage stats: 1 site Module features and usage The module provides a new field type, along with its own widget and formatter With a simple checkbox, you can get the module to validate that the provided username is registered on What’s really powerful about this module is that it can also pull other information from the profile, such as first and last name, country, bio, and more It does this by leveraging a Guzzle-based API client for that Hussain created as part of a DrupalCon Asia developer contest I believe the intended use of the modules is to use a provided drush command to copy the values from the username field into other fields, where they would be displayed to site visitors Although this module isn’t something that a lot of sites will need, I could see it being really useful for Drupal camp websites, to automatically collect a lot of the information that many such sites ask users to populate manually I think it’s also an interesting use of the API, and could be a useful reference for anyone needing to implement a custom integration
/episode/index/show/sacstudio/id/30904648
info_outline
Skills Upgrade #7
04/17/2024
Skills Upgrade #7
Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 7. Topics Review Chad's goals for the previous week Test Example Set up phpunit.xml Start with FrontPageLinkTest.php Review Chad's questions In the testing_example module, the file "src/Controller/TestingExampleController.php" has a function for simpletestDescription(). Is this an outdated artifact that should have been removed at some point? The module itself doesn't appear to use Simpletest elsewhere and appears to only rely on PHPUnit. What do you recommend for the minimal code structure to include for any given test type? Is the Testing Example module an ideal model or are there other resources I should review? The testing reference from Selwyn was helpful. In the "FrontPageLinkDependenciesTest.php" setUp() function, the createContentType() function is called without specifying the type. Is that set somewhere else? I may have overlooked it. Nevermind—it's set using randomMachineName() in the createContentType() function. Is there anything extra or standard to write in tests for ? Tasks for the upcoming week Smart Date - Martin (maintainer) to review promptly, I've already chatted with him about it. Create a new functional test: "submit a range with an end time before the start and validate that an error is returned" Create an issue in the Smart Date queue and assign to yourself. Create an issue fork. Check out the issue fork locally. Write (and test) the test locally. Commit and push to the issue fork. Mark issue as "Needs review". Ask someone to review - if all looks good, the reviewer will mark as RBTC. Resources The Linux Foundation is offering a discount of 30% off e-learning courses, certifications and bundles with the code, all uppercase DRUPAL24 and that is good until June 5th Hosts AmyJune Hineline - @volkswagenchick Guests Chad Hester - @chadkhest Mike Anello - @ultimike
/episode/index/show/sacstudio/id/30844733
info_outline
Talking Drupal #446 - Test Driven Development
04/15/2024
Talking Drupal #446 - Test Driven Development
Today we are talking about Test Driven Development, Why it’s important, and How it improves development with guest Alexey Korepov. We’ll also cover Test Helpers as our module of the week. For show notes visit: Topics What does the term Test Driven Development (TDD) mean Does Drupal make use of TDD What makes TDD different from other methods of Development Do you have to change your way of thinking What are some good resources to learn TDD Do you have any pointers for teams looking to get started Are certain kinds of projects better suited to TDD How have dev teams adapted to TDD Any advice on environment setup Any special tools Resources Guests Alexey Korepov - Hosts Nic Laflin - Martin Anderson-Clutz - Matt Glaman - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted an API that could dramatically simplify the process of writing Drupal unit tests? There’s a module for that. Module name/project name: Brief history How old: created in Sep 2022 by today’s guest, Alexey Korepov Versions available: 1.3.0 compatible with versions of Drupal 9.4 or newer, right up to Drupal 11 Maintainership Actively maintained, latest release less than 3 months ago Security coverage Test coverage, would be ironic if it didn’t API Documentation is available, linked from the project page Number of open issues: 2 open issues, which are actually feature requests Usage stats: 5 sites officially, but modules or sites can leverage Test Helpers without enabling it, and this usage is recommended, so the number is actually higher Module features and usage Provides a new container that automated tests can leverage to perform common tasks with much less code. For example, you can create a user or a node with a single line of code You can also mock more complex operations like an entityQuery or loadMultiple call, again with a single line of code Traditionally, writing unit tests is more complicated because by design they run without fully bootstrapping Drupal That means that your test needs to mock functions or services in the code you’re testing which can result in units tests being much longer than the code they’re testing Test Helpers also allows your tests to leverage existing mocks and stubs for popular services The project page also links to the recording and slides for a talk Alexey gave about Test Helpers at DrupalCon Pittsburgh last year, if you want to do a deeper dive
/episode/index/show/sacstudio/id/30800153
info_outline
Skills Upgrade #6
04/10/2024
Skills Upgrade #6
Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 6. Topics Review Chad's goals for the previous week Review Chad's questions Array structures accordion.html.twig D7 to D10 migrations Tasks for the upcoming week [testing_example](? Be sure to install drupal/core-dev dependencies using composer require –dev drupal/core-devref_type=heads) from Examples module. Set up phpunit.xml file in project root - using to start Run existing tests using command line from the project root. Something like: phpunit web/modules/contrib/examples/modules/testing_example/tests Review test code in module. Start with FrontPageLinkTest.php, then FrontPageLinkDependenciesTest.php, then TestingExampleMenuTest.php Resources The Linux Foundation is offering a discount of 30% off e-learning courses, certifications and bundles with the code, all uppercase DRUPAL24 and that is good until June 5th Hosts AmyJune Hineline - @volkswagenchick Guests Chad Hester - @chadkhest Mike Anello - @ultimike
/episode/index/show/sacstudio/id/30757648
info_outline
Talking Drupal #445 - Drupal Bounty Program
04/08/2024
Talking Drupal #445 - Drupal Bounty Program
Today we are talking about The Drupal Bounty Program, How it supports innovation, and how you can get involved with guest Alex Moreno. We’ll also cover WebProfiler as our module of the week. For show notes visit: Topics What is the Drupal Bounty program How and when did it start What issues and tasks are included Has the bounty program been successful Why was this program extended Do you see any drawbacks Can anyone participate How are issues for the second round being selected What do you see the future of the bounty program looking like Could this become like other bounty programs with cash Do you think the bounty program will help maintainers get sponsorship Resources Guests Alejandro Moreno - Hosts Nic Laflin - John Picozzi - Matt Glaman - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to get detailed performance data for the pages on your Drupal sites? There’s a module for that. Module name/project name: Brief history How old: created in Jan 2014 by Luca Lusso of Italy who was a guest on the show in episode #425 Versions available: 10.1.5 which works with Drupal >=10.1.2 Maintainership Actively maintained, latest release on Feb 1 Security coverage Test coverage Not much in the way of documentation, but the module is largely a wrapper for the Symfony WebProfiler bundle, which has its own section in the Symfony documentation Number of open issues: 36 open issues, 13 of which are bugs Usage stats: 477 sites Module features and usage Once installed the module adds a toolbar to the bottom of your site, within which it will show a variety of data for every page: Route and Controller Memory usage Time to load (with some additional setup) Number of AJAX requests Number of queries run and the total query time Number of blocks visible How many forms are on the profile Lots of other detailed information available through links Reports are saved into the database, so you can dig through additional details such as: Request information like access metadata, cookies, session info, and server parameters, in addition to the request and response headers All of the queries that ran, how long each took, and even a quick way to create an EXPLAIN statement to get deeper insight from your database engine You can also view all the services available, and with a single click open the class file in the IDE of your choice A handy alternative to other performance monitoring tools like XHProf (either as Drupal module, or installed directly into your development environment), or commercial tools like Blackfire or New Relic Discussion Luca’s book Modernizing Drupal 10 Theme Development actually provides a great deep dive into this module
/episode/index/show/sacstudio/id/30723518
info_outline
Skills Upgrade #5
04/03/2024
Skills Upgrade #5
Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 5. Topics Review Chad's goals for the previous week .gitignore Field Example module Plugin API Drupaal 10 Masterclass book Review Chad's questions Field Example follow up Tasks for the upcoming week Examples module: js_example module js_example.libraries.yml hook_theme() implementation in js_example.module JsExampleController template files Resources The Linux Foundation is offering a discount of 30% off e-learning courses, certifications and bundles with the code, all uppercase DRUPAL24 and that is good until June 5th Hosts AmyJune Hineline - @volkswagenchick Guests Chad Hester - @chadkhest Mike Anello - @ultimike
/episode/index/show/sacstudio/id/30654198
info_outline
Talking Drupal #444 - Design to Development Workflow Optimization
04/01/2024
Talking Drupal #444 - Design to Development Workflow Optimization
Today we are talking about design to development hand off, common complications, and ways to optimize your process with guest Crispin Bailey. We’ll also cover Office Hours as our module of the week. For show notes visit: Topics Primary activities of the team Where does handoff start Handoff artifact Tools for collaboration Figma Evaluating new tools Challenges of developers and designers working together How can we optimize handoff What steps can the dev team take to facilitate smooth handoff Framework recommendation Final quality AI Guests Crispin Bailey - Hosts Nic Laflin - John Picozzi - Anna Mykhailova - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to manage and display the hours of operation for a business on your Drupal site? There’s a module for that Module name/project name: Brief history How old: created in Jan 2008 by Ozeuss, though recent releases are by John Voskuilen of the Netherlands Versions available: 7.x-1.11 and 8.x-1.17 Maintainership Actively maintained, latest release was 3 weeks ago Security coverage Test coverage Documentation: no user guide, but a pretty extensive README Number of open issues: 15 open issues, only 1 of which are bugs against the current branch, though it’s postponed for more info Usage stats: Almost 20,000 sites Module features and usage Previously covered in episode 113, more than 8 years ago, in the “Drupal 6 end of life” episode The module provides a specialized widget to set the hours for each weekday, with the option to have more than one time slot per day You can define exceptions, for example on stat holidays You can also define seasons, with a start and end date, during which the hours are different The module also offers a variety of options for formatting the output: You can show days as ranges, for example Monday to Friday, 9am to 5pm, 12-hour or 24-hour clocks, and so on Obviously it will show any exceptions or upcoming seasonal hours too It can also show an “open now” or “closed now” indicator It can create schema.org-compliant markup for openingHours, and has integration with the Metatag module Office Hours does all this with a new field type, so you could add it to Stores in a Drupal Commerce site, a Locations content type in a site for a bricks-and-mortar chain, or if you just need a single set of hours for the site, you should be able to use it with something like the Config Pages module The README file also includes some suggestions on how to use Office Hours with Views, which can give you a lot of flexibility on where and how to show the information
/episode/index/show/sacstudio/id/30597793
info_outline
Skills Upgrade #4
03/27/2024
Skills Upgrade #4
Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 4. Topics Review Chad's goals for the previous week Install Drush Setup git repo Examples module Review Chad's questions .gitignore Core file naming Tasks for the upcoming week Reminder of the capstone goal: create MR for new automated test in contrib module. Examples module: field_example. New RGB field type with formatter and widgets. Focus on stuff in field_example/src/Plugin/Field Background info on Plugins: Focus on the following sections: Resources The Linux Foundation is offering a discount of 30% off e-learning courses, certifications and bundles with the code, all uppercase DRUPAL24 and that is good until June 5th Hosts AmyJune Hineline - @volkswagenchick Guests Chad Hester - @chadkhest Mike Anello - @ultimike
/episode/index/show/sacstudio/id/30547043
info_outline
Talking Drupal #443 - Violinist.io
03/25/2024
Talking Drupal #443 - Violinist.io
Today we are talking about Violinist.io, Managing Composer Dependencies, and automation with guest Eirik Morland. We’ll also cover Composer Patches as our module of the week. For show notes visit: www.talkingDrupal.com/443 Topics What is Violinist.io How does it work How much technical knowledge do you need Is this a security risk How much does it cost Patron question: Peter: Difference between violinist and dependabot What are the major differences in plans Who is the ideal user Can you self host Can this help with Drupal 11 readiness Complementary tools Notable users Why did you start this What is it like using Drupal for a SAAS Is it open source Pros and cons of open source for a SAAS How can the community support What is on the roadmap Resources Guests Eirik Morland - Hosts Nic Laflin - Martin Anderson-Clutz - Anna Mykhailova - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted a simple way to manage patches to Drupal core and your contrib projects? There’s a composer plugin for that Module name/project name: https://github.com/cweagans/composer-patches Composer Patches Brief history How old:created in Apr 2015 by Cameron Weagans Versions available: 1.7.3 and 2.0.0-beta2 Maintainership Actively maintained, beta2 release was a little over a month ago Test coverage Has a documentation site, as well as a COMMANDS markdown file in the repo to help you get started Number of open issues: 10, 2 of which are bugs Usage stats: It’s been installed over 42 million times and it’s approaching 43 thousand installs per day, according to a recent blog post Module features and usage Using the plugin is simple, you require cweagans/composer-patches the same way you would a Drupal contrib project. The important difference is that composer will ask you if you trust composer-patches to make changes to your codebase. Once you grant that, the plugin is ready to start applying patches You can specify what patches you want applied by adding a patches section to the extra section of your project’s composer.json file, or by adding a patches.json file Each patch can be specified using a URL or a path relative to the JSON file In theory it’s possible to have composer patches pulled directly from the diff in a merge request, but this is a significant security risk and should always be avoided The first beta release for the 2.0 branch actually dropped support for dependency patch resolution, noting that it had become the source of most support requests. In the end the community made it clear that they would resist upgrading without this capability, so the most recent beta2 release adds it back in. Finally, on his website cweagans.net Cameron mentions that he’s currently looking for full-time employment. So if your organization relies heavily on composer in general or composer-patches specifically, consider reaching out to him
/episode/index/show/sacstudio/id/30502333
info_outline
Skills Upgrade #3
03/20/2024
Skills Upgrade #3
Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 3. Topics Review Chad's goals for the previous week DDEV performance improvements Install Drupal 10 Install drupal/core-dev Configure and test phpcs Test phpstan settings.local.php Install Devel module Review Chad's questions Rancher Desktop appears to be holding on to port 443 after I installed it. Although I changed the port to something else, do you have any suggestions to update the setup to use ports 443 and 80 instead? How are tools like phpcs and PHPStan used by the Drupal community for contrib? Are they a part of 's testing automation? Starting a new D10 website from scratch in DDEV is one thing … How would I typically work with an existing D10 website? Do I start with the community config, then overwrite the code, database, and files? Is there a better approach? Tasks for the upcoming week Install Drush using Composer Examples module routes/controllers/forms Review: Go through the "Page example" module from the Examples module. Check back for "docker context use rancher-desktop" stuff. Create a new Git repository for your D10 site with Composer dependencies not committed to the repository. .gitignore stuff cp web/example.gitignore web/.gitignore Create ./.gitignore with: /vendor /web/core /web/modules/contrib/ /web/themes/contrib/ /web/profiles/contrib/ /web/libraries/ *.sql.gz Resources The Linux Foundation is offering a discount of 30% off e-learning courses, certifications and bundles with the code, all uppercase DRUPAL24 and that is good until June 5th Hosts AmyJune Hineline - @volkswagenchick Guests Chad Hester - @chadkhest Mike Anello - @ultimike
/episode/index/show/sacstudio/id/30456303
info_outline
Talking Drupal #442 - Mercury Editor
03/18/2024
Talking Drupal #442 - Mercury Editor
Today we are talking about Mercury Editor, What it does, and how it could change your editorial life with guest Justin Toupin. We’ll also cover Webform Protected Downloads as our module of the week. For show notes visit: Topics What is Mercury Editor What is powering Mercury Editor Do you see any risk building on top of Paragraphs Does Mercury Editor cost anything Can companies hire Aten to add features What are some key features What makes Mercury Editor unique How stable is the content What happens if Paragraphs stops being supported How can the community help Resources Paragraphs Library Sub-module of Paragraphs Guests Justin Toupin - Hosts Nic Laflin - John Picozzi - Anna Mykhailova - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to have downloadable content on your website, only available to visitors who have filled out a webform? There’s a module for that. Module name/project name: Brief history How old: created in Sep 2010 by berliner, but the most recent releases are by james.williams of Computer Minds Versions available: 7.x-1.1 and 8.x-1.0-alpha2 versions available, the latter of which works with Drupal 9 and 10 Maintainership Actively maintained, the latest release was a week ago Security coverage Introductory blog linked on the project page Number of open issues: 18 open issues, none of which are bugs against the current branch Usage stats: 804 sites Module features and usage Having thought leadership content like white papers or reports gated behind a lead capture form is a common pattern for websites, and this module is designed to make that easy to set up You use the module by adding a handler to your webform, similar to triggering an email send In the configuration for your webform protected download handler you have options for how much verification you want for the download link, whether or not the link should expire after a period of time, and so on, in addition to uploading one or more files that can be downloaded by people who submit the webform The module provides tokens for the download URLs, so you can easily include them in a submission confirmation message or email
/episode/index/show/sacstudio/id/30392468
info_outline
Skills Upgrade #2
03/13/2024
Skills Upgrade #2
Welcome back to “Skills Upgrade” a Talking Drupal mini-series following the journey of a D7 developer learning D10. This is episode 2. Topics Review Chad's goals for the previous week DDEV Installation Docker for Mac vs other options IDE Setup Review Chad's questions Tasks for the upcoming week DDEV improve performance Install Drupal 10 Install drupal/core dependencies Configure and test phpcs Test phpstan Set up settings.local.php Install devel module Resources Hosts AmyJune Hineline - @volkswagenchick Guests Chad Hester - @chadkhest Mike Anello - @ultimike
/episode/index/show/sacstudio/id/30338243
info_outline
Talking Drupal #441 - CI for Drupal modules
03/11/2024
Talking Drupal #441 - CI for Drupal modules
Today we are talking about CI for Drupal modules, How it helps us build Drupal, and the ongoing work and improvements being made with guest Fran Garcia-Linares. We’ll also cover Require on Publish as our module of the week. For show notes visit: Topics What does CI mean How do Drupal modules use CI When we talk about Drupal CI are we talking about the website itself or the CI that supports contributors What tools does Drupal use for CI How do maintainers interact with CI What changes have happened in the last year Speed improvements Drupal CI vs Gitlab CI Process to convert When is Drupal CI being shut down What improvements are coming If someone has an issue where do they get help Resources Gitlab CI getting started WIP: | will generate We are pushing for a basic version to be fully live this week Guests Fran Garcia-Linares - Hosts Nic Laflin - Stephen Cross - Anna Mykhailova - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to have content fields that could be optional until a piece of content is published, or ready to be published? There’s a module for that. Module name/project name: Brief history How old: created in Apr 2018 by Mike Priscella (mpriscella), though recent releases are by Mark Dorison (markdorison) of Chromatic Versions available: 8.x-1.10 Maintainership Actively maintained, latest release just over a month ago Security coverage Test coverage Number of open issues: 18, 8 of which are bugs Usage stats: 3,001 sites Module features and usage With this module enabled, form to configure fields for you content types will have a new checkbox labeled “Required on Publish” Check this new box instead of the normal “Required field” checkbox to have the field only required if the content is being published or already published Useful for publishing workflows where you want content creators to be able to quickly get started on content, but ensure that fields will be filled in before publishing Useful for fields that will optimize the content for SEO, social sharing, search, and so on
/episode/index/show/sacstudio/id/30292718
info_outline
Skills Upgrade #1
03/06/2024
Skills Upgrade #1
This is the first episode of Skills Upgrade, a Talking Drupal mini-series following the journey of a Drupal 7 developer learning Drupal 10. Topics Chad and Mike's first meeting Chad's Background Chad's goals Tasks for the week Resources Hosts AmyJune Hineline - @volkswagenchick Guests Chad Hester - @chadkhest Mike Anello - @ultimike
/episode/index/show/sacstudio/id/30249518
info_outline
Talking Drupal #440 - The Cost Of Drupal
03/04/2024
Talking Drupal #440 - The Cost Of Drupal
Today we are talking about the cost around Drupal, common misconceptions, and how you get what you pay for with guest Jeff Robbins. We’ll also cover Module Instructions as our module of the week. For show notes visit: Topics What is new! How did you get started with Drupal Selling Drupal and the cost How much is the technology vs the complexity of projects that lend themselves to Drupal Value of Drupal What can the Drupal community do to make it more widely attractive Versionless Drupal marketing Resources Guests Jeff Robbins - Hosts Nic Laflin - John Picozzi - Ivan Stegic - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to have easy access to the README, CHANGELOG, and INSTALL files for the contrib modules on your Drupal site? There’s a module for that. Module name/project name: Brief history How old: created in Apr 2012 by Ales Rebec of Slovenia Versions available: 7.x-1.0 and 2.0.3 versions available, the latter of which works with Drupal 9 and 10 Maintainership Actively maintained? Security coverage Test coverage Number of open issues: 4 open issues, none of which are bugs against the 2.0.x branch Usage stats: 1,238 sites Maintainer(s): Current maintainer of the 2.0.x branch is Viktor Holovachek a.k.a Aston Victor of the Ukraine Drupal Community Module features and usage The usage of the module is pretty straightforward. Once the module is installed, anyone who has access to the Modules page on a Drupal site will see links on that page to any README, CHANGELOG, or INSTALL files that are available for the contrib modules in the codebase It also provides a cron job and drush command to generate the links, stored in the site state, so the application isn’t doing all the work of parsing through all your contrib modules looking for the files every time someone wants to load the Modules page It does override the template for the module page to add those links, so be aware that if you’re doing something very custom and have overridden that template in something like a custom admin theme, you may need to manually add some extra markup to see the links The module does also define new permissions, to manage the settings for these links, or to view them The settings really consist of specifying which of the links you want to appear, if the relevant files are available. By default it will show all three, but you could, for example, only have it show README links
/episode/index/show/sacstudio/id/30192563
info_outline
Talking Drupal #439 - Drupal 7 Long-Term Support
02/26/2024
Talking Drupal #439 - Drupal 7 Long-Term Support
Today we are talking about Drupal 7 Long Term Support, common security tips, and support services you can use with guests Greg Knaddison, Aaron Frost, and Dave Welch . We’ll also cover Storybook as our module of the week. For show notes visit: Topics Drupal 7 EoL Drupal will not stop working Security team perspective Security concerns Extened Community Support Long Term support HeroDevs Never ending support (NES) PHP Hosting Security Contrib Product advisor Colorado Digital Service Resources Guests Greg Knaddison - Aaron Frost - Dave Welch - Hosts Nic Laflin - John Picozzi - Ivan Stegic - MOTW Correspondent Mark Casias - Module name/project name: Brief description: The storybook module makes it easier to create a connection between Drupal and Storybook. It adds some Twig functionality so you can write Stories in Twig as opposed to YML or JSON or React Brief history How old: Less than a year Versions available: Alpha4 came out earlier this month Maintainership Actively maintained: Yes Number of open issues: 6 Test coverage: no Usage stats: N/A: for development only Maintainer(s): Mateu Aguiló Bosch (e0ipso) from Lullabot. Module features and usage Twig based stories Pulls in Sites theme and base css. So needs some updates to the development.services.yml Also means it is hard to publish a storybook. No need for SDC (but works well with it) Great instructions on the module page Way easier than previous integrations including cl_server. Not as opinionated as previous storybook integrations.
/episode/index/show/sacstudio/id/30081618
info_outline
Talking Drupal #438 - CKEditor 4 End of Life
02/19/2024
Talking Drupal #438 - CKEditor 4 End of Life
Today we are talking about CKEditor 4 End of Life, Moving to CKEditor 5, and what you can expect from CKEditor 5 now and in the future with guest Wim Leers. We’ll also cover CKEditor 5 Premium Features as our module of the week. For show notes visit: Topics CKEditor 4 end of life June 2023 Issues people might see if they are still on CKE4 Why a third party library and not roll our own Are there other alternatives Why did Drupal decide on CKEditor Drupal 10 moved to CKE5 How should people update Upgrade gotchas What's new in CKE5 What is on the roadmap regarding Drupal and CKE5 Is there going to be a CKE6 Native Web Components Does CKE in core affect Gutenberg Resources Native <ol type> and <ul type> UX Guests Wim Leers - Hosts Nic Laflin - John Picozzi - Ivan Stegic - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to offer your content creators advanced capabilities like real-time collaboration? There’s a module for that. Module name/project name: Brief history How old: created in Sep 2022 by Wiktor Walc, although recent releases are by Wojciech (vOYchekh) Kukowski, both of CKSource, the company behind CKEditor (Wiktor was on episode 372 ) Current version available: 1.2.5 which works with Drupal 9 and 10 Maintainership Actively maintained, latest release in the past month User Guide available, link is in the README Number of open issues: 16, 8 of which are bugs Usage stats: 159 sites Module features and usage To me, the most compelling features enabled by this module are the ones that turn your Drupal WYSIWYG into a robust collaboration tool, similar to what users may be used to in tools like Google Docs or Office 365 Real-time inline comments and changes from multiple users Track changes to suggest ways the content could be improved A history of changes made in the WYSIWYG, independent of the saved Drupal revisions Tag users with @ mentions to have them notified There’s also a Productivity Pack to enhance your WYSIWYG, and again some of these will be familiar to users that also use popular online collaboration tools A document outline that uses heading within your content to make navigation for moving quickly within the document Can generate a linked Table of Contents, which will automatically update as headings are added or changed Slash commands to execute actions Enhanced Paste from Office, to preserve complex incoming content structures, but with clean HTML as the result And more! Another premium feature is the ability to export to Word or PDF, and it can also restore full screen editing, a feature that didn’t make the transition from CKEditor 4 to 5, as part of the open source offering Finally, it also includes an AI Assistant that provides yet another interesting way to empower your content authors to leverage AI tools for their writing, including the ability to change the style, length, or tone of selected content using pre-made prompts, or generate content with custom queries. It also works with a number of different models out of the box, so you’re not restricted to ChatGPT The module is open source but using these premium features does require a subscription. The pricing will depend on the number of active users and which features you need, so if you’d like more information you can use the contact form at Also worth mentioning here that the team at Palantir has released a YouTube video of an open source collaborative editor that they’re calling Edit Together. It’s based on the ProseMirror rich-text editor framework, and the blog where they announced it mentioned a mid-2024 release, but that was back in Jul 2023 and I haven’t been able to find any updates since then
/episode/index/show/sacstudio/id/29986068
info_outline
Talking Drupal #437 - Drupal Mail & Easy Email
02/12/2024
Talking Drupal #437 - Drupal Mail & Easy Email
Today we are talking about sending email with Drupal, The Easy Email Module, and Drupal Mail Best Practices with guest Wayne Eaker. We’ll also cover Content Access by Path as our module of the week. For show notes visit: Topics Current state of email What happened to swiftmailer Do you still need the mailsystem module Why Symfony Mailer New dependency in core Difference between Symfony Mailer module and the Symfony Mailer Lite module How does the Easy email module make it easier What are the features of Easy Email Why not use PHP mail JMAP Do you have a roadmap How do we communicate the different module options Are you looking for help Resources Guests Wayne Eaker - Hosts Nic Laflin - John Picozzi - Ivan Stegic - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to grant users access to edit content based on the path alias of the content? There’s a module for that. Module name/project name: Brief history How old: created in the past month by Mark Conroy of Annertech, who is also a core subsystem maintainer for the Umami profile Versions available: a stable 1.0.0, created in the past week, that works with Drupal 10 Maintainership Actively maintained Doesn’t have a user guide yet, but the module’s README does include some FAQs, and the project page includes a link to a YouTube video that demonstrates how to install and use the module Number of open issues: 2, one of which is a bug Usage stats: 2 sites Module features and usage When installed, the module adds a new taxonomy vocabulary to your site. You can add terms to this vocabulary to define sections by path Users on the site will have a new field, where you can reference one or more of the section terms, granting the user access to edit any content with a path that matches the section The module also includes a submodule called Content Access by Path Admin Content. When installed, users who go to the admin/content listing will only see content listed that they can edit, based on either the sections they’ve been assigned, or their ownership of the content. Granting edit permissions to a “section” of the website is a common ask for site owners, so I’m excited that this module makes it easy to set that up. There are solutions in the contrib ecosystem based on taxonomy for access control, and back in episode #414 we talked about Access Policy as a very flexible way to grant edit permissions, but in my mind those all require more set-up, and may require an extra step during content creation to make sure the right access is available. Content Access by Path, along with something like the near-ubiquitous Pathauto, can make it pretty painless to set up and use section-specific edit permissions
/episode/index/show/sacstudio/id/29880453
info_outline
Talking Drupal #436 - Drupal & AI
02/05/2024
Talking Drupal #436 - Drupal & AI
Today we are talking about AI within Drupal, How AI can help, and Modules to use with guest Martin Anderson-Clutz. We’ll also cover Augmentor AI as our module of the week. For show notes visit: Topics Terminology IMF analysis Prompt engineering AI in Drupal Best way to try modules Best use of AI Other ways of integrating Resources Terminology NLP - work with text provided in a conversational format, understand the intended meaning, and provide a relevant response AI - A subset of CS that aims to develop systems that can mimic human response, or automating sophisticated behavior ML - subset of AI that aims to act without explicit guidance, by extrapolating from known data Deep learning - a subset of ML which uses artificial neural networks with representational learning to develop and leverage their own means of classification and other feature detection LLM - an AI algorithm that uses Deep Learning techniques to accomplish NLP tasks such as responding to unstructured user prompts. LLMs are trained on massive data sets, often gathered from the internet, but sometimes using more specialized data Typically the AI interfaces our listeners are already using are based on an LLM, but the nature and recency of the data they’ve been trained on can vary widely. Recently Mike Miles created Drupal Droid, a GPT model specifically trained for Drupal developers, and you can find a demo of that in our YouTube channel Guests Martin Anderson-Clutz - Hosts Nic Laflin - John Picozzi - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted a highly configurable way to integrate multiple AI services with your Drupal site? There’s a module for that. Brief history How old: created in Oct 2022 by murrayw of Morpht, though recent releases are by elonel Versions available: 1.1.2 which works with Drupal 9.5 and 10 Maintainership Actively maintained, most recent release was earlier this month Documentation available Number of open issues: 11, 3 of which are bugs Usage stats: 82 sites Module features and usage To use Augmentor AI, you need to define one or more “augmentor” configuration entities. An augmenter entity implements an augmentor type, which determines what AI service it can use, what configuration options it will have available, and so on. The augmentor will define one or more “messages” that provide structure to the prompt that will be passed to the AI model in order to generate a response. It can also be configured in a variety of ways, such as how much randomness to use, a maximum response length, and more. You can expose your augmentor(s) to content creators by adding a CKEditor button, or by adding fields to your site’s entity forms. For each field use can choose the widget to use, and how it should interact with any existing data in the field you want to target. For example, you could have it generate a summary from your body field and have it automatically populate the summary field. Or, you can have it suggest tags, but the specialized widget renders each suggestion as a clickable element that will add the tag to a core tag field. There are currently modules available to integrate Augmentor AI with ChatGPT, Google Cloud Vision, AWS AI, and more.
/episode/index/show/sacstudio/id/29772648
info_outline
Talking Drupal #435 - UI Suite initiative
01/29/2024
Talking Drupal #435 - UI Suite initiative
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 #435 UI Suite initiative. For show notes visit: Topics Elevator Pitch What do you mean by implementing design systems Is this to thel themers or site builders What is the expected outcome The project page says initiative, but this is not on the community initiatives page, is this an intitiative How does this implement public design systems Does this work with Single Directory Components Youtube Channel Getting involved Roadmap Use cases Do you see this going into core Resources Guests Pierre Dureau - Hosts Nic Laflin - John Picozzi - MOTW Correspondent Chris Wells - Brief description: Have you ever wanted simple but accessible dropdown navigation on your Drupal website? There’s a module for that. Module name/project name: Brief history How old: created in Nov 2022 by Jay Huskins of Redfin Solutions Versions available: 2.1.5 which works with Drupal 9 and 10 Maintainership Actively maintained, most recent commit is less than a month ago No Test coverage at this point Documentation - via Number of open issues: 2, neither of which are bugs Usage stats: 29 sites Maintainer(s): Jay Huskins, with support from Redfin Module features and usage Provides a new menu block that includes markup for disclosure buttons, that make it easier for users on assistive devices to navigate drop-down menus Activating the button will toggle the visibility of nested menu items Also includes ARIA labels to provide clarity around what the buttons do Worth mentioning that Drupal’s Olivero theme also includes disclosure buttons in its mWe’ll also cover Disclosure Menu as our module of the week. Guest Introenus, but there isn’t a straightforward way to pull the menus implemented there into your custom theme Also had a write-up in the Drupal advent calendar we talked about last month, so listeners can also check that out if they want more information
/episode/index/show/sacstudio/id/29664813
info_outline
Talking Drupal #434 - Talking Drupal
01/22/2024
Talking Drupal #434 - Talking Drupal
Today we are talking about te show itself. We’ll also cover Autosave Form as our module of the week. For show notes visit: Topics Update on the show Guest hosts MOTW Correspondent Newsletter Sponsorship Open Collective Content New content in 2024 Expanding team Resources Hosts Nic Laflin - John Picozzi - Stephen Cross - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted an autosave feature on your Drupal site’s forms, so content creators won’t lose their work if they accidentally close the window or lose power? There’s a module for that. Module name/project name: Brief history How old: created in Nov 2016 by Hristo Chonov of 1x Internet, who is also one of the organizers of Drupal Dev Days 2024 in Burgas Versions available: 8.x-1.4 which works with Drupal 9 and 10 Maintainership Actively maintained, most recent comment less than 3 months ago Test coverage 38 open issues, 20 of which are bugs Usage stats: 6,414 sites Module features and usage Works by automatically saving the content of the current form every 60 seconds, though the time period is configurable When a user opens a form, if an autosaved state exists for that form a dialog will be shown asking if they want to resume editing or discard any autosaved states Once a form is submitted, any saved states will be automatically deleted Notionally it should work with both content entity forms and config forms, but the majority of development and testing has been with entity forms in mind The project page also mentions an issue with nested entity reference inline forms, and has links to relevant Drupal core issues Worth noting that this module uses AJAX to save the states to the Drupal database, separate from entity revisions If you want a solution that save form states into the browser’s localStorage instead, you can check out the Save Form State module, using the jQuery Sisyphus plugin
/episode/index/show/sacstudio/id/29564023
info_outline
Talking Drupal #433 - Drupal 10 Masterclass
01/15/2024
Talking Drupal #433 - Drupal 10 Masterclass
Today we are talking about The Drupal 10 Masterclass book, How it’s different from other Drupal books, and why you need it on your bookshelf with author Adam Bergstein. We’ll also cover Dashboards as our module of the week. For show notes visit: Topics What is Drupal 10 Masterclass about Who is this book for Why did you write the book Can you explain the subtitle a bit How does this differ from other recent Drupal books Can you tell us about the authoring experience What can our listeners do to make this book a success Do you think you’ll write another book update Resources Guests Adam Bergstein - Hosts Nic Laflin - John Picozzi - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to add a dashboard to your Drupal site, to provide at-a-glance information to editors? There’s a module for that. Module name/project name: Brief history How old: created in Nov 2019 by Erik Seifert of 1x Internet Versions available: 2.0.8 and 2.1.6 versions available, the latter of which works with Drupal 9 and 10 Maintainership Actively maintained Test coverage 13 open issues, 5 of which are bugs on th 2.1.x branch Usage stats: 1,878 sites Module features and usage Allows for the creation of dashboards as exportable config entities, using Layout Builder to define the layout and placement of blocks It’s possible to create unique dashboards per user Out of the box you get a number of dashboards components to embed views, show recent errors, display content from RSS feeds, and more Dashboard components are defined using a new plugin base, so you can also create custom components to meet the unique needs of your site The dashboards are also optimized for use with Gin, which isn’t a surprise because 1x Internet is also a sponsor of the Gin admin theme. If your site is also using Gin then this module will provide a central dashboard that seamless integrate with the backend UI If you’re looking to implement dashboards on your site, you can also look at Moderation Dashboard and Homebox as other options. The latter of those is even more widely used, but mostly by D7 sites. That said, is one of those sites, so if your team is active on then the interface will be very familiar There is also a Dashboard Initiative that has been started by some core maintainers, so using one of these modules can set you up to weigh in on what the ideal state for the initiative might look like
/episode/index/show/sacstudio/id/29461853
info_outline
Talking Drupal #432 - Portals & Community Websites
01/08/2024
Talking Drupal #432 - Portals & Community Websites
Today we are talking about Portals, Community Websites, and Drupal with guest Ron Northcutt. We’ll also cover Private Message as our module of the week. For show notes visit: Topics Why are you passionate about community sites Different types of portals you’ve worked on Common features Why is Drupal a great fit Why would you choose Drupal over a Saas or PaaS What is unique about each community How important is UX What common content models do you see Most important tip Resources Lego sorting Guests Ron Northcutt - Hosts Nic Laflin - John Picozzi - Martin Anderson-Clutz - MOTW Correspondent Martin Anderson-Clutz - Module name/project name: Brief description: Have you ever wanted to include a full-fledged, ajaxified system for private messages between users on your Drupal site? There’s a module for that Brief history How old: created in Apr 2017 by Jaypan, a fellow Canadian, but the most recent release is by Lucas Hedding, who hails from Nicaragua, and is a prolific contrib maintainer in his own right Versions available: 8.x-2.0-beta18 and 3.0.0 versions available, the latter of which works with D9 and 10 Maintainership Actively maintained, latest release in Oct 2023 Number of open issues: 130, 4 of which are bugs on the 3.0.x branch Test coverage Documentation: does have a handbook, though the pages seem to date back to 2017, so hopefully the installation and setup hasn’t changed too much since then Usage stats: Almost 2,000 sites Maintainer(s): Module features and usage With the Private Message module installed, users on your site can have permissions-based access to send private messages to each other Messages and threads are fieldable entities, and in general the module is made to be highly configurable, so you can tailor it to meet your site’s specific needs That includes the frequency for asynchronous operations like loading new messages, which can be done without a full page refresh. There’s also a companion module to use Node.js for the asynchronous operations, to reduce load on both the browser and the server That also allows for browser push notifications, or you can use the integration with the Message module to send notifications via email, SMS, and more, including aggregating the notifications into digests Companies often have a dedicated messaging solution like Slack or Teams that they use internally, but this can be a good solution for an extranet or vendor portal, where the users may represent a variety of organizations It’s also worth mentioning that both Private Message and Message are included in the Open Social distribution, so that could be a way to try out a preconfigured setup
/episode/index/show/sacstudio/id/29357348
info_outline
Talking Drupal #431 - Live at NEDCamp
01/01/2024
Talking Drupal #431 - Live at NEDCamp
Talking Drupal #431 - Live at NEDCamp On today’s show we share interviews we conducted with sponsors, speakers and attendees at New England Drupal Camp in November. Seventeen in all. For show notes visit: Topics Interviews with: Michael Miles Nick Silverman Matt O’Bryant Ethan Aho Mike Anello Patrick Anderson Brian Perry Aubrey Sambor Brigitte Ayerves Valderas Chris Wells Richard Hood Chris Amato Ivan Stegic Philip Frilling Rod Martin Jacob Rockowitz Whitney Hess Hosts Nic Laflin - John Picozzi - Martin Anderson-Clutz - Stephen Cross -
/episode/index/show/sacstudio/id/29294373
info_outline
Talking Drupal #430 - Drupal in 2024
12/25/2023
Talking Drupal #430 - Drupal in 2024
Today we are talking about Drupal in 2024, What we are looking forward to with Drupal 11, and the Drupal Advent Calendar with James Shields. We’ll also cover Drupal 10.2 as our module of the week. For show notes visit: Topics Advent calendar Selection process Popularity Next year Drupal features in 2024 Drupal 11 Project browser Recipes / Starter templates Automated updates Gitlab Smaller core Predictions Resources Guests James Shields - Hosts Nic Laflin - John Picozzi - Martin Anderson-Clutz - Ron Northcutt - MOTW Correspondent Martin Anderson-Clutz - Improvements include Technology Updates PHP 8.3 Includes capabilities that previously required contrib projects File name sanitization A search filter on the permissions page End Users Performance enhancements and improved caching APIs Support for PHP Fibers to accelerate handling things like asynchronous remote calls Content Creators Revision UI for media Wider editing area in Claro on large screens The return of “Show blocks” in CKEditor 5, missing until now Site Builders Field creation UI has a new, more visual interface, and an updated workflow Block visibility can now be based on the HTTP response status, for example to make it visible or invisible on 404 or 403 responses Tour module is no longer enabled by default for the Standard and Umami profiles New “negated regular expression” operator for views filters (string/integer), to exclude results matching a provided pattern Site Owners Announcements Feed is now stable and included in the Standard profile The functionality in the experimental Help Topics module has been merged into the main Help module, so the Help Topics module is now deprecated New permission: Use help pages Developers A fairly sizable change is a move to use native PHP attributes instead of doctrine annotations to declare metadata for plugin classes. Work is already underway to get core code converted, and an issue has been opened to have rector do this conversion for contrib projects A new DeprecationHelper::backwardsCompatibleCall() method to help write Drupal extensions that support multiple versions of core A PerformanceTestBase is now in core, to support automated testing of performance metrics A new #config_target property in ConfigFormBase to simplify creating configuration forms Symfony mailer is now a composer dependency of core New decimal primitive data type Expanded configuration validation, Symfony autowiring support, HTML5 output from the HTML utility class is now default, and more In addition to these and the features highlighted in the official announcement, there are three pages of change records for the 10.2.0 release, and we’ll include a link to those in the show notes
/episode/index/show/sacstudio/id/29203538
info_outline
Talking Drupal #429 - The Drupal Association Board
12/18/2023
Talking Drupal #429 - The Drupal Association Board
Today we are talking about the Drupal Association Board, Its Strategic Initiatives, and The Future of Drupal with guest Baddý Sonja Breidert. We’ll also cover Advent Calendar as our module of the week. For show notes visit: Topics Former member of Board of Drupal Association What does the board do How does the board operate Are there term limits How does someone get on the board Strategic Initiatives Innovation Marketing Fundraising Now that you are no longer on the board what’s next CEO of 1xInternet How did you get started with Drupal Resources Guests Baddý Sonja Breidert - Hosts Nic Laflin - John Picozzi - Ron Northcutt - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted to reveal content a day-at-a-time, in an interactive advent calendar? There’s a module for that. Brief history How old: created less than month ago in Nov 2023 by listener James Shields, whose username is lostcarpark Versions available: 1.0.0-beta3 release, which works with Drupal 10.1 and newer Maintainership Actively maintained, latest release made earlier today Test coverage Number of open issues: 5, 3 of which are bugs, but all but one are now marked as fixed Usage stats: 6 sites Module features and usage James actually created a Drupal advent calendar a year ago, on his website . The idea was to showcase a new module every day, similar to advent calendars that provide a chocolate or a toy each day, hidden behind a cardboard door James’ initial version displayed the content in a traditional calendar format, using the Calendar View module. What he really wanted, however, was a way to present the content using clickable doors to reveal new entries The new Advent Calendar module provides a new view display, so you can configure what content type or other filters to apply, and use fields to specify what information to show The module uses a Single Directory Component for display, hence the 10.1 requirement There is also an “Advent Calendar Quickstart” submodule that sets up everything for you, including a content type, view, and 24 nodes to populate it for you Each site visitor gets to “open” the door to new content as it is published each day. For authenticated users, which doors have been opened is stored as user data, and for anonymous users it’s kept in local storage via Javascript In addition to this being an interesting module in its own right, the advent calendar James has created this year is also a community effort. He’s managed to enlist a wide variety of contributors to write about modules or aspects of the Drupal community that they’re passionate about, so it’s a great way to up your Drupal game. You can open a new door yourself every day at
/episode/index/show/sacstudio/id/29101963
info_outline
Talking Drupal #428 - Digital Nomads
12/11/2023
Talking Drupal #428 - Digital Nomads
Today we are talking about Being a Digital Nomad, common nomadic hurdles, and realized work/life benefits with guests Chad Hester and Shelley Goetz. We’ll also cover Flag as our module of the week. For show notes visit: Topics What does digital nomad mean? When did you first start to think about this What was your physical journey like What do you do for work What is the biggest win How did this affect family dynamics What was the biggest gotcha Tips and tricks Long term plan Why not Europe or South America Question from Stephen: As a Patriots fan what are your thoughts on the 2023 season, is Bill Belichick staying or going Resources Guests Shelley Goetz - Chad Hester - Hosts Nic Laflin - John Picozzi - Ron Northcutt - MOTW Correspondent Martin Anderson-Clutz - Brief description: Have you ever wanted a simple way to let users bookmark, like, or even flag as inappropriate content on your Drupal site? There’s a module for that. Brief history How old: originally created in 2008 by quicksketch, who listeners may remember as the original author of Webform Versions available: 7.x-3.9 and 8.x-4.0-beta4 Maintainership Actively maintained, but no commits in the last year Has a handbook, but it’s in the old documentation system Number of open issues: 675, 132 of which are bugs against the 8.x branch Usage stats: Over 38,000 sites Maintainer(s): Recent releases by Berdir, who we recently mentioned as the maintainer of TMGMT in episode #426 Module features and usage The Flag module provides a flexible system that can reference any kind of entity, so content, users, comments and so on When you create a flag type, you set the target entity type, and then you can optionally choose specific bundles that can be flagged Flags can be per-user, like bookmarks, or global, meaning that they’re the same for everyone Links to Flag or Unflag content or other entities can be displayed in a variety of ways: in a field, in entity links, as contextual links, and more By default flag links are rendered as AJAX links that flag or unflag content without reloading the page, but you can configure them to display in various ways, including a links to a field entry form, because flag types are also fieldable There is extensive views integration, so it’s easy to list flagged content, for example to show a user content they’ve flagged as their favorites. The ecosystem of modules around Flag includes one called Views Flag Refresh that can trigger a view to automatically update via AJAX as soon as any content in that view is flagged or unflagged Not long ago I used Flag as part of a lightweight task management system within Drupal, and anyone wanting to try that out can install the Tasks module
/episode/index/show/sacstudio/id/28991668