Organizationssynchronisation
Überblick
Organisationseinheiten können in primedocs manuell oder automatisiert angelegt werden. Über den OrgSync
können Organisationseinheiten mit einem Fremdsystem synchronisiert werden.
Da Organisationseinheiten hierarchisch organisiert sind, ist ein 1:1-Abgleich wie bei den Benutzern nicht möglich. Als Synchronisationsquelle dient daher eine XML-Datei, welche mit den Daten vom Fremdsystem ausgefüllt werden muss.
Folgende Daten können hierbei zu primedocs synchronisiert werden:
Titel der Organisationseinheit
Zu setzende Felder der Organisationseinheit
Berechtigungen der Organisationseinheit
Organisationseinheitenhierachie
Die Organisationseinheit wird über ein eindeutiges Merkmal in primedocs erkannt, d.h. das Fremdsystem gibt einen “Schlüssel/Technisches Merkmal” vor und beim Import der Organisationseinheiten wird dieses Merkmal in primedocs gespeichert.
Die generierte Datei muss danach über den JobHost
, z.B. als zeitgesteuerte Aufgabe, in die primedocs Datenquelle importiert werden.
XML Struktur
Folgende XML Struktur wird benötigt:
<primedocsOrgSync>
<OrganizationUnits>
<OrganizationUnit>
<!-- "Technical feature" - Must be unique and is our "identification feature" for the sync -->
<Identifier></Identifier>
<!-- Title of the OU -->
<Title></Title>
<!-- Fields that will be synced to primedocs -->
<Fields>
<!--
Id="Org.Street": refers to a field definition (FieldId) in primedocs
Value="Sample Street 123": Is the actual value that is saved for this organizational unit for this field.
-->
<Field Id="Org.Street" Value="Sample Street 123" />
<!--
The exact LCID is required for multilingualism. Without it, it is saved in the default language
Only specific LCIDs are permitted, i.e. "LCID 9" for "English" is not permitted, but must point exactly to "en-US" or "en-GB".
See: https://docs.microsoft.com/en-us/openspecs/office_standards/ms-oe376/6c085406-a698-4e12-9d4d-c3b0ee3dbc4a
-->
<Field Id="Org.City" Value="München" />
<Field Id="Org.City" Value="Munich" LCID="2057" />
<!-- empty values are also supported -->
<Field Id="Org.POBox" Value="" />
</Fields>
<Permissions>
<!--
primedocs needs the SID and the type (user or group) and stores this information in the database.
To load this information, we do a "lookup"
The syntax allows us to search for SID, sAMAccountName or UPN in the Active Directory, for example
The value searched for must correspond to exactly one object in the directory.
LookupKey must be set, otherwise the OrgSync will not find the target user. Valid fields are based on the Principal Connector:
i.e. in the Action Directory: objectSid, sAMAccountName, but theoretically also other AD fields etc.
in the Azure Active Directory: "id" - currently no other fields possible
-->
<SecurityAccount LookupValue="local\username" LookupKey="sAMAccountName" />
</Permissions>
<OrganizationUnits>
<!-- "Sub-OU", same schema -->
<OrganizationUnit></OrganizationUnit>
</OrganizationUnits>
</OrganizationUnit>
</OrganizationUnits>
</primedocsOrgSync>
Berechtigungssynchronisation
Permissions
, welche in dieser Datei angeben sind, werden mit der gefundenen Organisationseinheit in der primedocs Datenquelle überschrieben, d.h. im primedocsOrgSync
müssen alle gewünschten Permissions
vorhanden sein. Manuell gesetzte Berechtigungen werden überschrieben.
Feldsynchronisation
Fields
hingegen werden mit den bestehenden Feldern in der Organisationseinheit zusammengeführt, d.h. nicht angegebene Felder werden nicht geleert, sondern so belassen.
Über den primedocsOrgSync
können auch keine Felder gelöscht werden, sodass der Vererbungsmechanismus von primedocs greift. Dies muss manuell geschehen.
Synchronisationsverhalten
Alle Organisationseinheiten, die unterhalb des SyncRoot
existieren, aber nicht im Import enthalten sind, werden gelöscht.
Profile, die an den gelöschten Organisationseinheiten hängen, werden auf die FallBackOu
umgehängt.
Organisationseinheiten, die in der Datenbank ausserhalb des SyncRoot
sind aber im Import als Kind des SyncRoot
angegeben sind, werden entsprechend dem Import verschoben.
JobHost
Analog dem UserSync
kann beim OrgSync
eine DataSourceId
angegeben werden - ist diese nicht angegeben, wird der OrgSync
auf allen Datenbanken ausgeführt. Ohne angegebene DataSourceId
ergibt sich der minimale Aufruf ...\primedocs.JobHost.exe OrgSync -i "P:\ath\To\InputFile.xml"
mit dem Pfad zur XML-Datei als einzigen zwingenden Parameter.
Parameter
Für den OrgSync
stehen die folgenden Aufrufparameter zur Verfügung:
Short | Long | Required | Default | Beschreibung |
---|---|---|---|---|
-i | --InputFile | true | String.Empty | Pfad zur Importdatei |
-d | --DataSourceId | false | null | GUID der Zieldatenbank auf dem Server. Wenn weggelassen wird der |
-r | --SyncRoot | false | String.Empty | Root-OE für den Syncprozess. Der Inhalt aus dem InputFile ( |
-c | --CreateNewRootAsSibling | false | false | Wenn |
-f | --FallBackOu | false | String.Empty | OE, an welche Profile von gelöschten OEs angehängt werden. Wenn diese nicht angegeben ist, wird die bestehende Root-OE verwendet. Bei mehreren bestehenden Root-OEs in der Datenbank wird die erste gefundene verwendet. |
Einschränkungen
Der OrgSync
hat das Ziel, eine vorgegebene Organisationsstruktur in primedocs zu importieren und synchron zu halten.
Ist bereits im primedocs eine Organisationsstruktur vorhanden, gibt es aktuell keine automatische Möglichkeit diese mit einem Fremdsystem zu synchronisieren.
Ebenfalls gibt es keine Oberfläche, um die Identifier
für die Synchronisierung zu setzen oder zu ändern.
Bei Fragen wenden Sie sich an unseren Support - wir helfen Ihnen gern weiter.
PrimeSoft AG, Bahnhofstrasse 4, 8360 Eschlikon, Switzerland