Difference between revisions of "Synchronise structural metadata between FMR environments"
Line 2: | Line 2: | ||
==Overview== | ==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. | ||
+ | |||
+ | |||
+ | [[File:ES1.PNG|1000px]]<br> | ||
+ | |||
+ | To add an environment, click the Add button and then identify it as shown in the example below. | ||
+ | |||
+ | |||
+ | [[File:ES2.PNG|500px]]<br> | ||
+ | |||
+ | The Environment will now be shown in the environments page as shown below. | ||
+ | |||
+ | |||
+ | [[File:ES3.PNG|1000px]]<br> | ||
+ | |||
+ | ==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 |
Revision as of 06:58, 21 September 2020
Contents
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.
To add an environment, click the Add button and then identify it as shown in the example below.
The Environment will now be shown in the environments page as shown below.
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