Skip to content
Redfin Solutions logoRedfin Solutions logoContact


Delta Site System logo next to Redfin Solutions logo

Redfin’s Delta Site System: Helping Clients Create Customizable Websites at Scale

By Emma | November 23, 2021

Redfin's Delta Site System (DSS) helps clients who have a need to quickly launch and maintain new Drupal websites. DSS gives our clients the ability to define a “template” website, so that new sites can use the same themes (look and feel), modules (enhanced functionality), and configuration (content types and taxonomies), while also allowing for customization at the individual website level.

Computer monitor on desk showing orange and white human stick figure

Accessible Website Design and Why It Matters

By Emma | November 03, 2021

Is your website WCAG compliant? The Web Content Accessibility Guideline (WCAG) is an internationally recognized set of guidelines that can help ensure your website is adhering to accessibility best practices. After all, it’s important that the people who view your website can complete tasks that align with your organization’s goals.

White arrows on wood

Upgrading Drupal 7 to Drupal 9: What to expect

By Emma | September 22, 2021

As a Drupal 7 user or website owner, it’s important to understand what’s next for your web presence as Drupal 7 and Drupal 8 reach their respective end-of-life. This guide will help you understand what to expect so that you can plan accordingly and get a sense for the resources you’ll need to allocate to upgrade Drupal 7 to 9.

People working together with laptops

How to Find the Right Drupal Web Design Agency

By Emma | August 27, 2021

Learn the right questions to ask and the red flags to avoid when choosing a Drupal website design agency.

A vacuum cleaning up confetti after a party

Migrate Drupal WYSIWYG to Paragraphs

By Jay | July 20, 2021

How to build an automated migration that can intelligently divide ambiguous WYSIWYG content into your specific destination paragraphs.

neon open sign

Position Open for Back-end Developer

By Emma | June 16, 2021

A film slide held up to the light

Drupal Migrate Basic Fields to Entity References

By Jay | June 16, 2021

The Drupal migration pipeline wants each source entity to go to one destination entity, but a single node may need to transform its text fields and list text fields into several entity references. So how do you break up data from one entity and migrate it into multiple entities?

White lego bricks

Migrating into Layout Builder

By Chris | May 26, 2021

This year at DrupalCon North America Redfin Solutions’ CTO Chris Wells had the honor to speak for the first time at a DrupalCon. His presentation Migrating into Layout Builder had the privilege of being one of the most well-attended sessions of the conference.

A boat stuck on a beach

Connecting a Transact SQL Database to Drupal

By Jay | April 14, 2021

How to connect a Transact SQL database to Drupal and migrate its content.

A series of connected pipelines

Migration Custom Source Plugin

By Jay | March 11, 2021

Example code implementing hook_cron

Custom Migration Cron Job

By Jay | February 25, 2021

An outline of different options for running a custom migration on a cron job in Drupal 8.

People working together with laptops

Design for Better Communication with Developers

By Ruth | January 19, 2021

As a designer and front-end developer, the infamous designer-developer handoff has often been between me and myself. Having spent a lot of time in both roles, as well as having worked closely with other designers and developers, I’ve learned a few practices that help me to answer developer questions right from the start.

Accessible Entry sign on brick wall

Writing Accessible Content in a Content Management System

By Ruth | September 18, 2020

Accessibility isn’t just a concern for web developers. With content being dynamically created, there are a few points content editors can keep in mind to make sure their content is accessible to everyone. Following accessibility standards helps non-visual users, but can also help all users find and understand the information they’re looking for.

Child holding colorful crayons

Creating a User-Centered Website

By Ruth | June 19, 2020

Rural Aspirations came to us with the idea for Community Learning for ME. The goal of this project was to create a tool for educators and families to find reliable resources specific to their needs. We knew that for this to be successful it was crucial to keep our focus on the user.

Drupal Association logo with surf

Support the Drupal Association During Uncertain Times

By Leslie | March 26, 2020

The Drupal Association faces a lot of uncertainty regarding DrupalCon Minneapolis due to the COVID-19 pandemic. As one of the community-elected members of the Drupal Association Board of Directors, I am reaching out to the Drupal community for your support. So how can you and the rest of the Drupal Community help?

dictionaries in multiple languages

Display Multilingual Drupal 8 Views

By Jay | March 18, 2020

The Drupal 8 core Views module is a big part of why Drupal 8 websites work so well. It takes advantage of Drupal’s structure to create features from recommended content to directories and search pages. However, you can quickly run into complications when implementing a view, especially if your website is multilingual.

The Redfin team rebuilds the website to reflect the new brand.

Redfin Solutions Rebrand

By Emma | November 27, 2019

As 2019 slows down, it’s time to show off the most exciting project we’ve been working on: the complete Redfin Solutions rebrand. We created a new brand narrative and visual identity to represent the modern and powerful technology we use, and to better reflect our core values.

splash awards logo on waves background

2019 International Splash Awards

By Emma | October 14, 2019

At the beginning of October, Redfin Solutions received a nomination for the 2019 International Splash Award in the Tools & Apps category. We worked with Savant to create a custom Fixture Design Tool for their website, which we progressively decoupled from their Drupal website using React.


Leveraging Custom and Third Party Libraries in React Native: Part 3

By Jacob | September 17, 2019

This is the last in a series of blog posts about creating an app with React Native. To get started with React Native, read the Basics of React Native: Part 1. If you want to include content from a Drupal website in the app, read Integrating Content with React Native: Part 2.

lots of builders working on a house together

Integrating Drupal Content with a React Native App: Part 2

By Jacob | September 10, 2019

This is the second of three of blog posts about creating an app with React Native. To get started with React Native, read the Basics of React Native. Once you are familiar with the system and have an app, it is time to fill it out with content.

yellow building crane against blue sky

Basics of React Native: Part 1

By Jacob | September 03, 2019

Redfin Solutions started using React Native in early June when a client needed an app that could integrate with their Drupal website. This is the first in a series of three blog posts that will cover what we learned and what we found the most useful while using React Native.


Lightspeed Interview with Jacob

By Emma | August 30, 2019

After another summer working as the Intern Developer at Redfin Solutions, Jacob Morin leaves us to go back to the University of Maine for the fall semester. Before Jacob left, he answered some questions about his internship in a lightspeed interview.

blank tag with leaf

The Meaning of Google Tag Manager's Non-Interaction Hit Events

By Patrick | August 21, 2019

When adding custom Analytics events via Google Tag Manger, make sure to set "Non-Interaction Hit" to "True" if you don't want that event to count towards the bounce rate. Otherwise, if the event fires on a page, GA will think you didn't bounce and subsequently set that session's page bounce rate to 0.

Ruth headshot

Lightspeed Interview with Ruth

By Emma | July 18, 2019

This week marks the third year that Ruth Leopold, our unicorn Designer and Front-end Developer has been with Redfin. In celebration of this workiversary, she answered some questions in a Lightspeed Interview.

three monitors on a desk

Embedding a React App in a Drupal 8 Site

By Chris | April 10, 2019

Lots of people in the Drupal community are eager to learn React these days, following Dries's announcement that React is coming to Drupal. At NEDCamp in 2018 I presented on how to dip your toe into embedding a react application into a Drupal framework.

laptop and a coffee cup on a desk

How to Override CKEditor Build Config in Drupal 8

We recently ran into a situation in which we wanted to override this configuration in order to disable a plugin. There is some information in this `build-config.js` file about replacing it with a non-minified build for development purposes, but nothing about overriding it. Here's how we did it.

white arrow and blue background painted on bricks showing the onward, the way forward

Progressive Decoupling: A React App in Drupal

By Chris | November 15, 2018

Redfin will be presenting a session there on our toe-dipping foray into the world of "progressively decoupling" Drupal. Recently, I was on an episode to explore a little bit more about React and Drupal together--this should whet your appetite for the session at NEDCamp.

library with books in a pattern sorted by color

Getting Started with Herman: Living Style Guides and Pattern Libraries

By Chris | March 29, 2018

At Redfin, we've tried a number of these tools, including Sam Richard's Style Prototyping approach, and attended trainings for Pattern Lab. What attracted me to Herman was the common predicament of the small-to-medium project and its budget's ability (or inability) to deliver on these prototypes.

facebook login on a computer

Controlling Facebook Preview Images with the Metatag Module

Have you ever posted a link to facebook and wondered where the image comes from in the post preview? Ever wondered if this image is even correct or relevant to what you are posting?

birds migrating

Understanding Drupal 8's Migrate API

By Chris | November 20, 2017

Redfin has implemented many Drupal 8 migrations to date both from CSV data sources and legacy Drupal sites (Drupal 6 and 7). As a result, we want to share with you what we've learned in hopes of saving you the time often spent in the trials and errors of data migration.

laptop showing code on screen and coffee on coffee table

Adding tabindex and jQuery keypress to make anchor-less links more accessible

A twig template modification added tabbing capability to the accordion and with just a few lines of javascript we invoked a click event listener on a return/enter keypress event to show/hide accordion content.

wanderer searching for something and looking into the sun over green hills

Why are my CiviCRM Smart Group counts different from the "Edit Search Criteria" search results?

By Chris | November 06, 2017

In CiviCRM, there's a feature called "Smart Groups," which lets you automatically create a group of contact records based on a search criteria. Maybe it's a tag, maybe it's a certain type of contact, or maybe it's members from a certain region.

salesforce logo sign on building

Pulling Salesforce Data in as Taxonomy Terms in D7

Salesforce Suite is a group of modules for Drupal that allows for pulling data from Salesforce into Drupal, as well as pushing data from Drupal to Salesforce. In this blog post, we’ll look at using that hook to pull three Salesforce custom fields (select lists) into Drupal as taxonomy terms in three vocabularies.

person at laptop holding credit card

CashNET module for Ubercart / Drupal 7.x

By Chris | September 21, 2017

Redfin is happy to announce that thanks to the efforts of vetchneons, we have at long last released a -dev version of the CashNET module for Ubercart in Drupal 7. CashNET is a payment processor used by a lot of institutions in the higher education realm.

screen with a google analytics dashboard

Add to Dashboard Report Button Removed from Google Analytics

By Patrick | August 17, 2017

Google seems to be slowly favoring their newer, more fully-featured, Data Studio over existing Analytics dashboard and reports. Recently, the "Add to Dashboard" functionality was removed.

Drupal 8 contrib (contribution) modules

Installing D8 Contrib Modules

In Drupal 8 there are a handful of ways you can install contrib modules to your project and here we’ll discuss some of the pros and cons of each.

character set

Handling High Unicode Character Sets in Web Fonts

When odd characters are displayed instead of the intended text, it’s often due to the font not supporting “high unicode” characters like the marcon character over the letter “a”: ā. Checking the google font @import url in a SASS file showed that the latin extended character set was not included.

locked door

Installing (FREE) Let's Encrypt SSL Certificates on Acquia

By Chris | May 02, 2017

Recently, one of our Enterprise clients asked for some help installing SSL certificates on their Acquia-hosted Stage and Development environments. Rather than pay, we decided to try it out with Let's Encrypt.

windows symbol

Auto Hiding Scrollbars for IE10, IE11, & Edge

Recently, we had some pesky scrollbars hanging around in IE11 and Edge that were showing up unnecessarily. To hide them when the user isn't interacting with them, here's what you can do.

Redfin Solutions homepage with lots of other tabs open

"Close Tabs to the Right" with Safari

By Chris | February 01, 2017

I've recently switched my "daily driver" for web surfing to Safari on my Mac. But there's definitely one thing I missed, and that's "Close tabs to the right."

sketch4all diamond logo

Starting Out With Sketch and Drupal

By Ruth | December 14, 2016

Sketch is made for designing user interfaces. It’s also really easy to use so when the design goes to the developer they’ll have everything they need with a couple simple tricks.

green sea urchin shell on beach

Redfin's Front-End Shell: Bundler, Susy, Compass, Breakpoint, and more!

By Chris | November 16, 2016

While we at Redfin don't really yet have a full on base theme for every project, one thing we do use is our "bundler shell." This forms the basis of any Drupal 7 or 8 theme we build, and in fact, is really just the framework for the front-end.

cat hiding under blanket

Hide Empty View: Block Display

You create a great block display in Views. You configure it just right for your pages and then, it shows up, or part of it does, on pages where there is no content to fill it? As a relative newbie to Drupal Views, this stumped me for a bit.

page with ribbon bookmark

Hide “Page Title” quickly using Display Suite in Drupal 7

By Chris | April 03, 2013

I wish that it were more intuitive to find, but for all those who struggle with “hiding” the page titles, Display Suite makes it really easy to choose to hide the page title for a specific Content Type or for a particular Node.

lots of colorful tabs in an open book

Sanitizing Drupal's default $tabs

By Chris | March 19, 2013

I am constantly re-working Drupal's tabs to look a little bit more like a pile of bricks, and I've finally decided to stop reinventing the wheel and to document the CSS that makes them display more sanely. I hope this snippet helps some other folks, too.

girl holding camera in front of her face

Easy Image Captions in Drupal 7

For some reason I have a huge mental block when it comes to image captions. So, I recently tried jCaption and found that it can do everything Image Caption did, plus it's more flexible.

metal mailboxes

Stashing stuff in $_SESSION in your form's _submit handler in Drupal

By Chris | December 10, 2010

Today I was trying to figure out why in the name of all that good in the world why I couldn't use $_SESSION in my form's _submit handler. As it turns out, I actually CAN put stuff into $_SESSION, it's just that when you want to pull something OUT of $_SESSION later, that's not where it is.

arrow carved into wall

Create a Redirect in Drupal's .htaccess For The Base URL

By Patrick | July 26, 2010

I recently needed to redirect a client's traffic from their old URL to a new one. In this case, they wanted any traffic going to plain to go to and all other traffic to go to[equivalent URI] (e.g., -->

windows keyboard

Replicate MySQL's MD5() Function in SQL Server 2005 Using HASHBYTES()

By Patrick | March 23, 2009

MySQL and PostgreSQL's MD5() functions are nice, simple, ways to hash your data. Unfortunately, SQL Server 2005 and up (sorry, in order to get it working in SQL Server 2000, you'll need to try a stored procedure), you can use the HASHBYTES() function.

Mac and coffee cup on table with scenic background

Update Subversion on Mac OS X

By Patrick | March 18, 2009

If you just want to update your subversion client (command line), read on.

mac laptop

Creating a .bash_profile on your mac

By Patrick | March 18, 2009

A typical install of OS X won't create a .bash_profile for you. When you want to run functions from your command line, this is a must-have.