IPTC Photo Metadata Interoperability Tests
The IPTC Photo Metadata Standard is made for describing what an image shows and providing administrative information and copyright data of an image. A key use case of this standard is to keep metadata embedded into an image file persistent and alive when the image is exchanged between many parties in a supply chain.
Software managing and processing image files in this exchange has an essential role: it must not remove or modify existing metadata on its own and should not hide it, metadata intentionally added or changed must be saved, embedded correctly into the image file.
IPTC is watching this behaviour of software and calls it a software’s photo metadata interoperability.
To enable anybody in testing a software’s interoperability IPTC defines three tests and what IPTC expects as results – find all below.
Executing the tests and comparing the results with IPTC’s expectations helps to evaluate the metadata reliability of a software in a supply chain.
How the IPTC Interoperability Tests can be used
- Select a piece of software that you want to test and you can use for testing purposes.
- Execute the tests #1, #2, #3 as you are interested in the results.
- Compare your results of each test with the “what IPTC expects as test result” section of the test description, and draw your conclusions about the interoperability quality of the software.
- You may contact the maker of the software and ask about differences between your test results and IPTC’s expectations.
- You may also contact IPTC: Use the Contact Us page on this site.
Terminology used show/hide more details of this section
Metadata field or metadata property: an element of metadata made for a specific purpose, e.g. to hold the date and time of creating the image, name of who created the image, describing what the image shows or who owns the copyright of the image. Field is the term used primarily by users of the software, property is the term primarily used by metadata standards and makers of the software, in fact they are synonyms.
For the test guideline below we use the term field.
Test #1: Do field labels align to the IPTC definition?
For filling in the value of a metadata field a user should know for what kind of information this field is made. For IPTC fields this is defined by the IPTC Photo Metadata Standard. The first – and in many cases the only – helper on a metadata user interface is the field label. It is shown close to where you can see or fill in the value and tells with a single or a few words what should be filled into the field or what the field shows.
This test checks if the label of a field in the tested software aligns with the IPTC definition.
Test outline
The IPTC has created a reference image file with all metadata fields defined by the IPTC standard and almost each field has its IPTC name as value (only very short or numeric values are different). This name is also used in the IPTC standard document. You should load this file in the to-be-tested software and check with your eyes on the software’s metadata panel(s): does the shown field value – the IPTC field name – tell (almost) the same as the label of this field on the panel.
Test procedure, step by step show/hide this section
What IPTC expects as test result
Each IPTC Photo Metadata field has a definition of its semantics and a corresponding recommended label in English. Therefore IPTC expects that any label of an IPTC property is either identical to the the field’s name or label in English as defined by IPTC or only a slight modification of it. For a label in a different language the translation should reflect what IPTC defined as kind of information of the field.
Test #2: Does the software read and write embedded metadata correctly?
Each software supporting photo metadata implements a small metadata workflow: the embedded metadata is read from the image file, the read field values are assigned to corresponding fields on the metadata panel. If the field values can be edited each one has to be assigned to the corresponding IPTC field(s) and finally all fields should be embedded into the image file correctly.
This test checks if software used for this metadata workflow is reading and writing values correctly.
(Note: some desktop software and most DAM/MAM systems read the metadata into a local database and the metadata is embedded into in image file only by an export action. IPTC considers this as the internal metadata management of software which should align to this outlined metadata workflow: the metadata fields should be read and saved correctly.)
Test outline
IPTC has a reference image file with all metadata fields defined by the IPTC standard and each field has a specific value. You should load this file in the to-be-tested software, edit (= change) the values of some fields and save all metadata to the image file. This file should be uploaded to the IPTC Interoperability Test site and “Test #2” should be executed there. The generated test result shows:
1. If the intentionally edited IPTC files have a value different to the IPTC reference image file, as expected, or still the same.
2. If other IPTC fields than the ones edited by you have unexpectedly a value different to the IPTC reference image file. (Possible cases: changed value, no value.)
Test procedure, step by step show/hide this section
What IPTC expects as test result
Test #2 on this site compares the values of the IPTC reference image with the values in the uploaded test image file which is initially a copy of the IPTC reference image.
IPTC expects only the values of the intentionally changed fields in the test image file are different from the IPTC reference image file.
If:
– only a field or some fields listed in step 4 above have been changed and
– if these field(s) have been checked on the page for uploading the local image
this field is/these fields should be highlighted in green in the test result showing “… value CHANGED”. This is telling “the change of this value is ok, it was done intentionally”. This is an expected change of values.
Check if all fields with values changed by you are shown with “… value CHANGED” in green.
Bad result: if such fields do not show “… value CHANGED”, the software did not save the changed value(s) correctly.
If “… value CHANGED – but NOT the … value!” is shown: for this IPTC field the use of the XMP and the IIM format is specified; if the the value of this field is changed then both the XMP value and the IIM value must be changed. This “- but NOT the … (XMP/IIM)” tells the value was changed only in one format but not in the other one – field values are partially not saved correctly and the values are inconsistent now!
Without changing a metadata field value in the test image the value must stay as the one in the IPTC reference image.
Therefore the Test #2-Result should not show “… value CHANGED” or “… is MISSING” for fields you have not changed! If this is the case the tested software modified values on its own or even removed some metadata fields. This is a serious violation of metadata interoperability.
If “… value is MISSING – NOT the … value!” is shown: this indicates that for this IPTC field the XMP and the IIM format is specified, but only the value of one format is missing, the correct value in the other format still exists – field value(s) of one format have been stripped.
Test #3: Which IPTC fields are supported by the software – and which not?
The IPTC Photo Metadata Standard defines a set of about 57 metadata fields, some of them have a structured value with a set of sub-fields. Unfortunately not all the software claiming to support IPTC fields supports all of them. For metadata interoperability it is quite essential that a specific IPTC field edited with software A can also be shown and edited with software B.
This test investigates and lists which of the IPTC defined fields are supported, and which not.
Test outline
IPTC provides an image file without any embedded metadata – IPTC, Exif or any other. You should load this file in the to-be-tested software and fill in values for all fields available on the metadata panel(s).
Finally all the filled in values should be saved to this image file.
Next this file should be uploaded to the IPTC Interoperability Test site and “Test #3” should be executed there. The generated test result shows all fields and sub-fields defined by the IPTC Photo Metadata Standard and for each one if a value in the XMP format was found and – if specified by the standard – also a value in the IIM format was found. If the values of a field in XMP and IIM were found the result also shows if the values are the same, if they are in sync.
Test procedure, step by step show/hide this section
What IPTC expects as test result
Test #3 on this site checks for each IPTC field if a value in XMP format, and if the IIM format is also specified a value in IIM exists.
The best test result shows in all rows of the IPTC-defined fields that XMP and IIM Values were found – not a single MISSING result is shown, ignore the “not spec” in the IIM Value column. The only exception is the Image Region/Other Metadata Property row, having a metadata field in this structure is not required by the IPTC Standard.
If all results in the XMP Value column are shown as MISSING the software apparently does not support the XMP format.
If results in the IIM Value column show only MISSING or “not spec” the software apparently does not support the IIM format.
A bad result is this mix: the XMP Value cell of a metadata field row shows found and the IIM Value cell in this row shows MISSING – and IIM Value cells in other rows show found. Apparently for this field only the XMP format is supported but not the IIM format.
The same applies vice versa: the IIM Value cell shows found and the XMP Value cell shows MISSING.
In these cases the Sync Values cell of this row shows NOT in sync: one value exists, the other one should exist too but does not.
If both the XMP Value and the IIM Value cells of a row show found a value in both formats exists. In this case the Sync Values column should show “in sync”, telling the values are the same, they are in sync. If NOT in sync is shown XMP and IIM values exist but they are different – a very bad case as nobody knows which value is the correct one.
It is not bad if these fields are shown as MISSING:
– Embedded Encoded Metadata Rights Expression: IPTC recommends to set the values of this structure by software and not by hand.
– Digital Image GUID: IPTC recommends to set the value of this field by software, not by hand.
– Image Region: should be used by a user interface feature integrated into imaging software, if the feature is not available setting the Image Region data by hand would be very hard.
After the tests …
… you may want to contact the maker of the tested software to discuss unexpected or bad results. We suggest to contact the support of the software maker.
… you may want to discuss the results with other photo metadata people. IPTC runs a public email list at https://groups.io/g/iptc-photometadata/, join it and raise your questions or share your comments. You are highly welcome.
All the best for running our interoperability tests,
David Riecks and Michael Steidl, Leads of the IPTC Photo Metadata Working Group