Porting the Drupal Salesforce Suite to D8

Aaron Bauman
Behind the Scenes

This post is the first in a series about Message Agency's commitment to ensuring that nonprofits can continue to leverage Salesforce and Drupal with every new release. We developed the original integration modules in 2010 for Drupal 6 and have continued to support this important tool ever since. We've taken the lead in porting the modules for Drupal 8 and have committed to accelerate development, with beta modules planned for release in the first quarter of 2017. This post, by Aaron Bauman, describes the current roadmap. - Marcus Iannozzi, Principal

Gaining Traction

In fall of 2013, I found myself with some free time and jumped into Drupal 8 (D8) with both feet. APIs were still very much in flux, but I put together a first pass of an initial port of Salesforce Suite from Drupal 7 (D7) to D8. After running into several roadblocks around various yet-to-be-ported core hooks, and falling under various client pressures, this work was shelved. Fast-forward three DrupalCons and one Drupal 8.0 release later, and I found myself re-inspired to move forward with the Salesforce Suite updates. Two dozen meta-comments, half a dozen refactors, and more than 100 hours later, Salesforce-8.x-3.x is picking up steam.

Many of the new D8 basics— such as module routing, permissions, info.ymls, and services — are now in place. Old procedural code has been updated to PSR-4 classes. Deprecated and irrelevant hook implementations have been converted and removed. And there is much more underway and planned.

Improvements and Missing Pieces

Contributors have identified dozens of goals in the D8 Salesforce Suite Roadmap discussion. Not satisfied with a simple update from D7, Message Agency will address some of the missing features from 7.x-3.x including

  1. Asynchronous, batched handling of push/pull operations
  2. Full support for multiple mappings per entity
  3. Consistent, opaque use of SOAP client as applicable
  4. Error handling and recovery
  5. Merge handling

Additionally, we'll create a full battery of automated tests, including a mock API service for use in isolated environments.

Formal Roadmap

To help organize these and other ambitious goals, I've created the first task breakdowns—ready to be picked up and contributed to— on drupal.org and categorized them with various SFD8 tags.

Our ROADMAP.txt further breaks down open issues, and aggregates nearly 100 (as of this post) @todos from across the codebase.

Stay tuned for more posts charting our progress.

More Blog Posts

  • Behind the Scenes

    A year ago, we transitioned from a matrixed organization to an Agile one. Join us as we look back on our year of process change, lessons learned, challenges encountered.

  • Drupal

    In the Great CMS War, deciding which content management system is best for your organization can be jarring. But before getting bogged down with the details, the first step in choosing a CMS should be asking yourself a simple question: “Do I need a brochure or a printing press?”

  • In the Community

    Message Agency is proud to sponsor Philadelphia's first citywide coding competition for high school students, organized by Coded by Kids.