Document toolboxDocument toolbox

Asset+ Sync

Introduction

System can perform object metadata sync with Asset+ server.

Object metadata is synchronized both ways. If conflicts are detected (data was updated on both sides), object must be "merged" by the user. 

Live data view

System supports display of live data from Asset+ in a dedicated property tab.

This is an unmodified, unmapped data that is fetched directly from a remote server.

To enable that view, create a new EID domain and enable "live" feature. Select AssetPlus data connector. 



Object metadata Sync

Auto Sync

When AutoSync is enabled (see configuration), all changes made on objects are synchronized automatically to Asset+ server. 

Synchronization is performed on event, that is imminently after object was modified. Data modified in Asset+ is fetched on time interval set in system settings, e.g. every 5 minutes. 

Manual Sync

Manual sync of objects can be triggered only from Sync Manager. Sync is usually triggered for objects in specific state, e.g. objects that failed sync. 

Sync Status Widget

Sync Manager


Sync Status

Status

Description

Status

Description

In Sync

Indicates that objects are in sync. It might be the case that objects on Asset side are already updated, but the change was not detected yet.

Error

Indicates that there is a problem with the sync of this object. Please check the message column for further details.

Conflict

Indicates that the selected object cannot be synced due to conflict. That means that updating data in Asset would overwrite changes made there. Object must be merged. See merge procedure for more details

In Queue

Indicates the system has detected the need to sync this object but the sync is not yet processed - the object is waiting in queue for sync.

External Validation Failed

Indicates the data validation has failed on Asset+ side (external). If available, a detailed error message is present in Message column. Data must be corrected or a validation rules must be changed so that the data is accepted.

Internal Validation Failed

Indicates the data validation has failed on our side (internal). If available, a detailed error message is present in Message column. Data must be corrected or a validation rules must be changed so that the data is accepted.

This error might be displayed also if data access on our side fails for some reason, e.g. due to lack of access rights.

Not Present in Asset

Indicated that this object was not found in Asset+. It will not be synced again automatically. If some new data or models were imported to Asset, please select "sync all" when having "Not present in asset" filter enabled.

 


Initialize Sync

Initialize sync procedure can be performed by using the Full Sync function

 Attention  - running full sync will reinitialize the sync data and will use "Asset wins" strategy, meaning that data that is different between our system and Asset, will be initialized with values taken from Asset.

If the data is identical, no changes will be made and object swill receive "in sync" status. This procedure can be repeated at any time, but it will always result in "asset data wins" strategy being applied. 

Sync All

Sync all data that is covered by current filter selection. Note, that this is a "forced" check that will do the following:

Make sure that we do not have a newer object in our database that was not synced, but also pull data from Asset and compare with our data. 

If changes are detected, update will be performed. 

Sync Selected

Sync selected has the same logic as Sync All, but is performed only for explicitly selected object. 

Export To Excel

Exports to excel current list of object. 

Merge Process

Objects with status Conflict should be merged. It means that we cannot send local data to Asset without overwriting it. Data has to be merged by the user, deciding what data should become new "master data". 

The result of the merge will be saved both locally and to Asset database. It might be the case, that object was modified outside of mapped / synchronized fields.

System does not detect that and will still indicate the conflict, even thou all fields might seem to have the same values. The object must be merged and saved anyway, but if system does not detect any fields to be updated the actual update will be skipped. 



Object in conflict - a sync will not be performed:



Select Merge function, then use left/right arrow to move properties into a merged object. When done, select Save Merged Data. Data will be written to both systems. 

Configuration

System Settings

Set server type to Asset+ and select domain used for sync and metadata mapping. 

Also enable Autosync and select user that will be used to perform the sync. Please note that this user needs read/write permissions to all objects and fields being synced. 



Properties / settings required by Asset+ are marked in red:

Ohter parameters:
- exclude_expired_in_asset (true/false): if set to true the sync manager will exclude expired objects from Asset+ when synchronizing.
- subtree_perspective_id: id of perspective used in subtree sync option

EID Domain Settings

 

Create a domain that will be used to configure mapping between object classes (categories) between our system and Asset+

Define all categories and their respective properties that you would like to map from Asset+:

Then map them to respective fields in our system:

 Important notes:

  • field types must match on both systems, so date must be matched to date, number to number, string to string. 

  • There is no need to indicate a GUID/ID field - all objects are always matched by system GUIDS (FM GUID on Asset+ side and MasterGUID in our system)

 

Authentication settings

Authentication between our system and Asset+ is performed based on Identity Provider configuration. 

For data sync a user indicated in the system settings is used to read the data from our system. A respective user in Asset+ must exists (with the same email address).

Data Access for 3D view and live metadata view is based on currently logged in user. User with the same email address must exists in Asset+.

How to add Identity Provider:

  • Go to authentication realm for your application, in Identity providers select Add Provider, select  OpenID Connect client

 Note: this Provider is required for the token exchange to work. It is based on Client ID and Client Secret.

It can also, at the same time, be used to perform user login if you would like to achieve an SSO functionality between our system and Asset+.