Collective

We’re a worker-owned agency that designs, builds and supports websites for organisations we believe in.

BASW logo on a blue background

British Association of Social Workers (BASW)

We’ve worked with BASW to support their website for a number of years. Initially, we developed their site on Drupal 7 and implemented CiViCRM as their CRM. We collaborated on a two-phase project as they prepared to transition away from Drupal 7 and CiViCRM. 

In the first phase, we rebuilt their site on Drupal 10, incorporating a full redesign and user research. The second phase, detailed here, focused on integrating their new CRM, Dynamics 365, to ensure seamless user experiences and efficient data handling.

 

https://basw.co.uk/

Objectives

Our primary objective was integrating the new CRM (Dynamics 365) with the Drupal 10 site, ensuring that critical data and member interactions were preserved. This integration needed to encompass event registration and payment, an independent social worker directory, single sign-on (SSO) functionality, and member-only content access.

Process Overview

Early Collaboration

From the start of the client’s procurement process, we maintained close communication to understand their requirements and the chosen CRM specifications. This early involvement allowed us to develop a detailed project brief that outlined integration points, data flow needs, and anticipated challenges. Together with the client, we co-wrote a high-level specification that provided a solid foundation for the project.

Design Phase

The design phase focused on content and data considerations:

  • Content Mapping: We assessed which content types and fields needed to call from the CRM and how these would display on the site. This involved updating search and listing pages.
  • API Specifications: Working alongside the CRM provider, we defined data requirements and specifications, simplifying the integration thanks to our prior collaboration on the project specification.

Integration Process

Our integration approach was service-oriented, leveraging custom in-house code to connect with the middleware provided by the CRM vendor, Smart Impact. Key components of the integration included:

  • Events: The Drupal site displays event information from the CRM, mirroring ticket availability and pricing (including membership discounts) to ensure a consistent experience between the CMS and CRM.
  • Independent Social Worker Directory: This premium membership feature required real-time data on members registered as independent social workers, ensuring that only actively registered members appeared in the directory.
  • Single Sign-On: We implemented SSO using OpenID Connect, allowing members to log in with seamless CRM checks on their membership status.
  • Member-Only Content: Utilising the Content Paywall module, we gated specific content types and fields for members, with customizations to enhance front-end presentation.

Challenges and Solutions

Custom API and Data Structuring

One major technical challenge stemmed from the bespoke nature of the API, which lacked documentation. We addressed this by working closely with the CRM provider to clarify API behaviour and expected data outputs. To streamline data flow, we rebuilt the data structure within Drupal to mirror the CRM, making data requests more efficient and consistent.

High Volume of API Requests

To maintain near-real-time data syncing, we needed a process for handling frequent API requests. Polling the API every minute, we encountered challenges with request sequencing, error handling, and data update restrictions. Some API endpoints lacked a time-based update filter, requiring all daily updates instead. Through extensive refinement of our queue processing system, we ensured reliable performance despite high request volumes, meeting the client’s expectation for timely data updates.

Outcome and Impact

The project has equipped BASW with a dynamic, fully integrated system that combines the power of Drupal 10 and Dynamics 365. Their site now delivers seamless user experiences, with robust, real-time data syncing between the CMS and CRM. The custom integration meets user expectations for up-to-date event information, member-only content, and enhanced directory features.

Client Feedback

BASW were very happy with the work, appreciating our proactive approach and dedication to overcoming technical challenges. Our deep understanding of their needs, cultivated over years of collaboration, was instrumental in delivering a solution that aligns with their operational goals and user needs.

Related Services

Systems Integrations with Drupal

Web Development

Content Migration

Managed Drupal Hosting (3rd party)

Back to projects