Planet Drupal
ImageX: Save Time, Maintain Consistency: Bulk-Update Drupal Content Instantly with the Field Defaults Module
Authored by Nadiia Nykolaichuk and Bryan Sharpe.
Smart approaches and tools are shaping the future of content management and website administration, leaving behind the days of tedious manual work. With a click of a button, you can instantly make consistent changes to multiple pages, almost as if wielding a magical wand.
PreviousNext: Starshot and Experience Builder
Last week, I attended DrupalCon Portland 2024, and, like many others, I was swept up in the excitement of the Starshot announcement. The PreviousNext team is ready to support this initiative, focusing our efforts on the Experience Builder project for maximum impact.
by kim.pepper / 16 May 2024StarshotStarshot is a new concept that accelerates Drupal innovation by providing recipes or templates of best-practice features and configurations when creating a new Drupal site. It’s a separate product built on top of Drupal Core and has the working title “Drupal CMS”.
For years, we’ve pondered the question, “Is Drupal a product or a framework?” The answer has always been “both.” However, we can now clearly distinguish between the two.
We’re fully committed to the vision of bringing Drupal to new audiences by offering a straightforward way to create new Drupal sites using best-practice contributed modules and configuration. Combining Recipes with Project Browser, Automated Updates, and the new Experience Builder initiative will demonstrate Drupal’s full potential for product evaluators.
Releases for Drupal CMS will not be tied to Drupal Core, allowing it to innovate rapidly and evolve as contributed module updates and new best practices emerge. Drupal Core can simultaneously focus on maintaining quality and stability.
Experience BuilderExperience Builder is an ambitious initiative to reinvent how we build pages (experiences) in Drupal. Core committer Lauri Eskola undertook an extensive review of our own tools (Layout Builder, Paragraphs) and research into competing products to find a model that would best combine innovative user interface design with Drupal’s strengths in structured data.
Our team is in a strong and unique position to meaningfully contribute to the Experience Builder initiative. We have successfully delivered the Pitchburgh competition winner Decoupled Layout Builder prototype. We also provided numerous contributions to Layout Builder in core and contributed modules.
Experience Builder will become our primary contribution focus for the short and medium term, so watch this space.
We hope you are as excited as we are about the future of Drupal. We’re just getting started!
Five Jars: Drupal Starshot: Reflections on DrupalCon Portland 2024
Five Jars: The Driesnote 2024 at DrupalCon Portland
Electric Citizen: Big Changes Ahead for Drupal
Our team recently attended (and once again sponsored!) the DrupalCon North America conference in Portland, OR.
This annual conference brings together the Drupal community, from the agencies who provide Drupal services to the industry clients who rely on it, along with contributors and open-source enthusiasts from around the world.
From my perspective on the exhibitors floor, working the booth, I don’t see as many of the great individual sessions that I have in past years. But I did leave with some important takeaways from this year’s event, especially around some upcoming changes for Drupal.
The Drop Times: Policy-Based Access in Core by Kristiaan Van den Enyde
Tag1 Consulting: Migrating Your Data from Drupal 7 to Drupal 10 using the Migrate API: Avoiding entity ID conflicts
By default, the Drupal 7 to 10 upgrade path preserves entity IDs. In the previous article, we explained that this would cause problems if content or configuration already exists in the destination Drupal 10 site. Let’s explore this further and evaluate ways to work around the issue.
Read more mauricio Wed, 05/15/2024 - 14:15Debug Academy: How to create custom sorting logic for Drupal views
Drupal websites sometimes have a need to implement more advanced sorting logic than what's available out of the box.
One of our career-changing Drupal training course alumni asked me how to handle this today. After answering them, I decided to copy the answer into a blogpost.
The views module creates dynamic queries for us based on the configuration options we select. The UI essentially allows us to use any field for sorting in ascending (smallest to largest) or descending (largest to smallest) order. This is extremely helpful and covers the vast majority of use cases - date sorting, alphabetical sorting, and numeric sorting are all supported - but we sometimes run into limitations when we have more complicated requirements.
Some examples of these scenarios include:
ashrafabed Wed, 05/15/2024The Accidental Coder: AI Translation - Not Ready for Prime Time?
While working on the latest (D10) version of my blog, I wanted to add multilingual functionality.
Investigation suggested that in order to capture the largest language groups in the U.S./Canada a site should offer:
Aten Design Group: Drupal API Development Simplified with APITools Module
One of Drupal’s most important features is its ability to integrate seamlessly with other systems (CRMs, eCommerce Platforms, Event Management Platforms, etc). Drupal can expose data using modules like JSON:API, which are integral parts of Drupal Core. Moreover, it can also consume data and make HTTP requests using standard HTTP methods. This post will focus primarily on the latter—highlighting how a module named APITools simplifies the process for Drupal developers.
BackgroundIn researching the history of HTTP request handling in Drupal, I discovered that drupal_http_request has been around since version 5.x. It was described as:
"A flexible and powerful HTTP client implementation that correctly handles GET, POST, PUT, or any other HTTP requests, including handling redirects."
Throughout Drupal versions 6.x and 7.x, drupal_http_request continued to be a go-to option, seemingly simpler than using PHP's CURL function directly—a tool that many developers find intricate. With the release of Drupal 8, Drupal::httpClient replaced drupal_http_request, granting developers access to Guzzle—the de facto HTTP client in the PHP community.
While httpClient/Guzzle is typically the preferred choice for HTTP requests, it's rare that any request happens without some form of authentication. Although OAuth 2 has emerged as a standard for API authentication, the specifics can vary considerably between different APIs. This variability doesn’t mean the principles of OAuth 2 aren’t followed; rather, the implementations differ just enough that attempts to abstract this functionality into a universal module have faced challenges. As a result, developers frequently find themselves writing slightly different code for each API integration to accommodate these nuances. APITools attempts to be just helpful enough in these sorts of situations without making too many assumptions.
Leveraging APITools for the Drupal Zoom API ModuleI personally maintain the Drupal Zoom API module, and over the past year, Zoom has changed their authentication requirements. This challenge prompted me to explore the APITools module, maintained by my friend and colleague Alan Sherry. What attracted me most to APITools was its ability to offer configurable options for storing credentials and an extensible client plugin that routes all API requests through a specified authentication method. By using APITools, I significantly reduced the amount of code in the Zoom API module and quickly released a version 3.x, which is compatible with Zoom’s "Server-to-Server OAuth" authentication method. The configuration form and the majority of the API client are now provided by APITools, reducing the amount of code I’ll need to maintain in the Zoom API module.
If you, like me, maintain an API-focused contrib module or need a reliable HTTP client for one-off tasks, I highly encourage you to explore APITools. With a little setup time, you can configure your ApiToolsClient and start making requests effortlessly.
The fact is, there are numerous API client modules on Drupal.org, each tailored for different services. APITools offers an opportunity for a more consistent and efficient approach. I hope you'll check it out!
Getting Started / ExamplesWe've written some documentation on Drupal.org for you to reference. For a fairly complete example in the Drupal contrib space, checkout the client plugin that is part of the Zoom API module.
Additional ExamplesWe’ve created a repository with some various API clients that will hopefully help with getting started.
- Acalog - Simple api key implementation
- Auth0 - Access token request with audience and grant type
- Brandfolder - An example of using an sdk as a base with an apitools client wrapper around it
- Localist - Example of a static access token created by an administrator
- Sharepoint - Access token with audience / grant type, and “ext_expires_in” instead of “expires_in”
If you decide to use APITools, we’d love to hear about your experience in the blog comments below.
Joel SteidlADCI Solutions: How to quickly integrate Angular with a Drupal website
Matt Glaman: Starshot, recipe to cook up ambitious Drupal applications
This blog post was inspired by my time at DrupalCon Portland and the Driesnote, announcing Starshot.
There has also been a story about Drupal being a series of building blocks for building your own CMS (or other application). Often, it has been compared to building a LEGO® set. The idea is that you have Drupal core and contributed modules, acting as individual pieces, to build an application that meets your desired needs. Oftentimes, this could be done without writing any code. As someone who built with Drupal, this made so much sense. You take disparate components, build on a solid base, and have this magical software built with minimal code (if you choose) that meets your needs. That metaphor always stuck, but it was pretty flawed, and I never really understood why until DrupalCon Portland 2024, last week.
Specbee: Drupal Translation Modules: How to create Multilingual Drupal websites
Web Wash: Download and Install Drupal Starshot
Drupal Starshot is a new packaged and pre-configured version of Drupal that was announced at DrupalCon Portland. It is not a separate fork or rewrite of Drupal.
Drupal Starshot takes advantage of the new Recipes feature introduced in Drupal versions 10.3 and 11.
Recipes allow installing Drupal with a complete, ready-to-use website, going beyond the standard installation profile.
More details about the Drupal Starshot initiative are available on its official page.
ThinkDrop Consulting: Run CI/CD with preview environments anywhere with self-hosted Git runners.
GitHub Actions and BitBucket Pipelines are amazing. You can control what is run using yaml files in your codebase.
You can run just about any command, and they provide a really powerful interface for browsing jobs and logs.
Many people are unaware, you can also control where your scripts are run. If you setup a tool called a Git Runner, you can run Git Actions anywhere, including from your local machine.
Nonprofit Drupal posts: May Drupal for Nonprofits Chat: Recapping DrupalCon and Nonprofit Summit
Join us THURSDAY, May 16 at 1pm ET / 10am PT, for our regularly scheduled call to chat about all things Drupal and nonprofits. (Convert to your local time zone.)
This month we'll be recapping DrupalCon Portland and the Nonprofit Summit!
And we'll of course also have time to discuss anything else that's on our minds at the intersection of Drupal and nonprofits. Got something specific you want to talk about? Feel free to share ahead of time in our collaborative Google doc: https://nten.org/drupal/notes!
All nonprofit Drupal devs and users, regardless of experience level, are always welcome on this call.
This free call is sponsored by NTEN.org and open to everyone.
-
Join the call: https://us02web.zoom.us/j/81817469653
-
Meeting ID: 818 1746 9653
Passcode: 551681 -
One tap mobile:
+16699006833,,81817469653# US (San Jose)
+13462487799,,81817469653# US (Houston) -
Dial by your location:
+1 669 900 6833 US (San Jose)
+1 346 248 7799 US (Houston)
+1 253 215 8782 US (Tacoma)
+1 929 205 6099 US (New York)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago) -
Find your local number: https://us02web.zoom.us/u/kpV1o65N
-
- Follow along on Google Docs: https://nten.org/drupal/notes
Gábor Hojtsy: Drupal 11 deep dive: watch the recording, present your own (free slides!)
I presented my first ever Drupal 11 deep dive session at DrupalCon Portland 2024 last week. It turned out to not just be about Drupal 11 but also about Starshot and even about Drupal 12 thanks to the coolest future-proofing technology I announced in this talk. Unfortunately not all of the attendees fit in, that wanted to attend, as the room was standing space only and many turned around and left. But here we go!
I strongly believe in open content. I came to open source from open content 24 or so years ago. So in good tradition, I built this slide deck on slides.com in way that is easy to share and fork. You can create your own or present directly from my deck with my speaker notes. The content is licensed with a Creative Commons license. I'll keep updating this slideshow, but under different URLs, so people can catch the latest edition of this presentation at Drupal Devdays Burgas next month for example. See some of you there!
If you can't make it there or plan to present this at your organization or meetup in the meantime, check out the open source slides.
The recording from DrupalCon Portland is below. Unfortunately I was not well prepared with a subtitling set up. I am exploring good tools and will do better next time! The conference tech crew tried to help in the middle of the session, but unfortunately they could not make it work either. At least managed to discuss some current Starshot questions while that was attempted. I promised a video with subtitles, which turns out Youtube nicely delivered, so I will not create a separate recording now. Hope this helps!
Gábor Hojtsy Mon, 05/13/2024 - 21:33Talking Drupal: Talking Drupal #450 - Certification & Exam Prep
Today we are talking about Certification & Exam Prep, Resources for studying, and tips to get a passing grade with guests Chad Hester & Martin Anderson-Clutz. We’ll also cover Quiz Maker as our module of the week.
For show notes visit: www.talkingDrupal.com/450
Topics- Why are exams and certifications important to dev's
- After going through the Talking Drupal Skills Upgrade mini series do you feel preparted to take an Acquia certification
- How should someone get ready
- What are some struggles people may have getting ready
- What does the plan look like for someone getting ready
- Does Acquia provide pre tests
- Did Skills Upgrade prepare you for this type of assessment
- What happens if you do not pass
- How do you know you're ready
- Tips and tricks for taking a test
- Where do you take the test
- Questions to someone who has taken the test
- Special surprise
- Acquia Certification Study Guides
- Acquia Certification Information
- Widgets Burritos D8 Certification Study Guide
- certification@acquia.com for questions
- Chad Hester - chadkhester.com chadhester
- Martin Anderson-Clutz - mandclu.com mandclu
Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Matthew Grasmick - grasmash
MOTW CorrespondentMartin Anderson-Clutz - mandclu
- Brief description:
- Have you ever wanted to build and deliver interactive quizzes on your Drupal website?
- Module name/project name:
- Brief history
- How old: created in Apr 2024 (the last couple of weeks) by Roman Chekhaniuk (r_cheh)
- Versions available: 1.0.5, which works with Drupal 9, 10, and 11
- Maintainership
- Actively maintained
- Not yet opted into Security coverage, but being so new it’s possible they started the process of getting the project reviewed
- Number of open issues: 0
- Usage stats:
- Not currently installed on any sites yet, according to Drupal.org
- Module features and usage
- The module defines a number of of custom entities to allow your site to define very flexible quizzes, that can include options like the amount of time allowed, pass rate, maximum number of attempts, randomizing the sequence of the questions, and more
- The module also defines custom plugins for questions, responses, and answers, so you can extend it to handle very custom use cases
- The Quiz module is very popular in this space but the version you can use with modern versions of Drupal is still in alpha, so it’s great to see another option available, especially for sites that don’t need anything as complex as the Opigno LMS