The DxO Forum has once again outsmarted me. I cannot update the OP to keep it current. I’ve added some more tools. Here is the complete, updated version of the OP:
Summary
I’ve written several tools that add features to Photolab 8, and I’m providing these tools here.
- importKeywords – Add keywords by importing from a text file.
- exportKeywords – Export the current keyword structure to to a text file.
- renameKeywords – Rename, move, and merge keywords.
- findKeywordMatches – Find images matching logical expressions that can include AND, OR, and NOT operators.
- cleanDatabase – Remove image entries from the PhotoLab database. These are images you don’t want in the database, e.g. images that no longer exist on disk.
- incompleteHierarchies – Find (and optionally add) keywords needed to maintain complete hierarchies. A complete hierarchy is one where when a keyword is associated with an image, all its parent keywords are also associated with the image.
- synchronizeKeywords – Check to make sure that the keywords in the database and the keywords stored in DOP or XMP files match. This tool can report any differences and, optionally, repair the DOP or XMP files to match.
Target Audience
- These tools only work for Windows users. While I can create versions that run on a Mac, I don’t have a Mac for testing. If you’d like to help develop Mac versions, contact me.
- The tools are for people who use Photolab as their primary keywording tool. If you do your keyword tagging in some other tool, my tools may be of limited use.
Details
While I include a bit more details on the tools here, the tools come with a lot of options. The ZIP file containing the tools contains detailed documentation (currently, 27 pages worth!).
Some of these tools directly modify the Photolab database. You should exit Photolab and create a backup database before running those.
Some of these tools are based on requests made for these features over the years. I’ve included pointers to some of these.
exportKeywords exports keywords in 3 formats: raw, Adobe, and HTML. The Adobe format should work with Adobe Bridge. Some other keywording tools use extended versions of the Adobe Bridge format, which included features that Photolab doesn’t support (categories, synonyms). You might be able to go from Photolab to one of these other tools, but not necessarily the other way.
importKeywords will modify the Photolab database to add keywords. It supports raw and Adobe Bridge formats. Existing keywords will be unaffected—the tool only adds keywords that don’t currently exist.
- Provide a way to import and export the keyword structure
- importing keywords from a .txt file
- My requests for PhotoLab 7 and beyond
- Importing keywords
renameKeywords can rename a keyword, but it can also move it, and will merge keywords with the same name. If a keyword is being merged and has children, the children will themselves be either moved or merged depending on whether the matching child exists or not.
I saw a request for this feature recently, but can’t find it right now. I’ve wanted this tool for a while, and finally ran into a case where I really needed it, so I went ahead and wrote it.
findKeywordMatches can find images that match logical expressions (ones formed using ANDs, ORs, and NOTs). There is some pattern matching available. The pattern “^$” will match all images that have no keywords. The tool can search through all your indexed images, or just indexed images in one or more folders. The results can be output as a text or HTML file, or used to create a Photolab project. If you choose the HTML option, the tool will look for existing previews and thumbnails stored in Photolab’s cache folder.
Unlike external keyword tools with their own databases, findKeywordMatches can find keywords assigned to Photolab images, whether master copies or virtual copies. It will identify virtual copies in the generated results.
- PL6.1 Keyword search still totally inadequate
- Search for items (keywords etc) with a specified /folder subfolder ONLY
- Search for photos that have NO keywords
- How to find pictures without keywords?
Here is a sample of the output. The first is the results of a keyword search as a project. The second is the same search, but stored in an HTML file.
cleanDatabase cleans out unwanted crud from the database. As with many of the tools, it can also just tell you about the crud in the database without changing anything. Some of the crud includes images that no longer exist on disk, images outside a given folder (everything I want PL to deal with is in one folder), and folders to which I export images. You can pick any or all of these.
incompleteHierarchies tells you about images containing keywords whose parent keywords aren’t also included. For instance, if an image is tagged with keywords A and A|B|C, then the tool will tell you that A|B is missing. It can also add A|B for you, if you like.
synchronizeKeywords is the most important tool in this collection of tools. It can report any differences between the keywords in the database and the keywords in the DOP or XMP files. On request, it can also repair the DOP and XMP files to match the database. This tool is useful if you use renameKeywords or incompleteHierarchies as those tools will only change the keywords in the database, leaving the DOP/XMP files unsynchronized.
The tool is smart enough to figure out which images have had keyword changes since the last time the tool was executed, so it doesn’t have to check every DOP/XMP file, only the associated with images that have changed. You can force it to check every image. You can also tell it to capture the current database state, make some changes in PL, and then ask it to report on the changes to the database with respect to the saved state.