![Advanced-UI](https://img.shields.io/static/v1?label=UI&message=none&color=lightgrey) 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**. [MINITOC] ## 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*. ##### cloneBinarySync.search > type: String, **required: yes**, default: - An arbitrary [Search Util](/celum_extensions/search_util_2)-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