.
Jeffrey’s “PhotoSafe” Lightroom Plugin
Quick Links
· Latest Download:
     photosafe-20141019.46.zip
· FAQ
· Version History
· Update Log via RSS
· Installation instructions
· “Donationware” Registration Info
· More Lightroom Goodies
· All-Plugin Update Log via RSS
· My Photo-Tech Posts
· My Blog

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.

Overview

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.

Video Tutorial

David Marx over at TheLightroomLab.com has created a thorough video presentation about this plugin:

Using the PhotoSafe Plugin to Protect Important Photos in Adobe Photoshop Lightroom 3

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!

Installation

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.

Initial Setup

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:

  1. New Photos to Publish

  2. Published Photos

  3. Modified Photos to Re-Publish

  4. 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.

  1. The most straightforward is that you select a thumbnail or thumbnails in the Library Grid, and drag them to the PhotoSafe collection.

  2. 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.

  3. 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:

  1. Select the PhotoSafe collection in Library, and press “Publish”.

  2. 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.

Smart Collections

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.

Background Helpers

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.

Availability

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.

Version History
( Update Log via RSS )

20141019.46 Windows Only: Add a one-time check for the POODLE security vulnerability, and alert the user if it exists.
20140902.45 New build system
20140731.44 Registration fix for Lr5.6
20140720.43 More Creative-Cloud support.
20140715.42

Fixed an issue with Creative-Cloud revalidation.

20140712.41

Lr5.5 and later Creative-Cloud installs can now revalidate themselves if needed.

20140710.40 Sigh, had a bug in the Creative-Cloud support.
20140708.39

Now supports Lr5.5+ Creative-Cloud Installs.

20140704.38 Sigh, introduced an error for some folks with the rebuild the other day.
20140630.37 Build-system update
20140422.36

Fixed a bug in the "smoother revalidation" stuff recently added.

20140418.35

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
20121112.25

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.
20120526.21

Update to handle the Mac App Store version of Lightroom.

20120520.20

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.

20120520.19

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.
20120304.16

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
20120112.14

Update for Lr4 beta: explain in the plugin manager that the plugin can't be registered in the beta.

20111210.13

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).
20101207.9

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.
20100817.5

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

Comments so far....

Great work as always! Thanks for continuing to think ahead of Adobe in terms of what users want/need in Lightroom. This one can be a life-saver.

Thanks for your kind words, but I don’t think it’s fair to characterize the situation as my “thinking ahead of Adobe”. We’re in very different situations… they have millions of customers and shareholders to answer to, so they’re much more free than I am…. I answer to my wife. :-) —Jeffrey

— comment by Doug on June 21st, 2010 at 2:26am JST (4 years, 5 months ago) comment permalink

Great idea!

I’ve noticed a few people on the forums requesting a ‘Read Only’ setting. Maybe this plugin could be extended so that images can also be protected from further change.

Mike

Yeah, that was pretty much the first extra thing I thought of, but I’ve bit off way to much this month, so I want to see how it’s received before I start investing more into it….. —Jeffrey

— comment by Mike on June 21st, 2010 at 8:40pm JST (4 years, 5 months ago) comment permalink

What a great plugin! I am so clumsy and am amazed that I haven’t deleted any of my important photos yet. I do photography for “a living” and the loss of some of my key photos could be devastating. Thanks for creating such a great addition to Lightroom and helping me to rest a little easier!

— comment by Erik Stensland on July 2nd, 2010 at 1:56am JST (4 years, 5 months ago) comment permalink

CAn’t believe I am askng such a simple question.

How can I delete a Photosafe Publish collection.

I set ne up as a test and want to unprotect the images.

Ronan

You can unprotect specific images by deleting them from the Photosafe collection, but to delete the whole Publish Service, right click on the name and select “Delete”. —Jeffrey

— comment by RonanD on July 3rd, 2010 at 8:17pm JST (4 years, 5 months ago) comment permalink

If an image is automatically removed from a smart publish collection in photosafe (eg. You remove your red flag) is it no longer protected? Or do you have to do something to intentionally remove it once it’s added via the smart collection?

To unprotect an image, you have to remove it from PhotoSafe completely, meaning that once it’s in the “Deleted Photos to Remove” state, you have to Publish it to finally get it out and release the lock on photo deletion. It’s a bit less convenient/intuitive than it could be, but with this plugin I’m way outside the envelope for what Publish was designed for. —Jeffrey

— comment by Sean Phillips on July 25th, 2010 at 11:13pm JST (4 years, 4 months ago) comment permalink

I’ll put in a vote for a settings lock too. Particularly if you’ve output photos in a specific way, it’d be nice to be absolutely sure that they haven’t changed since you did so. Snapshots and checking history are of course a workaround for now, but not very practical over a volume.

— comment by Victoria Bampton on August 21st, 2010 at 4:48pm JST (4 years, 3 months ago) comment permalink

Jefferey,
Im considering this plugin, I have two questions. Does the photo remain in its original Lr folder and to clarify, can the photo still be deleted at the system file level?

John

Yes and yes. The photo on disk is never considered/touched/influenced/protected/diddled/etc by this plugin. This plugin is concerned only with the entry for the photo in the Lightroom catalog. —Jeffrey

— comment by John Spiezia on January 12th, 2011 at 10:11pm JST (3 years, 10 months ago) comment permalink

Jeffrey,

Somehow I had thought that adding an image to PHOTOSAFE would produce the “collection” icon on the image. In trying this plug in, of about 30 test photosaves, only one has the icon and it is a member of another collection.

Where have I gone wrong. iMac 10.8.3, LR5.

vince

— comment by Vincent L. Solomito, M.D. on June 27th, 2013 at 6:28am JST (1 year, 5 months ago) comment permalink

Jeffrey,
Regardin an comment I just submited concering “collection icons”, I have found the following statement, published on 12jun2013 in LIGHTROOM JOURNAL. I think this may be partly related to my icon issue:

Incorrect photos selected when working with Publish Services
When working in a Publish collection, it is sometimes possible for the grid view to indicate that certain photos are selected, while the filmstrip indicates that different photos are selected. In this case, the filmstrip is actually correct, and any actions that are performed will be performed on the photos that are selected in the filmstrip. If you are concerned about this bug, make sure that you have the filmstrip showing while you

— comment by Vincent L. Solomito, M.D. on June 27th, 2013 at 6:45am JST (1 year, 5 months ago) comment permalink

thanks for reply regardin collection badges.
All photos have been published. The collection is NOT a smart collection.Still no badges. Usual stuff such as close/reopen app, restart machine, no change.

vince

Then I’m at a loss. Perhaps run an integrity check on the catalog? Send a copy to Adobe for debugging? (You can zip up a copy of the lrcat file … no images needed… and mail it to me, and I can submit it to Adobe, if you like.) —Jeffrey

— comment by Vincent L. Solomito, M.D. on June 27th, 2013 at 10:15am JST (1 year, 5 months ago) comment permalink

Jeffrey,

I love the plugin.

Is there anyway to STACK the images to make it less clumsy to scroll through. I know I can create add folders as a way of sorting the images, but stacking would be helpful.

thanks,
vince

It’s a Lightroom limitation. For whatever reason, stacking is not allowed within Publish collections. I assume that’s because it creates a problem with the bifurcated Published/Modified presentation there. —Jeffrey

— comment by Vincent L. Solomito, M.D. on September 17th, 2013 at 3:18am JST (1 year, 2 months ago) comment permalink

Excellent plugin which I use extensively!

However, having a second notebook with which I want to sync photos, I’m experiencing a serious problem connected to the plugin’spublish service:

I use “export into catalog” and “import from catalog” to sync the catalogs. However, whenever some photos to be imported exist and are in the plugin’s publish collection, the import from collection gets incredible and unuseably slow: several (>8) hours to import just 10 photos!!!
The only workaround I found is to completely remove all photos from the publish collection, republish, start import from catalog and the readding the photos to the publish collection and republishing – really tedious and implying that I intermediately loose the protection by the plugin.
I’m not sure whether this is related to the specific plugin or whether there is a general Lightroom bug that Publish services and Import from catalog don’t work together.

Claudio

I can’t think of anything but a Lightroom bug to explain what you’re running into. Can you perhaps try disabling the whole PhotoSafe plugin and see whether that makes a difference? I can’t imagine it would, but then, bugs are that way. Lightroom doesn’t include publish services of any kind in catalog import/export, so what you report is baffling indeed. —Jeffrey

— comment by Claudio on January 9th, 2014 at 7:25pm JST (10 months, 14 days ago) comment permalink

Hello, I am testing the plugin an found that when I published a photo and make a copy of it after publishing I can’t delete the copy, because of the copy protection flag?
Another problem is how can I remove (unprotect) a photo from a PhotoSafe smartcollection?
Thanks,
Andreas

If a photo is in a PhotoSafe collection, it can’t be deleted from your library…. that’s the whole point of the plugin. If you’ve got a smart collection in your PhotoSafe publish service, then making a virtual copy of an image that’s in the collection likely sees the virtual copy also added because whatever smart-collection rule included the original likely identifies the copy as well. To be able to delete something from your library, make sure it’s not in any PhotoSafe collection and make sure your PhotoSafe publish services are all published. (You may also need to restart Lightroom at some point due to a general Publish Service bug that seems to sometime affect smart collections… I’ve found that every so often smart collections need a restart to catch up to reality. This is a general Lightroom bug not specific to any plugin.) —Jeffrey

— comment by Andreas on February 26th, 2014 at 8:12am JST (8 months, 26 days ago) comment permalink

Jeffrey, I have your JF photosafe plugin. It works wonderfully, but about half the time I find a “?” beside the plugin in the publish folders. I have to open plug-in-manager to “re add” it to my plugins. It then works fine but will eventually require me to repeat the process. I use mac OS 10.9.4 and lightroom 5.5.
I have this problem with another plug in. I store my plugins in a separate folder on my hard drive.
Suggestions?
thanks, vince

Are you by any chance deleting the plugin from your hard drive after installing it? One of the sections of the plugin manager shows where on disk Lightroom thinks it is… make sure it’s still actually there. If it is, yet it’s not showing up, I’d guess your Lr preferences file is going corrupt; you can fix it by deleting it and letting Lightroom create a new one. —Jeffrey

— comment by Vincent L. Solomito, M.D. on July 22nd, 2014 at 3:27am JST (4 months, 2 days ago) comment permalink
Leave a comment...


All comments are invisible to others until Jeffrey approves them.

Please mention what part of the world you're writing from, if you don't mind. It's always interesting to see where people are visiting from.

More or less plain text — see below for allowed markup

You can use the following tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe without commenting