Adobe Lightroom is the goto application for managing images at scale. It enables professional photographers and editors to do non-destructive image correction, image tagging, and publishing to various services. Our latest project includes a simple & effective integration between Lightroom & the Sitecore Media Library.
The problem we ran into with the legacy application was double entry. Editors had to manipulate, organize & tag images in Lightroom. They then had to export images to their desktop. Then, upload images to their website and keyword tag the image. All, before they could use an image in an article.
There's Gotta Be A Better Way
We're always on the hunt for ways to improve the author experience, and double entry is something we can't live with. We didn't have time in the project for a custom integration with Lightroom, so we looked for what's already been done. We came up with an off the shelf SDK for exporting Lightroom libraries via FTP and some handy metadata extraction from .jpg image intel from the Sitecore community. We created a pipeline that reads .jpg images from network folder, transfers the image to a selected media library folder (bucket), populates metadata and then deletes the image from the network folder.
Here's a link to the Lightroom SDK that includes the FTP function that we used. It adds FTP as an export service within Lightroom
We had the client configure their Lightroom settings to include specific sizing requirements and the addition of metadata. That metadata includes image date, location information, keywords and copyright attribution. We learned that you can store metadata within a .jpg, in an exif format. We used an exif viewer to validate the metadata.
I mentioned handy intel from the Sitecore community. Here's a helpful post on extracting metadata from PDF or .JPG and storing it in Sitecore. The other helpful tidbit was how to set custom fields on media items.
We now have a single entry process for creating, tagging and selecting images for use within Sitecore. The solution was combinatorial, in that we didn't have to build everything from scratch. We were able to piece together (more or less) off the shelf functions to end up with a better author experience. I love the simple wins.