19 Aug 2026

feedDrupal.org aggregator

Omega8.cc: Artificial Stupidity, Revisited

For 30 years we write all our code by hand in BBEdit, the BOA Drupal hosting stack included, and until recently the smartest chatbot money could buy couldn't produce three bash scripts aware of each other, so our verdict was simple: a modern Stack Overflow, and not much else. Then 2026 arrived, and the documentation BOA was owed for 16 years finally got done - after one model fabricated most of it behind our backs, and a better one caught it red-handed and fixed it all, section by section, in four voices for four different audiences. Add a security review of the codebase, end-to-end test suites our old Jenkins could never run, and hosted Drupal and Backdrop sites defended against machine-made attacks, and you will see why we finally stopped joking about Artificial Stupidity.

19 Aug 2026 1:35pm GMT

DrupalCon News & Updates: Migrating to Drupal CMS: From Classic Drupal & Other Platforms

Technical Blog Series


Introduction

The conversation at DrupalCon Rotterdam 2026 won't just be about what Drupal CMS 2.x can do - it will be about how teams are actually getting there. Migration is the real-world bridge between the platform you have today and the Recipe-driven, Canvas-powered experience covered in Post #1 of this series.

This post is a hands-on guide covering the three migration paths developers are navigating in 2026, the tools that power each one, and the common pitfalls that derail projects weeks or months into execution. We'll go deep on the Migrate API, look at real YAML definitions, and document the failure modes you're most likely to hit - along with their fixes.


Understanding What You're Actually Migrating

"Migrating to Drupal CMS" covers three structurally different problems. The tools, timeline, and risk profile are different for each:

Your Current Platform

Migration Type

Primary Tooling

Drupal 7

Data + platform upgrade

Migrate API + Migrate Drupal

Drupal 9 / 10 / 11 (classic)

Layer adoption, no data move

Recipes + Canvas adoption

WordPress / Joomla / AEM / Sitecore

Full platform replacement

Migrate API + custom source plugins

Knowing which one you're doing early - before scoping or quoting - is the single biggest factor in accurate estimation.


The Migrate API: Your Foundation

Regardless of source platform, Drupal's Migrate API is the ETL (Extract-Transform-Load) engine underneath every non-trivial migration. It lives in Drupal core and is composed of three module layers:

  • migrate - the core framework: source plugins, process plugins, destination plugins
  • migrate_plus (contrib) - adds source types (JSON, XML, SOAP, HTTP), process plugin extras, and migration groups
  • migrate_tools (contrib) - adds the Drush commands you'll use day-to-day

Install the contrib layer before anything else:

Image
Demonstration

A source plugin reads rows from legacy data. Process plugins transform field values one by one. The destination plugin writes to Drupal entities. Understanding this pipeline is what separates developers who debug migrations quickly from those who spend days chasing phantom errors.


Path 1: Drupal 7 → Drupal CMS 2.x

Drupal 7's end-of-community-life has passed, and commercial extended support windows are closing. If you're still running D7 in 2026, this migration is urgent - not optional.

Setup: Point the Migrate API at Your D7 Database

Add the legacy database as a second connection in settings.php:

Image
Demonstration
Image
Critical 2026 note

Inspecting the Generated Migrations

The upgrade command generates a full set of migration YAML definitions tailored to your D7 module footprint. Before running anything, inspect what was created:

Image
Demonstration

Writing a Custom Content Type Migration

Auto-generated migrations handle standard field types well. Custom CCK fields, computed values, or non-standard formatters need explicit YAML definitions. Here's a realistic example - a D7 Event content type with a date range field:

Image
Demonstration
Image
Demonstration


Path 2: Classic Drupal 9/10/11 → Drupal CMS 2.x

This is the most common scenario at agencies right now: modern Drupal running well, but built before Recipes and Canvas existed. There is no data migration here - your content stays exactly where it is. What you're adopting is a new site-building layer.

Step 1: Inventory Your Current Setup
Image
Demonstration
Step 2: Add Drupal CMS Packages to Composer
Image
Demonstration

Step 3: Apply Recipes Selectively

Image
Demonstration

Because recipe config actions use createIfNotExists, this is safe on a live codebase - it will not overwrite your existing SEO or media configuration; it only fills in missing pieces.

Step 4: Making the Canvas Decision

This is where teams stall. If your current site uses Layout Builder or Paragraphs for page composition, official tooling to migrate into Drupal Canvas does not yet exist as of mid-2026. Your real options today:

  • Option A - Hybrid adoption (most common): Keep existing Layout Builder/Paragraphs pages untouched. Use Canvas only for new pages, landing pages, and templates going forward.
  • Option B - Manual high-value rebuild: Identify your top 10-20 highest-traffic pages. Rebuild those in Canvas using Mercury components. Leave the rest.
  • Option C - Wait: If your site has thousands of Paragraphs-based pages, holding for official migration tooling may be the most pragmatic decision - a visible discussion at DrupalCon Rotterdam.


Path 3: WordPress / Other CMS → Drupal CMS 2.x

This is the highest-complexity path but increasingly common as organizations exit proprietary platforms for digital sovereignty and cost reasons.

The Contrib Stack

Image
Demonstration

A Real WordPress-to-Drupal Migration YAML

This example extracts WordPress posts from a side-by-side MySQL database and loads them into Drupal CMS article nodes:

Image
Demonstration
Image
Demonstration

Handling Media: The Hardest Part

Media is where CMS migrations to Drupal quietly break - broken image paths and dead embedded media are among the most common post-launch complaints.

The problem: body content migrated as raw HTML still contains <img src="/wp-content/uploads/..."> paths referencing the old platform. Two strategies fix this:

Strategy A - Migrate files first, rewrite src attributes after

Image
Demonstration

Strategy B - Use the file_import process plugin

Image
Demonstration

Always run a dedicated media migration pass before your content migration, so file entities exist before nodes try to reference them.


The Six Most Common Migration Pitfalls (and How to Fix Them)

⚠ Pitfall 1 Migration is busy with another operation: Importing

The most frequently encountered Migrate API error. It happens when a migration process is killed mid-run (Ctrl+C, server timeout, PHP fatal) and the status lock isn't cleared.

The fix:

Image
Demonstration

⚠ Pitfall 2 Skipping the Content Audit Phase

A reliable migration follows six stages: audit, content mapping, environment setup, content migration, media migration, and SEO preservation. Skipping a stage tends to resurface later as a launch-day fire drill.

A full pre-migration audit must cover:

  • Total row counts per content type and per file type
  • Fields with data in fewer than 5% of records (candidates for dropping)
  • Taxonomy terms with zero content references (clean up before migrating)
  • Broken internal links in body content (fix at source before migrating, not after)
  • User accounts with no content (migrate only active users)

⚠ Pitfall 3 Not Planning for Delta Migrations

Initial migration runs are never the final run. Between your first migration pass and go-live, editors will keep publishing on the old platform. You need a delta migration strategy - re-running migrations to pick up records created or updated after the initial pass.

Image
Demonstration

⚠ Pitfall 4 Incorrect URL Alias Handling

After migration, old URLs may lead to 404 errors if not redirected correctly. Set up 301 redirects for old URLs to preserve SEO and user experience.

The pathauto module will regenerate URL aliases on save - which is exactly what you don't want post-migration if your old URLs had a different pattern. Disable Pathauto auto-generation on migrated content by setting path/pathauto to 0 in your migration YAML (as shown in the WordPress example above).

Image
Demonstration

⚠ Pitfall 5 Migrating Roles and Permissions Too Early

If you migrate users before your Drupal CMS roles and permissions are fully configured, user role assignments land in the system referencing role IDs that either don't exist or have different permission sets than intended.

The correct order:

1. Configure roles and permissions on the destination site first

2. Export config with drush cex

3. Then run upgrade_d7_user or equivalent user migration

4. Verify a sample of migrated users have the expected roles before migrating content

⚠ Pitfall 6 Not Rolling Back Cleanly Between Test Runs

During development and testing, you'll run migrations many times. Not rolling back cleanly between runs leads to duplicate content, inconsistent map tables, and cascading lookup failures.

Image
Demonstration

Migration Strategy: Choosing Your Cutover Approach

Beyond the technical tooling, the cutover strategy matters as much as the code. Three patterns dominate real-world projects:

Strategy

Best For

Key Characteristic

Big Bang

Smaller sites (<300 pages)

Single cutover, maintenance window required

Progressive

Large content libraries

Reverse-proxy routing, sections migrate gradually

Hybrid (API Gateway)

Regulated industries, complex integrations

Drupal CMS as content hub, legacy systems via API

Realistic timelines from field experience: small projects 6-12 weeks, medium-complexity 3-6 months, large enterprise migrations 6-12 months or more. These aren't conservative padding - they reflect what competent, well-resourced teams actually take when they don't skip the audit and planning phases.


After the Data Lands: Apply Recipes

This is the step migration guides most often omit. Migrate moves your content - it does not configure Drupal CMS's site-building layer. After your data migration validates cleanly, apply the relevant recipes:

Image
Demonstration

What to Watch at DrupalCon Rotterdam 2026

  • Layout Builder & Paragraphs → Canvas migration tooling - the single most-requested missing piece; community proposals are expected in the Drupal CMS track
  • The Migrate Drupal deprecation path - what officially replaces D6/D7 upgrade tooling in Drupal 12.x and beyond
  • Delta migration patterns for headless and API-sourced content - increasingly relevant as organizations move off SaaS headless platforms
  • Case studies from the Digital Sovereignty track - real migration stories from organizations exiting proprietary CMSs, with full technical detail


Summary

  • Migration to Drupal CMS 2.x is three different problems depending on where you start:

  • Drupal 7 sites use the core Migrate API + Migrate Drupal, with urgent deadline pressure and the 11.4+ deprecation on the horizon
  • Classic Drupal 9/10/11 sites need no data migration - selective Recipe adoption and a deliberate Canvas strategy is the whole project
  • Other CMS platforms need custom Migrate API source plugins, a full content audit, delta migration planning, and a clear cutover strategy
  • In every case, the six pitfalls covered in this post - stuck migration locks, skipped audits, missing delta runs, broken URL aliases, wrong sequencing of users and roles, and unclean rollbacks - account for the majority of timeline blowouts. Most of them are avoidable with upfront discipline.

  • ← Post #1: Getting Started with Drupal CMS 2.x: Site Building with Recipes

  • → Post #3: AI-Powered Drupal: Integrating LLMs and Agentic Architecture


    References

  • Migrate API Overview - drupal.org/docs/drupal-apis/migrate-api/migrate-api-overview
  • Debugging Migrations - drupal.org/docs/drupal-apis/migrate-api/debugging-migrations
  • Migrate Drupal Module (Deprecated 11.4) - drupal.org/docs/.../migrate-drupal-module
  • Drupal Migration: Tools & Strategies 2026 - o8.agency
  • Drupal Migration Guide for WordPress & Legacy CMS - innoraft.ai
  • Migration to Drupal CMS: Complete Guide - sparkfabrik.com
  • DrupalCon Rotterdam 2026 - events.drupal.org/rotterdam2026

🎟️ Join Us at DrupalCon Rotterdam 2026

Migration paths, Canvas tooling gaps, and the future of Migrate Drupal will all be live conversations in Rotterdam, 28 September - 1 October 2026.

👉 Register for DrupalCon Rotterdam 2026

19 Aug 2026 9:02am GMT

Drupal Association blog: A First Look at the DrupalCon Orlando Venue

This is cross-posted from Mike Herchel's blog

A few weeks ago, I met up with some of the DrupalCon Orlando local planning committee at the Hyatt Regency Grand Cypress Resort to check out the venue and finalize a bunch of plans.

We toured the resort, planned events, sampled food and drinks (strictly for quality assurance, of course), floated around the pools, and spent way too much time talking about all the fun stuff we're putting together.

After seeing everything in person, I'm convinced this is going to be the best DrupalCon ever!

This DrupalCon is going to feel different (and I think that's a good thing)

If you've been to previous DrupalCons, one thing you'll notice right away is that this one is going to have a different vibe. Normally we're in a downtown convention center where you can walk to bars, restaurants, coffee shops, and whatever else you stumble across.

This isn't that. The Grand Cypress sits in the middle of Orlando's resort area near Disney. If you want to leave the property, you'll probably grab an Uber or Lyft. Disney Springs is only about 10 minutes away, and the parks are just beyond that.

But honestly... I don't think most people are going to want to leave. This resort is awesome.

Instead of everyone scattering around downtown after the sessions end, I think we're going to end up hanging out together around the resort having poolside cocktails, or smores by the fire pits. And after spending the weekend there, I think that's going to make for an even better conference.

The pools are ridiculous

Seriously. The pool area is unlike anything we've ever had at a DrupalCon.

The pools wind around faux limestone cliffs with waterfalls pouring down into them. There's a cave that connects two sections of the pool, a grotto, a waterslide, two hot tubs, and tons of places to spread out.

Then you've got a poolside bar serving frozen drinks, beer, and food just a few steps away. I can already picture dozens of Drupal people hanging out there after sessions.

Florida in March is basically cheating

If you're coming from somewhere that's still cold in late March... congratulations. This is probably the nicest time of year to be in Florida.

Expect highs around 80°F (27°C), cool evenings, blue skies, and weather that's pretty much perfect for sitting outside all day. It's warm enough to swim without feeling like you're melting.

One of the nicest surprises is the hotel rate that we have. The Drupal Association was able to lock in an incredible rate of just $259/night, and that includes no resort fee. Considering this is one of the best times of year to visit Florida (and a resort like this!) it's an amazing deal. If you're planning to attend, book sooner rather than later:https://www.hyatt.com/events/en-US/group-booking/VISTA/G-DC27.

Everything is actually close together

This might sound boring compared to waterfalls and waterslides, but trust me, it matters. One thing I loved about the venue is how compact the conference space is. No hiking across giant hotel lobbies or speed-walking half a mile to your next session. No wondering which section your talk is actually in.

Everything is clustered together, which means less walking and more time talking to people in the hallways, which is the best part of every DrupalCon anyway.

Drupal's Got Talent is finally happening!

I've been trying to make this happen for years. Every DrupalCon I'd pitch the idea of a talent show, and every year something got in the way. Well... this is the year! It's happening!

We'll be looking for pretty much anything entertaining:

  • Musicians
  • Bands
  • Stand-up comedy
  • Magic
  • Singing
  • Dancing
  • Juggling
  • Puppet shows
  • Weird talents you didn't think anyone wanted to see (we do)

We're not taking sign-ups just yet, but keep an eye out!

What should you pack?

Besides your laptop?

  • 👙 A swimsuit (trust me)
  • 🩴 Flip-flops or sandals
  • 😎 Sunglasses
  • 🧴 Sunscreen
  • 👕 Clothes for warm afternoons and cooler evenings
  • 🎤 Your hidden talent

This venue is a little different than what we're used to, but after spending the weekend there, I know it's going to create a totally different kind, and super memorable, DrupalCon.

Instead of everyone disappearing into the city after the sessions end, I think people are going to stick around. Hanging out by the pool. Sitting around the fire pits. Grabbing a drink. Talking Drupal late into the night.

And honestly? I can't wait!

19 Aug 2026 6:05am GMT

28 Jul 2026

feedW3C - Blog

WOFF 1.0: a milestone on W3C’s journey of fonts on the web

The anniversary of the first public release of Web Open Font Format (WOFF) is a very interesting historical milestone on the decades-long road of W3C's work on fonts on the web.

28 Jul 2026 2:40pm GMT

24 Jul 2026

feedW3C - Blog

Simplified task force enrollment and participant management

This blog post is about incremental improvements by W3C's IT/Systems Operations Team that puts task force participation management directly in the hands of participants and chairs.

24 Jul 2026 10:35am GMT

20 Jul 2026

feedW3C - Blog

Threat modeling age-based content restrictions: what we learned at EIC 2026

At the European Identity and Cloud Conference (EIC 2026) in Berlin, we explored how Threat Modeling with LEGO® SERIOUS PLAY® can help uncover security, privacy, and human-rights threats in age-based content restriction systems. Starting from an Issuer-Holder-Verifier model, participants built harms such as exclusion, surveillance, profiling, and correlation, then mapped them back to flows, actors, and assumptions. The exercise showed how compliance choices can become Web architecture.

20 Jul 2026 9:23am GMT

18 Jan 2026

feedOfficial jQuery Blog

jQuery 4.0.0

On January 14, 2006, John Resig introduced a JavaScript library called jQuery at BarCamp in New York City. Now, 20 years later, the jQuery team is happy to announce the final release of jQuery 4.0.0. After a long development cycle and several pre-releases, jQuery 4.0.0 brings many improvements and modernizations. It is the first major … Continue reading

18 Jan 2026 12:29am GMT

11 Aug 2025

feedOfficial jQuery Blog

jQuery 4.0.0 Release Candidate 1

It's here! Almost. jQuery 4.0.0-rc.1 is now available. It's our way of saying, "we think this is ready; now poke it with many sticks". If nothing is found that requires a second release candidate, jQuery 4.0.0 final will follow. Please try out this release and let us know if you encounter any issues. A 4.0 … Continue reading

11 Aug 2025 5:35pm GMT

17 Jul 2024

feedOfficial jQuery Blog

Second Beta of jQuery 4.0.0

Last February, we released the first beta of jQuery 4.0.0. We're now ready to release a second, and we expect a release candidate to come soon™. This release comes with a major rewrite to jQuery's testing infrastructure, which removed all deprecated or under-supported dependencies. But the main change that warranted a second beta was a … Continue reading

17 Jul 2024 2:03pm GMT

29 May 2023

feedSmiley Cat: Christian Watson's Web Design Blog

7 Types of Article Headlines: Craft the Perfect Title Every Time

When it comes to crafting an article, the headline is crucial for grabbing the reader's attention and enticing them to read further. In this post, I'll explore the 7 types of article headlines and provide examples for each using the subjects of product management, user experience design, and search engine optimization. 1. The Know-it-All The […]

The post 7 Types of Article Headlines: Craft the Perfect Title Every Time first appeared on Smiley Cat.

29 May 2023 10:20pm GMT

09 Apr 2023

feedSmiley Cat: Christian Watson's Web Design Blog

5 Product Management Myths You Need to Stop Believing

Product management is one of the most exciting and rewarding careers in the tech world. But it's also one of the most misunderstood and misrepresented. There are many myths and misconceptions that cloud the reality of what product managers do, how they do it, and what skills they need to succeed. In this blog post, […]

The post 5 Product Management Myths You Need to Stop Believing first appeared on Smiley Cat.

09 Apr 2023 5:28pm GMT

11 Dec 2022

feedSmiley Cat: Christian Watson's Web Design Blog

The Key Strengths of the Best Product Managers

The role of a product manager is crucial to the success of any product. They are responsible for managing the entire product life cycle, from conceptualization to launch and beyond. A product manager must possess a unique blend of skills and qualities to be effective in their role. Strong strategic thinking A product manager must […]

The post The Key Strengths of the Best Product Managers first appeared on Smiley Cat.

11 Dec 2022 4:43pm GMT

01 Apr 2004

feedPlanet PHP

ezSystems are classy folks

cover
Last week I helped the folks at ezSystems debug some APC problems they were having. The problems ended up being a 64bit architecture problem (they have uber-fast Opterons) and the bug is now fixed in 2.0.3.

Today I received Python & XML from them (off my Amazon wishlist). Thanks guys!

On a side note, my wishlist seems borked. The list I get when I search on my email address or name is not the same one I can edit when I log into the site.

01 Apr 2004 6:53pm GMT

PHP april fools...

1st of April 2004 get's to it's end and I guess it's time, to summarize the recent April fools a bit. Not that I think anyone in the world believes in them, but some were quite funny:

1. Changes to case sensitivity in PHP.
Alan Knowles announced that PHP will change to the studlyCase API and therefor will get everything broken by changing established functions.

2. IBM takes over Zend.
Myself hacked a little article about IBM taking over Zend to make PHP a compete of Java.

3. The first PHP virus has been seen.
Wasn't there one last year, too?

4. PHP has been overtaken by Micro$oft.
Mhhh... a little bit unreliable, if they had been taken over by IBM this morning... Maybe one should first look, what others wrote...

5. And finally, PHP4 and 5 showed their real faces...
Take a look at a phpinfo() output!

I guess I missed some, so feel free to comment on this entry, if you found another!

01 Apr 2004 5:49pm GMT

PHP Virus Attacking Web Hosts

Symantec have a report of the virus here. I've yet to see any of the PHP news sites picking up on it but, using a virtual host account, managed to deliberately expose some PHP scripts to it. From examining the infected scripts, what's disturbing is once infected, every tim...

01 Apr 2004 12:19pm GMT