ID Broker: Migration Guide for School-by-School synchronization

With version 1.3.18 of the ID Broker plugin and version 2.3.2 of the UCS@school ID Connector it is now possible to add and remove schools from the ID Broker one by one.

The old behavior is kept if you updated from an ID Broker plugin version before. This means all current and future schools are synchronized to the ID Broker. If you intend to use the ID Broker this way, you don’t have to do anything. If you installed the ID Broker plugin in a version greater or equal to 1.3.18 or if you need help troubleshooting, please visit the School Authority Manual.

This guide provides a walk-through of how to switch to the new behavior and at the same time keep all current schools connected to the ID Broker.

Enable School-by-School synchronization Support

On the system, where the UCS@school ID Connector is installed, we need to update

  • the UCS@school ID Connector to a version 2.3.2 or higher,
  • and the package id-broker-plugin to a version 1.3.18 or higher.

By running the update of the id-broker-plugin package, the UCS@school ID Connector is restarted automatically.

Prevent future schools from being automatically added to the ID Broker

With the following commands you add all existing schools to the school authority configuration. We pass the option --initial_sync false, which means we skip the step of synchronizing all schools, because they are already synchronized by the ID Connector.

The character "*" is the default value in the school authority configuration after the update. We need to remove it to prevent future schools from being synchronized. This will only remove "*" from the school authority configuration and will not delete the schools on the ID Broker.

$ univention-app shell ucsschool-id-connector
$ school_authority_name="YOUR-SCHOOLAUTHORITY-NAME"
$ cd /var/lib/univention-appcenter/apps/ucsschool-id-connector/conf/plugins/packages/idbroker/
$ ./ add_schools --school_authority "$school_authority_name" --all_schools --initial_sync false
$ ./ remove_schools --school_authority "$school_authority_name" "*"
$ exit