tree-publisher-20120330.28.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 Lightroom “Publish” plugin (for Lightroom 3, Win and Mac) allows you to export copies of your Lightroom photos to local disk in a folder hierarchy that mimics either the folder structure of the original master images, or the collection hierarchy you build in the Publish Service.
Warning: Development of this plugin is being suspended in favor of two plugins that have spun off from it, my Collection Publisher and my Folder Publisher plugins. They are substantially better than this plugin.
This might be considered a Publish version of Tim Armes' Tree Exporter plugin, but works in Lr3 only and is “Publish”, not “Export”.
Unlike a normal export, this Publish service allows you to create an ongoing relationship between the photo in Lightroom and the copy on disk. The tree on disk is refreshed for any changes (new images, removed images, and image changes) each time you “Publish”.
Personally, I use this plugin to replicate my whole Lightroom catalog as a tree of small JPEGs on a shared disk that my wife can access from her computer. Allowing her to have immediate and simple access to my photos helps encourage her to put up with the more annoying aspects of my photography (e.g. perpetually waiting for me to catch up when we're out and about, because I'm lingering at some leaf or flower or something to take pictures). As any married photo-hobbyist knows, anything that helps with the SAF (Spousal Acceptance Factor) is a good thing.
Warnings
This plugin is currently in beta and is released without documentation; the Publish Service “Set Up” dialog should be fairly self explanatory. I wrote the plugin months ago, and have been delaying release until I could write up the docs, but I just don't have energy, so I thought I'd at least release it for those who might find it useful as is.
Version 3.0 of Lightroom has quite a few issues yet to shake out with its Publish service, so building a plugin like this tree publisher is an exercise in tiptoeing through a minefield of bugs. The result I've come up with is a bit more kludgy than it should be, but it'll have to do until Adobe issues some bug fixes.
I will eventually release this plugin as donationware (after I add a few more features I have in mind, likely in September), so for the moment this plugin is released without that, but each release expires six months after it's released. If/when I move it to donationware, the expiration will go away.
Version History
(
Update Log via RSS
)
20120330.28 | Update to handle 4.1RC |
20120309.27 | Update to the debug logging to better track down timing issues that might arise. |
20120229.26 |
A few updates for Lr4. Probably the last update for this plugin, unless there are new surprises when Lr4 (or the next Lr4 beta) drops. |
20120213.25 |
I never felt right about how this plugin worked, and finally I have remedied that by splitting it out into two written-from-scratch plugins to replace it, my Collection Publisher plugin and Folder Publisher plugin. They are much more powerful (and much less kludgy) than this plugin. I plan no more development on this plugin, other than updates to allow it to work in Lr4 once it's released. Bumped up the minimum Lr3 version to Lr3.5, to ensure we've got those bug fixes. |
20120114.24 | More tweaks for Lr4b |
20111210.23 | Fixed an issue with NAS on Windows. |
20111208.22 |
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. |
20111104.21 |
Be more verobse on errors which plugin is issuing the error. When doing a plugin upgrade, offer the ability to flush all the old copies of the plugin. |
20111018.20 |
If the target filename changed during a republish (because, for example, you changed the filename template or some metadata used by the template to construct the target filename), the old copy in the target folder was not removed. I don't think it was possible to remove it before a bug got fixed circa Lr3.2 or Lr3.3, but with this release it's working (a name change doesn't leave the old file around). Fixed a crash when having photos in the root of a Collections publish tree. |
20111013.19 |
Added the ability to rename collections. You'd think this would be trivial, but required a huge amount of work under the hood. Ugh. Reporting some errors can create a huge dialog box that can be difficult to close on OSX, so this update adds a [X] button in the upper right of the dialogs. |
20110823.18 | Add the "print resolution" section to settings. It's not really necessary, but saves the user exporting for later print having to do some simple math. |
20110728.17 | Try to warn about name conflicts before a published image actually gets overwritten. |
20110617.16 | If the target format for the export is "Original" (meaning to copy the original master image, sans edits), the plugin will now also copy an XMP sidecar if one exists. This might be used as a half-hearted unreliable form of backup... there's no guarantee that the XMP on disk is actually up to date, and an XMP sidecar doesn't have all the catalog data anyway. It's much better to be religious about backing up your one LRCAT file than a bunch of XMP sidecars, but if there's a sidecar in the first place, the plugin should copy it with the master image if you've configured the plugin to copy master images, so now it does. |
20110615.15 | Warn if an image can't be published because its name would conflict with another in the collection. |
20110420.14 | Added the ability to create new collections in folder-view publish services. |
20110411.13 | Work around a Windows-related bug in Lightroom that caused the plugin to fail if a root folder was present in your Lr catalog. |
20110408.12 | Added some extra logging to try to track down a folder-creation bug |
20110326.11 | Trying to fix the auto-update stuff. |
20110323.10 |
Previous update broke working with collections. |
20110321.9 |
Added the ability to change the location of the root folder. Removed "any plugin metadata" from the list of items that can be selected as triggers for republish, due to a bug in Lightroom related to it. |
20110315.8 |
This version no longer works in Lr3.0 and Lr3.2 because many bugs have been fixed in Lr3.3: if you're using Lr3.0 or Lr3.2, please visit Lightroom's “Help > Check for Updates” to download the free update from Adobe. (The plugin also continues to work in Lr2.) Added support for video. Added the ability to pick what kinds of metadata changes cause an image to be republished (though currently, not all items actually work... I've got to work through some bugs with Adobe). |
20110127.7 | Had a silly typo that prohibited 'z' from folder names... fixed. |
20101219.6 | Enhance a file-move-failure error message to (hopefully) give more info about why the file move failed. |
20101208.5 | Bug fix WRT folder names allowed. |
20100829.4 | Had to take "Beta" out of the plugin title, because the extra length in the name tickled a bug in Lightroom's UI in some cases. |
20100819.3 | Discovered a bug in my plugin build system that caused horribly difficult-to-track-down errors. Hopefully this should fix them. |
20100808.2 | Added some debug logging to help track down some folder-creation troubles. |
20100730.1 | Forgot to include an icon in the zip. |
20100729.1 | Initial beta release. |
Adding or removing keywords doesn’t seem to force an image to be re-published. Anyway to do that?
Thanks, great plugin!
Henri-
It’s not automatic, but you can select the images and invoke “mark for republish” from the published-photos context menu. —Jeffrey
I still get the same type of error message using V20101208.5 with Lightroom 3.3 that I did using V 20100829.4 with LR3.2, as reported on September 23rd:
“Plug-in error log for plug-in at: C:\Program Files\Adobe\Adobe Photoshop Lightroom 3.3\tree-publisher-jfriedl.lrplugin
**** Error 1
This plug-in’s post-processing task did not finish successfully.
Move returned false: copy(C:\Users\Gary\AppData\Local\Temp\53C5902A-16F5-4A1D-8B5E-BE8AEACFECFB\FRONT.jpg, M:\Photos\D_0248 1606 Edward\TEMP\FRONT.jpg)”
Just guessing, but it’s probably a permissions issue, either in removing the image from the temporary location, or in writing it to the target on your M: drive. —Jeffrey
Great plugin. As you and many others, keeping the missus happy with the results of your hobby without having to use RAW files inL Lightroom makes this great. Used to use the Tree Exporter, but using publishing is so much easier, especially the smart leaves! Thanks!
Great Plugin, however, if I enter a folder name which contains the letter “Z” I get an error, that “Z” is not allowed. I have seen, that this was posted before. Will you find the time to fix it in the near future?
Rudolf
Since you didn’t tell me what version of the plugin you’re using, I assume it’s an old one before this bug was fixed, so please upgrade. —Jeffrey
Lance from Northampton, MA*
This tool is terrific, thank you for developing. This culminates for me a 1-year struggle to have a one-stop-shop for organizing, editing, and synching my photos.
*Noho is in Western MA, which is much more similar to say, VT or Maine than it is to the Boston area. And we like it that way
Hi Jeffrey,
I’m interested in this plug-in, because it fits ideally in my workflow. I publish selected pictures which have “basic settings” from one folder to a second one and profit from the plug-in as it replicates the tree structure, except root of course. The published images are imported in a second catalog for fine-tuning and generation of derivatives.
So far so good.
As the published images in the first catalog are no longer needed after having been “published”, I wish to remove them from the first catalog and from disk. But here starts the show stopper : the plug-in also deletes the images from the replicated structure, and that’s definitely not what I want.
My question : does this behavior work as designed, or am I missing some point(s).
Thanks for your advice, and by the way thanks for your great plug-ins.
Patrick, Luxembourg
A workflow that exports copies that are later imported for further refinement goes against the whole concept of what Lightroom is about (which is non-destructive workflow). I suppose that it’s possible for some uncommon workflows to work best that way, but it seems unlikely and fringe. The plugin is definitively designed to keep the replication of copies on disk in line with copies in the catalog, so if you remove from the catalog, you remove from disk. —Jeffrey
Just trying it out.
Tiny bug : Windows 7 / LR3 . When you create a new folder in say the W: drive for the export destination the form is filled out with “W:\new folder” which is what windows first gave the dir name but is immediately changed to whatever you type in. Browse a second time and you can choose it.
Bug #2 – I selected the majority of my collection using smart filters (filter out directories named ‘reject’, pictures marked w/ reject flag, and pictures marked with color yellow == don’t publish). On the initial publish it came back with “not enough memory (893)” out of 6000+ pics. I have 3G of memory on Windows 7, LR 3.3 32-bit. The images are mostly 14Mp NEFs.
Regardless, I’m loving this plugin.
Not sure why this would happen, but in the mean time you can get around it by selecting a subset of a few thousands pictures, then hold down the ALT key and you’ll see that the “Publish” button changes to “Publish Selected”. I’d think it’s better to do that than to let it crash. —Jeffrey
Sorry about so many follow-ups, wish I could add to the existing comment. I just confirmed that it does in fact run out of memory. So there seems to be a memory leak going on here. It was 33% through the roughly 7000 pictures and was up to 1.4G resident and started to swap/thrash.
Jeffrey — it would be helpful if one could select multiple leaf folders and publish them all at once, with one click. I realize that you would probably want to have some heuristic model to figure out just how many can be done in parallel vs sequentially, but even if all were done sequentially, it would cut out a lot of workflow inefficiencies when using this utility. I’m a huge supporter of yours as you know!
Lightroom should allow you to do exactly that, but in any case, a plugin has no influence over that kind of stuff, much to my dismay. A plugin can only respond to requests from Lightroom to conduct a publish operation. —Jeffrey
Will the Tree Publisher replicate the Lightroom Folder Structrue ? If so, how do I set that up? I tried setting the root folder to the same folder LR is using and I was hoping the Tree Publisher would pick up the subfolders from there. I made some test Collections and it worked as ecpxpected with the collections I made within Tree Publisher, but I don’t want to hand enter all the folders and sub folders in my project into the Tre Publisher and I don’t think I have to.
Can you get me on track, I think The Tree Publisher is what I need, If I can figure it out.
Thanks again,
Ron
Yes, it can be set up to replicate the Lightroom folder structure. (That’s one of two modes, the other being to match on disk the collection hierarchy you create). The plugin is free, so just give it a try. —Jeffrey
Hi Jeffrey,
I’ve recently picked up this plug in. Boy, I wish I had it before now, would have saved a lot of time creating manual publish collections for every event I store raw images for. I have 2 usage cases, the same one you mention above, SAF, and second one which is iphone/ipad.
My raw images are stored like:
Year -> Date-Event
Which works very well for storing the raws and for browsing from our various pc’s/tv streamers and your catalog folder replication option serves this perfectly. However, itunes (iphone/ipad) only support one directory level so I had setup a hard drive publish service where I use folder names to create smart folders that put everything from all years into one folder, so I just get Date-Event in that folder (No Year -> directory in there). I don’t mind maintaining that, although I’d prefer to do away with it. I don’t thin your plugin can help with that but I was hoping it could help me avoid having to create 2 of these manual publish lists.
Where I thought your plugin could help was I could create that publish service for say my ipad (one resolution) and use your tree feature to duplicate it for iphone (different size photos, this all by the way is in the interest if saving iphone/ipad flash space) through the “Collection replication” feature. However, when I tried to do this, I filled a smart leaf folder by using “Published via” and the name of my hard drive collection “ipad”. This pulls out all of the photos, however, when I publish, every photo goes into the same directory and I lose the Date-Event directory which means I lose the album capability on the iphone.
Is there any way to accomplish this with the plugin as it is now?
thanks!
I would have thought that a “folder” tree-publish publish service would always refer to the folder of the master image on disk, regardless of what kind of collection was used to indicate inclusion in the publish service. Perhaps you picked the wrong kind when creating the service? BTW, I had the impression that iTunes resized photos for the device, so the same JPG on disk ends up taking a different amount of space on an iPad vs. an iPhone. This has always bothered me about viewing images on my iDevices, because I want the full resolution but it’s not there. In your case, it’s a welcome effect. —Jeffrey
Unexpected behavior. Version 20110420.14, Windows, LR3.4
Hi Jeffrey, I learned today that if a ‘genuine’ photo and a virtual copy are in the same export folder, the plug in doesn’t seem to assign a new name to the virtual copy. (Overwrites). In addition, the virtual copy will remain in a state of “New Photos to Publish”. Paul
You choose how the filename is assigned in the File Naming section of the setup. The default filename is derived from the image filename and the copy name. Not sure about why the VC isn’t moving to Published … I’ll take a look. —Jeffrey
After enabling “Renaming to: Filename – Sequence”, all behaviors are as expected. Thanks for the help. Paul
Yikes, I have no idea what “sequence” will do with the non-linear over-time export of Publish. It’s possible that it’ll (somehow?) do the right thing (whatever that is), but I doubt it(!) —Jeffrey
Hello Jeffrey,
I’m happily using the Tree Publisher plugin with Lightroom 3.4. As i happen to live in Germany I wonder if it is perhaps possible to fix that the plugin accepts “umlaut” vowels like ö, ä, ü? This would be great. Thanks. Steffen
I don’t understand the problem. Where are they not accepted now? —Jeffrey
Re: my earlier report, this was in the LR 3.4.1 Readme as a fixed bug,
“Virtual Copies added to a Publish to Hard Drive collection could fail to export properly if
the original image had already been published”.
Perhaps this explains something. Paul
I use your smugmug uploader and am very pleased with it. I saw this new plugin and it replicates a task that I have been doing manually to put a smaller copy on my network drive. Very easy to setup, created a smart folder to publish any picture that I uploaded to smugmug. Works great. Published a little over 5000 photos. I also had the problem with virtual copies, but I changed the publish to rename and the publish completed correctly. Thanks
Dublin, Ireland
Brilliant plugin, has solved same problem for my wife (& rest of family 😉 – but now she also needs an export of a sub-folder in the catalogue with a different configuration – can this be done? A publish session to only action a particular branch & its subfolders, rather than the complete catalogue?
Many thanks,
Gary
You can create a second publish service with the plugin, with the settings particular to the needs of the subbranch, and add only that subbranch to it. —Jeffrey
I’ve set up a second Publish service, but have to admit defeat on how to configure it to only work on a branch of the catalogue … shots of my wife’s paintings are all in & under a folder ‘_Art’ off my catalogue’s root folder, but I cannot get it to only export the files within _Art and its sub-folders 🙁
Please can you let me know what I should be doing in the setup!
Many thanks again,
Gary
Which photos should be included is not part of the settings, but manifest in what photos you add (or have added) to the various collections in the publish service. They all start out empty, but you can drag individual photos to them, or create smart collections that calculate the photos to include. In your case, you’d want a smart collection that identifies only the photos in _Art and its subfolders. Lightroom doesn’t make this particularly easy, but it could be as simple as a smart-collection rule “folder begins with ‘_Art'”. If you have no other folders anywhere in Lightroom starting with those four characters, it should be what you want. —Jeffrey
Greetings from Greece!
Let me start by saying amazing plugins and excellent work! Although you must already know that by now!!! 🙂
Now on to my “problem/question”!
I gave the plugin a try but did not manage to accomplish what I needed, maybe I did not understand the post very well. I have my lightroom folder structure based on pic creation date(YYYY/YYYY-MM) and have sorted the “albums/events” through collections e.g. (Collection Root/2009/Sister’s Birthday).
What I would like to do, is to export/publish my images on an external hdd with the current collection tree structure as a folder structure on the external hdd. e.g. (My Pictures/2009/Sister’s Birthday)
I thought I could set the tree publisher’s ‘root’ folder to “sync” with my ‘Collections Root’ collection set and it would automatically make the underlying subcollections as folders on my destination.
Can this be done or must I make a leaf folder for each of my subcollections and manually move my images from my regular subcollections to the leaf folders?
Thank you for your time! And bravo once again for your excellent work!
Prokopis
It doesn’t automatically replicate the collections… Lightroom doesn’t really provide a way to do it. I could have the plugin move the collection tree, I suppose, into the Publish service, but a mirroring is not currently reasonably possible in Lightroom as it stands now. —Jeffrey
Thanks for the .16 update… I use .xmp side cars as part of my backup flow (auto-write is checked on). I had two C: hard drives crash on me over the last week, the first taking my LR catalog and about a week’s worth of un-backed up work with it. Fortunately I didn’t have too much “lost” data to rebuild because I could re-import the metadata from the side cars. Mostly what I had to rebuild were a few flags (easy to find those as the “good” photos were the ones with develop settings applied) and the geo tags since I’ve come to rely on your Shadow Data for speed. But, track logs to the rescue there!
I have tried the plugin, and it does approximately what I need. However I have two questions:
– I want to use this as you do, but need to change the name of the smart leaf folder below the root. This isn’t yet implemented. Any idea when?
– If I set this up, I don’t want to do it again with another utility after 6 months when the free license expires. Could you give me an idea when this will be a permanent plug-in, and how much you will ask for it?
Thanks,
Bob Siegel
I don’t understand what you’re asking abut changing a name below the root… with a folder-structure tree, the name comes from the folders that the master images are in. With the collection tree, the names come from the collections you create, so you can just change them there. About the “license”, I’d actually forgotten that I hadn’t moved this plugin over to my “donationware” model. I’ll probably do that soon… it’ll remain free, but optional registration will require a (1-cent, if you like) transaction at PayPal. —Jeffrey
Great plugin! Thanks for all of your time and effort!
Is there anyway for the plugin to only publish the first photo of a “stack” of photos? Thanks Jason
Well, I’d think you’d accomplish this by not putting the not-first photos into the publish service… (?) —Jeffrey
I have created the “tree” I need to do my export, but noticed one problem….. I choose the images from my collections by matching the name of the collection in a “leaf folder”. However the order in which the images are exported, and also the order in which i see them in the leaf folder, is not the “user order”. I have sorted the images in the original collection as I wish to have them, but this order is not preserved in the leaf folder. Am I doing something wrong, or is what I want not possible?
Thanks in advance.
Not easily possible. The ordering in the folder is up to the OS, but is usually a name sort, and there’s no reasonable way to force Publish to pick names that will sort in the order you want. Even worse, if you reordered photos, the plugin would have to rename all the affected files. There’s no easy solution here, sorry. —Jeffrey
Hi,
thank you for your great plugin! I recently upgraded to the latest version, but i also reinstalled my pc. So I don’t know where this issue comes from, also I didn’t find a possibility to downgrade.
This is my issue:
If i click on publish it takes very long before publishing even starts (more than a minute) the progress bar just stays empty and logging doesn’t even start either. As soon as publish starts its fast. This didn’t happen before my new pc or before this new version.
Any hints?
Thank you!
Where is the target folder? Is it on a network disk that needs to be re-established, or something like that, before the export can actually proceed? —Jeffrey
Is it possible to create a published structure that has both folders and files at the sames levels of the tree?
At the moment it looks like a folder can only contain either more folders or pictures but not both. Is that the case?
(an example being that I want the root folder to contain several folders, but also an image that will be used by my website software as the background to the rest and this needs to be held at the top level)
many thanks,
Chris
When you create a non-leaf folder, it gives the option to have another folder represent the root of the non-leaf folder. If you didn’t make it at the time, you can do so by naming a leaf folder “root”. it’s a horrible kludge, but the best I could come up with given the severe limitations imposed by Lightroom. —Jeffrey
Not sure if this is by design, but I noticed that it appears to leave empty folders behind when deleting the last image in a folder. Ex: If I have the following published
2011/09/image01.jpeg … imagexxx.jpeg
2011/10/image01.jpeg … imagexxx.jpeg
and then I remove all the images in the 2011/09 folder from the collection, the images are deleted, buy the folder remains. Again, this may be by design, but I occasionally find myself deleting empty folders.
Brian
It’s not so much “by design”, but “not really thought about”. But thinking about it, if the empty folder is wanted for some reason, deleting it is much worse a problem than leaving one that’s unwanted, so the plugin should probably not delete folders. —Jeffrey
This is just what the doctor ordered for my routine batch exports. One thing though… I’m seeing the tree being exported as a series of dates (the default LR tree). My LR Catalog is as follows:
Photographs > Shoot Name > Year > Day. Year and Day being the default tree structure. Am I missing a setting or is there not yet a capability to get my custom tree structure exported exactly. It would save me quite a bit of work in resorting the exports. Thanks for the great work behind this and your other plug-ins.
The plugin has two modes, locked in on a Publish Service basis. One is where it mirrors the folder structure as seen in Lightroom (and on disk), and the other where it mirrors whatever collection hierarchy you create within it. —Jeffrey
Hi Jeffrey
I like your Tree Publisher service. However, I am having a small problem. As the iPad has limited sort functions, I export the images with sequence numbers (Image-10.jpg and so on) with suppressed Exif, so it sorts by name. If I publish multiple subfolders in a batch, I get for each folder an error message (multiple files with same name).
First I do not understand, why it sees multiple files with same name, as each image has a different name (there is some explanation in the message box, but the text is truncated).
Second the error message comes up with each subfolder, so batch does not really work. Can the check not be disabled?
Thanks and regards
Rudolf
Sequence numbers make no sense in the context of Publish (this publish plugin, or any)… sequence numbers make sense only in a one-time “here are all the images, spit them out in order” export. Publish is a back-and-forth over time, so sequence numbers just shouldn’t be used. —Jeffrey
Thanks for this plugin! I have the same problem as a few others here: When I remove the photos from the collection, the plugin also deletes the exported files. Luckily I didn’t delete the originals. Here’s what I am trying to use this plugin for: I export my DNG originals as compressed DNG’s. This way the settings follow the files and also file size is greatly reduced. Once I am done with that, I would import these files to my storage catalog. I want to keep my working catalogue as small as possible.
Hopefully there would be an update where you could choose whether the plugin deletes the exported photos after they are deleted from Lightroom catalogue or removed from the collection.
That seems reasonable… I just pushed a new version with that option. But by the way, look into Lr5’s “Smart Previews” to solve your small-catalog needs. —Jeffrey