Jeffrey’s “Bag-o-Goodies” Lightroom Plugin

This plugin is a collection of various small Lightroom tools that don't merit their own plugin.

This plugin works in Lightroom 6/CC and Lightroom 5.

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.

Tool Overview

As of version 20161116.9, the plugin contains these tools, available via the File > Plugin Extras menu:

•  Find Next Photo Group — identify and group related photos (exposure bracketing, panoramas, high-speed burst, etc.).
Compare Photo Times — how far apart in time were two photos taken?
Compare Two Collections/Folders — which photos are shared between two folders/collections, and which are unique to one or the other?
•  Mark Selected Publish Collections As Up To Date — any Modified Photos to Republish in selected publish collections are moved back to Published Photos.
•  Publish All in Selected Service — publish all collections in the currently-selected Publish Service.
•  Delete Cached Previews for Selected Photos — deletes any cached previews that the Library Module has made for the selected photos.
•  Write Data Field... — lets you update metadata fields with other data from the photo.
•  Clear Standard Previews for Selected Photos — lets you delete Lightroom's cache of standard previews for the selected photos.
•  Publish At... — lets you schedule publish collections to be published later in the day.

Find Next Photo Group

This tool helps identify the following types of logically-grouped photos:

  • High-speed burst
  • Exposure-bracketed shots
  • Aperture-bracketed shots
  • Panorama-component shots

It makes its best guess based upon capture-time and exposure-settings metadata.

Once a potential group has been identified, the plugin selects them and offers the option to apply an appropriate keyword (high-speed burst, exposure stack, etc.) and makes it easy to group them into a stack.

Here's an example of the plugin identifying the high-speed burst that was used to create the wigglegram on this page...

At this point I dismiss the dialog and while doing so optionally have the plugin apply a high-speed burst keyword to each photo. The photos remain selected, so if I want them grouped into a stack, I merely tap the Command-G keyboard shortcut and it's done. (Sadly, Lightroom's plugin infrastructure doesn't allow a plugin to stack photos. 🙁 )

Again invoking this tool, the plugin searches for the next group starting just after the selected photos.

Because the plugin starts searching after the currently-selected photos, one must make sure to deselect all photos before doing the first search of any particular group of photos. The keyboard shortcut to deselect all photo sis Command/Control-D.

Compare Photo Times

This simple tool displays the time difference between two photos. For example, it shows that on my first bicycle ride to the sea it took 8 hours 11 minutes to get there:

The tool is invoked via File > Plugin Extras > Compare Photo Times. If more than two photos are selected when it's invoked, the first and last photos are chosen.

If your camera somehow saves the capture time with sub-second accuracy, and if Lightroom actually reads that data and makes it available to the plugin, the capture time is reported appropriately. For example, this unlucky cyclocross racer:

Slow Motion
I bet it felt a lot longer than 6/10th of a second

Some thought has gone into how to display things nicely. The hours and minutes and am/pm are in bold, with the seconds not in bold so that they don't clutter a quick glance. If times are indeed recorded with sub-second accuracy, the fractional part of the seconds is shown in a smaller font to further reduce the at-a-glance clutter.

(12-hour time notation is used in English and Spanish installs of Lightroom; 24-hour time notation is used otherwise.)

A lot goes on behind the scenes to make sure the duration is presented accurately. A duration of 367 days might be 1 year 1 day or 1 year 2 days depending on whether a leap day fell in between, for example.

There's one other wrinkle to mention, illustrated here with an example showing both the earliest and the most-recent photos of my son to appear on my blog:

This example highlights a problem with photo dates: the photo-data standard doesn't allow the timezone to be encoded along with the time, a moronic decision that creates all kinds of problems in dealing with dates.

In the example above, the final bit of the difference between the two photos would indeed be 2 hours 18 minutes if the two photo times (3:45pm and 6:05pm) were in the same timezone, but one is US Pacific Standard and the other is Japan Standard, so without understanding timezones the span between the two is off by the difference in timezones (in this case, by 17 hours).

So, to handle this properly, the plugin can take timezones into account if they're set for each photo with my Geoencoding-Support plugin. Here's the same example photos with timezone support enabled:

Notice that the duration is now shorter (by the 17 hours difference between the two timezones) and so is now correct. Also, the timezone is indicated lightly next to each time, as the offset from UTC (the modern version of GMT).

If a photo doesn't have a timezone associated with it with my Geoencoding-Support plugin, the timezone currently set for the computer is used.

Compare Two Collections/Folders

This feature shows what photos are shared between two collections (or a collection and a folder), and which are unique to one or the other.

If two collections (or a collection and a folder) are selected when invoked, they'll be compared. Otherwise, you'll be prompted for which to compare.

You'll then be shown a scrolling list of thumbnails indicating items shared between the two collections, or unique to one or the other. This is headed by a summery, which includes the ability to create a collection of just the shared/unique sets.

Mark Selected Publish Collections As Up To Date

This simple tool inspects all published photos in whatever Publish Collections are active at the time, and offers to moves any in Modified Photos to Republish back to Published Photos.

All selected collections must be within the same Publish Service.

The need for this kind of tool arises out of longstanding bugs in how Lightroom keeps track of what photos need to be republished. It's really frustrating for such basic bugs to remain year after year, but until Adobe fixes it, this tool might bring some relief to folks particularly hard it by the bug.

Publish All in Selected Service

If invoked while any publish collection is selected, all collections in the publish service are published, one by one. Progress is indicated in the status area in the upper left of the Library Module.

Delete Cached Previews for Selected Photos

In an effort to speed up subsequent access to data, Lightroom sometimes saves (caches) copies of the data in an easy-to-reach place. Among the various places Lightroom saves various data in this way, is the preview cache, in which Lightroom squirrels away rendered copies of your developed photos in various sizes, for use in, for example, Library's Grid and Loupe.

(Note: this is all completely unrelated to Lightroom's “Smart Previews”.)

These previews make the display update more quickly as you move around in your catalog, and in emergencies they can help recover some semblance of an image after a catastrophic loss of the master originals. But on the minus side, they can take a lot of disk space (hundreds of gigabytes for some catalogs), so some users with tight disk needs may want to remove these preview files for images that won't be interacted with in the near term.

So this command allows that... just select the images and invoke it. It'll report about how much disk space was freed. Lightroom will rebuild the previews if and when needed, or you can ensure they're rebuilt via Library > Previews > Build Standard Previews and/or Library > Previews > Build 1:1 Previews.

By the way, if you just want to see the amount of space taken by previews, my Date Explorer plugin will tell you, as will my System Info plugin.

Write Data Field...

This tool lets you fill in certain metadata fields (Title, Caption, etc.) with other data from the photo, using the template tokens that my plugins understand.

In its most simple use, you can copy metadata from one field to another, but in more complex uses, you can craft complex captions by combining a variety of data on the fly.

Clear Standard Previews for Selected Photos

This tool deletes Lightroom's standard-preview cache for the selected images, potentially freeing up some disk space.

Lightroom will automatically rebuild some standard previews when images are visible in Loupe or Grid, and they'll be rebuilt if you invoke any commands in "Library > Previews" to build them. But for images that you don't plan on accessing any time soon, this can free up quite a bit of disk space.

(Lightroom can't rebuild standard previews if the master image file is not available and there is no Smart Preview, so take care.)

Some notes:

  • This tool has nothing to do with Smart Previews. You can create or clear Smart Previews via the "Library > Previews" menu.

  • You can use the "Cached-Preview Size" item in my Data Explorer plugin to see how much disk space is currently being used for standard previews for the selected files.

  • This tool does delete 1:1 previews (along with the various smaller-sized previews Lightroom may generate along the way). If you want to remove only 1:1 previews, see the command in the "Library > Previews" menu.

  • Lightroom keeps some small thumbnail previews in a separate database file that this tool does not touch.

Publish At...

This tool lets you schedule collections to be published later in the evening or the next day. It's a simple thing.... merely pick a time at the top or bottom of an hour any time in the next day, and pick the collection or collections to be published. This might be useful to shift export bandwidth to the middle of the night, for example.

(There's certainly room for a more complex scheduling system, but this bag-o-goodies feature is simple.)

Lightroom must be running when the time comes around for the publish to happen. When that happens, a dialog is displayed for a short time to give you a chance (if you're in front of the computer) to abort it. Otherwise, each collection is published in turn.

When it's done, a dialog is shown (and remains until you dismiss it) saying that it's done, letting you know what time it finished and how long it took.

As part of the registration nagging, after the plugin's six-week trial period has passed, you can still use it if unregistered, but you can pick only one collection to publish, and the selection of target times becomes somewhat limited.


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.

Note: a Lightroom major upgrade, such as from Lr5 to Lr6, de-registers the plugin in the upgraded version, so if you want to maintain registration, a new ($0.01 if you like) registration code is needed in the upgraded version. It makes for a hassle every couple of years, I know. Sorry. See this note for details.

For details on plugin registration and on how I came into this hobby of Lightroom plugin development, see my Plugin Registration page.

Version History
( Update Log via RSS )


The "Find Next Group" now knows that a change in certain metadata means that photos can't be grouped: camera make/model, image dimensions, image format.


Better plugin-name reporting for the Publish At service.


Fix to the Russian-language support for the People Support plugin.


Upgraded to the embedded copy of ExifTool to version 10.40.

Added the following tokens to the template tokens that my plugins understand/a>: Artworks, ArtworkTitle, ArtworkCopyright, ArtworkSource, ArtworkCreator, ArtworkDateCreated, ArtworkInventoryNum


Added "ISO8601Date" to the template tokens that my plugins understand.

Switch the log-sending mechanism to https.


Added a preset function to the write-data-field goodie.

Upgraded to the embedded copy of ExifTool to version 10.36.


Added "Publish At...

(Today is the 9-year anniversairy of my plugin stuff.)


Added "Clear Standard Previews for Selected Photos".

Upgraded to the embedded copy of ExifTool to version 10.26.


Cleaned up "Compare Photo Times" dialog on Windows. Not sure how it got dorked so badly.


Added "Write Data Field..." goodie.

Upgraded to the embedded copy of ExifTool to version 10.20.


Added hooks for Windows keyboard shortcuts.


Added "Compare Two Collections/Folders" goodie.

Added "Publish All in Selected Service" goodie.


Added the "Delete Cached Previews for Selected Photos" goodie.

20160328.2 Fix a display issue with in the mark-as-up-to-date dialog
20160201.1 Initial public release