At times you may need to perform a one-off maintenance task on your archive to update certain metadata. Learn how Color Factory can be configured to do that for you.
In this scenario we try to accomplish the following
When you've spent months, maybe even years, building your archive of digital assets, the task of doing a one-off to update the metadata of your files can seem pretty endearing. This is what we're trying to achieve:
- We have a hierarchical folder structure of x number of files that we want to update with metadata using a general metadata macro. Specifically we want to add a copyright string if there isn't one already in the original file. If there is, no copyright string will be added. (You can adapt this to any modification of a metadata field in your setup.)
- We want to make sure files are put back in their original location after processing to avoid having to reconfigure archives.
- The files' modification time should not change, but rather be identical to that of the input file to avoid distorting archive sorting.
- We need to be able to certify that the files have been updated, so the Color Factory channel will write "updated" to a custom metadata field so we can easily verify later that all files have been processed and avoid that files are double-processed.
All the above requirements can be met if you configure Color Factory correctly. We do advise testing this on a smaller set of files first, however, to make sure your processed files come out as you want them to.
How we plan to solve this
- Create a channel with a regular input and output folder. We'll configure the channel to use an Index Manager search as input, but for technical reasons it required a regular input and output folder still.
- Make sure the file date of the input file is preserved on the output file.
- Configure the input options so that Color Factory searches an Index Manager archive for its input files.
- Apply a macro to processed files to avoid double processing.
- Make sure the input file is overwritten after processing, while preserving the original file date.
- Assuming we only have JPEGs in our archive, we'll set the channel's output format to JPEG Copy to make sure the file isn't recompressed now that all we're effectively doing is adding metadata.
- Set a global metadata macro that updates the Copyright string field (#116) with a custom string, but only of the file doesn't already have a copyright string.
Creating the channel
First off, create a new channel. Choose an input and an output folder for the channel. These will not be used, as Color Factory will pull its input files from an Index Manager archive and put the file back where it came from after processing, overwriting the original.
The channel features you need to enable are Input Options (to handle preservation of file dates and Index Manager archive input) and Metadata (To configure the general metadata macro that you want to apply).
As output format you can choose JPEG Copy, assuming that you only have JPEGs in your archive. That way an input JPEG file will not be recompressed during processing.
Configuring Input options
First we want to make sure the file dates of the original files are preserved. This is done by expanding the Input options tab and choosing how to preserve file dates from the File date handling dropdown list:
Choose to Copy file date from the input file, as seen above.
Next, go to the Index Manager input tab and enable Index Manager 7.0 input. Then use the Browse button to locate the indexed archive that you want to update.
Defining search criteria
Defining search criteria can be a little tricky. What we plan to do here is process files and then update them with a string that we can later use to validate that the file has been processed and will not be double processed. Hence, we can choose an empty custom field and look for something we know doesn't exist there at the outset. In the example above you can see we're searching for files where field #219 (Custom Field 20) does not contain updated. In our archive that translates to all files at the outset. Then when the file has been processed in the channel we'll use the Metadata Macro setting below to write "processed" to that particular field. This way all processed files will be tagged when they're done and will not be found on the next search that Color Factory sends to the Index Manager server.
We'll also make sure to tick Output file is the same as the input file. This way the processed file will be put back where it came from, overwriting the original file in the process. But because we chose to preserve the file date of the input file there will be no noticeable difference, except for the new metadata that we're going to apply next.
Configuring the metadata macro that flags a file as updated after processing
Now, let's configure the metadata macro that makes sure we avoid double processing when Color Factory queries Index Manager.
Click on the Metadata Macro button on the Index Manager input page and you'll see the dialog below (though without any entries).
Click on Add Field to specify a field that you want to modify.
Now choose the field to modify from the list. In the example above, we're searching for files where field 219 does not contain "updated", so the macro should add "updated" to that field so it won't be processed again. Choose Field 219 from the dropdown list and then as Action choose to Replace all previous content.
In the Field content area, type updated, as seen in the below screenshot and click OK to store the macro. (Metadata searches are not case sensitive, so both upper and lower case lettering works.)
Adding a copyright string using a metadata macro
Now all that remains is to configure a macro that inserts a copyright string in the files that are processed. You can of course create another type of metadata macro that performs what you would like it to do in your system.
Go to the Metadata feature node under the channel and click on General Metadata Macro to create a macro for applying a copyright string.
In this scenario we'll assume that some files in the archive already have a copyright string applied, so we'll use a conditional macro that only applies our copyright string to files that don't already have one. You can see below how it's been set up. The difference from the macro you made above is the condition that specifies that it should only change the copyright string field if it is empty. In other words, if anything exists in that field in the input file, the macro will not change that information.
Store the macro by clicking on the OK button and make sure you save the Color Factory configuration to update the changes. Index Manager also needs to run for the channel to function correctly. If it doesn't Color Factory will report connectivity errors in the log file. (FWEvents.log in C:\Programdata\FotoWare\Log Files)