Published
Sunday, June 10, 2018 - 23:03
Written by

Hi everyone! I'm Andy, and I'm working on the OSDI integration project for GSoC 2018. If you want more information about what this project is all about, check out the GitLab here. The source code is here. The OSDI standard is a set of standards for interoperability between products in progressive movements. For more information about OSDI, click here.

A few services that support OSDI integration are:

  • Action Network
  • ActBlue
  • CallHub

For a more detailed list, look here.

The purpose of this project is to support easy sync between resources on OSDI-compliant third parties and CiviCRM. For instance, this extension could hypothetically sync users consistently between CiviCRM and Action Network and other third parties, or become a "mothership" that syncs all donations between different ActBlue accounts. This would make it easier for different third party services to share data without the need for manual entry.

My stakeholders and I had a conversation about the basic use case for an OSDI integration, and we agreed that the most valuable use case for Civi is to support two-way sync between Civi and another OSDI-compliant endpoint so that a set of resources would stay up to date between both endpoints. To do this, we settled on Action Network as a valuable starting system and are working towards using OSDI to sync contacts in a group (or in all groups) in CiviCRM with the contacts in a group in Action Network.

I'm proud to say that the current product supports two-way sync between People resources in Action Network and Contact resources in CiviCRM. This means that users of CiviCRM would be able to sync Contacts between their users in Action Network and CiviCRM. The project currently supports a one-time sync that propagates every CiviCRM contact to Action Network and vice versa, as well as Scheduled Update jobs that will take newly modified contacts each day and send them to the other endpoint. These two functions are called:

  • Updater.update
  • Updater.export

    From the vantage point of a CiviCRM user who wants to run campaigns from Action Network or runs a non-profit, this is very useful -- they can now use this module to easily take groups of users in CiviCRM and port them over to Action Network with little manual entry or labor.

My next steps are to expand this functionality extensibly so that we can support other OSDI compliant providers and have the same kind of syncing functionality. This sync will only work for OSDI-compliant endpoints that support the People resource and also implement the Person Signup Helper. In addition to making the product extensible, we plan to expand the product integration to other OSDI resources like Events and possibly Activities. My full project schedule is here.

Secondly, we want to support CiviCRM to CiviCRM sync. This entails implementing a person signup helper and an export endpoint like Action Network does. If we can provide this, then users of multiple CiviCRM instances can sync up data sources for them and decrease drift between their contacts.

Filed under

Comments

HI Andy, thanks so much for the update.