Integration with Drupal
The Best of Both Worlds: Drupal & The Integrated Web
It’s always fun, and a bit ridiculous, to try to describe “today’s web”. Web 2.0, the Mobile web, the Cloud - we can describe it based on the technology stack, where servers live, where content is being served, who is doing what, and on and on. It’s all a bit arbitrary because in reality the web is exactly as it sounds - a giant web of interconnected technologies and components and people so it’s easy to oversimplify what we’re dealing with.
From our perspective, what matters most is to think about what we can do with it. The web is an amazing interactive mechanism, accessible to nearly everyone, that has become the vehicle for talking to friends, paying your bills, purchasing groceries, or doing nearly anything else that can make life better and/or easier. And with all of that coolness comes the terrifying implication - useful modern web applications are going to be complex, expensive, and expansive and we’re the ones who have to figure it all out. That requires a pragmatic approach to avoid ending up with your name on the growing trash heap of failed web projects. It’s not an uncommon tale even at the end of “successful” launches where everyone hates each other and hopes to not have to go through that again. It’s not an encouraging picture when you’re in the business of doing “cool” things.
So what’s the key to building awesome, complex, useful web applications in this constantly evolving industry? Integrations.
Don't Create - Integrate!
Ok, so the heading is maybe a little overstated to sound dramatic. The truth is though - there are so many amazing solutions to so many problems out there right now that if you want to build a great web-based digital solution then you really need to start off by thinking “What do I need that’s already done?” This doesn’t mean necessarily looking for “out-of-the-box” solutions with a mentality of slashing costs, because “out-of-the-box” often just means “do exactly what everyone else does.” You want something that pushes things forward, that makes you stand out. You want to leverage what people built using integrations, but in a flexible way that allows you to customize the integrations to your needs. This often results in the lion’s share of the work being done by someone else with most of your time and money being spent tailoring it to your vision. So this might mean building an ecommerce website while integrating with tools for managing a digital cart as well as payment services like Paypal, Amazon Pay, and many others. This means you’re spending your time building and promoting your products - what you know the most about - and aren’t tackling the decades-old problem of how to allow people to actually pay for things.
"This means you’re spending your time building and promoting your products - what you know the most about."
Drupal Does Integrations
We have chosen to heavily invest ourselves in Drupal for a very simple reason - it does what we want. It provides a lot of constantly needed functionality without us having to reinvent the wheel on every project and it’s extensible enough that we still today have not run into a situation where we had to say “Sorry, we can’t build that.” It’s that sweet spot of leveraging a crowd-sourced enterprise-level platform architecture while never getting in the way and limiting what we might build. That concept is critical to integrations because every integration is different and flexibility is paramount. You might need to consume REST web services, make POST calls, instantiate php classes and libraries - it really doesn’t matter. Drupal + php (and particularly Drupal 8 + Symfony) make it easy to integrate with nearly anything out there and that means getting to find awesome tools and pulling them into our sites without having to replicate the thousands of hours already spent solving those common problems.
An example of this was when we needed a very specific Solr search integration for a site we were working on. At the time, there wasn't a ready to use module that covered all of the requirements we had from the client. We needed a feature that was only available with support from a specific version of Apache Solr and we had to make sure that the indexing would be compatible with the various custom content types and fields in the site. In another system, this would have meant that this feature would have been on hold until it was better supported, but in Drupal (and particularly Drupal 8) this isn't as much of an issue. We were able to make use of an official PHP library for Solr and create a simple integration without a lot of overhead. We were able to make it as specific as we needed for our use case and it worked wonders.
Let's Get Real
So let’s step out of the conceptual and into some specific examples. Let’s say I need to create a robust B2B Publishing digital solution. I need to send emails, deliver ads, track leads, publish content, provide useful searching, and tie things together with my other internal systems.
The key is that you aren’t going to find an out-of-the-box solution that provides all of that in exactly the way you need. You can, however, find great solutions for the individual components that you can then wire together to create a nice solution. Here’s some of what we’ve done.
Email - In the past we’ve actually managed our own email servers. That’s just silly these days. MailChimp, MailGun, SendGrid, etc all provide really solid email sending services that are easy to integrate with and take all the headaches away of worrying about bounces, IP reputation, processing power, etc. A platform like Drupal even has modules such as the SMTP module that can do the basic email integration with little setup. Most third party email hosting providers have a pretty standard mechanism of authenticating as well. And if you need more than that, it’s easy enough to hook into the mail system and customize.
Advertising - Again, we used to actually build this stuff and it’s a beast. How to render, how to track, how to screen out bot impressions, how to measure conversion rates, etc. Today? Google DFP, AdButler, and Optimonk are just a few of the solutions out there that can get you serving reliable ads and reporting on those ads rather quickly. Sometimes even a combination works well as we’ve found DFP for display ads and Optimonk for interstitials can be a nice combination. Drupal's block system can also be leveraged to help you get creative on where and when ad blocks are rendered as well. We have a lot of options now that don't have to involve building from the ground up.
Lead Gathering - This one is a bit trickier in some respects because often solutions that provide great mechanisms for tracking and linking user data aren’t necessarily best positioned to work with something like content gating, which is a common need in the publishing industry. So a good solution might be to do custom gating, so that you can precisely control how users can access content and when they’re interrupted, but then push all that data into a CRM like Sales Force or Opus or one of many others so that you still get all the power of an enterprise CRM but you can still treat your site visitors the way you want to.
Search - Content searching is conceptually simply, but if you want to provide search that isn’t on the level of what people did in 1993, you have to get creative. Again, that’s where third party integrations come in. A service like SOLR, for example, takes it to another level where you can provide “More Like This” suggestions based on an algorithm that analyzes content and scores it based on how similar it is. Or maybe in a site wide search you may want to value a match in the title as twice as highly as a match in the body. With a custom integration, it’s rather simple to make these kind of distinctions all the while not having to actually figure out how to do this. SOLR did it for you. You just needed to tell it how you wanted it to work.
Need Some Help?
Obviously this all sounds simpler than it actually is, and that’s where companies like Ashday come in. Figuring out what third party tools can work best for your needs takes research, experience, and investigation. Figuring out how best to implement those tools and integrate in a way that’s flexible but not unnecessarily complicated is a tricky game that benefits greatly from having been around the block a number of times. Well - we’ve been around the block a number of times. ;) Below are just a portion of the integrations we’ve tackled in our time in the industry. They range from universal service to very specific data streams but in the end, it’s always been about getting bang-for-the-buck for our client’s time and money. This is just a small percentage of the services we’ve taken advantage of to enhance what our clients have gotten out of their sites.
Customer Relationship Management (CRM)
Amazon Web Services (AWS)
National Weather Service
Western Area Power Administration
Google Tag Manager
Double-Click for Publishers (DFP)
As you can see, we’ve done this a lot and we’re not going anywhere. It’s actually a lot of fun leveraging these services because often times we’re the ones saying “Hey, what if we could do this?!”. That takes being familiar with what’s out there and knowing the challenges of implementation. It also doesn’t hurt that we really enjoy it.
The bottom line is this: don’t tackle the world’s problems on your own. Find out how others have solved those problems and if you need help figuring out how to take advantage of those solutions, give us a call!
Need help with a Drupal integration?
We've connected with dozens of third party systems over the years. We can help!