# Elements

Organize and tag your offloads with custom metadata elements – like `Location` or `Project` – to review your added transfers.

![](https://1060439511-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LStRji2w1AYja1bLBFv%2Fuploads%2FVkTbwWaX1h09rtFjbyL9%2Fimage.png?alt=media\&token=7435aa12-357c-4d02-b63c-33e6b5cc8cc2)

Use any elements you create alongside automatically populated elements – such as `Source Name`, `Date`, and `Counter` – to create folder paths, rename files, and set Labels. OffShoot logs all elements and their values in the Transfer Log, Event Log, and Media Hash List.

![](https://1060439511-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LStRji2w1AYja1bLBFv%2Fuploads%2FAoqwR8FYh35hU7SXNNN3%2FPasted_Image_24_12_2021__14_45.png?alt=media\&token=6253fc3b-a162-4f02-bc4a-7d41123d7dd2)

## How to use

1. Go to `Settings > Organize`.
2. Use the `➕` button to create a custom element.
3. Drag elements to `Auto Label`, `Rename Files`, and `Create Folders`.
4. Set up a Source and Destination, review your elements, then start your Transfer.

{% hint style="info" %}
You can also create elements by typing curly brackets `{ }` (e.g. `{Project}`), then pressing `[Enter]`.
{% endhint %}

![Create a new element](https://1060439511-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LStRji2w1AYja1bLBFv%2Fuploads%2FI1gjIOXP0G9LgHd7bbb9%2FPasted_Image_24_12_2021__15_08.png?alt=media\&token=368351e5-d9a3-44ac-9302-cefa47b7f98d)

![Remove an element by clicking the ⌄ down arrow button and choose "Remove"](https://1060439511-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LStRji2w1AYja1bLBFv%2Fuploads%2FAp1Vphww8oSncL9iyTsT%2Fremove%20element.png?alt=media\&token=5f37f757-b941-4ac1-aa01-7e5f02a84700)

![Use elements in Auto Label, Rename Files and Create Folders](https://1060439511-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LStRji2w1AYja1bLBFv%2Fuploads%2FCRhb2ODnRhoO1AaFPuU7%2Freview5.png?alt=media\&token=aafb3266-42a4-4ae9-b56a-ad9202c7bd88)

OffShoot lets you review all used elements when you set up a transfer. If you used any custom elements, OffShoot automatically displays the Review panel before a transfer. Didn't use any custom elements? You can still access the Review panel before a transfer. In the `Disks` menu `Command-1`, click the up arrow button (`⌃`) in the lower-right corner to review any auto-populated elements.

{% hint style="info" %}
Clicking an [Auto Label](https://docs.hedge.video/offshoot/labels#auto-labels) also opens the Review pane.
{% endhint %}

![Click the  ⌃ up arrow button to open the Review panel](https://1060439511-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LStRji2w1AYja1bLBFv%2Fuploads%2FK8qnsnHhD2KuTV2qTJAu%2Fhedge.png?alt=media\&token=7d684f8d-20f3-43b8-b900-200516f7a16d)

If you're using presets, you can toggle the Review panel by choosing `Review Preset` from the Preset dropdown.

![](https://1060439511-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LStRji2w1AYja1bLBFv%2Fuploads%2FEOs4DF6gZItHUcAsYYtJ%2Freview3.png?alt=media\&token=44893a21-0fa0-4fc5-a768-535866d35432)

By default, all entered information is saved until you quit OffShoot. Want to start fresh? Right-click anywhere in the `Review Preset` panel and choose `Clear`.

![](https://1060439511-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LStRji2w1AYja1bLBFv%2Fuploads%2FZaXtUzGPPLkUACOKxuCD%2Fimage.png?alt=media\&token=bb91de11-c1ab-487c-8784-8a75b837c570)

## Logging & Integrations

All elements and their values are logged in the Transfer Log, Event Log, and Media Hash List. They can also be used in the Foolcat, iconik, and SCRATCH integrations.&#x20;

```
OffShoot 26.1 (1481) - macOS 26.1

Source: /Untitled
Destination: /T1/Project X/2021_12_24/Amsterdam/A001

Preset: 22.1 CAM A | Review
Counter: 001
Date: 24/12/2021
Location: Amsterdam
Project: PRX

Started: 01/01/2026, 09:15:11
...
```

```
01/01/2026, 09:15 - File copy completed: {
    "FileCopyCompleted_bytesCopied" = 232656229;
    "FileCopyCompleted_destinationPath" = "/Volumes/T1/PRX/Amsterdam/2021-12-24/A001";
    "FileCopyCompleted_duration" = "1.180007";
    "FileCopyCompleted_checkpointMode" = Off;
    "FileCopyCompleted_presetName" = "22.1 CAM A | Review";
    "FileCopyCompleted_sourceInfo" = { 
	"Counter" = "001", 
	"Date" = "20211224", 
        "Location" = "Amsterdam", 
        "Project" = "PRX" };
    "FileCopyCompleted_sourcePaths" = "/Volumes/Untitled";
    "FileCopyCompleted_startedAt" = 20260101113108;
    "FileCopyCompleted_state" = Success;
}
```

```
<?xml version="1.0" encoding="UTF-8"?>
<hashlist version="1.1">
    <hedge>
        <rootPath>/Volumes/T1</rootPath>
    </hedge>
    <sourceInfo preset="22.1 CAM A | Review">
	<sourceinfofield name="Counter">001</sourceinfofield>
	<sourceinfofield name="Date">2021-12-24</sourceinfofield>
        <sourceinfofield name="Location">Amsterdam</sourceinfofield>
        <sourceinfofield name="Project">PRX</sourceinfofield>
    </sourceInfo>
```

## Pro Preset

{% hint style="info" %}
This feature requires an OffShoot Pro license. Upgrade via the [License Manager](https://account.hedge.video), or via OffShoot > Settings > License. Check out all Pro features [here](https://hedge.video/offshoot/pro-features).
{% endhint %}

### Preset Builder

Create more powerful presets, with custom elements and settings, using the online [Preset Builder](https://preset-builder.hedge.video).

{% hint style="info" %}
An OffShoot Pro license is required to use presets created by the Preset Builder.
{% endhint %}

Pro Presets let you:

* Control the order in which elements appear
* Use dropdown elements
* Use hidden elements
* Create one file with multiple presets
* Give elements default values
* Save entered values in the preset&#x20;
* Add iconik settings elements

### Pro preset file

A `.hedge` preset is formatted as a JSON file and can be opened in any text or code editor.

{% file src="<https://1060439511-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LStRji2w1AYja1bLBFv%2Fuploads%2FgL1ZGpGHTsfnww3QwjpO%2FProduction_X_CAM_A.hedge.zip?alt=media&token=2ba7924a-65ed-47a6-9fb4-b819b6529eaa>" %}
pro preset example
{% endfile %}

To install the preset, double-click the `.hedge` file. OffShoot will launch, and install the preset in `~/Library/Preferences/Hedge/Presets/`.

#### Structure&#x20;

A `.hedge` preset file consists of one array with one or more preset objects (in JSON format).&#x20;

```
[{
    "name" : "Production X - CAM A",
    "description": "",
    "version" : "1.0",
}]
```

<table><thead><tr><th>Name</th><th width="223.33333333333331">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td>Single preset: no<br>Multiple presets: yes<br></td><td>If you don't specify a <code>name</code>, OffShoot will use the file name as the preset name. Required when defining multiple presets in one file.</td></tr><tr><td><code>description</code></td><td>no</td><td>Currently unexposed in OffShoot. </td></tr><tr><td><code>version</code></td><td>yes</td><td>Should always be set to <code>1.0</code> </td></tr></tbody></table>

#### Elements

The `sourceReviewElements` array contains all elements that will appear in the Review pane when adding a source.

```
"sourceReviewElements": [
  { "name": "{Project Name}", "type": "text", "defaultValue": "" },
  { "name": "{Project ID}", "type": "text", "defaultValue": "" },
]
```

The `clipReviewElements` array contains all elements that will appear in the Clip Review pane when adding the transfer.

```
"clipReviewElements": [ 
    { "name": "{Subject}", "type": "text", "defaultValue": "" }, 
    { "name": "{Notes}", "type": "text", "defaultValue": "" }, 
]

```

**Element properties**

<table><thead><tr><th width="209.33333333333331">Name</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td>yes</td><td>The name of the Element. Must be unique and enclosed in curly brackets <code>{ }</code>.</td></tr><tr><td><code>type</code></td><td>yes</td><td>The type of the Element: <code>text</code>, <code>date</code>, <code>select</code>, <code>counter</code>, or <code>hidden.</code></td></tr><tr><td><code>defaultValue</code></td><td>yes</td><td>The default value of the Element. </td></tr><tr><td><code>value</code></td><td>no</td><td>Holds the value that has been entered in OffShoot when adding tranfers.</td></tr><tr><td><code>options</code></td><td>required for <code>select</code> elements</td><td>Holds an array of select objects. </td></tr></tbody></table>

**Element types**

There are five Element types:

| Type        | Description                                                                                                                                                                                                                                     |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| t**ext**    | A normal text input field.                                                                                                                                                                                                                      |
| **date**    | A date picker. Uses the Language & Region set in System Preferences. The value will be formatted as {YYYY}-{MM}-{DD}. To use a different format in `labelPattern` , `renamePattern` or `folderPattern` use `{YYYY}`,`{MM}` and `{DD}` elements. |
| **select**  | A dropdown with multiple values.                                                                                                                                                                                                                |
| **counter** | A text input field with a number that auto increments every time the preset is used.                                                                                                                                                            |
| **number**  | A text input field that accepts only numerical values.                                                                                                                                                                                          |
| **hidden**  | A hidden field that does not show up in the form.                                                                                                                                                                                               |

```
    "sourceReviewElements" : [
      { "name" : "{Project Name}", "type" : "text", "defaultValue" : ""},
      { "name" : "{Date}", "type": "date", "defaultValue" : ""},
      { "name" : "{Location}", "type" : "select", "defaultValue" : "",
        "options" : [
          { "name" : "", "value" : "" },
          { "name" : "Adam", "value" : "Adam" },
          { "name" : "Rome", "value" : "Rome" }
        ]
      },
      { "name" : "{Reel}", "type" : "counter", "defaultValue" : "0001" },
      { "name" : "{Preset ID}", "type" : "hidden", "defaultValue" : "0293840293" }
    ],
```

All Element types can have a `defaultValue` set, with the exception of `date` . The `defaultValue` displays when the Source Review form's first used or when clearing the form. By default, the `date` element uses the date set in `Preferences > General > Date:`.

Values entered when tranfers are added are saved as a `value` property in the preset file..

```
{ "name" : "{Project Name}", "type" : "text", "value": "Project X, "defaultValue" : ""},
```

#### Dropdown

`select` Elements have an extra `options` property that holds all the dropdown options.

```
  { "name" : "{Location}", "type" : "select", "defaultValue" : "", "value" : "",
    "options" : [
      { "name" : "", "value" : "" },
      { "name" : "Adam", "value" : "Adam" },
      { "name" : "NY", "value" : "030" }
    ]
```

{% hint style="info" %}
Tip: Leave the first option blank to make selecting a value an active choice.
{% endhint %}

#### Organize settings

You can define the following organize settings in a preset:

<table><thead><tr><th width="257">Setting</th><th width="108">Type</th><th width="97">Required</th><th>Description and example</th></tr></thead><tbody><tr><td><code>doNotCopyFiles</code></td><td>Array</td><td>no</td><td>Files with these file extensions will be transferred. e.g. <code>[".thumbs", "XML"]</code> cannot be combined with <code>copyOnlyFiles</code>.</td></tr><tr><td><code>copyOnlyFiles</code></td><td>Array</td><td>no</td><td>Only files with these file extensions will be transferred. e.g. <code>[".mp4", "mov"]</code> cannot be combined with <code>doNotCopyFiles</code>. When both properties are defined, <code>doNotCopyFiles</code> will be used.</td></tr><tr><td><code>ignoreEmptyFolders</code></td><td>Boolean</td><td>no</td><td>When <code>true</code>, empty folders will not be transferred.</td></tr><tr><td><code>ignoreBundles</code></td><td>Array</td><td>no</td><td>Bundles with these names have their file size checked. If the name matches and they're larger or smaller than the size specified, they won't be transferred. e.g. <code>[ "AVCHD&#x3C;2MB" ]</code></td></tr><tr><td><code>flattenFolders</code></td><td>Boolean</td><td>no</td><td>When <code>true</code>, the Source's folder structure is flattened. Duplicate filenames will be renamed with a counter.</td></tr><tr><td><code>labelPattern</code></td><td>String</td><td>no</td><td>Sets the Auto Label pattern for this preset. <code>{Metadata}</code> elements, excluding <code>{Filename}</code> and <code>{File date}</code> elements, can be used. This label will be used in the transfer log name and picked up by the <code>{Source Name}</code> element.</td></tr><tr><td><code>renamePattern</code></td><td>String</td><td>no</td><td>Renames all files with the specified format. <code>{Metadata}</code> elements including <code>{Filename}</code> can be used here.</td></tr><tr><td><code>folderPattern</code></td><td>String</td><td>no</td><td>Create destination folders with a specified format. <code>{Metadata}</code> elements, excluding <code>{Filename} and {File date}</code>elements, can be used. Use <code>/</code> to create a folder path.</td></tr><tr><td><code>dontAllowRepetitionAndTrim</code></td><td>Array</td><td>no</td><td>Specify characters that should be trimmed and checked for repetition in <code>labelPattern</code>, <code>renamePattern</code>, and <code>folderPattern</code>. Especially useful when not all elements have a value.</td></tr></tbody></table>

```
    "doNotCopyFiles": ["xml", ".thumb"],
    "copyOnlyFiles": ["mov", "mp4", "mxf"],

    "ignoreEmptyFolders" : false,
    "ignoreBundles": ["AVCHD<1MB"],
    "flattenFolders" : true,
    
    
    "labelPattern" : "{Location}_{Card}",
    "renamePattern" : "{Project Name}_{Date}__{Location}_{Card}__{Clip Location}_{Rating}_{File YYYY}{File MM}{File DD}{File hh}{File ss}__{File Counter}",
    "folderPattern" : "{Project Name}/{Date}/{Location}/{Card}",
    
    "dontAllowRepetitionAndTrim" : ["_", "/"],
```

#### Multiple presets in one file

It is also possible to create one `.hedge` file with multiple presets. See the example below.

```
[
    {
        "name": "preset 1",
        ...
    },
    {
        "name": "preset 2",
        ...
    },
    {
        "name": "preset 3",
        ...
    }
]
```

### iconik

Control per preset which file extensions and metadata elements should end up in iconik sidecar files.

```
"iconikSidecarElements" : [ "{ProjectID}", "{Project}", "{Season}", "{Date}", "{Camera}", "{Card}", "{Type}" ],
"iconikSidecarExtensions" : [".R3D",".MOV"],
"iconikSidecarDestinations" : ["Backup 1", "Backup 2"]
```

Read more about the iconik integration [here](https://docs.hedge.video/hedge/integrations/iconik).
