Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core Module und Plugins > Directory Sync


Admin Sync Konfiguration nach Directory Sync migrieren

Hinweis: Diese Dokumentation bezieht sich auf die aktuellste Version des Plugins agorum core directory sync. Aktualisieren Sie das hier beschriebene Plugin, um die Dokumentation verwenden zu können.

Diese Seite beschreibt die Vorgehensweise für die Migration von bestehenden Admin Sync-Konfigurationen zum neuen Directory Sync Plugin. Der Migrationsprozess überträgt Ihre Konfigurationen, Benutzer und Gruppen.

Voraussetzungen für die Migration

Bevor Sie mit der Migration beginnen, stellen Sie sicher, dass folgende Voraussetzungen erfüllt sind:

Migrationsskript

Für die Migration können Sie das folgende Migrationsskript verwenden:

let metadb = require('common/metadb');
let transaction = require('common/transaction');
let configurations = require('/agorum/roi/customers/agorum.directory.sync/js/lib/configurations');

let PREFIX = 'MAIN_MODULE_MANAGEMENT/ngosadminsync/control/';

Object.keys(metadb.read(PREFIX)).forEach(name => {
  let prefix = PREFIX + name + '/';

  // only consider active remote-to-local configurations
  if (!metadb.readBoolean(prefix + 'Active') || !metadb.readString(prefix + 'LocalServer')) return;

  let baseDn = metadb.readString(prefix + 'baseDN');
  let isUser = metadb.readArray(prefix + 'SyncPathControl').map(local => local.toLowerCase().startsWith('user'));

  transaction(() => {
    // deactivate adminsync configuration
    metadb.write(prefix + 'Active', 'false');

    // create directory sync configuration
    configurations.create({
      active: true,
      name: name,
      login: {
        server: metadb.readString(prefix + 'ConnectString'),
        domain: baseDn
          .split(',')
          .filter(seg => seg.toLowerCase().startsWith('dc='))
          .map(seg => seg.slice(3))
          .join('.'),
        username: metadb.readString(prefix + 'AdminDn'),
        password: metadb.decrypt(metadb.readString(prefix + 'AdminPw')),
        auth: 'simple',
        trustAll: true,
      },
      rules: metadb.readArray(prefix + 'SyncPathControlRemote').map((path, i) => ({
        baseDn: path + ',' + baseDn,
        query: '',
        selection: [],
        options: {
          mode: isUser[i] ? 'syncUsers' : 'syncGroups',
        },
      })),
    });
  });
});

Was macht das Migrationsskript?

Das Skript führt folgende Aktionen automatisch aus:

  1. Sucht aktive Admin Sync Konfigurationen: Das Skript durchsucht die MetaDB nach allen aktiven Konfigurationen von Admin Sync.
  2. Extrahiert Konfigurationsdaten:
    • Servername und Verbindungsparameter
    • Base DN (Distinguished Name)
    • Administrator-Zugangsdaten (Benutzername und Passwort)
    • Synchronisierungspfade und Regeln
    • Zuordnung zu Benutzer- oder Gruppenordnern
  3. Konvertiert die Domain: Aus dem Base DN (z. B. "DC=firma,DC=local") wird automatisch die Domain ("firma.local") extrahiert.
  4. Erstellt directory sync Konfigurationen: Für jede Admin Sync Konfiguration wird eine neue Directory Sync Konfiguration angelegt mit:
    • Identischem Konfigurationsnamen
    • Konvertierten Login-Daten
    • Umgewandelten Synchronisierungsregeln
    • Korrekten Synchronisierungsmodi (syncUsers oder syncGroups)
    • Die Authentisierungsmethode wird auf 'simple' gesetzt
  5. Deaktiviert alte Konfigurationen: Die Admin Sync Konfigurationen werden automatisch deaktiviert, bleiben aber erhalten.

Hinweis: Das Skript läuft in einer Transaktion. Bei Fehlern wird die gesamte Migration zurückgerollt.

Schritt-für-Schritt-Migration

Schritt 1: Backup erstellen

  1. Erstellen Sie ein vollständiges Backup Ihres agorum core Systems.
  2. Exportieren Sie Ihre aktuellen Admin Sync Konfigurationen zur Dokumentation.
  3. Notieren Sie alle Einstellungen und Besonderheiten Ihrer Konfiguration.

Schritt 2: Plugin Directory Sync installieren

  1. Öffnen Sie den Plugin Manager.
  2. Holen Sie die aktuelle Plugin-Liste.
  3. Installieren Sie das Plugin Directory Sync.

Hinweis: Admin Sync und Directory Sync können temporär parallel aktiv sein. Nach erfolgreicher Migration deaktivieren Sie Admin Sync (s. Schritt 5).

Schritt 3: Migrationsskript ausführen

  1. Erstellen Sie eine neue JavaScript-Datei mit dem Migrationsskript. Nennen Sie die Datei etwa as-to-ds.js.
  2. Öffnen Sie die Datei im Editor und klicken Sie auf Run.

    Erwartetes Ergebnis:
    • Das Skript läuft ohne Fehlermeldung durch.
    • Für jede aktive Admin Sync Konfiguration wird eine Directory Sync Konfiguration erstellt.
    • Die Admin Sync Konfigurationen werden automatisch deaktiviert.

Schritt 4: Migration prüfen

  1. Öffnen Sie  > Administration > Konfiguration > Verzeichnissynchronisierung.
  2. Überprüfen Sie, ob alle Konfigurationen migriert wurden.
  3. Öffnen Sie jede Konfiguration und prüfen Sie:

    • Servername und Verbindungsparameter
    • Domain
    • Benutzername (sollte im LDAP-Format vorliegen)
    • Synchronisierungsregeln

  4. Testen Sie die Verbindung mit dem Einloggen-Button.
  5. Testen Sie die Synchronisierung über den Synchronisieren-Button.
  6. Prüfen Sie das Ergebnis der Synchronisierung:

    • Wurden alle Benutzer gefunden?
    • Wurden alle Gruppen gefunden?
    • Sind die Mitgliedschaften korrekt?

  7. Testen Sie die Benutzeranmeldung mit ausgewählten Benutzern.

Schritt 5: Admin Sync deaktivieren

Nach erfolgreicher Migration und ausreichender Testphase:

  1. Öffnen Sie das support tool.
  2. Navigieren Sie zu Base System > Configurations > Active Modules.
  3. Deaktivieren Sie das Modul Admin Sync.
  4. Klicken Sie auf Speichern.
  5. Starten Sie agorum core neu.