Difference between revisions of "Synchronise structural metadata between FMR environments"

From FMR Knowledge Base
Jump to navigation Jump to search
Line 53: Line 53:
  
 
Note: This is only relevant if the full environment is pulled or pushed, as described below
 
Note: This is only relevant if the full environment is pulled or pushed, as described below
 +
 +
==Full Sync==
 +
To perform a full sync select the top level label in the Sync result tree, as shown below.  Then click the action of Push or Pull to either submit all the structures to the target, or import them locally.
 +
 +
 +
[[File:ES4.PNG|500px]]<br>
 +
 +
 +
To perform a full sync on all structures of a specific type, click on the Structure Type in the hierarchy followed by Push or Pull as appropriate. In the example below, selecting Codelists at this level would Push or Pull all Codelists.
 +
 +
 +
[[File:ES5.PNG|500px]]<br>
 +
 +
 +
==Incoming Changes (Pull)==
 +
 +
Incoming changes are denoted by a green chevron pointing to the left (<).  This indicates that the structure exists in the target environment, and not in the local environment.  Performing a pull on this structure will result in the structure being imported into the local Fusion Registry.  A single structure can be pulled by checking the checkbox next to the structure, or if multiple checkboxes are selected then multiple structures can be pulled at once.
 +
 +
==Outgoing Changes (Push)==

Revision as of 08:05, 21 September 2020


Overview

The Fusion Matadata Registry provides the means to synchronise its structural metadata contents with that of another Registry instance. On synchronisation, the Registry will display a list of all the differences, and offer the user the opportunity to push local changes to the target Registry or pull changes in from the target Registry.

Defining a target

To create a new synchronisation target, first log into the Fusion Registry as a user with Admin privileges, and click on the on the Environments menu item in the sidebar to open the page shown below.


ES1.PNG

To add an environment, click the Add button and then identify it as shown in the example below.


ES2.PNG

The Environment will now be shown in the environments page as shown below.


ES3.PNG

Synchronise Structures

To perform a synchronisation, navigate to the Environments page, and select the target environment to synchronise with. The local Registry will query for the contents of the target Registry and perform a check of its contents against the local contents. The result will show a list of all the differences between the two environments. Each change is categorised by whether it is incoming, outgoing, or a conflict.

Options Available

Synchronisation options include PULL and PUSH, where a Pull results in importing a structure from the target environment to the local environment and a Push results in the local structure being submitted to the target environment.

A Pull does not require authentication as the Pull action will be verified against the credentials of the currently authenticated user. A Push requires authentication against the target environment. The credentials of an Agency user or Admin user must be used, with the target environment performing authentication and authorisation.

In addition, when a Pull or Push is performed, the following sync options will be presented allowing the choice of the following actions:

Selected structures only

Only Pull/Push the selected structure(s).

Note: if there are any cross referenced structures that do NOT exist in the local registry, the pull will fail.

Selected structures and descendants

Pull/Push the selected structure(s) and include all the cross referenced structures, for example a pull on a Dataflow will include the referenced Data Structure Definition, Codelists, Concepts, and Agency Schemes in the pull.

Any structures that exist in the local Registry will be overwritten with those from the target environment.

Selected structures merge descendants

Pull/Push the selected structure(s) and include all the cross referenced structures, for example a pull on a Dataflow will include the referenced Data Structure Definition, Codelists, Concepts, and Agency Schemes in the pull.

Any item schemes (Codelists, Concepts, Agency Scheme, Data Provider Scheme, Data Consumer Scheme) that exist in the local Registry will be merged with those from the target environment. For example if the target environment has a new code in a Codelist, the local Codelist will be updated to include the new code, whilst preserving any existing differences in the local Codelist.

Full Replace

Replace the contents of the Registry with those being pulled/pushed. Any structures in the target environment which are not included in the pull or push will be removed from the target environment.

Note: This is only relevant if the full environment is pulled or pushed, as described below

Full Sync

To perform a full sync select the top level label in the Sync result tree, as shown below. Then click the action of Push or Pull to either submit all the structures to the target, or import them locally.


ES4.PNG


To perform a full sync on all structures of a specific type, click on the Structure Type in the hierarchy followed by Push or Pull as appropriate. In the example below, selecting Codelists at this level would Push or Pull all Codelists.


ES5.PNG


Incoming Changes (Pull)

Incoming changes are denoted by a green chevron pointing to the left (<). This indicates that the structure exists in the target environment, and not in the local environment. Performing a pull on this structure will result in the structure being imported into the local Fusion Registry. A single structure can be pulled by checking the checkbox next to the structure, or if multiple checkboxes are selected then multiple structures can be pulled at once.

Outgoing Changes (Push)