drupal

Droptica: Custom Drupal Development. Examples and How to Choose the Best Services

Image removed.

Drupal is a content management system known for its flexibility and ability to adapt to unique project requirements. With its modular architecture and extensive ecosystem, Drupal enables tailor-made solutions - from unique functionalities to customizing existing modules to meet specific business needs. In this article, we’ll explore custom Drupal services, their role in creating bespoke solutions and provide tips on how to choose them to support your organization’s goals.

Timbers Dev: Our Drupal 11 Waiting Wishlist is Getting Smaller

We’re on the verge of upgrading our Drupal 10 projects to 11, and most of our favorite modules are finally ready for the big jump. Curious about how we tackled the few remaining holdouts, discovered fresh alternatives, and streamlined our recipes along the way? Dive into our latest blog, where we share all the excitement, insights, and next steps to keep your sites on the cutting edge of Drupal’s evolution.

The Drop Times: Drupal Public Data, Statistics & Silver Linings? An Exploration #3

In the third part of the Drupal Installation Analysis series, Graham Leach analyzes Drupal adoption trends using a revised model based on the Innovation-Adoption Curve. The study evaluates installation data, identifies deviations in adoption patterns—particularly with Drupal 11—and assesses the model’s ability to reflect real-world usage. The next and final part will explore Drupal 7’s unique position and its implications for the future of the platform.

LN Webworks: How to Migrate from Drupal 7 to Backdrop CMS

Image removed.

Are you still stuck with Drupal 7? Well, it is high to stop holding to the past and be a part of the future of CMS with Backdrop CMS. 

Drupal 7 does not provide security updates, and while it was a strong candidate for many years, the time has changed. Backdrop CMS is a platform that works like Drupal 7 while also delivering better flexibility, performance, and ease of use. If you are still stuck on migrating from Drupal 7 to Backdrop CMS, this guide will definitely help you with in-depth steps.

Why Migrate From Drupal 7 To Backdrop CMS? Let’s Keep it Real! 

Let's take a quick look at the reasons you should think about moving your website to Backdrop CMS before getting started. 

Web Wash: Drupal CMS v1: Installation and Demo

In the above livestream, we will demonstrate Drupal CMS v1. You will learn how to install it using DDEV, and we will examine some of its new features, focusing on AI and workflows using the ECA module.

Installing Drupal CMS using DDEV

There are two ways to install Drupal CMS: download it using Composer and run it on your stack, or download a packaged version and use DDEV.

Run the following command to download it using Composer:

composer create-project drupal/cms

Go to the Drupal CMS page and download the latest version:

Wim Leers: XB week 24: mirror universe

Last week was quiet on the front end. This week there’s two big leaps forward!

Leap #1

XB’s right sidebar has two tabs:

  1. “Settings” (for the per-component “settings”), which for Single Directory Components (SDCs) shows a form to populate its props
  2. “Page data”, intended to allow modifying the the page you’re looking at if it’s a content entity. In other words: it should show the typical Drupal node form to edit the content entity’s structured data. But with a major twist: all field widgets must be rendered using React, and their values synced with Redux, to allow live updates in XB’s preview.

So, this week’s first leap is Bálint “balintbrews” Kléri and Ben “bnjmnm” Mullins having made that second point a reality:

The “Page data” tab now contains the content entity form rendered in React using the Semi-Coupled Theme Engine.
Issue #3469235, image by Bálint.

This builds upon the infrastructure that Ben introduced. Pretty incredible to see the most canonical Drupal form we’re all (too?) familiar with rendered in a novel way, isn’t it? 😄

Leap #2

The second leap on the other hand is completely invisible: Jesse Baker, Bálint “balintbrews” Kléri and Harumi “hooromoo” Jang kept the live previews of the edited page looking the same, but overhauled almost the entire implementation! 😮 You may remember that in week 19, Jesse introduced the IframeSwapper to eliminate flickering.

But still plenty of challenges remained due to XB’s reliance on <iframe>s: all events occurring inside them need bubbling up (to allow for panning the canvas), interactions occurring near their boundaries feel off, correctly positioning the “hovered/selected” component instance affordances requires cross-frame communication, and more.

Jesse landed on an impressive solution: he built an invisible, overlaid, representation of the components present in the preview in the parent on top of the preview <iframe>, preventing the user for interacting with the iframe directly at all. The trade-off: now that invisible overlay must be perfectly in sync with the preview behind it, even while panning and zooming. He aptly named it mirror universe 🧙

Want more detail? Jesse’s page-preview.md is a fascinating read!

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!

Prep for the future

A tiny bugfix by Shyam Bhatt , Kyle “ctrladel” Einecker and Ben “bnjmnm” Mullins to fix the hardcoded dummy data for sections1. The use of dummy data hardcoded in the React UI allows XB’s front end to race ahead of its back end: there, a config entity plus HTTP API needs to be defined for them — that will happen in #3479643 and #3479982.

The PageTemplate config entity was added last week, this week Ted “tedbow” Bowman, Dave “longwave” Long and I added a HTTP API for the XB UI to create, read, update and delete XB config entities. Key bits of logic are lifted from Drupal core’s JSON:API, specifically from a core merge request: #2300677: JSON:API POST/PATCH support for fully validatable config entities , which did not land yet.
I was pleasantly surprised that ApiConfigControllers only took ~300 LoC, although (de)normalization is missing: the back end is racing ahead of the client here, and deciding on the ideal client-side representation should happen when the front end work happens. The config entity’s full lifecycle is tested, to ensure beyond the basics also correct cacheability, use of Dynamic Page Cache, and usable detailed validation errors.

Finally, for the third week in a row, adjustments were made to allow for multiple component types, this time in the HTTP API and UI internals. It’s coming soon now, I promise!

Week 24 was October 21–October 27, 2024.

  • 1

    A “section” is a reusable pattern: a combination of components that is available to be reused.

Community Working Group posts: Quarterly Open Office Hours with the Drupal CWG Conflict Resolution Team

At the heart of the Drupal community lies our commitment to fostering a collaborative, inclusive, and positive environment. As part of this mission, the Drupal Community Working Group (CWG) Conflict Resolution Team is excited to announce quarterly open office hours.

Our open office hours are designed to create a safe and welcoming space where members of the Drupal community can connect with us. Whether you have questions about conflict resolution, need guidance on community challenges, or simply want to better understand how we support our community, this is your opportunity to engage with the team.

What to Expect

During these sessions, you’ll have the chance to:

  • Ask questions about the CWG and its role in maintaining a healthy community.

  • Seek advice or share concerns related to conflict resolution or community dynamics.

  • Learn about tools and resources to help foster positive interactions in your own Drupal spaces.

This is a casual, open forum, so feel free to drop in and participate as much or as little as you’d like.

Details for the Next Session

📅 Date: February 28, 2025
⏰ Time: 5:00 - 6:00 PM GMT
📍 Location: ZOOM - https://drupalassoc.zoom.us/j/81673498809

We’re here to listen, provide support, and help strengthen the bonds that make the Drupal community so unique. Whether you’re a long-time contributor or new to Drupal, we welcome everyone to join us.

Why Open Office Hours?

The open office hours are part of our ongoing effort to ensure that every community member feels heard and supported. By offering this space, we hope to encourage open dialogue and provide resources that contribute to a healthier, more resilient Drupal community.

We look forward to seeing you there and working together to continue building the kind of community we can all be proud to be a part of. 💙