Clone Binary Sync

Advanced-UI

This extension was built to enrich stage- and test-systems that run a clone of the productive database, but without its binaries (to conserve space), with a defined subset of binaries from the prod system as a new version.

It assumes that the asset IDs are the same on both systems.

Requirements

  • The cloned test server runs this plugin
  • The prod server has either
    • REST API >= 6.20 for version 2 of this plugin
    • Remote-SDK <= 6.20 for version 1 of this plugin

Usage

The plugin appears as a system task under the "Import" section.

Properties

To be configured in {home}/appserver/conf/custom.properties

cloneBinarySync.license

type: String, required: yes, default: -

The license key for the plugin (product: cloneBinarySync), provided by brix.

type: String, required: yes, default: -

An arbitrary Search Util-expression defining which assets should be enriched, e.g. nodeRecursive=123 and fileExtension != mp4

cloneBinarySync.serverUrl

type: String, required: yes, default: -

The remote SDK endpoint to use, e.g. https://celum.server (v1 http://celum.server:8765/api)

cloneBinarySync.apiToken

type: String, required: yes, default: -, since 2.0

A REST API token that you generated under CMA > Authentication > Profiles

You may also provide a cloneBinarySync.username and cloneBinarySync.password instead, but this is not recommended.

cloneBinarySync.skipOnNewerVersion

type: String, required: no, default: true

Check if the local asset version is already higher than the remote one, and skip it (assuming it has already been binary-synced)

cloneBinarySync.cronExpression

type: String, required: no, default: -

A Quartz cron expression for automating the task. This is not recommended, and only works when skipOnNewerVersion is true (otherwise it's gonna fill up your disk real fast).

Old version 1 properties

cloneBinarySync.serverSecret

type: String, required: yes, default: -, only for 1.x

The server secret you configured in prod's remote.yml

cloneBinarySync.clientId

type: String, required: yes, default: -

The client ID you configured in prod's remote.yml, e.g. clonebinarysync

This property is still read in version 2, but it is used as the client ID for the REST API instead (optional).

cloneBinarySync.clientSecret

type: String, required: yes, default: -, only for 1.x

The client secret you configured in prod's remote.yml

Compatibility Matrix

CloneBinarySync CELUM (min. version)
1.x 6.8 (tested up to 6.20)
2.x 6.20+

Release Notes

1.0

Release: 2022-02-14

Initial Version

1.1

Release: 2022-02-25

Added skipOnNewerVersion and cronExpression

2.0

Release: 2025-12-05

Switch to the REST API