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 Interface | Asynchronous Equivalent |
IMultiKeyedAddingConnector | IMultiKeyedAddingAsyncConnector |
IMultiKeyedDeletingConnector | IMultiKeyedDeletingAsyncConnector |
IMultiKeyedEntityPollingConnector | IMultiKeyedEntityPollingAsyncConnector |
IMultiKeyedIdPollingConnector | IMultiKeyedIdPollingAsyncConnector |
IMultiKeyedPasswordSynchronisationConnector | IMultiKeyedPasswordSynchronisationAsyncConnector |
IMultiKeyedReadingConnector | IMultiKeyedUpdatingAsyncConnector |
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 |
---|---|
ExtensibleAgentController | AgentControllerBase |
ExtensibleConnectorController | ConnectorControllerBase |
ExtensiblePlugInController | PlugInControllerBase |
Customer support service by UserEcho