Metadata read/write mapping
ResourceSpace is able to map between embedded metadata stored in your original files and the metadata fields in ResourceSpace itself. This synchronisation can be two way, so that imported metadata can be automatically extracted into a configured field, but also that metadata added to the resource after import is written back to the file at download.
Mapping metadata when using the ExifTool utility
ResourceSpace makes use of the open source ExifTool utility to read and write metadata. This is extremely flexible and any metadata present in a file can be mapped to ResourceSpace fields. Many different profiles are supported in addition to Exif, including XMP, IPTC, GPS, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP and ID3.
You must have ExifTool (a command-line interface to a PERL library) installed and enabled (the path must be specified) in config.php or auto-detected during the setup routine.
In order to map an IPTC/Exif/XMP tag name to a ResourceSpace field, you can enter the ExifTool-supported tag name(s) in the "Exiftool field" box in the metadata field settings for that field.
You can specify the namespace that you want to extract the tag from. This is useful when there are overlapping tag names with different values (e.g. XMP and IPTC both include a 'Keywords' tag). To specify a namespace for the tag simply prefix the tag name with the namespace in capitals and a colon e.g. 'XMP:Keywords' or 'IPTC:ImageDescription'
Here are some example mappings. Your default installation will probably have these and more already set up.
RS Field | Exiftool_field Tags |
---|---|
Title | Title |
Keywords - Other | IPTC:Keywords,Subject,XMP:Keywords |
Caption | IPTC:Caption-Abstract,IPTC:ImageDescription,XMP:Description |
Country | IPTC:Country-PrimaryLocationName,XMP:Country |
Named Persons | XMP:PersonInImage,XMP:People |
Credit | IPTC:Credit,XMP:Credit |
Camera Make/Model | Model |
Notes | JobID |
Please refer to the ExifTool documentation for further information on tag names. Exiftool fully supports read/writing of several filetypes including JPG, GIF, PNG, TIF, EPS, PDF. It can also read data from other filetypes that are not write-supported.
https://exiftool.org/#features
The following link provides useful documentation of the command-line capabilities
https://exiftool.org/exiftool_pod.html
Run the following command on the command line for a (long) list of writable fields. Any of those names could be used in the exiftool_field in RS to develop your ideal read/write data mapping.
exiftool -listw
Run the following command to see a report of all the existing metadata in an image, including the namespace.
exiftool -a -G1 <FILENAME> e.g. exiftool -a -G1 ~/Photos/DSC_6071.JPG
If you have files with metadata in them and want ResourceSpace to extract that information, you can use the metadata report and this output to construct the appropriate mappings
Remember that some fields may not be available for a particular filetype, for example JobID will not write to a PDF file. If you need "Notes" to be written to PDF files, you will have to find a PDF-writable field in addition to JobID. The reason for using multiple fields is that certain programs look for information in a specific place. For example if Photoshop gets the caption from Caption-Abstract and another program you use gets it from ImageDescription, you need to have your ResourceSpace caption in both. It may take some experimentation to get the combination that best suits your workflow.
Of course you can also create your own custom fields and data mappings. One such use may be to embed a weblink in the metadata of your images. You simply create an ResourceSpace field, for example "URL" and in the Exiftool_field you enter "WebStatement", a field which can be found in ExifTool's list of writeable fields and is appropriate for data of that type.
Read-only metadata fields
ResourceSpace can have certain metadata fields set as read-only. This will determine whether the field should be written back to the files on download.
This is determined under Admin > System > Manage metadata fields area. A Super Administrator will enable this for all fields that should be read-only by selecting the option Read-only metadata field (ie. will not write back on Download).
Please note that this option will only affect embedded metadata, not to be confused with CSV exported metadata. Fields included in a CSV export are determined using the field option 'Include in CSV export' and will be included in the CSV sheet irrespective of user access or exif read/write settings.
Example configuration and expected behaviour
$exiftool_write = true; $force_exiftool_write_metadata = true; $exiftool_write_option = true; $exiftool_remove_existing = true;
With the above configuration ResourceSpace will force the writing on download of the values ascribed to the resource within ResourceSpace. However for fields set as read-only no value will be embedded on download.
Please note the above configuration is using the remove_existing option. If this is set to false the original field value will be embedded in the file on download, rather than any value added to the resource by edits within ResourceSpace.
Mapping Exif / IPTC without Exiftool
If you have not installed Exiftool, ResourceSpace still supports the reading of some basic EXIF fields and all IPTC fields when resources are uploaded. For anything other than the most basic metadata support it is best to use ExifTool as described above.
Without ExifTool, ResourceSpace will not write altered metadata back to files on download.
Exif fields are mapped using the $exif_* settings in include/config.php.
IPTC fields are mapped using the 'IPTC Equiv.' option on each field in System Setup. The codes you need are as follows:
IPTC Equiv. value | Metadata field extracted |
---|---|
2#120 | Caption |
2#025 | Keywords |
2#055 | Creation Date |
2#040 | Special Instructions |
2#085 | Credit Byline Title |
2#101 | Country |
2#105 | Headline |
2#110 | Source |
2#115 | Photo Source |
2#120 | Caption |
2#090 | City |
2#095 | State |