# Erstellen eines Syncjobs

Hier werden Beispiele dargestellt, wie unterschiedliche Syncjobtypen erstellt werden können. Wichtig ist hierbei, dass mindestens der Name des Syncjobs (name), die Synchronisierungsrichtung (syncDirection) sowie das Synchronisationsziel (syncTargetSystem) angegeben werden müssen.

Für den Namen kann ein Wert frei ausgesucht werden, für die Synchronisierungsrichtung ist einer der folgenden Werte erlaubt:

syncDirection:

  • "ToElo"
  • "ToThirdSystem"
  • "TwoWay"

Als Synchronisationsziel werden aktuell die folgenden Werte unterstützt:

syncTargetSystem:

  • "Sharepoint"
  • "OneDrive"

# Veröffentlichungsauftrag

Nachfolgendes Beispiel zeigt das Anlegen eines Veröffentlichungsauftrags, bei dem Dokumente und Ordner von ELO nach Sharepoint übertragen werden. In der Beispiel-Request sind alle für die Ausführung benötigten Pflichtfelder gesetzt.

Weitere optionale Felder können noch angegeben werden.

Eine Übersicht über den Aufbau eines Syncjob-Objektes mit allen Feldern findet sich hier: SyncJobEntity

Falls Werte fehlen, die zur Ausführung benötigt werden, wie z.B. die Synchronisierungs Quell- und Zielpfade, können diese auch nachträglich per Update hinzugefügt bzw. gefüllt werden.

Dies wird in dem Beispiel Aktualisieren eines Syncjobs näher erklärt.

Information

Bei Veröffentlichungsaufträgen werden keine Maskenangaben benötigt, da die Drittsysteme Metadaten unterschiedlich handhaben. Sollen die Metadaten trotzdem übernommen werden, kann dies über die Metadatenzuordnung spezifiziert werden.

POST /odata/syncjobs?repository=repo1
Content-Type: application/json
Header: Authorization: <bearer_token>
{
    "name":"Publish ELO -> Sharepoint",
    "syncDirection": "ToElo",
    "syncTargetSystem": "Sharepoint",
    "eloSystemSyncTarget":{
        "folderName":"<elo-folder-name>",
        "folderId":"<elo-folder-id-int>"
    },
    "sharepointSyncTarget":{
        "listId":"<sharepoint-list-id>",
        "siteId":"<sharepoint-site-id>",
        "name":"<sharepoint-target-display-name>"
    }
}

# Archivierungsauftrag

In nachfolgendem Beispiel wird ein Archivierungsauftrag erstellt, welcher den Inhalt eines SharePoint Online-Ordners in einen ELO-Ordner archiviert. In der Beispiel-Request sind alle für die Ausführung benötigten Pflichtfelder gesetzt.

Weitere optionale Felder können noch angegeben werden.

Eine Übersicht über den Aufbau eines Syncjob-Objektes mit allen Feldern findet sich hier: SyncJobEntity

POST /odata/syncjobs?repository=repo1
Content-Type: application/json
Header: Authorization: <bearer_token>
{
    "name":"New SyncJob",
    "syncDirection": "ToElo",
    "syncTargetSystem": "Sharepoint",
    "masks":[
        {
            "eloMaskId":"<mask-id-int>",
            "name":"<mask-display-name>",
            "type":"DocMask"
        },
        {
            "eloMaskId":"<mask-id-int>",
            "name":"<mask-display-name>",
            "type":"FolderMask"
        }
    ],
    "eloSystemSyncTarget":{
        "folderName":"<elo-folder-name>",
        "folderId":"<elo-folder-id-int>"
    },
    "sharepointSyncTarget":{
        "listId":"<sharepoint-list-id>",
        "siteId":"<sharepoint-site-id>",
        "name":"<sharepoint-target-display-name>"
    }
}

# Synchronisierungsauftrag

In nachfolgendem Beispiel wird gezeigt, wie ein Synchronisierungsaufrag mit allen für die Ausführung benötigten Pflichtfeldern direkt angelegt werden kann.

Weitere optionale Felder können noch angegeben werden.

Eine Übersicht über den Aufbau eines Syncjob-Objektes mit allen Feldern findet sich hier: SyncJobEntity

POST /odata/syncjobs?repository=repo1
Content-Type: application/json
Header: Authorization: <bearer_token>
{
    "name":"Sync ELO <-> Sharepoint",
    "syncDirection": "TwoWay",
    "syncTargetSystem": "Sharepoint",
    "masks":[
        {
            "eloMaskId":"<mask-id-int>",
            "name":"<mask-display-name>",
            "type":"DocMask"
        },
        {
            "eloMaskId":"<mask-id-int>",
            "name":"<mask-display-name>",
            "type":"FolderMask"
        }
    ],
    "eloSystemSyncTarget":{
        "folderName":"<elo-folder-name>",
        "folderId":"<elo-folder-id-int>"
    },
    "sharepointSyncTarget":{
        "listId":"<sharepoint-list-id>",
        "siteId":"<sharepoint-site-id>",
        "name":"<sharepoint-target-display-name>"
    }
}

# Auftrag mit allen Eigenschaften

Je nach Auftragstyp können unterschiedliche Eigenschaften angegeben werden. Eigenschaften, die für den jeweiligen Auftragstyp nicht existieren, werden ignoriert.

Nachfolgendes Beispiel zeigt, welche Eigenschaften bei einem Syncjob generell angegeben werden können:

POST /odata/syncjobs?repository=repo1
Content-Type: application/json
Header: Authorization: <bearer_token>
{
    "name":"New SyncJob",
    "syncDirection": "ToElo",
    "syncTargetSystem": "Sharepoint",
    "isActive":true,
    "masks":[
        {
            "eloMaskId":"<mask-id-int>",
            "name":"<mask-display-name>",
            "type":"DocMask"
        },
        {
            "eloMaskId":"<mask-id-int>",
            "name":"<mask-display-name>",
            "type":"FolderMask"
        }
    ],
    "eloSystemSyncTarget":{
        "folderName":"<elo-folder-name>",
        "folderId":"<elo-folder-id-int>"
    },
    "settings":[
        {
            "category":"Approvals",
            "name":"MaxSyncDocumentSize",
            "value":"5242880", // Example: 5MB in Byte
            "hierarchyContext":"SyncJob"
        },
        {
            "category":"Approvals",
            "name":"MaxSyncableDocuments",
            "value":"50", // Example: 50 Documents
            "hierarchyContext":"SyncJob"
        },
        {
            "name":"ShMetadataMappings",
            "category":"MetadataMappings",
            "value":"{\"eloField\":\"Ordner\\\\ELOINDEX\",\"thirdSystemField\":\"3\\\\Shared Documents\\\\Title\"}",
            "hierarchyContext":"SyncJob"
        },
        {
            "name":"ShOnlineMetadataExportType",
            "value":"AsJson",
            "hierarchyContext":"SyncJob"
        },
        {
            "name": "MaxFolderReferencesDepthPublish",
            "value": "50",
            "hierarchyContext": "SyncJob"
        },
        {
            "name": "ShOnlineArchivedEntriesReplacementMode",
            "value": "ReplaceByUrlFile",
            "hierarchyContext": "SyncJob"
        },
        {
            "name": "SyncConflictResolutionStrategy",
            "value": "1",
            "hierarchyContext": "SyncJob"
        }
    ],
    "sharepointSyncTarget":{
        "listId":"<sharepoint-list-id>",
        "siteId":"<sharepoint-site-id>",
        "name":"<sharepoint-target-display-name>"
    },
    "timeTrigger":{
        "timePeriod":"Weekly",
        "timeZoneId":"Europe/Berlin",
        "cronJobFormatValue":"* 00 22 * * 1",
        "isActive":true
    }
}
Zuletzt aktualisiert: 11. Juli 2025 um 06:58