SYSTOPIA Extension Of The Month #5: Committee Structures Synchronization

2024-05-31 07:48
Written by
SYSTOPIA - member of the CiviCRM community - view blog guidelines

At SYSTOPIA, we have developed a large set of CiviCRM extensions, Drupal modules and other tools over the years. Currently, we are actively maintaining or co-maintaining over 60 repositories. Unfortunately, sharing knowledge about all the goodness with the community has notoriously fallen short. With this series of blog posts, we want to change that a little. Thanks for reading on!

What is this extension about?

Committee Structures Synchronization (aka the "Committees Extension") is primarily about providing those who work in political advocacy with accurate and up-to-date data. If your job is to influence political decisions in the interests of your organization, then it is crucial that you know members of parliament, their positions in committees and other details. And: Your data should be up-to-date and complete!

Let’s assume you have a source for that information, like a public data API, or a service provider selling that data. And let’s further assume that you have a powerful Open Source CRM for nonprofits at your hands. :-) Then you are still left with the tedious and error-prone task of constantly entering data changes. And for a large parliament like the German Bundestag, those can be a lot of changes...

Would you like to save a lot of time on data maintenance and invest more in your actual advocacy work instead? Then this tool should really interest you as it’s job is

  1. to let you define how you prefer to model committees and other parliament structures within CiviCRM;
  2. to import, interpret and process the data updates, so your data maintenance is reduced to loading up a file on a regular basis, or it could be even fully automated if an API is available for the source data.

How do you use it?

This extension provides a modular framework, consisting of these layers:

  1. Importer (processes the structured input data)
  2. Generic model (the extension’s internal way to structure data)
  3. CiviCRM data model syncer/exporter (transforms data according to the way your organization uses CiviCRM’s options like groups, relationships etc.)

Importers and syncers need to be programmed, but once they exist for a specific use case, they are available to all users.

Who is it for?

Basically any organization that needs their advocacy data to be correct and up-to-date. Currently, implementations exist only for German parliament data, however, importer and sync modules can be developed for any similar structure with moderate effort.

A little hack on the side...

It does not have to be parliaments and committees in the way this extension was originally conceived. We also used it to provide a way to a large Church to keep track of their internal structures in CiviCRM by simply importing that data from another source on a regular basis.

Any last words?

This is free software, and it's hard and often unpaid work to develop and maintain it. If you find it useful, please consider making a financial contribution. You can reach us at

Thanks for reading. Feel free to get in touch with us for any questions or feedback.


Filed under