The @itwin/connector-framework package contains the classes which comprise the framework necessary to author iModel Connectors. In previous versions <= 2.x of the iTwin.js (iModel.js) SDK, it was included as part of the monorepo under IModelBridge. Going forward it will be a separate repository.
The main branch used for 2.x, based on iTwin.js 4.x, will be the default location for all fixes and enhancements. Patches will only be back-ported to 1.x if they are considered critical or related to security.
Version 1.x of the connector framework will be supported as long as iTwin.js 3.x is supported. Please refer to the iTwin.js API deprecation policy.
You may want to run the integration test and see the results hosted on the iModelHub. This is possible by setting a few environment variables to specify private/confidential parameters such as iTwin (project) id and iModel id, an AuthClient id, and user name and password.
An example .env file may look like ...
test_client_id=<client id here in quotes>
test_redirect_uri=<uri here in quotes>
test_scopes="imodels:modify imodels:read itwin-platform"
test_user_name=<valid email here in quotes>
test_user_password=<password corresponding>
# leave imjs_url_prefix undefined(or comment out) for prod
imjs_url_prefix = "qa-"
# if you optionally wish to authenticate with a callback URL and
# bypass the default authentication for the Integration tests,
# you can specify test_callbackUrl
# test_callbackUrl=<url goes here>
To port TypeScript/JavaScript connectors based on previous versions <= 2.x of of the iTwin.js (iModel.js) SDK, the following changes must be made
-
The word
"itwin"
replaces"imodel"
and"connector"
replaces"bridge"
. -
TypeScript source files should import the new classes from
@itwin/connector-framework
.e.g.
import { BaseConnector } from "@itwin/connector-framework";
-
package.json should include a dependency for
@itwin/connector-framework
{ "dependencies": { "@itwin/connector-framework": "latest" } }
-
The following scopes are required:
imodels:modify
imodels:read
Refer to write-a-connector documentation for more details
NPM version 7.X and up is recommended. If you are using a lower version, you will have to manually install Peer Dependencies.
For any PR with changes beyond something exceedingly minor, an update changelog will be required for a pull request. This changelog can be added to CHANGELOG.md manually in a similar format to what is already there.