[Connectors] Collibra connector
A Collibra integration can be configured, in order to sync Collibra assets with YOOI instances.
It is possible to do so via Admin settings > Integration.
Initialisation on YOOI
In Admin settings > Integration, create a new Integration and give it a name, for example “Collibra integration”.
Generate an API Token and copy the value. Unless there is a very specific need, the Collibra connector token must be chosen preferentially with no expiration date.
The token will never be accessible again, so copy the value in a secure place
Give to YOOI the API token and the link to the configured connector.
YOOI needs to re-deploy your app with this information and add a feature-flag.
Create or have these concepts on YOOI:
(mandatory) A concept representing the Collibra instance you want to map, which must have an
External key
field.
Instances synchronization behaviour
Creation
Collibra → YOOI
Trigger : Every X minutes (see polling).
Actions : Creates the YOOI instance based on mapping and populates the fields mapped in the connector configuration.
YOOI → Collibra
Creation is not supported.
Update
Collibra → YOOI
Trigger : Every X minutes (see polling).
Actions : Updates the YOOI instance based on mapping and populates the fields mapped in the connector configuration.
YOOI → Collibra
Update is not supported.
Deletion
Collibra → YOOI
Behavior
Nothing happens; the instance will no longer be synchronized.
YOOI → Collibra
Nothing happens; the instance will no longer be synchronized.
Connector restart
The connector restarts when the YOOI app restarts or the JSON configuration is changed.
On connector restart, we re-fetch all Collibra instances that are in mapped projects.
Configuration
JSON Configuration
You need to create a JSON as below, more information on the JSON structure is available below :
{
"url": "https://{instance}.collibra.com",
"auth": { see Authentication },
"polling": {
"cron": "0 23 * * *", //Synchronization done every day at 23:00
"timezone": "Europe/Paris"
},
"assetTypes": [ see Asset type ]
}
Authentication
YOOI supports two kinds of authentication:
Basic authentication: Collibra REST API authentication
JSON"auth": { "type": "Basic", "user": "user", "token": "password" }
OAuth authentication: Collibra REST API OAuth
JSON"auth": { "type": "OAuth", "user": "user", "token": "token" }
Polling
The polling configuration take two options:
cron
: A cron-like string that defines when polling is done.Use a website like crontab.guru to help create the configuration
timezone
(optional):If not specified,
UTC
will be used by default.Valid timezones are:
Asset types
Asset type define a list of the Collibra asset type you want to sync with YOOI.
Each entries will be used to provide a mapping in the connector configuration interface.
An entry of the asset types array is as follow:
{
"id": "collibraAssetTypeId",
"includeInherited": true | false,
"syncMode": "automatic|manual"
}
includeInherited
includeInherited
defines whether the connector should also include asset types that extend (inherit from) the specified type.
For example, suppose you have an asset type called Asset in Collibra, with subtypes such as Asset: Domain Asset and Asset: Data Product, which inherit from Asset.
If you set
id
to the ID of Asset and:includeInherited
to false, the connector will only map and synchronize instances of the Asset type itself.includeInherited
to true, the connector will map and synchronize instances of the Asset and all its subtypes, in this example, Asset, Asset: Domain Asset, and Asset: Data Product. All AssetType share the same mapping and will appear under only one Integration object on the connector and will be mapped under the same concept on YOOI. As a result, there is no way to distinguish between an instance Asset: Domain Asset and an instance Asset: Data Product in YOOI if the mapping is configured this way.
syncMode
syncMode
defines whether the connector should automatically pull all instances from Collibra or rely on manual mapping using the external key.
If set to automatic, all instances of the specified type will be retrieved and synchronized from Collibra.
If set to manual, no instances will be retrieved automatically. Instead, instances must first be created in YOOI and have their external field populated with the corresponding Collibra key in order to be synchronized.
Mapping
Fields
Fields that can be mapped for Colibra instances are all available in this section. Those type of field are available for mapping :
Text
Number
Boolean
Workflow
Association many to one (n-1)
(relation):Only association fields whose target AssetTypes are declared in the connector are shown for mapping. For example, if an association links AssetType A and AssetType B, but only AssetType A is declared in the connector, the association field will not be available for mapping.
Association in Collibra can target a parent AssetType than can have subtypes. A field per AssetType and explicitly declared subtypes of the association will be showed for mapping.
Enumeration
(string value list):Values should be mapped, there are named Enumeration: [Name of the field] on the connector
External key
Mandatory fields are :
External key
. It is thanks to this key that the connector knows which YOOI instance is mapped to which Colibra issue.
The External Key, filled by the connector, should not be modified on mapped instances. To prevent any mistakes, it might be a good idea to make the External Key field only updated by integration.
Status
An integration object Status
is automatically added to the mapping section. Instances that are mapped provide the value for the workflow field Status
in Collibra, which can then be linked to a corresponding field in YOOI.
Sync status
An integration object Sync status
is also automatically added to the mapping section. It does not correspond to a Collibra object but can be mapped to represent the synchronization status of the instance:
Synced
: The last synchronization of the instance was successful.Failed
: The last synchronization of the instance failed.
If needed, for each mapped concept, a field Sync workflow
is available to represent this synchronization status.