May 14 2019
May 14

When every business has a website, how do you stand out? Because customers expect so much more from digital brands, utilizing a marketing platform is essential. Marketing automation software enables businesses to deliver personalized engagement, strengthening customer bonds and driving new business.

acquia acquires mautic open marketing platform

Until recently, businesses have, by-and-large, had to rely on proprietary solutions like Marketo and Salesforce Marketing Cloud to handle their needs. Now, Acquia is looking to disrupt the marketplace. The Drupal SaaS giant has just acquired Mautic, an open-source marketing automation and campaign management platform. Now, Drupal users will have an open alternative to manage their customer experience needs.

This is the latest step Acquia has taken toward their vision for an Open Digital Experience Platform. The company has been working in the content management space for years and is now turning toward a data-driven, experience management approach. With their “API-first” philosophy, Acquia hopes to offer Drupal users maximum flexibility and the ability to meet any organizational needs that may arise. This level of freedom gives marketers the chance to customize every step of the customer cycle across channels.

While still a relatively young company, Mautic is a perfect fit for Acquia’s portfolio. While Acquia specializes in content management, personalization and commerce, Mautic will complement their offerings with their specialties in multichannel delivery, campaign management and journey orchestration. And with both Drupal and Mautic built on Symfony and PHP, collaboration and integration will be made easier. With 200,000 installations already, Mautic has already won over many marketers and, with Acquia’s expanded reach, will likely reach many more. Because of Mautic’s API-friendly build, our team at Duo can easily integrate the platform with a site.

Open Marketing (YouTube)

On a more philosophical level, Mautic echoes Acquia’s (and the Drupal community’s) open-source ethos. Currently, Mautic is the only open source alternative to the aforementioned legacy marketing cloud ecosystems. This openness makes it easier for the development community to create marketing platforms built for a company’s specific needs. This ease of use extends to the marketing side, too. Where many proprietary marketing automation software have steep learning curves and are bundled with countless other products in their respective clouds, Mautic’s platform benefits from its ease-of-use and its modern, streamlined design - allowing anyone on a team to get their organization’s message out faster than ever. To take a look at the platform in action, watch the demo embedded below.

[embedded content]

In addition to Mautic’s open offerings, the company also offers several commercial solutions. The first, Mautic Cloud is a fully managed SaaS version of the platform that includes some premium features not openly available. For enterprise clients, Mautic has Maestro. This product allows multinational organizations the ability to segment their marketing efforts by territory, while still allowing for sharing between regions. Campaigns can also be copied and repeated in different territories. These features will remain separate from Acquia Lift, though Duo can handle integrations with either service if needed.

So what does all of this mean for businesses using Drupal? This being an open-source community, it means more freedom! Rather than being locked into whatever is offered by legacy martech vendors, Drupal allows you to leverage best-of-breed services and solutions. At Duo, we’re always striving for more openness. Your solution should match your exact needs and the Drupal environment provides a vast range of solutions to make it your new site a reality. Now, Mautic joins those ranks, and can be used in conjunction with whatever other modules you opt to use. The open source ecosystem that makes Drupal so robust also gives Mautic more flexibility than other marketing automation platforms, and for a cheaper price tag, as well. Finally,

By 2023, spending on global marketing automation is expected to reach $25 billion. This software isn’t going anywhere, so why would you pay for a stale and outdated marketing suite that you may not be able to use to its full potential? With the acquisition of Mautic, Acquia has given marketers a whole new option when it comes to managing customer engagement. Duo can help you navigate the various marketing paths available while ensuring that whatever choice you make will exceed your expectations.

Explore Duo

Apr 25 2019
Apr 25

Every year, the Drupal community gathers in a new city for the annual DrupalCon show. More expansive than regional camps, DrupalCon gives attendees from all around the world the chance to collaborate and learn from each other face-to-face.

driesnote confirms drupal 7 support until 2021 

The expansive audience of the convention makes it an ideal venue for Drupal creator Dries Buytaert to address the community. In his “Driesnote,” Dries usually focuses on highlights from the past year and upcoming developments for the platform. As such, the upcoming Drupal 8.7 update got a lot of spotlight, as did the efforts of star contributors working to make Drupal so robust. And with Drupal 9 coming in the not-so-distant future, Dries’ address this year demonstrated the advances being made at the cutting edge of Drupal.

While Dries focused on the present and future benefits of Drupal 8, he didn’t neglect users still on Drupal 7. First launched in 2011, Drupal 7 remains the most widely deployed version of the platform, even though Drupal 8 was released in 2015. The reasons for the relatively slow adoption of Drupal 8 are numerous, ranging from incompatible modules to the standard costs of a redesign. Dries understands that, and in this year’s Driesnote, offered words of support to those who have not made the change.

“There’s no need to panic,” Dries said. Indeed, he said that Drupal 7 will continue to be officially supported for over two-and-a-half years, until November 2021. At that point, Drupal 7 will reach its end of life.

What happens in November 2021, you might ask? We’ve covered the upcoming Drupal release pipeline in an earlier blog post, but the major driving force behind this date is Symfony 3. A major dependency for Drupal 7 and 8, when Symfony 3 is sunset in November 2021, it will expose sites running on D7 and D8 to security threats. Because Symfony 3 is also a major dependency for Drupal 8, most Drupal users will need to upgrade to Drupal 9 before November 2021.

As Dries said, though, there’s no need to panic if you’re on Drupal 7. This end-of-life date is still over two years away, giving you plenty of time to consider your options and decide how to move forward. In the meantime, Drupal 7 will continue to be supported by both the open-source community and agencies like Duo. 

If you’re running Drupal 7 and want to get a head-start, there are a few options. Upgrading to Drupal 8 is the most logical route, as it the direct successor to D7. The Driesnote also noted that more and more modules that D7 users are accustomed to using are now functional in D8, which will make the transition smoother. The big draw of this path, however, is the ease with which you’ll be able to upgrade to Drupal 9. Drupal 8 is built on the same codebase as D9, which means that an upgrade between those two systems will not require a major design or development overhaul.

Another option for D7 users is to bypass D8 altogether. Jumping from Drupal 7 to Drupal 9 would be more akin to a traditional redesign, both in terms of the work involved and the cost. That being said, even though moving from D8 to D9 will be relatively easy, it will still require some effort. Going from D7 to D9 streamlines the process, requiring only one comprehensive upgrade.

Whichever path you take, rest assured that there is time. Dries acknowledges that there are still many users who enjoy the benefits of Drupal 7, and this year’s Driesnote signifies that this crowd hasn’t been forgotten. While ever Drupal 7 site will eventually need an upgrade, users can rest easy knowing that they have plenty of time.

When the time comes to make a decision about upgrading, Duo can help you chart your journey ahead. Whether you want to stay on Drupal 7 or can’t wait for Drupal 9, we’re committed to delivering the best possible version of your site.

Explore Duo

Apr 18 2019
Apr 18

In the Drupal community, the annual DrupalCon show is the biggest event of the year. Held in a different city each year, the event brings Drupal users together for a week of sessions and networking.

drupalcon accessibility lessons

With so many people and agencies committed to Drupal in attendance, DrupalCon is the perfect opportunity to provide training and guidance. This year’s show, DrupalCon Seattle, dedicated its first two days to community summits and full-day training sessions. One of these summits tackled one of the most prevalent issues of the year for Drupal: Accessibility. Through a combination of keynotes, panels and breakout sessions, the summit’s organizers gave attendees actionable insights and new perspectives on front-end accessibility.

The day kicked off with a keynote from OpenConcept’s Mike Gifford, who spoke about his agency’s work with the Canadian National Institute of the Blind (CNIB). For the organization’s 100-year anniversary, the CNIB sought a rebrand and redesign with an emphasis on making their site’s content more accessible. As OpenConcept learned, creating an accessible platform is easier said than done. To illustrate how difficult the process can be, Gifford wryly offered this Donald Rumsfeld quote:

There are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns — the ones we don't know we don't know.

In the context of web development, accessibility is often an “unknown unknown.” Without extensive testing, programmers won’t know that any given element won’t limit access for certain users. As such, one of the major lessons that Gifford shared was the importance of manual testing.

“Automated accessibility testing will only get you 25 percent of the way there,” Gifford said. “Manual testing is essential, and this mostly comes down to getting rid of your mouse and tabbing through a site."

Download Accessibility Checklist

As Gifford and speakers from subsequent panels noted, the best method for testing a site’s accessibility is to actually use it. While a lot of problems can be found by, as Gifford said, unplugging your mouse and using the “tab” key to navigate, this approach can still miss blind spots that able-bodied users wouldn’t consider. Alternatively, hiring disabled users to perform QA testing on a given site is often the best solution. 

This ethos is especially true when building mobile sites. Another keynote speaker, Gian Wild of AccessibilityOz, covered the mobile accessibility testing process in detail. Manual testing on real devices can root out common traps, like if a site’s buttons are too small to be navigated with a finger or if links aren’t underlined. For more common errors, Wild’s slide deck can be found here.

As important as manual testing is, though, automated accessibility tools are a vital element of the accessible design arsenal. Though pervasive and subtle errors still require hands-on QA testing, automated solutions will identify many more thousands of minor issues in a fraction of the time. As such, using these tools in coordination with manual testing will ensure that your site is as accessible as can be.

During the final breakout session of the summit, attendees shared which tools they think work best for rooting out accessibility issues, many of which conveniently come in the form of browser extensions. Some commonly mentioned tools included:

We’ve previously profiled several accessibility tools, and you see which one is best for you here.

As challenging as accessibility testing can be, the reward of expanding your audience is well worth it. Fortunately, the Drupal platform helps ensure out-of-the-box accessibility features. During his keynote, Gifford pointed out that Drupal design patterns have already been tested, known bugs are listed transparently, and the development community actually cares about the issue. In fact, OpenConcept’s work for CNIB produced several fixes and modules that can now be utilized by any Drupal user. These contributions and further info about the CNIB redesign can be found on Gifford’s slide deck here

With a senior-level team of designer and developers, Duo can apply these lessons to sites across industries. Our commitment to accessibility means that every site we build will be open to all users. To learn more about our process and values, reach out to our team today!

Explore Duo

Apr 02 2019
Apr 02

For many businesses, eCommerce is an increasingly important trend. With the potential for frictionless and simple exchanges, doing business on the web has never been more appealing to customers. To make eCommerce work for your business, though, our site needs to be robust enough to handle every step of every transaction.

drupal decouples commerce

Photo by Igor Miske

With its open source community and robust core, the Drupal platform is a worthy solution for any and all eCommerce needs. While a site built on Drupal will have the enterprise capabilities needed to handle a wide array of business needs, one of the major selling points of the platform is its flexibility. Drupal has the ability to be decoupled, allowing you to use Drupal as your background CMS while utilizing a third-party solution for your front end. If your brand is tied to an existing look or design, a decoupled or “headless” solution will let you have your cake and eat it, too.

As you might imagine, headless solutions have major implications for the possibilities of eCommerce platforms. At this year’s MidCamp, an annual meetup of the Drupal community in the Chicago area, Commerce Guys Product Lead Matt Glaman took a look at the future of headless commerce solutions. What emerged from the session painted a picture of progress, as developers are continuing to create solutions in Drupal that will power a wide array of eCommerce solutions.

Decoupled Drupal Facts & Myths

Leading the path toward making headless commerce more feasible is Commerce Guys, a Drupal software firm that held a couple of events at MidCamp on the subject. Best known for creating the Drupal Commerce module and the shopping-cart software Ubercart before it, Commerce Guys brought years of experience in the eCommerce space to this year’s event.

Offering a look at the technical side of Drupal-based eCommerce, Glaman examined the various challenges and solutions surrounding headless commerce. As he explained, the heavily structured data model of eCommerce in general presents a challenge, as do the relationships between the various layers in a site, such as the data and presentation layers. Making sure that the connections between the Drupal-backend and the myriad of frontend possibilities are robust and stable is essential to making headless commerce solutions work for users.

To address these challenges, Glaman highlighted a variety of existing API solutions. To enable headless commerce, the available options include the GraphQL data query language, JSON-RPC, JSON API and the RESTful Web Services spec. Though the latter two have the convenience factor of being included in Drupal Core, all of these solutions have their strengths and weaknesses in the context of headless commerce.

The efficacy of each solution varies depending on which stage of the eCommerce process you look at. For catalogues and product display pages, using the JSON API offers strong query capabilities but doesn’t support mixed-bundle collections. A GraphQL solution, on the other hand, supports cross-bundling but queries can become very large. Most existing solutions also struggle with “add to cart forms,” as it can be challenging to create reusable solutions. Overcoming that hurdle requires using solutions in concert, such as a GatsbyJS:React and GraphQL build. Finally, for carts, the JSON API requires integration with a Cart API, while the aforementioned query issues with GraphQL require the use of GraphQLMutation plugins to solve. For a deeper look into the nuances of these existing headless commerce solutions, you can watch Glaman’s full presentation here:

[embedded content]

So, while headless commerce in Drupal is achievable, it takes some effort to get to a point where it can handle your business’ eCommerce needs. Luckily, the strength of Drupal’s open source community means that you don’t have to wait for the Commerce Guys to fix everything. A firm like Duo can help you fine-tune an eCommerce solution to fit your needs. Don’t just take our word for it; our previous work with the Chicago Botanic Garden demonstrates our prowess in designing unique and robust eCommerce platforms.

If you’re interested in exploring a headless commerce platform on Drupal or are just looking to make your online business run more smoothly, Duo is the right partner for you.

Explore Duo

Feb 21 2019
Feb 21

A PHP code execution bug affecting the Drupal core CMS has been discovered. The Drupal team has released a highly critical new security patch as a fix, urging all system administrators to update affected modules and configurations immediately.

drupal security patch

Not all Drupal sites are affected by the bug. According to the security advisory issued on, sites that meet one of the following conditions are affected: 

  • The site has the Drupal 8 core RESTful Web Services (rest) module enabled and allows PATCH or POST requests, or
  • the site has another web services module enabled, like JSON:API in Drupal 8, or Services or RESTful Web Services in Drupal 7.

This bug arose because some field types are not properly sanitizing data from non-form sources. This enables arbitrary PHP code executions in certain cases. If not dealt with, a malicious user could exploit the bug to invade a Drupal site and take control of an affected server. Given that Drupal is such a popular website publishing CMS worldwide, with over 285,000 sites running on Drupal 8 and more than 800,000 sites running Drupal 7, a security issue of this magnitude warranted a swift response.

Per the advisory released on Wednesday, Drupal recommends users who may be affected to take the following steps:

If a site update cannot be updated immediately, the Drupal Security Team recommended another set of steps. Site admins can an disable all web services modules or configure their web servers to not allow PUT/PATCH/POST requests to web services resources.

The security patch was widely released on Wednesday, but Drupal considered the issue serious enough to let admins know about the release a day in advance. Duo was one of the agencies informed and our team got to work as soon as the patch was released. The advance warning gave our developers enough time to block out time on Wednesday afternoon to ensure that every site we’re responsible for was updated immediately. By the end of the day, we had patched all affected Duo client sites. 

While working with an agency helps guarantee a proactive solution to security fixes, Drupal’s in-house security team also plays a major role in maintaining diligence. A team of over 30 volunteers, the Drupal Security Team only recruits from experienced members of the Drupal community. As such, these active and committed watchdogs are typically able to identify problems before they become widespread. The current bug, for instance, was identified by the Drupal Security Team.

A strong security apparatus means nothing, however, if users don’t put in the necessary effort to keep their sites safe. In 2018, the Drupalgeddon 2 bug affected over a million Drupal sites. While many users subsequently patched their servers, an analysis conducted a couple months after that bug was discovered revealed that over one-hundred thousand sites remained vulnerable. All of the foresight in the world can’t protect a site if security concerns aren’t addressed as soon as they’re brought to light.

While major security issues like the one this week and Drupalgeddon 2 are rare, all code has bugs. The best thing a site can do to defend against potential vulnerabilities is to be proactive, actively searching for and fixing issues. Duo offers these protections on a continuous basis and, as part of the Drupal community, are able to discover and implement solutions as soon as they become available. In an increasingly digital world, it’s critical that companies find a partner who can handle your cybersecurity needs promptly and without complication.

Explore Duo

Nov 12 2018
Nov 12

I've talked with hundreds of Drupal professionals over the years (probably thousands at this point), and whether or not it's intentional, I think we fall into a pattern. When we talk about the benefits of the platform — specifically Drupal 8 — and what it can do for organizations, we often talk about it in relation to either the front-end user or the website developer.

Drupal 8 Content Editor
Photo by Christin Hume

While both of those audiences are incredibly important, there's a flaw in that tendency. The users and developers are not the ones spending the most time in Drupal on a day-to-day basis — that would be the content editors. Content editors are the men and women who take the created content and publish it online. They push updates to the site, and they are the ones who more or less manage its content.

We've talked about the benefits of Drupal 8 in the past, but today, I want to focus on how the platform specifically impacts content editors. Drupal 8 has made great improvements to the admin interface and to the overall user experience for content editors. Here are some of the best benefits, in my opinion.

Quick Edit

Our clients who have already migrated from Drupal 7 to Drupal 8 would be completely happy if in-line editing were the only new benefit for content editors. This seamingly simple feature is receiving rave reviews, and it's no wonder why. In the past, it was such a pain to click through to each individual piece of content you wanted to edit. Now, to edit content, you technically don't even need to go into the back end.

The Quick Edit feature, which also comes out of the box in Drupal Core, allows content editors the opportunity to edit directly on the front end of a site. If you have a quick change, you can edit the content on the live site, save it and more on to something else. It's so easy, and so impactful.


CKEditor is a new WYSIWYG editor that is far superior to previous Drupal editors, and it is included in Drupal Core. One of the nice elements is a drag-and-drop interface. Speaking of CKEditor, the CKEditor Media Embed Module allows content editors to embed external resources such as videos, images, tweets and more via the editor.


One of the hallmarks of Drupal has been that you can customize it to fit your needs. The same is true for content editors. My colleague Michael Girgis wrote about how Drupal 8 sites can now use the Material Admin theme that makes for a more pleasant visual appearance — it reflects the styles of Google Material Design Language. That's one way to customize the experience for content editors. Similarly, the Gutenberg editor — which is scheduled for a stable release in December — gives editors a new publishing experience without needing any code.

In addition, the WYSIWYG editor that comes out of the box can be customized based on an editor's need, including hiding some features that are rarely or never used by content editors.

Responsive interface

It's obviously important for websites to be responsive today, but Drupal 8 also makes the back-end admin interface responsive, which is an enormous improvement over earlier versions of Drupal. The reality is that critical updates are necessary when people are away from their computer. Having the toolbar and editor be mobile optimized makes it much easier for editors to make site updates from their phone or other mobile device.

Content editors are the people who spend the most time in Drupal. Drupal 8 makes sure that time is now more enjoyable than ever before.

Let's Talk

Oct 08 2018
Oct 08

We’ve been seeing interest in Drupal 8 increase in the last few months, and it’s with good reason. The platform has so much flexibility and the power to streamline work for any number of industries.

One area where I’ve seen a substantial rise in the desire to learn more about or adopt Drupal 8 is in the world of marketing — specifically from marketing departments. And it makes sense. marketing
Photo by rawpixel

In many businesses, it is the marketing department that owns and operates the business website. So they should have interest. And with everything that Drupal 8 has to offer, their interest should only continue to rise. What makes Drupal 8 so valuable to marketers? Let me tell you just a few ways.

The benefit of flex pages

I’ve written about flex pages in the past, but the reality is they are one of the biggest advantages for a marketer. Why? Because a marketer can create a webpage with whatever look or feel they like, and they can do it without having to rely on the IT team or a dedicated web developer.

Whether a marketing team is looking to build out a landing page for a specific campaign or working to redesign their entire website, flex pages give them the creative freedom to design in a way that best meets their needs.

The emphasis on integrations

Drupal is a dynamic content management system (CMS), but in my eyes, what makes it stand out is its ability to easily integrate with third-party applications. Drupal 8 is set up so that site administrators can easily use APIs to connect their website with any number of digital tools. Beyond that, Drupal makes it possible for admins to work with the technology that works best for them.

We’ve done work with the Chicago Botanic Garden (CBG), for example, and specifically we’ve helped with their ticketing system. Now, for those who don’t know, CBG has 50,000 members and more than 1 million guests visit the grounds each year. Those types of numbers making ticketing complex, and so CBG requires a system that fits their specific needs.

The marketing team at CBG had a specific platform that they wanted to use for ticketing, and so we worked with them to help integrate that system with their Drupal website. Now, the marketing team is able to learn all types of new information about their visitors — from purchase habits to web pages they visit — and track that data all in one place. As a result, the marketing team can now tailor specific content or opportunities to those visitors based on their previous actions.

The ability to leverage best-of-breed tools

I mentioned above how Drupal makes it possible to seamlessly integrate with third-party applications. Truly, though, Drupal’s biggest asset is that it makes it possible for complex systems to smoothly communicate with one another.

As a marketer, you may want to use a tool that allows you to retarget content to site visitors once they leave your website. Perhaps you have a marketing automation tool like Marketo and you want to be able to connect what users do on your website with the communications you share with them. Or maybe you want to implement a drip campaign that reminds site users that they left your website without purchasing items in their shopping cart, and as an incentive you are now offering an additional 10% off.

Those opportunities and countless more are possible with Drupal. Are you a marketer who wants to know more about the benefits of Drupal 8? Please give me a call and I’d be more than happy to answer any questions you may have.

Let's Talk

Sep 25 2018
Sep 25
Think about these four words for a minute:
  • Transformation.
  • Growth.
  • Innovation.
  • Opportunity.
What do those words mean to you? To me, they represent the infinite possibilities that come with a well-designed website. If a site or digital platform is built to match the needs of its company, the result can be transformational. It can lead to a growth in a customer base or overall growth in an organization. It can be innovative in how it presents content. And the opportunities, well, they are limitless.

drupal for law firms
Photo by Patrick Fore

Those four words are also the basis behind the 2018 Legal Marketing Technology Conference Midwest. The conference, which Duo is proud to be a sponsor of, will be held Oct. 2 and 3 at Chicago’s award-winning tech incubator space, 1871.

This year’s conference revolves around the idea of “Technology in Action,” and it provides a variety of unique opportunities for participants, including:

  • Discussions on the innovations taking place within legal services
  • Conversations with innovative industry thinkers who represent firms of all sizes
  • Networking opportunities with peers from across the country

Duo has partnered with law firms of all sizes over the years to help them re-imagine their digital presence. In fact, we were recently honored with a WebAward for Best Legal Website for our work with Chicago-based Much Shelist.

With that site, we helped the full-service law firm completely rebrand how they presented themselves online. We also helped develop a style guide and branding guide for future reference.

We’ve leveraged the power and flexibility of Drupal for more than 20 different law firms. Each firm had different needs, but we have found there are some common attributes just about any firm could benefit from. Some of those include:

Proposal and profile generator
We worked with one of our larger clients to create a template that allows internal staff members to take information from their website and quickly generate a proposal or a lawyer profile in Microsoft Word. A process that used to be time-consuming and laborious is now simple and fast.

Website and HR connection
We worked with one firm to help solve a challenge that we’ve seen plague countless businesses from a variety of industries. The firm was looking to find a way to easily update its website whenever a lawyer joined or left the firm.

To solve that problem, we connected the website directly to the firm’s HR system. That way, whenever a person’s information is updated by HR, it also automatically is updated on the website directory.

Automatic news feed
In recent years, we’ve seen more law firms become interested in sharing content on their website, either about their lawyers or topics that they specialize in. Traditionally, a website administrator would have to create a new webpage that then linked out to a news article. The process doesn’t have to be so time consuming anymore.

We helped one firm become a better content aggregator by building the website to automatically collect news stories on the specific services the firm focused on. These stories were displayed throughout the site, making the site robust and topical, without being too time consuming to maintain.

There are countless other ways that law firms can enhance their website to better suit their needs and the needs of their clients. Remember those words I asked you about at the beginning of this?

  • Transformation.
  • Growth.
  • Innovation.
  • Opportunity.

Think about those words and how they relate to your website. How can you transform your website? Can you do so in a way that helps your firm grow? What’s something innovative you can do with the site? What opportunities are you missing out on?

Do you have answers to those questions? Do you want some help thinking through them? Either way, our team at Duo is ready to help you. Give us a call, or better yet, come visit us at the Legal Marketing Technology Conference Midwest.

Let's Talk

We can’t wait to hear from you!

Aug 20 2018
Aug 20

I recently had a meeting with a client who has operated their website on Drupal 7 for the past few years, and they wanted to know why they should upgrade their site from Drupal 7 to Drupal 8. As I worked on answering their question, it became clear to me that there are 8 distinct reasons why it makes sense for businesses and organizations to make the leap from D7 to D8.

eight reasons for drupal 8
Photo by Franck V.

Here are those 8 reasons:

1 - Ease of use

Historically, users have complained about the back-end experience of managing and editing Drupal websites. Thanks to Drupal 8, those complaints are now a thing of the past. First off, D8 comes with a WYSIWYG editor designed specifically for Drupal’s use. Beyond the traditional basics — like buttons for bold, italic, hyperlinks, and so on — there are added extras, such as easily editable image captions that come with the editor’s new Widgets feature.

Site admins can also perform inline editing, meaning they can look at the front-end of their site and make edits in real-time so that they can instantly see what their edits look like. No longer do you need to exclusively go to the back-end to update or edit content. This gives admins far more flexibility than ever before.

Additionally, Drupal 8 features the Material Design Admin Theme that was designed using the rules Google developed for all of its products. This means that as Drupal admins manage their content, they can have an experience that resembles working with a Google product — which can make editing more familiar and more comfortable.

2 - Mobile first

Drupal 8 is fully responsive out-of-the-box. There is no customization needed to make that happen. After all, it’s 2018 — any web product should be fully responsive. That means that when your site is built on D8, elements like menus, blocks, and even images will automatically reshape to work and look good on any screen size.

Additionally, D8 features a mobile-friendly toolbar that has multiple benefits to it. First off, it makes it possible for admins to manage content from their smartphone or other mobile device. More importantly, the toolbar was designed with accessibility in mind, which means it makes it easier for screen readers to easily navigate to different parts of a site.

3 - Performance

If you have a website, you want it to perform well. That’s obvious. And good performance often refers to fast load times. What Drupal 8 has that Drupal 7 doesn’t is BigPipe technology, which was first developed at Facebook. What BigPipe does is it allows your site to have far better front-end perceived performance because of how it loads and caches content. Here is a video that our CTO Rich Lawson likes to use as an example of how BigPipe impacts a site.

BigPipe is part of Drupal core, so when you upgrade to Drupal 8, you will benefit from it immediately.

4 - Introducing TWIG

Drupal 8 introduces Twig, a widely adopted theme system in the PHP world, to Drupal. Twig’s syntax is simpler, and Twig is more secure than the PHP template-based theme system in Drupal 7 and below that it replaces. It allows designers and themers with HTML/CSS knowledge to modify markup without needing to be a PHP expert and with almost no risk of their actions causing security issues on your site.

5 - Migration plan

With Drupal 8, the process of updating the platform has changed, and it’s a change that benefits users, admins and Drupal itself. Historically, upgrading to a new version of Drupal (like Drupal 6 to Drupal 7), required an entire rebuild. It was time consuming and it was expensive. Starting with Drupal 8, that process changes. Upgrading from D7 to D8 still necessitates that total rebuild, but after that, you won’t need to rebuild when a new version of the platform comes out. So when Drupal 9 is unveiled, you want need the same type of overhaul as you’ve done in the past.

Beyond that, Drupal has changed to a new release cycle. Now, Drupal offers monthly bug fixes and security releases (for example, 8.0.1, 8.0.2, etc.) and semi-annual minor releases of Drupal core (so 8.1.0, 8.2.0 and so on). This means that if there is a bug with the platform, or a certain module isn’t working in the latest version, no longer do you have to wait years for the new version to be released. Instead, your wait time is only a couple of months, if that.

Additionally, modules are now compatible between immediate major versions, so you don’t ever have to say, “I cannot upgrade to Drupal 9 because my favorite module is only in Drupal 8.”

6 - Extensibility

Flexible content delivery is another key tenet of D8. That flexibility extends to integrations, one of the platform’s hallmarks and key differentiators. Drupal is a great foundation for web content management and digital experience management because it enables integrations with your best-of-breed technologies. Drupal 8 gives you the ultimate freedom and flexibility to choose what technologies you want to use.

7 - Future proofing

Drupal 8 makes it possible to access your content beyond the confines of a traditional screen. Drupal enables you to create and deliver content to any channel, device or application. That means Drupal makes it easier to share your content with mobile apps, voice recognition devices like Google Home or Amazon’s Alexa, or even Internet of Things devices (like your smart fridge, for example). You may not need that functionality now, but down the road, you may like the option.

8 - Commerce 2.X

The Drupal Commerce 2 module has been curated by commerce experts and its out of the box functionality can stand up against any proprietary platform. New features will be introduced into the core through micro-updates and major migrations will be a thing of the past, just as it is with Drupal 8 and beyond.

The Drupal community’s attention is on Drupal Commerce 2, just as the community is focused on D8 instead of D7. If you’re operating with Drupal Commerce 1, or a different e-commerce module, you’re not going to be guaranteed the same type of maintenance and security as you would in Drupal Commerce 2. When you’re focused on selling a product or service through your website, you want to make sure it is up to date with security and functionality settings.

Those are my eight reasons why I told our client they should upgrade to D8. Did I miss something? Is there something else about D8 that you want to know about? Shoot me a note and let me know.

Let's Talk

Jul 27 2015
Jul 27

Since July 2014 there’s been a feature in Drupal 8 to override backend specific services. There are over 25 services in Drupal core that are backend overridable.

In this post we’ll look at a simple way to override services using aliases, which comes downstream fro symfony.

A simple service is the “” service. It allows data to be stored, fetched and deleted, relating to a user account. For this there is an interface, UserDataInterface and this is implemented by UserData. We need to create a module that adds a new service that implements UserDataInterface.

Firstly create a folder for your module, something like alternative_userdata, then the file, in there we can define the module’s info:

name: Alternative UserData type: module description: Adds alternative storage for user data. core: 8.x dependencies: - user

So we are setting the name of the module, the type, a description of it the core version and that it depends on the user module.

Next we need to define our service, for this you wil need to create the file In here we can add the service called and set the class.

services: class: Drupal\alternative_userdata\AlternativeUserData

Next is to create the class, add a folder named “src” (following PSR-4 autoloading standards) and within this a file called AlternativeUserData.php.

<?php /** * @file * Contains \Drupal\alternative_userdata\AlternativeUserData. */ namespace Drupal\alternative_userdata; // Here you may need to add the use operator to pull in any backend client. /** * Defines the alternative user data service. */ class AlternativeUserData implements UserDataInterface { // You may need to add a protected variable here for your backend client. /** * Constructs a new user data service. */ public function __construct() { // Here you can create a new instance of your backend client. } /** * Implements \Drupal\user\UserDataInterface::get(). */ public function get($module, $uid = NULL, $name = NULL) { // This needs to return the user data from your backend. } /** * Implements \Drupal\user\UserDataInterface::set(). */ public function set($module, $uid, $name, $value) { // This needs to save the user data to your backend. } /** * Implements \Drupal\user\UserDataInterface::delete(). */ public function delete($module = NULL, $uid = NULL, $name = NULL) { // This needs to save your user data to your backend. } }

Now that we have a service defined in our module, the module can be enabled, however it won’t do anything until we set an alias in your site’s services.yml file.

Edit services.yml (normally at sites/default/services.yml in your Drupal 8 codebase) and add the following:

services: alias:

Now when Drupal looks to use the service it will actually use the service from your module.

Simple, right?

Edit: Lee Rowlands expands on this in his post Overriding services in Drupal 8 - advanced cases.

Please enable JavaScript to view the comments powered by Disqus.

blog comments powered by
Oct 17 2011
Oct 17

RESTful is the native API of web browsers. When you put some website’s address into a browser, that’s an implied REST expression called a “GET” of the resource at that address. In response to that GET request, the web server on the other end returns a web page. However, REST is much more than requesting the resource (data) at some address. Just like using any website, one is able to Create things, Retrieve them afterwards, perform Updates to them, and eventually Delete them. That Create -> Retrieve -> Update -> Delete cycle is called “doing CRUD” (really), and that in a nutshell is what creating and using a RESTful system is all about.

In the “early days” of the Internet, when someone wanted to make a printer or some other machine programmatically communicate over the Internet, more complex systems with names like SOAP, XMLRPC and AMF were used to handle that communication. Then around the year 2000, a smart guy named Roy Fielding pointed out that the web itself was an API and these complex systems were not only a bother to create and work through, but needless because what they were offering was already built into the web itself.

Now, Drupal is a content management framework whose essential purpose is to create a website of some sort. You are probably familiar with some websites including information from other websites, such as a Twitter feed or Facebook friend status. This including of other website’s information can be accomplished “the old, hard way” via scraping the page that normally shows this data, via SOAP/XMLRPC or that communicating of information can be accomplished “the new, shiny RESTful way” which takes less effort and by it’s nature is universally supported.

This is essentially machine-to-machine communications, and is how an iPhone/iPad/Android/game console/printer or virtually any other device communicates on the Internet. This is using REST.

The topic of our Developing RESTful Web Services and APIs class is how to use the new Services 3.0 module. Services 3.0 provides an API for Drupal module developers to create a REST API of their own design. Using Services it’s most basic level, one can install and enable a set of built in APIs that will allow remote programmatic administration of that website (thru secured authentication of course!) What I detail is the more ambitious creation of a series of programmatic resources, demonstrating how to create a useful API of the type that could support anything capable of programmatic control.

For example, you could have a site where you provide users “alerts” when items the users have shown interest become available. Additionally, those alerts can be seen on Facebook and in an iPhone app. Your Drupal site providing these alerts can use a custom module and Services to publish an API that the Facebook and iPhone apps use to manipulate that information. Using REST for this communication is more lightweight on your web server because the Facebook and iPhone app logic is able to request that information specifically, rather than an entire web page where they would scrape off the data they want, or get that information through the more complex SOAP or XMLRPC methods.

This is also how one could have a mobile and/or console game’s universal high scores and user community forums present in-game as well as simultaneously on the web. One could have a Drupal site using Services to publish an API for “doing CRUD” with high scores and interacting on the community forum. For the Drupal site, business as usual, but for the mobile and/or console game they are getting that data via a RESTful communication with the Drupal site. For the mobile and console game developers, this type of communication is easy. And through Services, it’s also easy for the Drupal developer.

Further, I use Services to create “custom on-demand digital products” at a Drupal/Ubercart store, with that on-demand creation taking place on a remote cloud server. I walk through how that is setup, and my architecture for scaling the environment should my custom digital products go viral.

And the best part, REST is how one creates Web Services. What are Web Services? They are the future of everything. Really. Remember up there where I mention machine to machine communication? Web Services are the creation and publishing of APIs to “do CRUD” with things that people care enough to pay real money for access. Such as access to commercially controlled data like music, movies, or even stock and bond research and trading. Web Services is taking REST and wrapping it in commercial activities. Some event venue could publish a ticketing API, and then charge ticket brokers for access. The list of possibilities are endless. And that list is expected to be how all commercial services in the future will be conducted. (Make your eyes really big when you read that last part :)

In summary, our Developing RESTful Web Services and APIs class covers how to create an API with Services 3.0, as well as how to support your API customers (who may not be using Drupal) (and who may be dumb as rocks) how to successfully use your site’s API.

At the class, I give out and walk through an API Shell, which took over a month to create. Next, students begin creating their own API with architectural guidance by myself and other Larks trainers. To facilitate this, an example API’s is step-by-step created, with time for the students to implement their component in their API as we go along. For individuals or groups with a specific project they are planning or have in development, a 3rd day of additional guidance and support is also available.

Feb 04 2008
Feb 04

Now that Drupal 7 is open for development, people have started thinking about their personal battle plans for the next release. In the announcement, Dries mentioned the 11 wish list items that the community thought would make an excellent Drupal 7 release. I will be focusing, with Scott Nelson and the other Services people, on number 10: Better external APIs (import/export, webservices). Well, the Web Services part.

The Services module provides a slick API to implement common web services across a number of different protocols (XML-RPC, SOAP, REST, JSON, etc). Web services have become a very important part of how the websites interact with the user (think Flickr,, Google,, etc). Getting parts of the Services module into core would mean that Drupal would have the ability to act more as a web service for external applications. It would allow Drupal to grow beyond the web, allowing interaction with the user in new platforms and in different ways.

Scott will be hosting a session on Services at DrupalCon 2008, so if you're interested in seeing where we'd like to see Services in Drupal 7, I think you should attend.

Jan 12 2008
Jan 12

Since we had troubles with the VNC server when I hosted the Drupal Dojo, I've put together this screencast to demonstrate getting a software application to communicate with a Drupal server with the Services module. Enjoy Drupal and the Desktop.

View the discussion thread.

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web