4. Example json configurations

4.1. Sending system examples

4.1.1. School authority config

{
  "name": "Traeger1",
  "url": "https://10.200.3.242/ucsschool/kelvin/v1/",
  "active": true,
  "plugins": [
    "kelvin"
  ],
  "plugin_configs": {
    "kelvin": {
      "username": "Administrator",
      "password": "univention",
      "mapping": {
        "users": {
          "firstname": "firstname",
          "lastname": "lastname",
          "username": "name",
          "disabled": "disabled",
          "mailPrimaryAddress": "email",
          "e-mail": "email",
          "birthday": "birthday",
          "school": "school",
          "schools": "schools",
          "school_classes": "school_classes",
          "title": "title",
          "displayName": "displayName",
          "userexpiry": "expiration_date",
          "phone": "phone",
          "roles": "roles",
          "ucsschoolRecordUID": "record_uid",
          "ucsschoolSourceUID": "source_uid"
        },
        "school_classes": {
          "name": "name",
          "description": "description",
          "school": "school",
          "users": "users"
        }
      },
      "sync_password_hashes": true,
      "ssl_context": {
        "check_hostname": false
      }
    }
  }
}

4.1.2. School to authority mapping example

 {
   "mapping": {
     "DEMOSCHOOL": "Traeger1"
    }
 }

4.1.3. Role specific Kelvin plugin mapping

{
  "name": "Traeger2",
  "url": "https://10.200.3.242/ucsschool/kelvin/v1/",
  "active": true,
  "plugins": ["kelvin"],
  "plugin_configs": {
    "kelvin": {
      "mapping": {
        "school_classes": {
          "name": "name",
          "description": "description",
          "school": "school",
          "users": "users"
        },
        "users": {
          "firstname": "firstname",
          "lastname": "lastname",
          "username": "name",
          "disabled": "disabled",
          "mailPrimaryAddress": "email",
          "e-mail": "email",
          "birthday": "birthday",
          "school": "school",
          "schools": "schools",
          "school_classes": "school_classes",
          "ucsschoolSourceUID": "source_uid",
          "roles": "roles",
          "title": "title",
          "displayName": "displayName",
          "userexpiry": "expiration_date",
          "phone": "phone",
          "ucsschoolRecordUID": "record_uid"
        },
        "users_teacher": {
          "firstname": "firstname",
          "lastname": "lastname",
          "username": "name",
          "disabled": "disabled",
          "mailPrimaryAddress": "email",
          "e-mail": "email",
          "birthday": "birthday",
          "school": "school",
          "schools": "schools",
          "ucsschoolSourceUID": "source_uid",
          "roles": "roles",
          "title": "title",
          "displayName": "displayName",
          "userexpiry": "expiration_date",
          "phone": "phone",
          "ucsschoolRecordUID": "record_uid"
        }
      },
      "password": "univention",
      "sync_password_hashes": true,
      "ssl_context": {
        "check_hostname": false
      },
      "username": "Administrator"
    }
  }
}

4.1.4. Partial group sync

This uses the kelvin-partial-group-sync plugin instead of the kelvin plugin in the Role specific Kelvin plugin mapping.

{
  "name": "Traeger2",
  "url": "https://10.200.3.242/ucsschool/kelvin/v1/",
  "active": true,
  "plugins": ["kelvin-partial-group-sync"],
  "plugin_configs": {
    "kelvin-partial-group-sync": {
      "school_classes_ignore_roles": ["teacher"],
      "mapping": {
        "school_classes": {
          "name": "name",
          "description": "description",
          "school": "school",
          "users": "users"
        },
        "users": {
          "firstname": "firstname",
          "lastname": "lastname",
          "username": "name",
          "disabled": "disabled",
          "mailPrimaryAddress": "email",
          "e-mail": "email",
          "birthday": "birthday",
          "school": "school",
          "schools": "schools",
          "school_classes": "school_classes",
          "ucsschoolSourceUID": "source_uid",
          "roles": "roles",
          "title": "title",
          "displayName": "displayName",
          "userexpiry": "expiration_date",
          "phone": "phone",
          "ucsschoolRecordUID": "record_uid"
        },
        "users_teacher": {
          "firstname": "firstname",
          "lastname": "lastname",
          "username": "name",
          "disabled": "disabled",
          "mailPrimaryAddress": "email",
          "e-mail": "email",
          "birthday": "birthday",
          "school": "school",
          "schools": "schools",
          "ucsschoolSourceUID": "source_uid",
          "roles": "roles",
          "title": "title",
          "displayName": "displayName",
          "userexpiry": "expiration_date",
          "phone": "phone",
          "ucsschoolRecordUID": "record_uid"
        }
      },
      "password": "univention",
      "sync_password_hashes": true,
      "ssl_context": {
        "check_hostname": false
      },
      "username": "Administrator"
    }
  }
}

4.2. Receiving system examples

4.2.1. Mapped UDM properties

{
    "user": ["title", "phone", "e-mail"],
    "school": ["description"]
}