Embedding XMP Metadata with Ivy

:: FLOSS, Racket, Ivy, XMP

I was thinking I should make a post about Ivy again some time soon, so here it is.

Lately I had been thinking about what I could do to further Ivy’s growth and I eventually came to the conclusion that while I had originally thought of dealing solely with a list of tags in a database, it’s not particularly useful outside of Ivy itself - not to mention that if anything happens to the file tree, the database would be instantly out of date. Embedding the tags as a list of ‘dc:subject‘ entries in an XMP metadata block inside the file itself would help out a great deal on that end. Of course, the database would still be out of date, but Ivy could then prefer the embedded tags over the tags in the database. If the tags in the database are the only tags it has found, then it would display those instead.

Currently, only the ‘dc:subject‘ section of the XMP data is actually read and written to, but I plan to make a more fleshed-out XMP editor in the future. Perhaps I could also have Ivy display more than the ‘dc:subject‘ content - perhaps license information or title content? In any case, the future holds many possibilities and I’m excited!