Drupal Planet

Accelerating Drupal Core development

A LinkedIn post (by Jay Callicott) made the case that Drupal core development needs to accelerate to meet modern (AI-driven) expectations, and adopting AI-DLC is the way to get there. 

"Hot take [..] Drupal Core team needs to adopt AI-DLC [..] (as defined by AWS). AI does the code writing you are doing the orchestration. Who is with me??"

Increasing the velocity of evolving Drupal is a valid and worthwhile goal. The community had already identified the speed of Drupal Core development as an issue. Their solution was to move more quickly outside of Drupal core, in a (non-core) version of Drupal named "Drupal CMS".

Four PHP Communities, One Uncomfortable Conversation

#Drupal, Joomla, Magento, Mautic. All PHP-based, all use Composer, all have talented & passionate communities. And all share the same problems around growth and sustainability. There is a solution.

No, we should not merge the codebases. Sure, you could have AI "Ralph-Wiggum" its way to a monstrosity with passing tests. But these frameworks are trusted for their code quality and security, and using AI to Frankenstein-smush them together would destroy that trust instantly.

What I'm proposing is merging the communities behind a single framework.

Why now? Because (yes, I'm going there) while AI can't merge codebases, it can help developers who already know PHP, Composer, and open source ramp up on a new framework far faster than before. The barrier to a knowledgable human using a different technology has never been lower.

Welcome back, Site builders! We've got something you'll love.

If you've been around for a while you may be aware that Drupal 7 was much more accessible to the casual tinkerer than newer versions of Drupal. You'd regularly see Drupal 7 sites built by people who sometimes refer to themselves as "Site Builders" - a term which describes people who are comfortable building sites with Drupal, but may be less comfortable creating custom modules and themes.

The dropoff in Site Builders' participation since Drupal 7 is due in no small part to Drupal's decision to adopt modern development practices such as object-oriented programming, building on top of the Symfony framework, and utilizing a package manager. These are all good things! But we, as a community, are ready to welcome the casual Site Builder back with our latest developments.

Watch as I fix a bug in a contrib Drupal module!

Follow along as I (Ashraf Abed of DebugAcademy.com) fix a bug in the contributed Drupal module, Responsive Menus. This embedded video follows as I diagnose the problem, research the issues, create a branch on gitlab, fix the issue locally, test the fix, and submit my fix to Drupal.org for the community to benefit from.

This was done as part of Debug Academy's Drupal Training course.

Evaluating Acquia storage limits - "Emergency upsize" notification

In addition to best-in-class Drupal training courses (pun intended), we at Debug Academy provide Drupal development services and Drupal 7 migration services. Our clients may self-host, host with Acquia, Pantheon, or even host with us.

Recently, a client who hosts their Drupal 9 website on Acquia reached out to to ask us to investigate an alert they had received from Acquia. Acquia sent an email which said "This email is to inform you that we emergency upsized your storage from 200GB to 300GB FS in Case #[redacted]. The cost to keep this upsize in place [is..]"

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:

How to create a partial date field in Drupal (i.e. Year & Month without Day)

One of Drupal's main strengths is its data modeling.

But sometimes choosing the appropriate field type comes with a form widget that isn't what we're looking for. For example, using a Date field results in the form displaying a date "widget" (form input) which includes a full date consisting of a day, month, and year, and optionally a time.

How to remove the time from a date field in Drupal

Because removing the time from date fields is such a common request, Drupal allows its removal without writing any custom code.

How to hide the time from Drupal's frontend

Fortunately, the date field has a highly configurable display on the frontend. By visiting the "Manage Display" page (or configuring the field's block, if using layout builder), you will have the option of selecting (or creating) a date format.

Follow these steps to change the date's output for your frontend:

"ddev pull pantheon" fails on Windows with Unknown command '\U'.

In Debug Academy's Drupal 10 training course, we integrate our student projects with Pantheon's hosting environment and we use DDEV for local development.

In general, it works smoothly. However, in some instances students who use Windows (and Git Bash) receive an error upon running ddev pull pantheon . This article walks through a quick and easy workaround.

The Popular "Become a Drupal Architect Series" Course Starts Soon

What is the Architect Series?

Debug Academy created the Drupal Architect Series, a set of five 2.5 hour classes, because we know there are many ways to build a functional website, but not all ways are created equal. And making the wrong choice can lead to long-term headaches when faced with performance, security, caching, or data structure issues.

And it's not your fault. The options are many and can be overwhelming.

Would you rather: Early or late adopter of Drupal?

What are the pros & cons of being an early adopter of a framework?

This can be a loaded question due to misaligned incentives. Projects need early adoption to be successful.

But what is best for your career and/or project? Let's discuss it honestly.

When is "early"?

In the context of software, "early adoption" has multiple meanings.

For the sake of this conversation, "early" specifically means at least one of the following is true:

  1. The software is not yet widely used (not many case studies)
  2. Best practices have not yet been established
  3. The software has not stabilized (alpha, beta, sometimes 1.0)

It's not always clear whether using software is early.

Let me give a few examples, one of which may be counter-intuitive: