XMP metadata support
Since our organization heavily relies on the XMP metadata format, how are Nuxeo's plans for adopting this technology?
The ExifTool project hosted on Github, https://github.com/thebuzzmedia/exiftool, seems to show great potential in bridging Phil Harvey's excelent ExifTool Perl script and Java, allowing Nuxeo Platform to leverage this flexible technology, essentially adding full metadata support for all Adobe Creative Suite applications.
I have been playing with a work-around to easily get XMP metadata and I think I found one. It requires a bit of effort but seems to work. Hopefully Nuxeo will integrate in this newer library in an upcoming release. The newest version of the Drew Noakes metadata-extractor supports XMP and many additional embedded metadata types (http://code.google.com/p/metadata-extractor/downloads/list), so I'm using that (with some changes).
- I am using the latest version of metadata-extractor (2.5.0-RC3). I downloaded the sources, modified the package names (so Nuxeo can continue to use 2.3.0 and be happy), and recompiled as 2.5.0-RC3.1. The recompiled JAR needs to be dropped into the nxserver/lib directory.
- The xmp-core.jar (which can be downloaded with 2.5.0-RC3) also needs to be copied into the nxserver/lib directory
- I then overrode the default PictureChangedListener with my own. Nuxeo does it's bit with the uploaded image and then I extract the xmp (and other) metadata and set the appropriate properties on the Nuxeo document. I explicitly use my custom version of the metadata extractor to perform these extractions. This will make uploads slightly longer but you will get the metadata you really want.
There is also a bug in 5.5 (or a limitation of the 2.3.0 metadata-extractor) where IPTC and EXIF metadata are not extracted from TIF files. This approach addresses this issue as well.
Hi, This GitHub Project looks really nice but I believe we won't work on integrating this for the next release (5.6). However this could be easy to plug it in the current image metadata system. You need to add a contribution like this:
<LibrarySelector> <MetadataUtils class="mypackage.ExifToolUtil name="ExifTool/> </LibrarySelector>
And the ExifToolUtil class have to implements the MetadataUtils interface. With this you can already fill the metdata define in the default Picture document type. If you need more metadata like XMP, you would have to extends the default Picture document type. This can be done easily with Nuxeo Studio.
Hope it helps