Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions usync/01.uSync/20.guides/62.syncRoot.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ You can also lock certain types individually. For example, you could configure y
}
```

# Fancy Merging
## Fancy Merging

What if you want to add a new property to a content type on a child site and you still want to get any updates from the root site? With fancy merging, you can do that.

Expand All @@ -90,14 +90,16 @@ This might not be useful for a lot of DataTypes, but for things like BlockLists

## BlockList/BlockGrid Merging

You can have a core set of blocks defined in a BlockList on on your root site, and then you can add to that list on your child site.
You can have a core set of blocks defined in a BlockList on your root site, and then you can add to that list on your child site.

If you add new blocks to the root, when you import them to the child site they are added straight in and you get to keep your additional child blocks.

![A merged block Grid, showing parent and child blocks in one.](mergedblocklist.png)

By default, uSync roots will fancy merge, BlockLists, BlockGrids, and imageCroppers.

These merges will work down to individual properties in a block. Changing one property, like title or background, will merge into the blocks on your child site.

:::tip
uSync roots default config makes it work for one root, but it can have many. You can define a set of folders in the Folders setting and uSync will merge them all (first -> last, so the last folder takes precedence).
:::
10 changes: 7 additions & 3 deletions usync/04.command/05.APIuser.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ In order to use uSync.CommandLine you have to make an API user. You can do this

Create the API user and add them to the relevant group!

![Create API user tab in the users tab.](create-api-user.png)
![Create API user tab in the users tab.](Create-APIuser.png)

## Add a Client Secret and Key

Expand All @@ -20,6 +20,10 @@ You will need both the Client ID and a Secret to connect via the command-line.

![The create client credential window.](secret-id-tab.png)

:::tip
Umbraco requires the client ID to start with `umbraco-back-office-` to work.
:::

## Add an appsetting.json File

You can add an appsettings.json file to the root of the folder where you are running uSync.CommandLine:
Expand All @@ -38,7 +42,7 @@ You can add an appsettings.json file to the root of the folder where you are run

Alternatively, you can pass these on the CommandLine. eg.

`usynccli usync-ping -s https://localhost:44359 -s [client_secret] -k [client_id]`
`usynccli usync-ping -s https://localhost:44359 -k [client_secret] -i [client_id]`

Once this is set up, you can use all the [Commands!](Commands)

Expand All @@ -64,4 +68,4 @@ This will allow you to add the `AddIfMissing` setting to the appsettings and fil
}
```

Then uSync.CommandLine will search for a user with this client ID. If one does not exist it will create the API user and the client ID for you.
Then uSync.CommandLine will search for a user with this client ID. If one does not exist it will create the API user and the client ID for you.
Binary file added usync/04.command/Create-APIuser.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.