And herein lies the problem.
One of the basic principles of good reliable software design is SPOD (single point of definition)
Something that should be becoming more and more important as DxO try to move into the metadata market.
I have written elsewhere about the mess that keywords have become in PL5 but, here, I want to focus on the “simple” subject of the Rating tag.
Not considering a DAM, there are two possible places that the Rating
tag can be stored…
- in the image file
- in an XMP file
Now, there is a common phobia about storing metadata in RAW files and yet this is something that some software does without problem.
This then means that we are forced to use XMP sidecar files for RAW images, which then means that, for PL5, we can now have the rating recorded in…
- the RAW file by the camera
- the XMP file by some other DAM
- the DOP file by PL5
- the PL5 database
Extensive testing, however, proves that the rating might get written to the DOP file but it never gets read from the DOP file and from a quick search of the database, even thought the relevant column is still marked “ZRANK” it doesn’t contain a value that equates to that written to the DOP file.
Certainly, for users who have used previous versions of PL to rate images, there is a need to read the DOP file and it will get updated to a new value written in PL5, but from there on, it is redundant data, unless the image gets exported. But, even then, if an image file contains a rating written by the camera, that rating will get both exported and written to a newly created DOP file.
The major inconsistency, caused by an unwillingness to write to a RAW file, is that the RAW file’s rating never gets changed and, should it get separated from its XMP and DOP sidecars, its rating will revert to that written by the camera.
What is more, as Rolf has found to his cost, if it is dealing with a Nikon NEF previously rated in PL5.0, PL5.1 will write the default rating of 0, found in the NEF file, to the DOP file when it applies any edits, regardless of whether there was any other rating already set.
PhotoLab needs to take account of and modify ratings set by cameras in RAW files. Non-RAW files are updated as their rating changes and thus integrity is maintained and, from a metadata point of view, files can be moved without their sidecars; the same should also apply to RAW files.
In fact, the writing of metadata to DOP files is totally superfluous to requirement. If metadata is written to any type of image file, RAW or not, all manner of software can search within those files. If people are nervous about writing metadata directly to RAW files, then that metadata gets written to XMP sidecar files.
It is apparent that PL5 uses its database for searching, so writing metadata there is valid but, as far as I can see, DOP files serve no purpose at all when it comes to metadata and would respectfully suggest that no metadata gets written to them as it only adds another potential point of definition that can cause confusion.
In summary, I would propose that DOP files are kept solely for image editing data. All metadata should only be stored either in the image file itself or in an XMP sidecar (with the exception of an indexed copy of the metadata stored in the database for searching purposes).
Special consideration also has to be made for the case where metadata, like the Rating tag, gets written to a RAW file by the camera.