{"id":8,"date":"2011-06-23T11:38:14","date_gmt":"2011-06-23T15:38:14","guid":{"rendered":"http:\/\/provideotech.org\/wp\/?p=8"},"modified":"2012-04-23T10:21:36","modified_gmt":"2012-04-23T14:21:36","slug":"catdv-and-presstore-archive-integration","status":"publish","type":"post","link":"https:\/\/provideotech.org\/?p=8","title":{"rendered":"CatDV and PresSTORE Archive Integration"},"content":{"rendered":"<p><span style=\"text-decoration: underline;\">UPDATES:<\/span><\/p>\n<p><a title=\"CatDV\/PresSTORE Updates for CatDV 9.0\" href=\"https:\/\/provideotech.org\/?p=63\">CatDV 9.0 Updates and changes to aw-queue.pl &#8211; (August 2011)<\/a><\/p>\n<p><span style=\"text-decoration: underline;\">Original Post<\/span><\/p>\n<p>CatDV has become a very popular video asset management system and with the advent of their Enterprise Server product, can provide entire video workgroups with an asset management and automation solution at a relatively aggressive price point. I am frequently asked if Archiware has a plug- in for CatDV. I had written some basic scripts in the past that gave very rudimentary support, but I always wanted previews and metadata in the Archiware archive index just in case CatDV went away and we still needed to search our archive.<\/p>\n<p>While setup of this integration is not difficult, it should not be taken on unless you are sure you know what you are doing. I would recommend setting up in a test environment first if this is your first time as to not impact production databases. This is by no means the authoritative method of accomplishing this integration and I welcome feedback and advances to what has already been done.<br \/>\n<!--more--><br \/>\nFirst things first, let&#8217;s look at the methods being used for the two operations at play here, archive and restore. You can grab all of these scripts from the following URL:<\/p>\n<p><a title=\"https:\/\/provideotech.org\/files\/catdv-presstore-current.zip\" href=\"https:\/\/provideotech.org\/files\/catdv-presstore-current.zip\">https:\/\/provideotech.org\/files\/catdv-presstore-current.zip<\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"9\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=9\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/1.png?fit=976%2C363&amp;ssl=1\" data-orig-size=\"976,363\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Workflow\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/1.png?fit=720%2C268&amp;ssl=1\" class=\"alignnone size-full wp-image-9\" title=\"Workflow\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/1.png?resize=720%2C268&#038;ssl=1\" alt=\"\" width=\"720\" height=\"268\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/1.png?w=976&amp;ssl=1 976w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/1.png?resize=300%2C111&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/1.png?resize=500%2C185&amp;ssl=1 500w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>The archive process has more steps than the restore process as we are copying our previews as well as extracting metadata from CatDV.\u00a0 The script package is made up of 3 primary scripts.<\/p>\n<p>&nbsp;<\/p>\n<p><strong><em>1) aw-queue.pl<br \/>\n<\/em><\/strong>This script was written to let any text file with full media paths being on each line be used to trigger and queue an archive or restore job.\u00a0 We will schedule this script to run using launched.\u00a0 I would recommend running this once a day after hours so all media chosen for archival can be done in one batch, but more frequent periods are not problematic.\u00a0 This script can be run against any text file, so CatDV is not necessary for it to function.<\/p>\n<p><strong><em>2) catdv-preview.pl<br \/>\n<\/em><\/strong>This script is run by Archiware while an archive job is going.\u00a0 It must be added to the &#8220;preview generators&#8221; tab in the plan setup.\u00a0 It locates and copies the CatDV preview movie into the Archiware index.\u00a0 If this movie is unavailable, it can generate its own preview movie.<\/p>\n<p><strong><em>3) catdv-xml.pl<br \/>\n<\/em><\/strong>This script is run by Archiware while an archive job is going.\u00a0 It must be added to the &#8220;metadata import&#8221; tab in the plan setup.\u00a0 It parses the xml file written out by CatDV Worker and attaches that metadata to the asset in the Archiware index.<\/p>\n<p><strong><em>4) catdv2aw.pl<br \/>\n<\/em><\/strong>This is a very basic script that just appends the filename to the appropriate text file.\u00a0 Arguably could be don without the script at all with longer commands in Worker Node.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/2.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"10\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=10\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/2.png?fit=976%2C238&amp;ssl=1\" data-orig-size=\"976,238\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Restoring\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/2.png?fit=720%2C176&amp;ssl=1\" class=\"alignnone size-full wp-image-10\" title=\"CatDV Restoring\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/2.png?resize=720%2C176&#038;ssl=1\" alt=\"\" width=\"720\" height=\"176\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/2.png?w=976&amp;ssl=1 976w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/2.png?resize=300%2C73&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/2.png?resize=500%2C121&amp;ssl=1 500w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>The restore process is simpler as it only calls the aw-queue.pl file with a restore method.\u00a0 As we are simply grabbing our hi-res file from the archive to return to our primary online storage, it does not need the preview or xml scripts.<\/p>\n<h2><strong>Putting the pieces in place.<\/strong><\/h2>\n<p>Some of these scripts do use Perl&#8217;s Simple::XML and File::Basename.\u00a0 If you do not have these modules installed, use cpan to install them.<\/p>\n<pre>shell&gt; perl -MCPAN -e shell\r\ncpan&gt; install XML::Simple\r\ncpan&gt; install File::Basename<\/pre>\n<p>Tying this all together isn&#8217;t all that difficult, but since there are several moving pieces it is worth pointing out where everything should go.\u00a0 You don&#8217;t have to follow these paths, but I would recommend it.\u00a0 First, make the following directories.\u00a0 We are going to assume you already have PresSTORE installed in its default location (\/usr\/loca\/aw\/)<\/p>\n<pre>shell&gt; mkdir \/usr\/local\/aw-scripts\/\r\nshell&gt; mkdir -p \/usr\/local\/catdv-presstore\/tmp<\/pre>\n<p>Make sure the tmp directory is world writable, it is where we will store temporary xml files.<\/p>\n<pre>shell&gt; chmod 777 \/usr\/local\/catdv-presstore\/tmp<\/pre>\n<p>Now we need to make our text queues and make sure they are world writable as well<\/p>\n<pre>shell&gt; touch \/usr\/local\/catdv-presstore\/archive-queue.txt &amp; touch \/usr\/local\/catdv-presstore\/restore-queue.txt<\/pre>\n<p>Now lets move our scripts into place and make sure they are executable.<\/p>\n<pre>shell&gt; cd \/path\/to\/downloaded\/scripts\r\nshell&gt; mv .\/aw-queue.pl \/usr\/local\/aw-scripts\/\r\nshell&gt; mv .\/catdv-xml.pl .\/catdv-preview.pl .\/catdv2aw.pl \/usr\/local\/catdv-presstore\/\r\nshell&gt; chmod +x \/usr\/local\/catdv-presstore\/catdv*\r\nshell&gt; chmod +x \/usr\/local\/aw-scripts\/aw-queue.pl<\/pre>\n<h2>Script configuration<\/h2>\n<p>The CatDV scripts need to be set up to match appropriate metadata from CatDV to its target in the PresSTORE archive index.\u00a0 This has to be set up in the catdv-xml.pl file.\u00a0 If you set up your paths the same way as recommended, you will have to build your key:value pairs in the last two sections of the script.\u00a0 I have put these sections below as a reference.\u00a0 Simply modify\/add\/subtract key\/value lines until all your metadata is mapped.<\/p>\n<pre># this next section will have to be set up to match your PresSTORE\/CatDV settings.\r\n# first, place each of your PresSTORE metadata fields as array members below\r\n# I have two metadata fields in my PresSTORE index, League and Event.\u00a0 I start\r\n# with md1key, incrementing for each metadata field I want to add.\u00a0 Make sure you\r\n# use the internal name for the field.\r\n\r\n$md1key = \"league\"; #Maps to USER13 in CatDV\r\n$md2key = \"event\";\u00a0 #Maps to USER15 in CatDV\r\n\r\n# in this section, I pull the USER field from CatDV that I want to map to each metadata key.\r\n# for this example, the name of Metadata field USER13 in CatDV is \"League\", USER15 is \"Event\".\r\n# repeat until all your md keys line up with values read from the xml file\r\n\r\n$md1value = $data-&gt;{CLIP}-&gt;{USER13}; #extracts value of \"league\"\r\n$md2value = $data-&gt;{CLIP}-&gt;{USER15}; #extracts value of \"event\"<\/pre>\n<p>Next, we need to modify the <strong>catdv-preview.pl<\/strong> file to meet the needs of our environment.\u00a0 Specifically, we need to tell the script where to look for path based previews, what our preview extension is, and where we are going to temporarily copy those previews to for PresSTORE to move them into its index (I would recommend putting this path on the same filesystem as your PresSTORE index).<\/p>\n<pre># where are our previews?\r\n$previewdir = \"\/Users\/Shared\/CatDV Docs\/Proxies\";\r\n\r\n# what kind of previews are we making?\u00a0 (mov, mp4, m4v, etc)\r\n$previewextension = \"mp4\";\r\n\r\n# where do we want to temporarily copy the previews to before adding to AW index?\r\n$awproxypath = \"\/tmp\";<\/pre>\n<p>You may notice that there is logic built into the script to build a preview from scratch if the CatDV preview is not found.\u00a0 I leave this choice up to you as to how you want to generate proxies.\u00a0 I&#8217;ve written a basic primer on Xsanity on using qt_tools for preview generation in PresSTORE (<a href=\"http:\/\/www.xsanity.com\/article.php\/20110209085948148\">http:\/\/www.xsanity.com\/article.php\/20110209085948148<\/a>), but there are many other ways of performing this task.\u00a0 If your facility has a dedicated encoding solution such as Episode Engine, FlipFactory, Rhozet, or similar I would recommend using it here.<\/p>\n<p>The last script to setup is our <strong>aw-queue.pl<\/strong> script.\u00a0 These are pretty self explanatory and are in the first section of the script file.\u00a0 You are not going to want to change the first two variables as they grab the first and second directives from the CLI when the script is run.<\/p>\n<pre>##################\r\n# User variables #\r\n##################\r\n\r\n#this is the path for the original media queue to be archived\/restored\r\n$full_queue_path = $ARGV[0];\r\n#this is the method being used (archive or restore)\r\n$method = $ARGV[1];\r\n\r\n#this is the path to nsdchat.\u00a0 You need to change this if you do not have a standard\r\n#PresSTORE install\r\n$nsdchat = \"\/usr\/local\/aw\/bin\/nsdchat -c\";\r\n\r\n#if the filesystem for the archived content lives on a different host than localhost,\r\n#change that here\r\n$client = \"localhost\";\r\n\r\n#index ID - if using default index, change this to Default-Archive\r\n$index = \"CatDV\";\r\n\r\n#log file location.\u00a0 Change this if you want this going someplace different.\u00a0 Must\r\n#change on non-MacOS X systems\r\n$logfile = \"\/Library\/Logs\/aw-queue.log\";<\/pre>\n<p>Once you have made the necessary changes, lets move on to the next section.<\/p>\n<h2>Setting up the PresSTORE environment<\/h2>\n<p>Now that our scripting environment is set up, we can set up our Archive index in PresSTORE.\u00a0 Log in to your PresSTORE server as an administrator, and click on Archive at the top.\u00a0 Now flip down the triangle to the lower left under \u201cAdvanced Options\u201d and select \u201cManage Indexes\u201d.<\/p>\n<p>First we need to create a new index that will hold our CatDV specific assets.\u00a0 One of the great powers of PresSTORE is its ability to have multiple indexes, so each workgroup in a facility can have multiple systems creating their own archives with their own discreet metadata schemes and setups.<\/p>\n<p>At the bottom of the window, click \u201cNew\u201d.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/3.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"11\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=11\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/3.png?fit=518%2C407&amp;ssl=1\" data-orig-size=\"518,407\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Manage Indexes\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/3.png?fit=518%2C407&amp;ssl=1\" class=\"alignnone size-full wp-image-11\" title=\"Manage Indexes\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/3.png?resize=518%2C407&#038;ssl=1\" alt=\"\" width=\"518\" height=\"407\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/3.png?w=518&amp;ssl=1 518w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/3.png?resize=300%2C235&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/3.png?resize=381%2C300&amp;ssl=1 381w\" sizes=\"auto, (max-width: 518px) 100vw, 518px\" \/><\/a><\/p>\n<p>At this point, we are going to create a new archive index and enable it.\u00a0 Create a name for your new index (in this example we use \u201cCatDV\u201d) as well as a description for the index.\u00a0 This is what users will see if browsing the index through the PresSTORE interface.\u00a0 For this example I have called it \u201cCatDV archive index\u201d.\u00a0 The last field is where to story this index information.\u00a0 For the sake of this example, we will leave this as its default.\u00a0 If you want to learn more about relocating indexes, read the PresSTORE manual or contact me.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/5.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"13\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=13\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/5.png?fit=575%2C457&amp;ssl=1\" data-orig-size=\"575,457\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"New Index\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/5.png?fit=575%2C457&amp;ssl=1\" class=\"alignnone size-full wp-image-13\" title=\"New Index\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/5.png?resize=575%2C457&#038;ssl=1\" alt=\"\" width=\"575\" height=\"457\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/5.png?w=575&amp;ssl=1 575w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/5.png?resize=300%2C238&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/5.png?resize=377%2C300&amp;ssl=1 377w\" sizes=\"auto, (max-width: 575px) 100vw, 575px\" \/><\/a><\/p>\n<p>The next step is to add metadata fields that line up to your CatDV metadata fields. \u00a0 These are the keys you added as <span style=\"color: #0000ff;\">$mdkey1-n <\/span>values in the <strong>catdv-xml.pl<\/strong> script.<\/p>\n<p>Right click on your index you just created and select \u201cFields&#8230;\u201d<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/4.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"12\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=12\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/4.png?fit=546%2C429&amp;ssl=1\" data-orig-size=\"546,429\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Edit Fields\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/4.png?fit=546%2C429&amp;ssl=1\" class=\"alignnone size-full wp-image-12\" title=\"Edit Fields\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/4.png?resize=546%2C429&#038;ssl=1\" alt=\"\" width=\"546\" height=\"429\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/4.png?w=546&amp;ssl=1 546w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/4.png?resize=300%2C235&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/4.png?resize=381%2C300&amp;ssl=1 381w\" sizes=\"auto, (max-width: 546px) 100vw, 546px\" \/><\/a><\/p>\n<p>Here we have our metadata field setup for this particular index in PresSTORE.\u00a0 There are 6 fields here to fill out.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/6.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"14\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=14\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/6.png?fit=865%2C413&amp;ssl=1\" data-orig-size=\"865,413\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Metadata Fields\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/6.png?fit=720%2C344&amp;ssl=1\" class=\"alignnone size-full wp-image-14\" title=\"Metadata Fields\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/6.png?resize=720%2C344&#038;ssl=1\" alt=\"\" width=\"720\" height=\"344\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/6.png?w=865&amp;ssl=1 865w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/6.png?resize=300%2C143&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/6.png?resize=500%2C238&amp;ssl=1 500w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p><em>Internal Name: <\/em>This is the field you will use to input your $mdkey1-<em>n<\/em> values.\u00a0 This is used for internal communication inside of the PresSTORE archive index and for API interaction.\u00a0 It cannot have spaces or special characters and is meant for non-human interaction.<\/p>\n<p><strong>Type<\/strong><em>:<\/em> This defines whether the metadata field is a Text field or a number.\u00a0 For the sake of this integration, always select Text.<\/p>\n<p><strong>Application name<\/strong><em>:<\/em> This field is what a user sees as the metadata field in the PresSTORE index when browsing through the PresSTORE interface.\u00a0 I would recommend making this something human readable.<\/p>\n<p><strong>Comment<\/strong><em>:<\/em> This is simply a comment field to further describe the field.<\/p>\n<p><strong># rows<\/strong>:\u00a0 This tells PresSTORE how many rows to display in the web UI for input and reading of metadata.\u00a0 Adjust appropriately for the type of metadata being put into each field.\u00a0 If it is a description field, for example, I would select 3-4 rows.\u00a0 For one word or simple metadata (filetype or time of day for example), 1 row would be sufficient.<\/p>\n<p><strong>Order<\/strong><em>:<\/em> This is the order that the fields are displayed to the user.\u00a0 Your choice.<\/p>\n<p>Close this window once you have your metadata fields set up.\u00a0 We now need to allow user access to our new index so it can be selected when we set up our Archive plan.\u00a0 To do this, under \u201cAdvanced Options\u201d on the right hand, select \u201cAccess to Indexes\u201d.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/7.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"15\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=15\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/7.png?fit=407%2C59&amp;ssl=1\" data-orig-size=\"407,59\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Access to Indexes\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/7.png?fit=407%2C59&amp;ssl=1\" class=\"alignnone size-full wp-image-15\" title=\"Access to Indexes\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/7.png?resize=407%2C59&#038;ssl=1\" alt=\"\" width=\"407\" height=\"59\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/7.png?w=407&amp;ssl=1 407w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/7.png?resize=300%2C43&amp;ssl=1 300w\" sizes=\"auto, (max-width: 407px) 100vw, 407px\" \/><\/a><\/p>\n<p>Double click your newly created index.\u00a0 It will open a new login area configuration.\u00a0 Select your Archive Index that you just created and add appropriate groups.\u00a0 If you want to do more limited permission sets for the index, please consult the PresSTORE manual (section 7.1.4 in the P4 user guide).<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/8.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"16\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=16\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/8.png?fit=471%2C416&amp;ssl=1\" data-orig-size=\"471,416\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Permissions\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/8.png?fit=471%2C416&amp;ssl=1\" class=\"alignnone size-full wp-image-16\" title=\"Permissions\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/8.png?resize=471%2C416&#038;ssl=1\" alt=\"\" width=\"471\" height=\"416\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/8.png?w=471&amp;ssl=1 471w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/8.png?resize=300%2C264&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/8.png?resize=339%2C300&amp;ssl=1 339w\" sizes=\"auto, (max-width: 471px) 100vw, 471px\" \/><\/a><\/p>\n<p>Hit apply once you have allowed a user access to the new index and lets move on to the next step.\u00a0 The final PresSTORE configuration is creating our Archive plan that we want to use to work with CatDV.\u00a0 Do this by selecting \u201cArchive\u201d from the top menu and selecting \u201cArchive Plan\u201d from the left pane.\u00a0 Click \u201cNew\u201d to begin setup on your new Archive plan.<\/p>\n<p>First thing you will have to do is give this plan a name.\u00a0 I have called mine simply \u201cCatDV\u201d for this example.\u00a0 Make sure after selecting a name, you click \u201cApply\u201d.\u00a0 Set the archive plan to \u201cEnabled\u201d and Auto start to \u201cDisabled\u201d. \u00a0 Select your disk or tape pool (for more info on setting up pools, look at the Archiware user guide in section 7.4) and your index you just set up.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/9.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"17\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=17\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/9.png?fit=453%2C389&amp;ssl=1\" data-orig-size=\"453,389\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Archive Plan General\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/9.png?fit=453%2C389&amp;ssl=1\" class=\"alignnone size-full wp-image-17\" title=\"Archive Plan General\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/9.png?resize=453%2C389&#038;ssl=1\" alt=\"\" width=\"453\" height=\"389\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/9.png?w=453&amp;ssl=1 453w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/9.png?resize=300%2C257&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/9.png?resize=349%2C300&amp;ssl=1 349w\" sizes=\"auto, (max-width: 453px) 100vw, 453px\" \/><\/a><\/p>\n<p>Hit \u201cApply\u201d.\u00a0 Now pull down the \u201cGeneral Setup\u201d menu and select \u201cArchive Options\u201d.\u00a0 Here we set Archiware to Delete files only.\u00a0 This will delete the archived files after they have been written to archive and verified.\u00a0 We can also setup a script here to clean up our temp files (.xml) if we like.\u00a0 This is optional but recommended.\u00a0 The script I wrote simply removes all files from \/usr\/local\/catdv-presstore\/tmp after a successful archive run.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/10.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"18\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=18\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/10.png?fit=457%2C392&amp;ssl=1\" data-orig-size=\"457,392\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Archive Options\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/10.png?fit=457%2C392&amp;ssl=1\" class=\"alignnone size-full wp-image-18\" title=\"Archive Options\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/10.png?resize=457%2C392&#038;ssl=1\" alt=\"\" width=\"457\" height=\"392\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/10.png?w=457&amp;ssl=1 457w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/10.png?resize=300%2C257&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/10.png?resize=349%2C300&amp;ssl=1 349w\" sizes=\"auto, (max-width: 457px) 100vw, 457px\" \/><\/a><\/p>\n<p>The next two panes are where we point to our metadata and preview generation scripts (<strong>catdv-xml.pl<\/strong> and <strong>catdv-preview.pl<\/strong>).\u00a0 Go into both the \u201cPreview Generation\u201d and \u201cMetadata Import\u201d tabs and point them to your scripts.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/11.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"20\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=20\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/11.png?fit=459%2C394&amp;ssl=1\" data-orig-size=\"459,394\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Preview Generation\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/11.png?fit=459%2C394&amp;ssl=1\" class=\"alignnone size-full wp-image-20\" title=\"Preview Generation\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/11.png?resize=459%2C394&#038;ssl=1\" alt=\"\" width=\"459\" height=\"394\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/11.png?w=459&amp;ssl=1 459w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/11.png?resize=300%2C257&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/11.png?resize=349%2C300&amp;ssl=1 349w\" sizes=\"auto, (max-width: 459px) 100vw, 459px\" \/><\/a><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/12.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"21\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=21\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/12.png?fit=457%2C392&amp;ssl=1\" data-orig-size=\"457,392\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Metadata Import\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/12.png?fit=457%2C392&amp;ssl=1\" class=\"alignnone size-full wp-image-21\" title=\"Metadata Import\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/12.png?resize=457%2C392&#038;ssl=1\" alt=\"\" width=\"457\" height=\"392\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/12.png?w=457&amp;ssl=1 457w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/12.png?resize=300%2C257&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/12.png?resize=349%2C300&amp;ssl=1 349w\" sizes=\"auto, (max-width: 457px) 100vw, 457px\" \/><\/a><\/p>\n<p>Now our PresSTORE environment is setup, time to move on to CatDV.<\/p>\n<h2><strong>Setting up CatDV<\/strong><\/h2>\n<p>If you are reading this, I\u2019m going to assume you have used CatDV Enterprise server and are comfortable with setting up user metadata fields.\u00a0 The important thing to remember is that we will be referencing the <strong><em>USERxx<\/em><\/strong> reference for each filed in our metadata map above.<\/p>\n<p>Instead, I will walk through setting up necessary fields in CatDV for PresSTORE and configuration of Worker Node.\u00a0 First things first, open up CatDV, connect to your server, and open the preferences.<\/p>\n<p>We are going to create one new User Defined Field.\u00a0 Select the \u201cField Definitions\u201d menu and click \u201cUser Defined Fields\u201d.\u00a0 Add a new field called \u201cPresSTORE\u201d with a type of \u201cGrouping\u201d.\u00a0 It should not be Locked or Mandatory.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/13.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"22\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=22\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/13.png?fit=671%2C321&amp;ssl=1\" data-orig-size=\"671,321\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV User Fields\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/13.png?fit=671%2C321&amp;ssl=1\" class=\"alignnone size-full wp-image-22\" title=\"CatDV User Fields\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/13.png?resize=671%2C321&#038;ssl=1\" alt=\"\" width=\"671\" height=\"321\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/13.png?w=671&amp;ssl=1 671w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/13.png?resize=300%2C143&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/13.png?resize=500%2C239&amp;ssl=1 500w\" sizes=\"auto, (max-width: 671px) 100vw, 671px\" \/><\/a><\/p>\n<p>Hit close and create a new Pick List for whatever column you just setup PresSTORE in.\u00a0 Make 3 values, one blank, one \u201cArchive\u201d, one \u201cRestore\u201d.\u00a0 Make sure you select \u201cFixed value\u201d and \u201cKeep Sorted\u201d.\u00a0 Do not allow Extensible or Remember values.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/14.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"23\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=23\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/14.png?fit=646%2C384&amp;ssl=1\" data-orig-size=\"646,384\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Pick Lists\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/14.png?fit=646%2C384&amp;ssl=1\" class=\"alignnone size-full wp-image-23\" title=\"CatDV Pick Lists\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/14.png?resize=646%2C384&#038;ssl=1\" alt=\"\" width=\"646\" height=\"384\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/14.png?w=646&amp;ssl=1 646w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/14.png?resize=300%2C178&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/14.png?resize=500%2C297&amp;ssl=1 500w\" sizes=\"auto, (max-width: 646px) 100vw, 646px\" \/><\/a><\/p>\n<p>Close this dialog and save you new fields to the server.\u00a0 Restart CatDV and verify that the new fields are available in your Log Notes tab.\u00a0 Default should be blank.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/15.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"24\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=24\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/15.png?fit=625%2C251&amp;ssl=1\" data-orig-size=\"625,251\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Log Notes\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/15.png?fit=625%2C251&amp;ssl=1\" class=\"alignnone size-full wp-image-24\" title=\"CatDV Log Notes\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/15.png?resize=625%2C251&#038;ssl=1\" alt=\"\" width=\"625\" height=\"251\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/15.png?w=625&amp;ssl=1 625w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/15.png?resize=300%2C120&amp;ssl=1 300w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/15.png?resize=500%2C200&amp;ssl=1 500w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><\/p>\n<h2>Setting up Worker Node<\/h2>\n<p>We are almost there!\u00a0 Time to set up CatDV Worker Node to react to our new metadata field with two automations.\u00a0 The first automation\u00a0 will be set up to trigger archival queue file writing and xml export.\u00a0 The second will be to trigger restore queue file writing.\u00a0 Go ahead and fire up Worker Node and click \u201cEdit Config\u201d.<\/p>\n<p>First things first, lets make sure we have enough User-defined fields visible in worker node to subscribe to.\u00a0 We need to be able to see our PresSTORE User Defined Field we just created.\u00a0 In this example, that was USER16, so I need to have this box set to at least 16 fields.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/16.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"25\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=25\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/16.png?fit=478%2C255&amp;ssl=1\" data-orig-size=\"478,255\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Worker General\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/16.png?fit=478%2C255&amp;ssl=1\" class=\"alignnone size-full wp-image-25\" title=\"CatDV Worker General\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/16.png?resize=478%2C255&#038;ssl=1\" alt=\"\" width=\"478\" height=\"255\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/16.png?w=478&amp;ssl=1 478w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/16.png?resize=300%2C160&amp;ssl=1 300w\" sizes=\"auto, (max-width: 478px) 100vw, 478px\" \/><\/a><\/p>\n<p>Next, lets make sure we have our server information correct to connect to our CatDV enterprise server.\u00a0 Remember, the Worker Node here does not have to be on the CatDV server itself, just on a machine that has physical access to media at the paths being provided by CatDV.<\/p>\n<p><span style=\"font-size: x-large;\"><span style=\"font-size: 20px;\"><strong><span style=\"font-size: small;\"><span style=\"font-size: 13px; font-weight: normal;\"><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/17.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"26\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=26\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/17.png?fit=484%2C259&amp;ssl=1\" data-orig-size=\"484,259\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Worker Server Settings\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/17.png?fit=484%2C259&amp;ssl=1\" class=\"alignnone size-full wp-image-26\" title=\"CatDV Worker Server Settings\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/17.png?resize=484%2C259&#038;ssl=1\" alt=\"\" width=\"484\" height=\"259\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/17.png?w=484&amp;ssl=1 484w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/17.png?resize=300%2C160&amp;ssl=1 300w\" sizes=\"auto, (max-width: 484px) 100vw, 484px\" \/><\/a><\/span><\/span><\/strong><\/span><\/span><\/p>\n<p>Now to set up our \u201carchive\u201d watch action.\u00a0 We need to set up a Server Query action that monitors our \u201cPresSTORE\u201d User Defined Field.\u00a0 We want to monitor for when the selection is set to \u201cArchive\u201d in the Server Query tab.\u00a0 For all of these examples, my PresSTORE field is USER16.\u00a0 Yours will vary depending on metadata set.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/18.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"27\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=27\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/18.png?fit=465%2C265&amp;ssl=1\" data-orig-size=\"465,265\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Worker Server Query\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/18.png?fit=465%2C265&amp;ssl=1\" class=\"alignnone size-full wp-image-27\" title=\"CatDV Worker Server Query\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/18.png?resize=465%2C265&#038;ssl=1\" alt=\"\" width=\"465\" height=\"265\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/18.png?w=465&amp;ssl=1 465w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/18.png?resize=300%2C170&amp;ssl=1 300w\" sizes=\"auto, (max-width: 465px) 100vw, 465px\" \/><\/a><\/p>\n<p>In the Parameters tab, make sure you Enable query, set the check interval to something fairly quick (10-30 seconds) and make sure Allow polling is disabled.\u00a0 Also make sure Process online files only is checked.\u00a0 We don\u2019t want to pass information accidentally about a file that isn\u2019t online.<\/p>\n<p><span style=\"font-size: x-large;\"><span style=\"font-size: 20px;\"><strong><span style=\"font-size: small;\"><span style=\"font-size: 13px; font-weight: normal;\"><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/19.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"28\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=28\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/19.png?fit=469%2C268&amp;ssl=1\" data-orig-size=\"469,268\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Worker Parameters\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/19.png?fit=469%2C268&amp;ssl=1\" class=\"alignnone size-full wp-image-28\" title=\"CatDV Worker Parameters\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/19.png?resize=469%2C268&#038;ssl=1\" alt=\"\" width=\"469\" height=\"268\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/19.png?w=469&amp;ssl=1 469w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/19.png?resize=300%2C171&amp;ssl=1 300w\" sizes=\"auto, (max-width: 469px) 100vw, 469px\" \/><\/a><\/span><\/span><\/strong><\/span><\/span><\/p>\n<p>In the Conversions tab, we actually aren\u2019t doing any conversions, but we are going to execute one of our scripts from this location.\u00a0 The script we call is <strong>catdv2aw.pl<\/strong> which takes two arguments.\u00a0 The first argument is the location of our archive queue file (this would be at <em>\/usr\/local\/catdv-presstore\/archive-queue.txt<\/em> if you aren\u2019t modifying locations).\u00a0 The second argument is <span style=\"color: #0000ff;\">$i<\/span>, which returns the full path of the file to be archived.\u00a0 I put both of these arguments in quotes to eliminate escaping problems for files with spaces or certain unicode characters in their filenames.<\/p>\n<p>&nbsp;<\/p>\n<p>The second part of this puzzle is exporting an XML file with the asset information for metadata parsing.\u00a0 I place this in the <em>\/usr\/local\/catdv-presstore\/tmp\/<\/em> directory and pass the <span style=\"color: #0000ff;\">$f<\/span> variable as the filename and append .xml.\u00a0 The <span style=\"color: #0000ff;\">$f<\/span> variable is just the basename of our file to be archived.\u00a0 We use this for lookup in the <strong>catdv-xml.pl<\/strong> script.<\/p>\n<pre>\/usr\/local\/catdv-presstore\/catdv2aw.pl \/usr\/local\/catdv-presstore\/archive-queue.txt \"$i\"<\/pre>\n<p><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/20.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"29\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=29\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/20.png?fit=469%2C267&amp;ssl=1\" data-orig-size=\"469,267\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Worker Connections\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/20.png?fit=469%2C267&amp;ssl=1\" class=\"alignnone size-full wp-image-29\" title=\"CatDV Worker Connections\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/20.png?resize=469%2C267&#038;ssl=1\" alt=\"\" width=\"469\" height=\"267\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/20.png?w=469&amp;ssl=1 469w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/20.png?resize=300%2C170&amp;ssl=1 300w\" sizes=\"auto, (max-width: 469px) 100vw, 469px\" \/><\/a><\/p>\n<p><span style=\"font-size: x-large;\"><span style=\"font-size: 20px;\"><strong><span style=\"font-size: small;\"><span style=\"font-size: 13px; font-weight: normal;\">Last but not least, we go into the Post-Processing tab to reset some metadata fields in the database.\u00a0 First, we set Status to \u201cArchived\u201d so we have a searchable field for all archived content in CatDV.\u00a0 If you are already using Status for other workflows in your environment, you could create another user defined field to accomplish the same task.\u00a0 We also set our PresSTORE field back to blank so the field can be used for restore later.\u00a0 Hit OK and your archive action is complete.<\/span><\/span><\/strong><\/span><\/span><\/p>\n<p><span style=\"font-size: x-large;\"><span style=\"font-size: 20px;\"><strong><span style=\"font-size: small;\"><span style=\"font-size: 13px; font-weight: normal;\"><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/21.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"30\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=30\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/21.png?fit=473%2C270&amp;ssl=1\" data-orig-size=\"473,270\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Worker Post Processiong\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/21.png?fit=473%2C270&amp;ssl=1\" class=\"alignnone size-full wp-image-30\" title=\"CatDV Worker Post Processiong\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/21.png?resize=473%2C270&#038;ssl=1\" alt=\"\" width=\"473\" height=\"270\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/21.png?w=473&amp;ssl=1 473w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/21.png?resize=300%2C171&amp;ssl=1 300w\" sizes=\"auto, (max-width: 473px) 100vw, 473px\" \/><\/a><\/span><\/span><\/strong><\/span><\/span><\/p>\n<p>The process for setting up restore is very similar and actually a bit less involved.\u00a0 We now want to monitor our PresSTORE field for \u201cRestore\u201d and want to Enable query, but we want to make sure that we do not have the Process online files only checkbox ticked as none of the content that will be restored will actually be online, so every task would fail.\u00a0 For conversions, we are using our <strong>catdv2aw.pl<\/strong> script again, but this time we change from our archive queue to our restore queue.\u00a0 We do not need to export xml here.<\/p>\n<pre>\/usr\/local\/catdv-presstore\/catdv2aw.pl \/usr\/local\/catdv-presstore\/restore-queue.txt \"$i\"<\/pre>\n<p>In Post-Processing, we again want to set our PresSTORE field to blank, but change our status to \u201cIn Archive (Online)\u201d.<\/p>\n<p><span style=\"font-size: x-large;\"><span style=\"font-size: 20px;\"><strong><span style=\"font-size: small;\"><span style=\"font-size: 13px; font-weight: normal;\"><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/22.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"31\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=31\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/22.png?fit=447%2C255&amp;ssl=1\" data-orig-size=\"447,255\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Restore Server Query\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/22.png?fit=447%2C255&amp;ssl=1\" class=\"alignnone size-full wp-image-31\" title=\"CatDV Restore Server Query\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/22.png?resize=447%2C255&#038;ssl=1\" alt=\"\" width=\"447\" height=\"255\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/22.png?w=447&amp;ssl=1 447w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/22.png?resize=300%2C171&amp;ssl=1 300w\" sizes=\"auto, (max-width: 447px) 100vw, 447px\" \/><\/a><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/23.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"32\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=32\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/23.png?fit=443%2C253&amp;ssl=1\" data-orig-size=\"443,253\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Restore Parameters\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/23.png?fit=443%2C253&amp;ssl=1\" class=\"alignnone size-full wp-image-32\" title=\"CatDV Restore Parameters\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/23.png?resize=443%2C253&#038;ssl=1\" alt=\"\" width=\"443\" height=\"253\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/23.png?w=443&amp;ssl=1 443w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/23.png?resize=300%2C171&amp;ssl=1 300w\" sizes=\"auto, (max-width: 443px) 100vw, 443px\" \/><\/a><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/24.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"33\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=33\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/24.png?fit=444%2C253&amp;ssl=1\" data-orig-size=\"444,253\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Restore Parameters\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/24.png?fit=444%2C253&amp;ssl=1\" class=\"alignnone size-full wp-image-33\" title=\"CatDV Restore Parameters\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/24.png?resize=444%2C253&#038;ssl=1\" alt=\"\" width=\"444\" height=\"253\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/24.png?w=444&amp;ssl=1 444w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/24.png?resize=300%2C170&amp;ssl=1 300w\" sizes=\"auto, (max-width: 444px) 100vw, 444px\" \/><\/a><a href=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/25.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"34\" data-permalink=\"https:\/\/provideotech.org\/?attachment_id=34\" data-orig-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/25.png?fit=443%2C253&amp;ssl=1\" data-orig-size=\"443,253\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"CatDV Restore Post Processing\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/25.png?fit=443%2C253&amp;ssl=1\" class=\"alignnone size-full wp-image-34\" title=\"CatDV Restore Post Processing\" src=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/25.png?resize=443%2C253&#038;ssl=1\" alt=\"\" width=\"443\" height=\"253\" srcset=\"https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/25.png?w=443&amp;ssl=1 443w, https:\/\/i0.wp.com\/provideotech.org\/wp-content\/uploads\/2011\/06\/25.png?resize=300%2C171&amp;ssl=1 300w\" sizes=\"auto, (max-width: 443px) 100vw, 443px\" \/><\/a><\/span><\/span><\/strong><\/span><\/span><\/p>\n<p>We are now done setting up Worker Node.\u00a0 We can do some verification that things are working before putting the final piece in place now if we want to.\u00a0 Have our Worker Node running and go select a file in your CatDV database.\u00a0 Choose the PresSTORE field and set it to Archive or Restore and update the server.<\/p>\n<p>Worker node should pick up the changes and write them into your \/<em>usr\/local\/catdv-presstore\/archive-queue.txt<\/em> and <em>\/usr\/local\/catdv-presstore\/restore-queue.txt<\/em> files.\u00a0 If these files aren\u2019t getting updated, double check that they are writable and that worker node is not throwing any errors in its log.<\/p>\n<p>You can also now run the <strong>catdv-xml.pl<\/strong> and <strong>catdv-preview.pl<\/strong> scripts by hand against any line in your <strong>archive-queue.txt<\/strong> file.\u00a0 The should return key\/value pars and the path to the copied preview respectively (don\u2019t forget to clean up that preview file by hand if you do this a lot.\u00a0 PresSTORE does this for you, but the script does not).<\/p>\n<h2>Configuring launchd to start archive\/restore jobs (Mac OS X).<\/h2>\n<p>The final configuration step in this process is to setup schedules to send our archive-queue.txt and restore-queue.txt file to the aw-queue.pl script.\u00a0 The <strong>aw-queue.pl<\/strong> script takes multiple arguments and is used for both archival and restore.<\/p>\n<pre>shell&gt; \/usr\/local\/aw-scripts\/aw-queue.pl\r\nusage: aw-queue.pl queue_file archive|restore archive_plan\r\n\r\nqueue_file: full path to queue file\r\narchive|restore: select whether to archive or restore from archive the source_file\r\narchive_plan: which archive plan you want PresSTORE to use<\/pre>\n<p>We are going to formulate launchd scripts and enable them to run this script against all the information we just collected on a periodic basis.\u00a0 We will have one script that runs to trigger archives and another that triggers restores.\u00a0 My recommendation would be to set the periods for both low (1-5 minutes) during testing, but in production run archive only once or twice per day.\u00a0 Restore should remain relatively quick.<\/p>\n<p>You will place these launchd scripts in <em>\/Library\/LaunchDaemons<\/em> so they will be run at the system level by an administrative user.\u00a0 If you don\u2019t want to write these scripts by hand, I\u2019d recommend picking up a copy of Lingon from the App store.\u00a0 It is a GUI front end for loading\/configuring launchd on Mac OS X.<\/p>\n<p>My archive script looks like this:<\/p>\n<pre>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;!DOCTYPE plist PUBLIC \"-\/\/Apple\/\/DTD PLIST 1.0\/\/EN\" \"<a href=\"http:\/\/www.apple.com\/DTDs\/PropertyList-1.0.dtd\">http:\/\/www.apple.com\/DTDs\/PropertyList-1.0.dtd<\/a>\"&gt;\r\n&lt;plist version=\"1.0\"&gt;\r\n\t&lt;dict&gt;\r\n\t&lt;key&gt;Disabled&lt;\/key&gt;\r\n\t&lt;false\/&gt;\r\n\t&lt;key&gt;Label&lt;\/key&gt;\r\n\t\t&lt;string&gt;org.provideotech.aw-queue-archive&lt;\/string&gt;\r\n\t&lt;key&gt;ProgramArguments&lt;\/key&gt;\r\n\t\t&lt;array&gt;\r\n\t\t\t&lt;string&gt;\/usr\/local\/aw-scripts\/aw-queue.pl&lt;\/string&gt;\r\n\t\t\t&lt;string&gt;\/usr\/local\/catdv-presstore\/archive-queue.txt&lt;\/string&gt;\r\n\t\t\t&lt;string&gt;archive&lt;\/string&gt;\r\n\t\t\t&lt;string&gt;10002&lt;\/string&gt;\r\n\t\t&lt;\/array&gt;\r\n\t&lt;key&gt;StartCalendarInterval&lt;\/key&gt;\r\n\t&lt;dict&gt;\r\n\t\t&lt;key&gt;Hour&lt;\/key&gt;\r\n\t\t&lt;integer&gt;18&lt;\/integer&gt;\r\n\t&lt;\/dict&gt;\r\n&lt;\/dict&gt;\r\n&lt;\/plist&gt;<\/pre>\n<p>My first key simply says that the script is active<\/p>\n<p>Next key is the name of the script.\u00a0 This should look like net\/org\/com.&lt;yourcompany&gt;.aw-queue-archive<\/p>\n<p>The program arguments are individual command line parameters in order.\u00a0 If we were to just run this script by hand based on the above info, it would look like this:<\/p>\n<pre>shell&gt; \/usr\/local\/aw-scripts\/aw-queue.pl \/usr\/local\/catdv-presstore\/archive-queue.txt archive 10002<\/pre>\n<p>The last directive is StartCalendarInterval.\u00a0 As I have this configured, at hour 18 (6:00PM), my script would run.\u00a0 You can have this run as quickly as seconds or as long as months.\u00a0 For more info I would recommend reading up on launchd.<\/p>\n<pre>shell&gt; man launchd<\/pre>\n<p>One final step and we are all done.\u00a0 We just need to load up our launchd plist files.\u00a0 There are two ways of doing this.\u00a0 The first is a simple restart and if everything is correct the plist will load on boot.\u00a0 The second is using <strong>launchctl<\/strong>.<\/p>\n<pre>shell&gt; sudo launchctl load -w \/Library\/LaunchDaemons\/org.provideotech*<\/pre>\n<p>This should load your launchd jobs and installation is complete.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UPDATES: CatDV 9.0 Updates and changes to aw-queue.pl &#8211; (August 2011) Original Post CatDV has become a very popular video asset management system and with the advent of their Enterprise Server product, can provide entire video workgroups with an asset management and automation solution at a relatively aggressive price point. I am frequently asked if &hellip; <a href=\"https:\/\/provideotech.org\/?p=8\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;CatDV and PresSTORE Archive Integration&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[8,9],"tags":[],"class_list":["post-8","post","type-post","status-publish","format-standard","hentry","category-archiware-p5","category-catdv"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2bwLw-8","_links":{"self":[{"href":"https:\/\/provideotech.org\/index.php?rest_route=\/wp\/v2\/posts\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/provideotech.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/provideotech.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/provideotech.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/provideotech.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8"}],"version-history":[{"count":0,"href":"https:\/\/provideotech.org\/index.php?rest_route=\/wp\/v2\/posts\/8\/revisions"}],"wp:attachment":[{"href":"https:\/\/provideotech.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/provideotech.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/provideotech.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}