Perspectives from the experts at Chromatic
Hundreds of menu items can bring cache clears to a grinding halt if not managed correctly.
The missing illustrated manual to the Drupal configuration system and the processes around it.
A decoupled website architecture gives your clients access to a high-performance machine to serve their business. But will that machine wind up being more trouble than it's worth? Learn the deciding factors that play a big role in securing an organization’s digital future.
Managing Drupal configuration and keeping it in sync requires attention to detail and process. Automation can add to the problem, but also solve it.
Learn how Ansible can be used to standardize and automated Drupal deployments.
Many of the common website speed problems in Drupal 7 are now a distant memory with Drupal 8 and Drupal 9. Features like Drupal’s built-in Dynamic Page Cache help bring great performance benefits to the two most recent versions. This article will highlight other tactics to assist with getting the best performance out of your Drupal site.
Understanding Composer's preferred install settings can be essential when applying module info file patches.
Composer already manages our PHP dependencies, so why not let it manage our utility scripts too?
Serving dynamic content, while maintaining the cacheability of a Drupal 8 site, used to be a tedious task. Drupal 8 did introduce a Lazy Builder way back when, but using it requires a fair amount of coding. Instead, we’ll take advantage of the BigPipe module which was included as a stable module since Drupal 8.3.
Deploying the latest changes to your site can take many forms. Understanding the steps involved and why each one matters will help prevent deployment surprises.
Migrations are fraught with unexpected discoveries and issues. Fighting memory issues with particularly long or processing heavy migrations should not be another obstacle to overcome.
Entity storage methods are an often used, yet easily overlooked tool for improving data retrieval and code architecture.
Entities and their methods are no longer limited to use within PHP, they are now available in Twig as well.
Spammers are always evolving and that means spam management is, too. Here are some of the best current spam management tools and tactics for Drupal.
Presented at Decoupled Drupal Days 2018 in New York City, this session analyzes how Chromatic and Meredith Corporation evaluated the benefits of decoupled architecture for Meredith’s brand portfolio.
Making content migrations relatively painless lowers the bar immeasurably in making the switch to a platform like Drupal.
Learn how to update your Drupal content model to use media entities without the overhead of a traditional migration.
Managing Drupal sites with composer brings a number of benefits. However, when installing Drupal dependencies from source (an option offered by composer), you also lose the functionality provided by Drupal core’s “Available Updates” page. Thankfully Composer will allow you to keep tabs on the available updates for all of your project’s dependencies, including Drupal core/contrib.
FamilyCircle.com provides expert advice about teens, family, food, style and home life, from the editors of Family Circle Magazine. When the time came to design and deploy a headless Drupal/Node.js platform, Meredith Corporation called on Chromatic’s expertise to help lead the way.
A brief rundown of how to configure Drupal to display multiple content authors.
The folks at Drupalize.me provide the best Drupal training materials on the web, so we were more than happy to oblige them when they asked if they could release our Coding Standards guide as a free series on their platform.
Properly linking to pages with dynamic routes can be tricky. Here's how to do it right.
We are excited to announce the first official release of the Recurly module for Drupal 8 ([8.x-1.0](https://www.drupal.org/project/recurly)).
Adam uncovers methods of firing code on every page in Drupal 8, the right way.
How to install and configure Redis caching for Drupal 8.
Dependency Injection in Drupal 8 Plugins can trip you up if you focus on the Dependency Injection part and forget about the Plugin part. This blog post shows key differences to keep in mind when you're working with D8 Plugins.
Drupal 7's Features module was a complicated way to export configuration - Drupal 8's Configuration Management makes everything much simpler. Let's break it down.
See how a custom module in Drupal 8 leverages data visualization with D3.
Explaining Drupal 8's cache metadata with the help of tacos.
Configuration management (CM) in Drupal 8 is great. However, when more complex configuration scenarios arise, we must find solutions to problems that core CM functionality doesn’t address (yet).
This is the seventh post in a series about coding standards. In this post we’ll talk about how to adhere to standards while implementing Twig templating in Drupal 8.
This is the sixth post in a series about coding standards. In this post we’ll talk about how to adhere to standards when writing object-oriented code in Drupal.
We find that there's still uncertainty out there around upgrading to Drupal 8. The natural answer in the Drupal community is, "Yes, of course go with Drupal 8!", but in the world of tight deadlines and tighter budgets, the answer isn't so clear. Enter [ShouldIUpgradetoDrupal8.com](https://shouldiupgradetodrupal8.com/), an interactive tool we built to help the community answer that very question.
There are a handful of tutorials out there that explain how to implement responsive images in Drupal 8, but none seem to address how to do so using `srcset` over the `<picture>` element. That is, until now.
This is the fifth post in a series about coding standards. In this post we’ll talk about how to use translation functions in both Drupal 7 and 8. This is so essential that it deserves its own post!
This is the fourth post in a series about coding standards. In this post we’ll talk about why good, standardized documentation is crucial to your project, and review [Drupal coding standards regarding documentation](https://www.drupal.org/coding-standards/docs) and comments.
Tap into the power of Views with a custom sort plugin in Drupal 8. Code samples included.
This is the third post in a series about coding standards. In our previous post, we talked about code standards and why they are so important, as well as how to start implementing them. In this post, we’ll go into the details of formatting and syntax in Drupal.
This is the second post in a series about coding standards. In our first post, we talked about code standards and why they are so important. In this post, we’ll talk about how to implement Drupal coding standards in your projects.
The transition to Drupal 8 can be tough for those new to OOP. Finding the correct "Drupal 8 way" can be difficult. Here's our list of Drupal 8 snippets with explanations along the way.
This post is the first in a series about Drupal coding standards - we’ll cover what they are, why they’re important, and go in-depth into a variety of topics in subsequent posts.
We're happy to announce two new releases for the YouTube Field module.
Spin up a fully-functional, disposable instance of Drupal in about a minute. Try out an unfamiliar contrib module without sullying your main dev environment or give back to the community by testing patches with minimal fuss.
See how Chris leveraged Jenkins, Drush and `s3cmd` to create nightly database backups.
Learn how to automatically deploy your Drupal 8 code and configuration with Jenkins, GitHub and Slack.
We are excited to announce that after a great deal of team effort, we have pushed a dev branch of the [Recurly module for Drupal 8](http://drupal.org/project/recurly) to Drupal.org.
Some real world examples of generating URLs from within your Twig templates in Drupal 8.
Whether you are a Drupal newcomer or a seasoned Drupal developer, you're bound to run into one, some, or all of the issues outlined below. Some are obvious, some not so obvious, but we'll show you how to troubleshoot them all regardless.
I was fortunate to attend and speak at BADCamp for the first time this year. This post highlights the video and key takeaways from my BADCamp session.
A step-by-step introduction to Drupal 8's configuration system.
Google recently decided to deprecate the YouTube Data API v2, which caused a nasty bug to appear in the YouTube Field module. I was too busy enjoying the Los Angeles sun at DrupalCon to spot the bug myself. The community came to my rescue.