Planet Drupal
ImageX: Iconic Touch: Benefits of Icons and 10 Drupal Modules for Adding Icons to Your Website’s Pages
Authored by Nadiia Nykolaichuk.
The Drop Times: Lupus Decoupled Drupal: Bridging Drupal’s Backend Strength with Frontend Freedom
Drupal life hack's: Invoked Controllers as a Service
Drupal life hack's: Practical Use Cases of Tagged Services in Drupal
Talking Drupal: 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: www.talkingDrupal.com/468
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
Jamie Abrahams - freelygive.io yautja_cetanu
HostsNic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Martin Anderson-Clutz - mandclu.com mandclu
MOTW CorrespondentMartin Anderson-Clutz - mandclu.com mandclu
- 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
The Drop Times: Drupal CMS Expected by 15 Jan, XB Further Away in 2025: A Quick and Dirty Summary of Driesnote
The Drop Times: Winners of the 2024 Women in Drupal Awards Announced at DrupalCon Barcelona
Specbee: A practical guide to Personalization with user personas (sample campaigns included!)
MidCamp - Midwest Drupal Camp: Join us to help plan MidCamp 2025
Please join us for our first MidCamp 2025 planning meeting!
Why come?
Because we value giving back to the Drupal community and this is one way you can do that.
What should I expect?
That's mostly up to you -- there are a lot of roles and skillsets needed to put on a conference like MidCamp. Regardless of what you do day-to-day, you can find a fit. Everything from
What if I don't live in Chicago?
That's OK! The planning of things is done remotely. A good portion of the planning team doesn't live in or near Chicago. People join because they care about Drupal and want to help make MidCamp happen.
How to join?
We'll share the Zoom link via Meetup. We also welcome you to join the #midcamp-organizers channel on our Slack team: https://mid.camp/slack
mark.ie: Need to hire Drupal developers? I can help you
Today I launched a new service, matching available Drupal developers with recruiters and agencies that are hiring.
The Drop Times: Government Website Usability: Insights from DrupalCon Portland
Event Organizers: Connect with Event Organizers at DrupalCon Barcelona '24
There are many opportunities to connect with fellow event organizers throughout the week at DrupalCon Barcelona 2024. The Event Organizer Working Group also has an open call for board nominations until October 15. Join us and help shape the future of Drupal Community Events.
All WeekLocal Associations Booth
Expo Hall
Visit with the Network of European Drupal Associations (NEDA) and other event organizers in the Expo Hall. Be sure to bring some of your stickers and swag to share with the community!
- Tuesday, September 24, 2024 - 17:30 to 18:15
- Wednesday, September 25, 2024 - 08:45 to 09:30
- Wednesday, September 25, 2024 - 12:30 to 13:15
- Thursday, September 26, 2024 - 15:15 to 16:00
Open Meeting via Slack, second Tuesday of each month!
Tuesday, October 8 starting at 16:00 UTC / 12:00 pm ET.
The meeting will stay open for 24 hours to allow participation across all time zones.
- Initiative Updates
- Camp Reports
- DrupalCon Report
Join us to discuss these and other topics in the #event-organizers channel.
If there is something you want to share or discuss related to your camp, meetup, or other events organizer topics either leave a message in the Slack channel or comment on the Event Organizer issue queue.
Horizontal Digital Blog: Drupal as a prototyping tool to rapidly build a proof of concept
Golems GABB: Drupal Automation with CI/CD Pipelines
Welcome to the magical world of Drupal development! It can be not only innovative but also efficient by employing continuous integration and continuous delivery (CI/CD) pipelines.
CI/CD Pipelines are like magical tools for automating the integration, testing, and delivery of Drupal projects, thus making it easier for developers to concentrate on creating flawless digital experiences.
Let's take a look at how CI/CD Pipelines work with Drupal. Let’s learn how they maintain consistency in everything and reduce risks during development. This guide will give you everything you need to know about Drupal Automation with CI/CD Pipelines, whether you are a seasoned Drupal developer or a marketer who wishes to improve digital projects.
Wim Leers: XB week 19: flickering cliffhanger
Last week ended with 12 remaining issues. Did we make it? :D
Major loose endsLike last week, I’m starting with the major loose ends.
Thanks to the impressive work by Dang “sea2709” Tran and the reviews and guidance from Jesse “jessebaker” Baker as well as many others, Experience Builder (XB) now has a robust solution for previewing components when hovering them in the “insert” menu. It required both server-side changes (global theme asset libraries were missing previously) and client-side changes (shadow DOM didn’t offer sufficient isolation; we needed <iframe>).
The result is so nice that I almost spat out my coffee because of a deep, unavoidable “OOOOOHHHHHHHHHHHHHHHHHHHHHHHH!!!!!” when reviewing it! :D
Component previews prior to placing them on the canvas now provides accurate previews. (You can tell that I could not resist the temptation of hovering over Shoe badge multiple time :D)
Issue #3469856, image by me.
Once a component is placed, the preview canvas’ <iframe> must be updated: an updated HTML response is fetched and rendered. But every update to the component tree must result in an update to the preview. That means any typing the Content Creator does in the component props form results in the entire preview 1 getting re-rendered, which easily results in flickering. Jesse devised a very clever solution, inspired by … computer games!
He introduced an IframeSwapper that keeps two <iframe>s active, but with only one visible. Once the preview has updated (i.e. the invisible <iframe> has finished loading), he swaps it with the visible <iframe> 2 — eliminating all flicker:
Zero flickering when updating previews thanks to double buffering/<iframe> swapping.
Issue #3469677, image by Jesse.
Updating the props of a Single-Directory Component (SDC) can be done by clicking the placed component in the preview, and the “component props form” will appear on the right side. This generally works well, but there are still lots of rough edges. The roughest of edges has now been fixed by Atul, Dave “longwave” Long, Travis “traviscarden” Carden and Bálint “balintbrews” Kléri (with Ben “bnjmnm” Mullins shepherding that issue after its many twists and turns to clarity): the server side now correctly handles SDC props that are required, the client side now uses browsers’ native reportValidity functionality. The result is that premature preview updates no longer occur. 3
While placing components and inspecting the component tree you’re creating, it can be handy to quickly get an overview. Browsers have ⌘+/⌘- (Ctrl+/Ctrl-) keyboard shortcuts to zoom in/out. But for XB, you typically want to zoom in/out only the preview, not the entire UI. So thanks to Jesse and Atul “soaratul” Dubey, XB now allows zooming in/out just the preview by pressing + or -. 4
Another rough edge in that component props form was fixed: some field widgets are highly complex, and need to load CSS/JS to work correctly. An example is the most complex widget in Drupal core: the media library widget, which we the recently added support for. Our naïve initial approach failed whenever switching between different components that each used the media library widget: the same JS was loaded again, resulting in JS errors! Fortunately, Drupal already solved this problem: Ben added ajaxPageState support — solved!
With all of those UI improvements in, parts of XB are starting to feel solid!
Better defaultsTo make it easier for future (and existing) contributors to start contributing to/playing with XB, we changed two important defaults:
- Ben made XB depend on the Media Library module, because it offers a superior UX for (re)using images
- Deepak “deepakkm” Mishra, Ted “tedbow” Bowman and I updated the default XB config to start with an empty XB canvas
With only one 0.1 priority left (#3469672: The XB annotations and labels should not change size when zooming), it became possible to help land non-priority fixes, such as:
- Thanks to fazilitehreem and Utkarsh “utkarsh_33”, the “duplicate” action on component instances now works as expected, rather than resulting in an error
- Jesse and Gaurav “gauravvvv” made the canvas size dynamic based on browser viewport size, improving what we landed 4 weeks earlier
- Abhisek “abhisekmazumdar” Mazumdar, Dave and I updated the XB field type to no longer store SDC plugin IDs, but Component config entity IDs (a small but necessary first step towards supporting multiple component types — starting with Blocks)
With 0.1 essentially done, it’s important to prepare for what’s next, and set us up for success and facilitate wider contribution:
- James “q0rban” Sansbury, abhisekmazumdar and Alex “effulgentsia” Bronstein made MR reviews much easier and faster by adding Tugboat integration!
- Dave ensured that OpenAPI validation errors now result in a JSON response, which unblocks #3470321: Surface API error response in the UI — for better bug reports and faster DX — the issue title says it all!
- Together with Feliksas “f.mazeikis” Mazeikis and Dave, I documented the current component discovery + SDC criteria + `Component config entity, and described the status quo in an ADR. Because the status quo is now documented in depth, we’ll be able to make it crystal clear in #3454519: [META] Support component types other than SDC and child issues how we aim to evolve XB to supporting multiple component types, reducing the time to get to consensus on how to achieve that.
Can’t wait to see what product lead Lauri “lauriii” Timmanee prioritizes for milestone 0.2! :D (Spoiler: supporting blocks and actually saving what you see in the XB UI will definitely be in there!)
Week 19 was September 16–22, 2024.
-
This will improve later, once we do #3462360: Partial preview updates: update preview of modified component only, not entire component tree, although later the previously mentioned abstract syntax tree (AST) would make that unnecessary (in most cases). ↩︎
-
In lower-level contexts this is called double buffering — and for example Microsoft .NET forms documentation has a great explanation. ↩︎
-
This is not yet completely solved — next in line is #3474732: Premature prop validation can break the UI. The value entered by the user must first meet the required shape that the SDC’s metadata conveys it needs (using JSON schema in its *.component.yml file). ↩︎
-
Interesting follow-up issues for this: #3475838: Consider a11y impact and/or competitor analysis for preventing browser zoom and #3475749: Pinch gesture zooming sometimes invokes OS zoom behavior. ↩︎
The Drop Times: DrupalCon Europe Beckons You to Barcelona
Dear Readers,
The much anticipated DrupalCon Europe for 2024 is all set to begin in Barcelona tomorrow. Hosted at the stunning CCIB (Barcelona International Convention Center), this year’s event, running until 27 September, promises to be one of the most memorable gatherings yet. DrupalCon is not just about code but about building connections, exchanging ideas, and forging the future of open-source technology. With four days packed full of sessions, workshops, and networking opportunities, here are some highlights you simply can't afford to miss.
Dries Buytaert, the founder of Drupal, will deliver his landmark 40th Driesnote, where he will provide the much-anticipated "State of Drupal" update. Most importantly, he will dive into the progress of the Drupal CMS (aka Starshot), which first launched at DrupalCon Portland in 2024. Attendees will get a sneak peek into Drupal CMS' upcoming product launch and a demo of what's to come. If you're curious about how to get involved in shaping the future of Drupal, this keynote is a must-attend.
2. Women in Drupal AwardCelebrating outstanding contributions to the Drupal community, the Women in Drupal Award, in partnership with JAKALA, will recognize individuals who have made significant impacts through their projects, businesses, or community engagement. Whether they are stellar developers or successful entrepreneurs, this award shines a light on those advancing the Drupal ecosystem.
3. Local Association StandFor the first time, fifteen European local Drupal associations will come together to host a Local Association Stand. This stand will be a gathering point where regional leaders, event organizers, and the community can exchange ideas and discuss challenges and opportunities specific to their areas. It’s the perfect spot to foster new connections and strengthen collaborations within the broader European Drupal community.
The event will also feature the Drupal Association Board Election Results, providing insight into the leadership shaping the future of the project. And for those looking to network with Drupal business leaders, the Drupal Business Dinner 2024 promises an elegant evening at the 1881 per SAGARDI, offering Mediterranean cuisine with a view of Barcelona's iconic port.
With that let's move on to important stories from last week.
On September 23, 2024, LagoonCon Barcelona will host developers, product managers, and technology leaders for a free event focused on improving the management of Drupal websites through the open-source platform, Lagoon. The event at the Hotel Barcelona Princess offers a deep dive into Lagoon's capabilities and its role in simplifying application delivery for Drupal and other open-source frameworks.
Local Associations, Camps, and initiatives come together during DrupalCon Barcelona 2024 for a joint Round table. This year's Round Table for Local Drupal Associations is a collaboration between the Network of European Drupal Associations (NEDA) the Local Associations Initiatives Project and the Drupal Association. Written by Esmeralda Braad-Tijhoff.
Lenny Moskalyk has published the Drupal CMS report as of mid-September 2024, providing an insightful overview of the latest developments within the Drupal community. This month, several initiatives have been seen highlighting the collective efforts to enhance the platform.
Volunteers can sign up for various roles, including marketing, registration, and session monitoring, to ensure the success of DrupalCamp Pune 2024. Selected volunteers will be rewarded with a 30% discount on their event tickets and a certificate recognizing their contributions.
The DropTimes has curated a list of key Drupal events happening this week, from September 23 to 29, 2024. Read more here.
The Drupalisms Working Group has launched a quiz to improve and open up Drupal's terminology, inviting the community to participate before the October 31st, 2024 deadline. With 20 questions focusing on various aspects of the Drupal platform, including user interface and functionality, the quiz allows developers and users alike to contribute to the evolution of Drupal's language.
The FOSSEPS and OSOR projects are conducting a survey to assess interest in forming a European Open Source User Group for public administrations. The initiative seeks input from IT professionals within EU public bodies on the current use and challenges of Free and Open Source Software (FOSS).
Mark Conroy has expanded a proof-of-concept module into a fully functional live preview module for LocalGov Drupal Microsites. This development aims to enhance the user experience by allowing real-time previews of design changes within the platform, making it easier for councils to manage and update their microsites.
Jay Callicott has announced a significant update to DrupalX, transforming it into an AI-powered platform. By integrating AI functionalities, DrupalX aims to become the most advanced Drupal starter on the market.
The Drupal Decoupled Project is set to receive several major updates, as announced by Jesus Manuel Olivas, Co-Founder and CEO of Octahedroid and Composabase. As a final update, Backdrop CMS has announced the release of version 1.29.0, bringing a host of new features, UX improvements, and essential bug fixes.
We acknowledge that there are more stories to share. However, due to selection constraints, we must pause further exploration for now.
To get timely updates, follow us on LinkedIn, Twitter and Facebook. You can also, join us on Drupal Slack at #thedroptimes.
Thank you,
Sincerely
Alka Elizabeth
Sub-editor, The DropTimes.
Wim Leers: XB week 18: DriesNote deadline
With DrupalCon Barcelona 2024 only two weeks later, the focus this week is on tying up loose ends. That already started last week, but of the milestone 0.1.0 priorities that product lead Lauri identified, 15 are still left after last week: we need to fix 1.5/day to get to zero.
Major loose endsI titled last week’s update drag and drop party because there were so many improvements on that front. But one critical piece was still missing: it was painful to drag components into locations that are difficult to visualize: top and bottom of slots, even more so for adjacent slots. Bálint “balintbrews” Kléri brought one additional improvement:
Your browser does not support playing videos. You can download it instead.
Drag a component and drop it into truly any location.Issue #3471169, video by Bálint.
Beautiful isn’t it?! I couldn’t say it better than Jesse “jessebaker” Baker in his review: This is such a marked improvement and honestly it’s already better than I dared hope it would be, especially this early. Excellent work.
Ben “bnjmnm” Mullins finished the highest-impact loose end: he ensured all single-value field types work correctly.
This week, Ben finally had the chance to introduce sorely needed end-to-end (E2E) test coverage, which ensures that a whole range of field widgets work as expected not only in the original field widget sense (focus on server side), but also the live update sense (focus on client side): the Redux integration must be aware of when the values the user is typing is valid. More work remains to be done there, but the introduction of the prop-types.cy.js E2E Cypress test marks a significant milestone! 1 Next steps will be tracked in the corresponding meta/plan issue.
Lots of usability bugs squashedJesse coordinated the squashing of many usability bugs — not really broken things, but things that should happen to not have a clunky UX:
- Omkar “omkar-pd” Deshpande and Jesse: #3470933: Close the insert panel when clicking outside the panel — why force the users to do extra clicking when we can close something when user actions indicate a UI piece is not currently necessary?
- Amine “boulaffasae” Boulaffass and Bálint: #3472634: Component List doesn’t scroll — when installing additional Single Directory Components (SDCs), the list can grow beyond the viewport height and this fix allows accessing those :D
- Gaurav “gauravvvv”, Shyam “shyam_bhatt” Bhatt and Bálint: #3472488: The preview container height will overflow outside the canvas — a fixed canvas size prevented building tall pages!
- Utkarsh “utkarsh_33” and fazilitehreem expanded upon the right-click support they added last week: #3472053: Show context menu on right clicking components in the Layers panel — because what is possible on the canvas/in the preview, should also be possible in the “layers” panel
Missed a prior week? See all posts tagged Experience Builder.
Goal: make it possible to follow high-level progress by reading ~5 minutes/week. I hope this empowers more people to contribute when their unique skills can best be put to use!
For more detail, join the #experience-builder Slack channel. Check out the pinned items at the top!
Back-end improvements- Feliksas “f.mazeikis” Mazeikis landed the most important server-side change of the week: surfacing the reason for an SDC not being available in XB. This is obviously critical information for SDC developers. More needs to happen in this space, but this in particular is a huge productivity boost for the people working on the Starshot Demo Design System, because that too will be featured in the Driesnote at DrupalCon Barcelona :)
Issue #3469684, image by me.
- Ted “tedbow” Bowman and Dave “longwave” Long made the most critical response a CacheableJsonResponse instead of a JsonResponse, which means it can now be served by Drupal’s Dynamic Page Cache while guaranteeing up-to-date information. Similar to the “component list scroll” bug fix above, this was only perceptible with many SDCs installed (and Xdebug enabled), but it still is an important leap forward. 2
- Deepak “deepakkm” Mishra, Ted and I added support for propless SDCs — a silly oversight :D
- Finally, I clarified the “shape matching bits” by improving the docs, code organization (it dates back to the earliest XB days!), making its location and experimental nature more explicit in the CODEOWNERS file, and introducing a Shape matching issue queue component. 3
Unfortunately, during the week, Lauri prioritized several more issues, so we ended this week with … 12 — only 3 fewer than we started with :/ That means we’ll need to land >2/day in the next week to get to zero. Fortunately, most of those twelve are already pretty far along.
Who of you have ever been able to chill towards a deadline, and how did you do that? :D
Week 18 was September 9–15, 2024.
-
It is not comprehensive yet, but then again, nor does Drupal core have field types that can populate all of the possible prop shapes that Single Directory Components’ JSON schema are able to express. Next steps here are growing the test coverage to reach full confidence for the prop shapes that we do have field types + widgets for. ↩︎
-
And as Ben pointed out: this is very cacheable by design, so it’s not a case of premature optimization. ↩︎
-
I think it’d be good to have each area in the CODEOWNERS file correspond to an issue queue component. Thoughts? Let me know! ↩︎
DrupalEasy: DrupalEasy Podcast S17E3 - Ryan Price - Modernizing a Legacy Integration
We talk with Ryan Price from ICF about a recent project he worked on involving updating a legacy Drupal 7 install with modern Drupal 10 techniques.
URLs mentionedPacific Northwest Drupal Summit - October 11-13, 2024.
Professional module development - 15 weeks, 90 hours, live, online course.
Drupal Career Online - 12 weeks, 77 hours, live online, beginner-focused course.
We're using the machine-driven Amazon Transcribe service to provide an audio transcript of this episode.
SubscribeSubscribe to our podcast on iTunes, iHeart, Amazon, YouTube, or Spotify.
If you'd like to leave us a voicemail, call 321-396-2340. Please keep in mind that we might play your voicemail during one of our future podcasts. Feel free to call in with suggestions, rants, questions, or corrections. If you'd rather just send us an email, please use our contact page.
CreditsPodcast edited by Amelia Anello.
The Drop Times: Heading to Barcelona? Stop by LagoonCon Barcelona 2024!
mandclu: Barcelona Update: Starshot Events Recipe Track
With DrupalCon Barcelona fast approaching I thought it was time to share some more updates on the progress of the events recipe for Drupal CMS a.k.a. the Starshot initiative.
mandclu Sep 20, 2024 - 9:27am Tags