![]() |
San Francisco, California | |||
| USA | ||||
SQLiteroom - Lightroom Plugin
Creates collections of photos with metadata issues.
More specifically, creates a collection set containing 3 collections: (1) metadata conflict flags, (2) metadata "down-arrows" (needing to be saved), and (3) metadata "up-arrows" (needing to be read).
It does this by using a batch file to start Lightroom, which first queries the Lightroom database.
You can also define other SQL scripts to be executed before Lightroom starts up, to create other collections.
Featuring:
Quick Links (intra-page)
Background Information
Screenshots
How to Use
Scripts Included as Presets
SQLiteroom FAQ (Frequently Asked Questions)
Revision History
Download
See the readme file after downloading for usage and other notes.
Plugin Manager

Shows 1 of 3 default scripts to find metadata conflicts.
(the others find metadata to save and read)
So far, there is nothing this plugin can do that can't be done with a text editor, sqlite client app, Lr/Transporter, some knowhow, and a few steps... However the SQLiteroom solution takes zero steps after the script(s) are defined/tested/saved. Not only that, but immediately after installation, without additional steps on your part (other than saving the startup batch file), SQLiteroom's default script implementations create collections of photos with metadata issues, which was the initial motivation for creating this plugin in the first place - so you don't have to do anything to isolate photos with metadata issues, in Lightroom, upon startup, every time...
| Startup script | SQL statement(s) entered in Plugin Manager, and issued upon startup to specified catalog - results are processed by plugin (once, upon startup). |
| Batch file | Feeds startup scripts to sqlite (command line executable) which make lists of photo paths in result files, then starts Lightroom. SQLiteroom plugin reads the result files and makes collections of the corresponding photos. |
- Install (see readme file in downloaded zip file)
- Shortest route to metadata issues collections
- Configure in plugin manager
- Use batch file to start Lightroom.
See elare plugin framework for common settings.
Additional Settings and Controls
| SQLiteroom Shared Settings and Controls | |
| Active Catalog | Shows currently loaded (active) catalog - do not attempt to test scripts that target the active catalog. |
| Test Catalog | Target catalog for script/batch testing. Note: you can only test scripts and batch file using a different catalog than the active one. |
| Batch file | Path to startup batch file. A temp file with a unique name based on this one will be used for testing. |
| Test Batch File | Creates temporary batch file (like the startup batch file, except without the startup) and then executes it - you can view the result file that will be processed by SQLiteroom after startup. |
| Save Startup Batch File | Saves batch file containing script for restarting Lightroom. |
| SQLiteroom Preset Settings and Controls | |
| Collection | Collection for photos that match SQL query. Collection will be created in a collection set named after the plugin, in the collections root. |
| Special | Indicates type of special handling needed, if any. 'No Special Handling' means just parse file path as first item from each line and make a collection. If you are extending the functionality of SQLiteroom, then you need to define special handling... |
| Test Script | Submits script to sqlite3 to test - results will be available in the log file for your inspection. If you need more info than what's in the log file, try downloading a gui version of sqlite3 and test there first. |
| Enabled for startup batch file | Only enabled scripts will be included in startup batch file. This way, you can maintain bunches of scripts, then select which ones will go into a particular startup batch file. |
| Startup Script | SQL statement(s) that generate the file-path results that define the corresponding collection. |
After saving startup batch file, all you have to do is double-click it to start Lightroom, but to make it more convenient, I suggest putting it on your Mac Dock or Windows taskbar.
On Windows: Here's how I do it (please let me know if there is a better way):
On Mac: You will probably have to make the .bat file executable before it will work on Mac.
In addition to the advertised metadata issues scripts, SQLiteroom includes some other scripts, which are not enabled by default, that you may find worthwhile. Some may require some customization first. Feel free to enable those you may find useful...
| Name | Description | Enabled by Default | Customization may be required |
| Default | Provides a factory default script. Although this script is useful as is (its the original script for making a single 'Metadata Issues' collection), it's main purpose is for a place to start other scripts - accessed by loading factory default into a preset. | No | N/A |
| Metadata Conflicts | Creates collection of photos with metadata conflicts (exclamation flag icon). | Yes | No |
| Metadata To Save | Creates collection of photos edited since metadata saved on disk (down-arrow icon). Whether you choose to save metadata or not is your business... | Yes | No |
| Metadata To Read | Creates collection of photos whose xmp on disk is more recent than what's in the Lightroom catalog (up-arrow icon). Whether you choose to read metadata or not is your business... | Yes | No |
| Odd Sidecars | My workflow dictates certain sidecars, anything else indicates an anomaly - thus this collection. | No | Yes - edit script to define "odd". |
| Missing Capture Date | I prefer to have at least an estimated capture date for all my photos. This collection allows me to deal with those that are missing. | No | No |
| Export Collections | Special script that exports all smart collections in a hierarchical structure for the purpose of backup and duplication/"copy-paste"... via CollectionAgent plugin. (This script is only necessary because Lightroom SDK does not provide access to smart collection "search" definitions). |
No | No |
| Publish Collections | Same as 'Export Collections', except its for publish collections. |
No | No |
These FAQs come partly from users, and partly from my imagination. Please let me know if there are errors or omissions in this FAQ - thanks.
NOTE: The following Q&A's assume that the plugin is working as I expect... If, after your best effort, still "no go", please let me know.
Question: Why would I ever need or want such a thing as SQLiteroom?
Answer: Presently, Lightroom is missing the feature to isolate photos having metadata issues. By default, SQLiteroom creates 3 collections of photos - those having metadata conflicts, metadata to save, and metadata to read, so you can take corrective action. Advanced users (who know SQL) can also create other startup collections by entering a preset name, and altering the script and the collection name, and saving the startup script/batch-file.
Featured Question: What's the shortest route to having metadata issues collections in Lightroom?
Important Answer: *No* "configuration" is necessary - just install SQLiteroom, and in plugin manager, check/enter the batch file path, then click 'Save Startup Batch File', close Lightroom and restart it using the batch file. If all goes well, you'll have your collections of metadata issues automagically! Additional configuration is only necessary if you want to have additional SQL-driven collections.
Question: Collection not getting updated - why not?
Answer: If plugin not enabled, collection won't be updated - check that first, then make sure a valid result file is being generated by the script (full path must be first item on line).
Question: How do I configure my own sqlite3 command line app, instead of the built-in one?
Answer: In plugin manager, preset manager section, enter a preset name, then click 'Edit Advanced Settings' - instructions are inside the text configuration file that you will edit. Note: you must have the corresponding preset selected for it to be operative. This is a little wonky - presets were originally intended to not change during operation, as opposed to storing sets of things that are all being used (e.g. different scripts...) - bottom: line - if you want your sqlite to be always used, then put it in all the presets or make sure you have the right one selected...
Question: How do I define new scripts/collections without overwriting the default script?
Answer: In plugin manager, preset manager section, enter a preset name - that will duplicate the settings under the new name. If you want to start from factory default values instead, then click 'Load Defaults'. Make sure you enter a new collection name, to go with that new script, and check the 'Enabled for startup batch file' box before saving the startup batch file.
Question: What does the 'Default' script do, and why isn't it enabled for startup batch file?
Answer: The 'Default' script was the original script of SQLiteroom version 1. It rolls all metadata issues into a single collection called "Metadata Issues", instead of creating separate collections for each type of metadata issue. It is disabled since I prefer dividing the types of issues, but it is the starting point when defining new scripts (if 'Load Factory Defaults' is clicked).
Question: How can I find out what SQL statements to issue to do what I want to do?
Answer: There is no database definition document for Lightroom - anybody who knows anything outside Adobe and their inner circle has learned it by "hacking". I recommend getting a sqlite3 app with a GUI and experimenting. There is no harm doing read-only queries on any catalog that Lightroom does not have open/locked, but make sure you create a test catalog first for testing write queries before they're perfected.
Question: Any other hot tips I should know about?
Answer: Yes:
Question: I upgraded Lightroom, now the batch file won't start it - huh?...
Answer: If path to Lightroom is specified in plugin manager when saving batch file, then startup batch file is targeted at a specific instance of the Lightroom executable. Two possible remedies:
Question: What are the limitations of SQLiteroom and what are your plans for the future?
Answer:
(reverse chronological order)
Version 3.3, released 2012-01-09
- Tested on Mac, and fixed Mac-platform bug (path to built-in sqlite executable was wrong).
- Added script (not enabled by default) to make collection of all previously exported images. Could be modified to make collection of all images that were not previously exported.
Credit for script goes to Josh Cohen, quoting Josh:
...I have successfully used your plugin to find all previously exported images. This is something many online references says cannot be done.
- we thank you Josh!
Version 3.2, released 2011-12-23
- Added feature for windows users to have Start /wait parameter - for compatibility with multi-user (one-at-a-time) catalog-on-a-network startup script.
Version 3.1.2, released 2011-12-12
- There was a bug generating smart publish collection definitions for CollectionAgent - its been fully fixed now.
- Cleans up all temp files now, after processing is complete.
Version 3.1.1, released 2011-12-12
- There was a bug generating smart publish collection definitions for CollectionAgent - only partially fixed.
Version 3.1, released 2011-12-12
- Added another special script (optional) for exporting all smart publish collections upon startup.
- Hardcoded collection definition locations to match what CollectionAgent is expecting, and to keep definitions for different catalogs separated.
Version 3.0, released 2011-12-05
- Added special handling capability for dealing with scripts that are not aimed at creating photo collections.
- Added special script (optional) for exporting all smart collections upon startup (motivation was to support 'CollectionAgent' plugin, but can be useful just for backing up smart collections independently for safe keeping - in case one may need to partially or totally rebuild one's catalog.
Version 2.2, released 2011-11-21
- More informative startup prompt.
- Added optional 'Missing Capture Date' collection to isolate photos that are missing capture-time metadata.
Version 2.1, released 2011-11-15
- Added option to specify Lightroom app to be started/opened along with command-line parameters (previously just started Lightroom by opening catalog in default app).
- Added optional 'Odd Sidecars' collection to isolate photos having "odd" sidecars...
Version 2.0, released 2011-11-14
- Added the ability for the startup batch file to have multiple scripts that update multiple collections during startup.
- There were also significant changes to the Preset Manager.
- Fixed problem with default sql scripts that photos with virtual copies were sometimes being included in metadata conflicts collection.
Version 1.1, released 2011-11-13
- Changed 'Catalog' to 'Test Catalog' and added option to the save dialog box to save startup batch file for active catalog or test catalog.
Version 1.0, released 2011-11-12
- Initial release - enjoy!
acceptance of Download Terms & Conditions will be required
SQLiteroom 3.3 - Latest & greatest - this is the one to download.
SQLiteroom 3.2 - ...in case trouble with latest.
| Static content updated 2011-11-11 | Copyright 2007 - robcole.com - all rights reserved. | Dynamic content updated 04:08:19 PM |