This plugin allows you to protect selected images and videos from removal from your Lightroom library. Attempts to delete a protected image, whether purposeful or accidental, are met with a dialog as illustrated above.
This plugin works in Lightroom 5 (and older versions as far back as Lightroom 3, though some features depend on the version of Lightroom).
The same download works for both Windows and Mac. See the box to the upper right for the download link (in orange) and installation instructions.
I take a lot of photos because I have more luck than skill, and when I want to reclaim some disk space, I'll go through old shoots to clean out the extras. However, I never want to delete a photo that I've posted to my blog; I've posted plenty of pretty pictures over the years, but more often I use photos to illustrate a story (perhaps a story about bad photos!), so some of the “never want to delete” images look just like ones that I would naturally want to clear out.
So, when doing these purges, I've had to take great care to not delete these photos I want to keep. I've had mixed success, but some new features in Lightroom 3 allow me to create this plugin that lets me lock selected photos against removal from the catalog.
My PhotoSafe plugin allows you to create special collections in your Lightroom library: images in these collections simply can't be removed from the library. You can continue edit the photo, export it, update its metadata, and all the other things you normally might do, except delete it.
David Marx over at TheLightroomLab.com has created a thorough video presentation about this plugin:
He's a bit too kind in his praise for my work, but it's a very clear presentation on how to install and use the plugin. Thanks David!
First, download the plugin using the link in the upper-right corner of this page, and unzip it to a location on disk where you'll keep it.
Then follow the normal Lightroom plugin install instructions to install and enable the plugin in your copy of Lightroom.
The plugin works via Lightroom's “Publish Service” system. After installing the plugin, you'll have a new PhotoSafe entry in the list of publish services at the bottom of Library's left-side panel. Click on “Set Up”....
to bring up the Publishing Manager dialog. It has one section of instruction that you don't need because you're reading this documentation, and one section of options that you can ignore for the moment, so just click save to create the special “Can't Be Deleted From Lightroom” collection in your library:
It starts out empty, but you can add whatever images or videos to it that you'd like to protect.
Protecting Your Images from Removal
I'd like to say "any images added to the special collection are protected!”, and it's almost that simple, but there's one important consideration that first requires some background...
The plugin makes use of Lightroom's “Publish” feature, which is normally intended for exporting copies of your photos out of Lightroom, such as with the built-in Flickr exporter, or my more-advanced Flickr exporter (or any of the other Publish-enhanced plugins among my Lightroom goodies). PhotoSafe doesn't do any kind of exporting — it just protects photos from removal — but since it uses the Publish system, we have to understand some byproducts of the Publish system...
Photos in normal collections in your Lightroom library are either in the collection or not in the collection, but a photo in a publish collection — such as PhotoSafe's Can't Be Deleted From Lightroom collection — can actually be in one of four states:
New Photos to Publish
Modified Photos to Re-Publish
Deleted Photos to Remove
These differences are relevant in the context of keeping copies on a remote site up to date, but for our PhotoSafe needs, it's an unwelcome complication we have to deal with.
The screenshot at the right shows the Library Grid while a publish collection is selected, and the various “segments” showing the photos that happen to be in the various states.
Pressing the “Publish“ button (seen toward the lower left of the screenshot) starts up the Publish machinery, which moves “New” and “Modified” photos to the “Published” segment, and actually does the removal of the “Deleted” photos from the collection. In a normal publish service all this would entail the rendering of copies for uploading and such, but in PhotoSafe it just shuffles the thumbnails around in Lightroom and is fairly quick.
So here's the catch: when you add a photo to PhotoSafe's Can't Be Deleted From Lightroom collection, the photo starts out in the “New Photos to Publish” state and stays that way until you “Publish” the collection, and the photo is not protected until you do.
Let me say that again...
Photos in are not protected until they have been “Published” in PhotoSafe.
Once they've been added to the collection and Published, they're protected from removal. Over time the Publish system will bounce them around between “Published” and “Modified”, but this doesn't matter for PhotoSafe.
Unprotecting an Image
If you wish to unprotect a photo, you have to delete it from the collection, then “Publish” that deletion to effect the actual removal. Photos are still protected while in “Deleted Photos to Remove”
Various Ways to Protect Images
An image is protected once Published in a PhotoSafe collection, but there are numerous ways to make it happen.
The most straightforward is that you select a thumbnail or thumbnails in the Library Grid, and drag them to the PhotoSafe collection.
Right-click on the PhotoSafe collection and select “Set as Target Collection” from the context menu. This allows you to use the “B” keyboard shortcut to add photos to the collection.
Select a photo or photos, and invoke File > Plugin Extras > Add to PhotoSafe. The advantage of this particular method is that not only does this add the photos to the collection, it puts them directly into “Published Photos”, alleviating the need to Publish these photos to make them protected.
Photos added via methods 1 or 2 still need to be Published before they're protected; there are two ways to make that happen:
Select the PhotoSafe collection in Library, and press “Publish”.
Have them moved to Publish automatically by a background task that runs every so often, via the option in the Publishing Manager:
These options are discussed in more detail in Background Helpers below.
The background task is convenient, but it has a couple of notable shortcomings. The first is that each time it moves a group of photos to Publish, that action is left on Lightroom's undo stack. This is done quietly in the background while you are perhaps in the middle of doing something else, and if you happen to invoke an undo right after the background task has moved some photos to Publish, you'll be undoing the move instead of the thing you thought you were undoing. This is inconvenient at best, likely confusing, and potentially dangerous at worst if that confusion leads down an unlucky path. I wish Lightroom allowed a plugin to do things like this without dirtying the user-visible undo stack, but so far it doesn't.
The second problem with the background task is that it runs only as often as you ask it (and each time Lightroom starts up). That leaves a window of time between when the photo gets added and when it's actually protected.
PhotoSafe starts out with its one Can't Be Deleted From Lightroom collection, but you can create additional collections if you like: a photo is fully protected if it's Published in any PhotoSafe collection.
There's no particular benefit to creating another regular PhotoSafe collection unless you find it convenient, but it can be very useful to create a PhotoSafe smart collection using rules to describe the photos that should be protected, such as “all five-star photos, and all photos flagged as picks”. In my case, I apply a red color label to all photos that I use on my blog, so I have a PhotoSafe smart collection with an “all red-labeled photos” rule.
Using a smart collection means that I don't have to remember to add my blog photos to PhotoSafe.
When you first set up the PhotoSafe publish service, or when you edit its settings via the aptly-named “Edit Settings...” item in the context menu one gets when right-clicking on the “jf PhotoSafe” publish-service title (where you had initially clicked “Set Up...”), one section of the dialog presents some options on helpers that run in the background while Lightroom is open:
The first option has PhotoSafe run a check when Lightroom launches, automatically publishing (or reporting on) at-risk photos in the catalog loaded at the time. (At-risk photos are ones ones added to a PhotoSafe collection but not yet published.)
If you choose the report option, you may be greeted with this popup:
However, I recommend using the auto-publish option, because if you've added a photo to PhotoSafe, you want it to be protected.
The next option is the aforementioned background sweeper task: every so often, sweep any added-but-not-yet-published photos into “Published”. This is helpful and I recommend it, but as mentioned earlier, there's the caveat that some unlucky timing could lead to some “undo” confusion.
A Warning About the Protection Afforded by PhotoSafe
A photo published in a PhotoSafe collection can't be removed from the Lightroom catalog. Period. Take note that:
The master image file on disk is not protected from anything, including deletion or corruption by other applications, disk crashes, unattended children, or small pets walking across keyboards. The “Safe” of PhotoSafe has a narrow (but useful) relevancy.
The image within Lightroom is not protected from change. You can continue to make changes to the image or its metadata. This might be considered either a feature or a limitation, depending on your needs.
This plugin is distributed as “donationware”. I have chosen to make it available for free — everyone can use it forever, without cost of any kind — but unless registered, its functionality is somewhat reduced after six weeks. Registration is done via PayPal, and if you choose to register, it costs the minimum 1-cent PayPal fee; any amount you'd like to add beyond PayPal's sliding fees as a gift to me is completely optional, and completely appreciated. For details, see my blog post titled Lightroom Plugin Development: Now With Added Encouragement. If you're interested in how I picked up a plugin-development hobby like this, see My Long Path To Lightroom Plugin Development.
( Update Log via RSS )
Fixed an issue with Creative-Cloud revalidation.
Lr5.5 and later Creative-Cloud installs can now revalidate themselves if needed.
|20140710.40||Sigh, had a bug in the Creative-Cloud support.|
Now supports Lr5.5+ Creative-Cloud Installs.
|20140704.38||Sigh, introduced an error for some folks with the rebuild the other day.|
Fixed a bug in the "smoother revalidation" stuff recently added.
Added a note about my Workflow Delete Options plugin, which can save you from unexpected data loss associated with some unfortunate aspects of Lightroom's photo-delete operation.
Make the revalidation process smoother, especially for folks using Lr5.4 and later.
|20130613.34||Better support for plugin revalidation.|
|20130611.33||Yet another Lr5 update|
|20130610.32||Final update for Lr5|
|20130501.31||Update for Lr5|
|20130412.30||Build system update.|
|20130328.29||Fix for the registration system.|
|20130209.28||More build-system maintenance|
|20130206.27||Tweak for my registration system|
Don't run the automatic watcher when the plugin is disabled.
|20121020.23||Was getting some database-contention errors in Lr4.|
|20120608.22||Fix an "attempt to perform arithmetic on field" error.|
Update to handle the Mac App Store version of Lightroom.
When a small number of images are saved from deletion, and if there is more than one collection in PhotoSafe, for each image that's been saved, list the PhotoSafe collection it was part of.
Was sometimes not showing the "have been protected" message when it should have.
Tweak for Lr4.1RC2.
Enhanced the send-log dialog to hopefully make reports more meaningful to me, yielding, I hope, the ability to respond more sensibly to more reports.
|20120330.18||Update to handle 4.1RC|
|20120309.17||Update to the debug logging to better track down timing issues that might arise.|
More on the march toward Lr4, including upheaval in the code to handle Lightroom APIs being discontinued in Lr4.
Better "protected-photo isolation" to display which photos are being saved when you attempt to delete a protected photo.
Bumped up the minimum Lr3 version to Lr3.5, to ensure we've got those bug fixes.
|20120114.15||More tweaks for Lr4b|
Update for Lr4 beta: explain in the plugin manager that the plugin can't be registered in the beta.
When doing a plugin upgrade, offer the ability to flush all the old copies of the plugin.
Had issues with the registration button sometimes not showing.
Added a system-clock check and reports to the user if the system clock is more than a minute out of date. An incorrect system clock can cause problems with various kinds of communication and authentication with some of my plugins, so I've just gone ahead and added this to every plugin.
|20110301.12||It turns out that a bug fix in a recent version of Lightroom is not backwards compatible with previous versions of Lightroom, so the plugin now handles things properly Lr3.3 and later.|
|20101210.11||The new “Isolate Protected Photos” feature wasn't turning off the grid filter. It now does.|
|20101208.10||Added an “Isolate Protected Photos” button to the dialog that pops up if you try to delete a PhotoSafe-protected photo (at least if you have more than one photo selected).|
As of this version, requires Lr3.3 or later
Now much more compelling protection: can automatically sweep all unprotected photos, even in smart collections. Requires Lr3.3 or later.
|20100829.7||Made the revalidation process much simpler, doing away with the silly need for a revalidation file.|
|20100820.6||Discovered a bug in my plugin build system that caused horribly difficult-to-track-down errors in one plugin, so am pushing out rebuilt versions of all plugins just in case.|
Added code to allow plugin revalidation after having been locked due to a bad Lightroom serial number.
|20100625.4||Yikes, shaking out some more build issues.|
|20100624.3||Discovered a nasty build bug; pushing a new version in case it affects this plugin.|
|20100621.2||Dialog boxes were coming out strange on Windows.|
|20100620.1||Initial public release|