Connector Development Changes from v4.1

Overview

This page outlines the changes to connector development, from the baseline of the v4.1 documentation. This page may not be updated past v6.0, where a new way to develop connectors will be available.

In addition to the changes below, the csproj references should be updated to the specific UNIFYBroker SDK for the desired version.

v4.1 to v5.0 Changes

New results object

To allow for LDAP batched exports to report on individual success and failures, a new results object is passed into some connector methods. To use correctly, ensure that individual export errors are captured and set on the results object where possible. Do not let exceptions bubble up, or set the error for all exported entities.

New async methods

To allow for the .NET asynchronous programming model, a number of new interfaces were added. Make use of them only if your logic returns a Task, otherwise continue to use the original interface:

Current InterfaceAsynchronous Equivalent
IMultiKeyedAddingConnectorIMultiKeyedAddingAsyncConnector
IMultiKeyedDeletingConnectorIMultiKeyedDeletingAsyncConnector
IMultiKeyedEntityPollingConnectorIMultiKeyedEntityPollingAsyncConnector
IMultiKeyedIdPollingConnectorIMultiKeyedIdPollingAsyncConnector
IMultiKeyedPasswordSynchronisationConnector
IMultiKeyedPasswordSynchronisationAsyncConnector
IMultiKeyedReadingConnectorIMultiKeyedUpdatingAsyncConnector
IMultiKeyedUpdatingConnector
IMultiKeyedReadingAsyncConnector
IMultiKeyedWritingConnector
IMultiKeyedWritingAsyncConnector

The CancellationToken should also be used where available, calling ThrowIfCancellationRequested() inside the tightest loop to allow for operations to be cancelled.

v5.0 to v5.1 Changes

No changes to connector development.

v5.1 to v5.2 Changes

.NET v4.5.2 (from v4.5.1)

Update the csproj files to use .NET v4.5.2.

Web API

The WCF endpoint (management API) was deprecated in favour of a Web API endpoint. See Connector Development v5.2 References for details on adding methods for the connector.

New base web controllers

The new Web API has required that there are new base web controllers. The following base class changes should be made, including updating to the new method signatures:

Current Base
New Base
ExtensibleAgentControllerAgentControllerBase
ExtensibleConnectorController
ConnectorControllerBase
ExtensiblePlugInControllerPlugInControllerBase


Is this article helpful for you?