ConnId 2.x Development Plans

Last modified 04 Oct 2021 15:31 +02:00

See Also ConnId Wiki.


  • Complex attributes

  • Identifiers: do it better, get rid of __NAME__ and __UID__

  • Password attribute: Password attribute cannot be empty BASE-78 / MID-5271

Remote Connector Servers

  • Keep Java (and improve)

  • Discard .NET

API/SPI Operations

  • GetApiOp and GetOp. Hence split search and get operations.

  • CountApiOp and CountOp. Useful for GUI.

  • Reduce number of update operations

  • dispose() - should it throw an exception or shouldn’t it? (

Evolveum-specific Plans

  • Integrate Polygon into ConnId 2

Result Handlers

Get rid of them.

Asynchronous Operations

This is a difficult problem. So far we have the questions only:

  • How to support operations that do not return immediately?

    • E.g. operations that implement "manual provisioning"?

  • Should it be integral part of operations? e.g. operation that started as sync can end up as async?

  • Should this be based on polling? Donating thread to connector? Shared queue?

  • What about REST service endpoints and message queues?

We need to get back to drawing board and think about it. Let’s discuss that later (approx. summer 2020?)


  • Clarify definition of runAsUser, maybe rework the parameters to properly use identifiers

  • Improve the documentation


How the testing framework really works? We have some idea, but nobody has a complete knowledge. The testing should probably be improved as we plan to do more changes now.

How to include connector server in the tests?

This has to be discussed later.

Documentation Improvements

NOT discussed with ConnId community yet.

  • Overall connector documentation ("introduction" in adoc format)

  • More capabilities (activation, password, …​)

  • Make documentation generator part of ConnId project?

Low Priority (out of scope)

Those things are out of scope. We will not handle those in our initial attempts to create ConnId2. Of course, them may be added later during ConnId2 lifetime.

  • Capabilities

  • Versioning

  • Error handling

  • Synchronization improvements

  • Service accounts

  • Transactions

  • Entitlements