Export

Export is the process of writing data to the target system. If you do not implement this interface, then it indicates you have an import-only connector.

There are two kind of export: export and full export. The first "export" is delta export where only changed objects are processed.

OpenExportConnection

The OpenExportConnection is used to establish connection with the remote system. In many cases this code is going to be identical to the code in OpenImportConnection.

Sub OpenExportConnection(configParameters, types, exportRunStep)

You have access to configParameters and types (the schema). The exportRunStep contains similar information as importRunStep, but it is not likely you need to do anything in particular. The sync engine does not give the connector any unselected attributes or objects in out-of-scope OUs.

PutExportEntries

This method is called multiple times during an export. As described in the export passes, the same object can appear multiple times in the same export.

Function PutExportEntries(csentries) As PutExportEntriesResults

The information found in the csentries is different depending on how you configured the macapability ExportType. The object can have the action "Add", "Update", or "Delete". You also find information about deleted and added attributes, but when your connector always do a replace, then you would ignore the deleted attributes list.

In the results returned back, you can provide an anchor as received from the target system. In many cases you have a GUID from the target system that should be used as the anchor for the object.

On each object, you can also return an object-level error. If you do not set anything, it is assumed that the object was successfully read from the connected directory. There are three special action errors that tells the sync engine that it should present the data in some other way to the connector.

CloseExportConnection

This method is called after PutExportEntries has processed all objects. It is also called when the run is stopped from the UI or an exception is thrown from the other methods. In this method, you should close the connection to the connected directory.

Sub CloseExportConnection(exportRunStep)