23 integration for Adobe Lightroom
|
May 28, 2011, 03:47 PM
|
|
I've got a beta-quality publish service for 23 and Adobe Lightroom working and almost ready to go. I can post the URL with the details here if anyone is interested.
I've been using it for a few weeks now, and it seems a solid, though wider testing of the account setup and authentication stuff is probably needed.
It supports the notion of public and private photos. It has almost complete Album support through the service instances, and fully supports comments, replacing images (without losing metadata) and will preserve tags (but not apply them to your catalogued images) added via 23.
Basically, if there is actual interest in this right now, this might goad me into actually finishing up the packaging (and maybe fixing the admittedly rough debugging interface that is still needed.)
|
|
|
Team 23
May 28, 2011, 06:26 PM
|
|
I would -- of course -- be very interested ;-)
|
|
|
May 31, 2011, 02:41 PM
|
|
I would love to have such a feature for Lightroom!!!
Pity is I dont have any knowledge of programming, so i can`t be of any help :(
|
|
|
June 02, 2011, 03:01 PM
|
|
Ok, I should have some free time this weekend to post the URL and instructions. I'm not sure I'll be able to complete the debugging stuff, so if you run into trouble I might not be able to assist much.
But I've been using it for weeks. Pretty much the last 100 or so images in my 23 stream are published via a number of publish services I've defined in Lightroom.
|
|
|
June 04, 2011, 05:23 AM
|
|
Thank you for your work, please let me know when and where we can download the plugin.
|
|
|
June 11, 2011, 02:30 PM
|
|
A beta 23 Publish Service plugin can be downloaded here:
http://clevermonkey.org/Lightroom/23-Photo-Sharing-Plugin/
Please be sure to read the README.txt document before installing it.
It should work ok for the most part. If you run into trouble, drop me a line, or just come back and talk about the problem here.
To be clear: this is not an officially supported 23 product! I am not affiliated with 23, other than being a user of the site. I'm doing this for fun and to be a good neighbour.
Added:
The README.txt should have a "Bugs" section that would contain a single sentence:
Probably.
|
|
|
July 08, 2011, 01:25 PM
|
|
BUG: well, if you have to republish a large number of photos, you will get a nasty uncaught exception from the Lightroom SDK. You can keep hitting publish after it complains it couldn't publish some number of photos until they are all published.
I think an internal struct is blowing out. I need to dig into this more.
[Later]
Yup, I had a race condition on an async call.
New version:
http://clevermonkey.org/Lightroom/23-Photo-Sharing-Plugin/
|
|
|
August 10, 2011, 06:51 PM
|
|
Update: I'm working on an update that will allow you to reset photos marked for republish as published again, without have to push the images up to 23.
I'm also going to make a prettier home page for it, and collect my feature and bug lists into one place there.
|
|
|
August 10, 2011, 07:30 PM
|
|
That is great, I was thinking how to organise my stuff as I would not be able to reupload all my images because I am no PLUS-Member.
Thanks for your great work!
|
|
|
August 15, 2011, 03:00 PM
|
|
23 does not limit replacing photos to only Plus/Pro users. This is something Flickr does and I /hate/ it.
So, once you publish a photo using my plugin publish service it can be republished at any time without losing ratings, favourites or comments.
However, that being said, Lightroom has no facility in the SDK for having a publish service grab all existing photos on a site that have not been published by Lightroom and adding them to the collection so that they are now marked published.
That is, if you have several photos on 23 that were uploaded using the regular uploader and publish them later using my plugin, this will result in duplicates on 23. There is no way I know of to "synchronize" existing photos with a publish service.
If you want to track all photos you have uploaded to 23 in a regular collection, you can mark previously uploaded, pre-plugin photos with a colour (I use blue) or mark them with a keyword (i.e., "Published to 23") and use that criteria, along with the "23 Photo Sharing" metadata I add to published images, to create a smart collection that contains all your photos on 23. It isn't perfect, but it is the only way to have all the photos in one collection.
Technical Postscript: it occurs to me that one could potentially write a utility that would visit all your photos on 23, and create a remote photo ID for each one. If this is possible, then it should also be possible to associate a Lightroom ID with that remote ID, mark the photo as "published" to a specific instance of a publish service and update the metadata so that it appears to have been uploaded by the service.
This would be a major feature requiring a lot of work I think, but I agree that it would be really handy.
|
|
|
Team 23
August 15, 2011, 03:29 PM
|
|
Should we include an MD5 hash in the API lists? Would be pretty simple to do for us -- and would save you quite a bit of work?
|
|
|
August 15, 2011, 06:59 PM
|
|
@clvrmnky
I was referring to my images already uploaded to 23 with the regular uploader.
If I could just put them in the publisher collection and mark them as published it would be fine with me. I know that I would lose the sync-feature on these images, but that wouldn´t bother me to much. Until now I always had to log in to check on comments ;-)
|
|
|
August 15, 2011, 07:54 PM
|
|
@fj-07, unfortunately, being able to show previously uploaded images in the publish collection is beyond the current plugin, and is not /really/ supported by the Lightroom SDK.
I am thinking about how to solve this at my end.
|
|
|
August 15, 2011, 08:03 PM
|
|
@Steffen, I have to research how Lr does the remote ID/local ID stuff. I don't think the hard part is getting a sensible ID from the remote service, but rather trying to coordinate all those IDs with local IDs such that the remote photo is associated with a service instance.
If I can get this far, then I can also mark the photo as published (soon, once my latest changes are complete.)
I'm not sure this is even possible.
|
|
|
August 16, 2011, 07:29 PM
|
|
Actually, the remote ID /is/ provided by the remote service, but the real problem here is not getting a remote ID, but associating it with a local photo ID in the catalogue.
There just isn't an easy way to indicate to Lr that "this image on 23 with URL xyz and remote ID 0xDEADBEEF is actually a published rendition of that Lightroom Photo over there." And what do we do about photos no longer in the catalogue? Or that were actually never touched by Lightroom in the first place (i.e., some of the photos were from other sources, which is pretty common)?
I'm going to back-burner this rather advanced feature and reconsider how it could be done, but I'm leaning toward waiting for Adobe to make the SDK more mature.
For example, all we would need is a right-click context to let us hook into a "associate this rendition with this photo" gesture. And right now, we don't have that.
[EDIT]
Well, I'm hoping that if Friedl figured this out for SmugMug, I can figure it out for 23. There is still the risk that we might end up associating the wrong Lightroom photo with a published rendition on 23. This could end up "replacing" a photo on 23 with the wrong rendition because it thinks it is the same photo.
For reference, I'm hoping to steal much of the functionality from http://regex.info/blog/lightroom-goodies/smugmug/publish for this plugin.
It will likely be a plugin extras menu that will use the filename or the capture time to pair images up.
This will be a huge feature to add, though. Realistically, I'm hoping Lr 4 adds some SDK sauce that makes this, and other stuff, much easier.
|
|
|
August 25, 2011, 09:54 PM
|
|
@clvrmnky Awesome plugin, your efforts are much appreciated!
|
|
|
August 26, 2011, 03:28 PM
|
|
@Steffen, what would the MD5 hash stored with images be generated from? I'm trying to think of a way to generate it such that it would be really easy to match up photos in the catalogue to those published on 23.
Right now all I can think of is to use the filename (assuming the name wasn't changed on export/publish, which means we can't use it) or the capture time (which, given how fast burst shots can be, might not have enough granularity to be certain.
But if we can come up with a MD5 hash based on some of the other EXIF/XMP data (camera serial number?) then we can really be sure of finding a good match. Unless that EXIF data is missing, in which case I'd like to fall back to one or more other techniques. (Which implies that if the hash can't be created properly we shouldn't trust it; maybe I could just do a metadata lookup on select metadata myself, until I'm satisfied we have a match.)
Ideally, we want something that is extremely fast to retrieve as well. Crawling an entire account to collect this information will be slow, and I assume would really hammer 23 servers, too. I'd want to batch up these calls since the POST requests would be expensive. I'm not sure at this point what the exact API calls I'd be making in order to do this.
Perhaps once I'm ready to add this huge feature I can just email you directly and we can sort this out.
|
|
|
Team 23
August 26, 2011, 04:47 PM
|
|
One approach would be to md5 hash the entire original file -- or the last 10 kb -- and allow searches on that hash, possibly along with the file size?
|
|
|
August 27, 2011, 03:34 PM
|
|
Hmmm. This implies I've have to calculate the MD5 on the rendition on my end, and save that as private metadata.
It is relatively easy to construct and MD5 hash from a string via the Lr SDK, but calling out to access the binary rendition data (or last X kb) might be tricky. I'd probably have to hang onto the rendition after it has been uploaded and then delete the local copy myself. Not ideal.
It would be nice to have a dependable signature, though. Let me think about this.
|
|
|
August 28, 2011, 12:20 AM
|
|
There is a new version of the 23 Photo Sharing publish plugin for Lightroom.
http://clevermonkey.org/Lightroom/23-Photo-Sharing-Plugin/
This version supports, via the Plug-In Extras menu, a way to:
- Move edited and selected photos marked for republish back to publish without re-uploading them to 23.
- Remove all plugin related metadata from selected photos.
Both operations work on a selection (which is a bit tricky in collections -- there is always an invisible selection when you move the focus to a collection, so take care!) and will use various photo and published photo states to grey out the UI if it knows it cannot do anything.
There is a confirmer so you can back out if something seems wrong.
BUG: until you click Done, the progress meter in the icon (on OS X, anyway) will be stuck at 100%.
|
|
|
August 28, 2011, 12:21 AM
|
|
BTW, if there is a need to localize this plugin to your specific language, please let me know.
|
|
|
September 05, 2011, 03:37 AM
|
|
Latest version: http://clevermonkey.org/Lightroom/23-Photo-Sharing-Plugin/
- Lots of little clean up.
- Cleaned up the plug-in extras functionality.
- Added a version check and rudimentary update download in the Plug-in Manager section.
Because of the third feature, I will no longer be announcing update information for each update I publish. Going forward the plugin should be able to tell you if there is an update available, and provide you the URL for it. Eventually I will add an automated download and install mechanism.
|
|
|