{"id":1555,"date":"2010-06-27T22:56:41","date_gmt":"2010-06-27T13:56:41","guid":{"rendered":"https:\/\/regex.info\/blog\/lightroom-goodies\/zenfolio\/publish"},"modified":"2010-06-27T22:57:15","modified_gmt":"2010-06-27T13:57:15","slug":"publish","status":"publish","type":"page","link":"https:\/\/regex.info\/blog\/lightroom-goodies\/zenfolio\/publish","title":{"rendered":"&#8220;Publish&#8221; in Jeffrey&#8217;s Export-to-Zenfolio Lightroom Plugin"},"content":{"rendered":"<p style='margin:0; padding:0; color:#666; font-size:90%'>This page documents plugin version     \n   \n  20130612.230 as of June 12, 2013\n    \n  \n<\/p>\n\n<img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"438\" class=\"ic\" src=\"\/i\/p\/lr_with_empty_list_of_publish_services.png\"\/>\n\n<p>This page describes the Publish aspect of <a href='\/blog\/lightroom-goodies\/zenfolio'>my export-to-Zenfolio plugin<\/a> for\nAdobe Lightroom.  The &#8220;normal export&#8221; portions of the plugin work in all\nversions of Lightroom from Lr 2 on, but its Publish features, described on this page, work only in Lr3.3 and later.\n\n\n<p style='color:#F66; font-size:110%'><span style='font-weight:bold; color:red'>Warning:<\/span> The idea behind\nPublish is simple enough, but if you hope to avoid unpleasant surprises,\nyou must understand important details before getting started with it.<\/p>\n\n<style type='text\/css'>\n .post_container { background-color: #2C2C2C; font-size: 105% }\n body   { color: #AAA }  \/* #C4B98F *\/\n body b { color: #CCC }  \/* #C4B98F *\/\n\n div.section { border-left: 10px solid black; padding: 10px 0 10px 10px; margin-bottom:20px }\n\n\n div.section:nth-child(3n)   { border-color: rgba(255,128,18,0.05) }\n div.section:nth-child(3n+1) { border-color: rgba(128,255,18,0.05) }\n div.section:nth-child(3n+2) { border-color: rgba(255,0,0,0.07) }\n div.section:nth-child(3n+3) { border-color: rgba(128,128,255,0.05) }\n\n .h  { font-size: 130%; font-weight: bold; color: white; margin-top: 0 }\n .h2 { font-size: 105%; font-weight: bold; margin-top:20px; color: white }\n .defn { color: #F88; font-weight: bold }\n .todo { color: red }\n .cmd  { margin-left: 3em }\n .float_sidebar_right {\n   float:right;\n   padding: 0;\n   margin: 0 0 30px 3em;\n   text-align:center;\n }\n .float_sidebar_right img { border:0; margin:0; padding:0 }\n .badimg { border: 5px solid red!important }\n\n  div.warning {\n        background-image: url(http:\/\/regex.info\/i\/p\/warning.png);\n        background-repeat: no-repeat;\n        background-position: 20px 20px;\n        background-color: black;\n        border: solid 1px white;\n        margin:60px 50px;\n        padding-left: 120px;\n        padding-top: 15px;\n        padding-right: 2em;\n        min-height: 95px;\n  }\n  div.warning p:first-child { margin-top:0px }\n\n<\/style>\n\n\n<div class='section' id='premise'><p class='h'><a class='permalink' href='#premise'>Basic Premise of Publish: <i>Ongoing Relationship<\/i><\/a>\n<\/p>\n\n<p>The premise is simple: drag a photo to a special collection in\nLightroom, and <i>voila<\/i>, it's sent to Zenfolio. From then on, changes that\nyou make to the photo in Lightroom are automatically kept up to date in the\ncopy at Zenfolio.<\/p>\n\n<p>Ah, but the devil is in the details...<\/p>\n\n\n\n\n\n   <p>First of all, Publish is an extra feature <b>in addition to<\/b> the\n   &#8220;normal&#8221; export offered by Lightroom via this plugin (and earlier\n   versions of this plugin all the way back to Lightroom 1). Publish allows\n   you to set up an ongoing relationship between specific images in your\n   Lightroom catalog and their appearance at Zenfolio. This kind of ongoing\n   relationship makes a lot of sense for some situations, while the normal\n   export we've had since Lr1 makes more sense in others.<\/p>\n\n   <p>Here's a hint: if it's a situation where you'd consider setting up an\n   export preset that you'd use via &#8220;<b>File &gt; Export with\n   Preset<\/b>&#8221;, Publish is worth a look.<\/p>\n\n\n\n<p>Because Publish involves setting up an ongoing relationship, it's more\ncomplicated than simply firing off an export. The length of this document,\nwhich covers only Publish and assumes you're already familiar with\nnormal export, attests to the extra complexity. But once the initial\nup-front fee has been paid with your time and attention, you'll reap the\nbenefits from then on.<\/p>\n\n<\/div>\n\n<div class='section' id='defn'><p class='h'><a class='permalink' href='#defn'>Introduction and Important Definitions<\/a><\/p>\n\n<p>Generally speaking, Publish functionality is provided by a <span class='defn nobr'>Publish\nService Provider<\/span>. Lightroom comes with a few publish service providers:\nthe built-in &#8220;Hard Drive&#8221; provider, a bare-bones Flickr plugin and a Behance plugin. You\ncan add additional publish service providers by <a\nhref='\/blog\/lightroom-goodies\/plugin-installation\/'>installing<\/a>\nappropriate plugins, such as\n\n\n\n\n     <a href='\/blog\/lightroom-goodies\/flickr'>my fuller-featured Flickr plugin<\/a> and this Zenfolio plugin.\n\n\n(I have plenty of other publish plugins available on my <a\nhref='\/blog\/lightroom-goodies'>Lightroom Goodies<\/a> page,\nand there may well be other Publish plugins available on Adobe's <a\nhref='http:\/\/www.adobe.com\/go\/lightroom_exchange'>Lightroom Exchange<\/a>\nsite.)<\/p>\n\n<div class='float_sidebar_right'>\n<img loading=\"lazy\" decoding=\"async\" width=\"236\" height=\"204\" class=\"raw\" src=\"\/i\/p\/lr_publish_set_up-zenfolio.png\"\/>\n<br\/>\nAfter installing the Zenfolio plugin, you\n<br\/>can configure your publish service\n<\/div>\n\n<p>Before you can use Publish to send images to Zenfolio, you must first\nconfigure the particulars about how the exports are to be done, such as\ndeciding on the size and quality of the exported images, and the details\nabout which account at Zenfolio they should be sent to. This configuration,\nwhich you generally do only once, creates a <span class='defn nobr'>Publish Service<\/span> in your\nLightroom catalog.<\/p>\n\n<p>You can have multiple Zenfolio publish services (all provided by the one\nplugin), but it makes sense for most people to have only one. However, if\nyou have multiple accounts at Zenfolio that you'd like to send images to with\nPublish, you'll need to configure multiple Zenfolio publish services.<\/p>\n\n<p>Important details about creating a publish service are covered below,\nbut for the moment, let's wave our hand and say that the publish service\nhas now been set up as you like.<\/p>\n\n<p>After you've configured a publish service in your Lightroom catalog, it\nis represented in your Lightroom library as one or more <span class='defn nobr'>publish\ncollections<\/span>, each holding\n\n\n\n\n\n    the group of photos that are to be sent to a particular gallery in your\n    Zenfolio account. Just drag a new photo to it, press the &#8220;Publish&#8221;\n    button, and the photo is rendered and uploaded to the associated gallery\n    at Zenfolio.<\/p>\n\n    <div class=\"float_sidebar_right\">\n    <img loading=\"lazy\" decoding=\"async\" width=\"276\" height=\"215\" class=\"raw\" src=\"\/i\/p\/lr_publish_collections-zenfolio.png\"\/>\n    <br\/>\n    Several publish collections in a\n    <br\/>Zenfolio publish service\n    <\/div>\n\n\n\n\n<p>Just like regular Lightroom\ncollections, a publish collection can be either a <span class='defn nobr'><i>regular<\/i> publish\ncollection<\/span> that holds whatever photos you manually add to it, or a\n<span class='defn nobr'><i>smart<\/i> publish collection<\/span> whose list of photos is computed by some\ncriteria that you set up (e.g. &#8220;all five-star photos taken this\nyear&#8221;).<\/p>\n\n\n<p id='states'>A <span class='defn nobr'>published photo<\/span> is a photo that's part of a publish collection.\nAt any particular time, a published photo is in one of four publish\nstates:<\/p>\n\n<ol>\n\n<li><p><b>New Photos to Publish<\/b> &mdash; photos that have been added to\nthe publish collection, but have not yet actually been sent to Zenfolio.\nThey'll be sent to Zenfolio the next time you launch Publish (via the\n&#8220;Publish&#8221; button).<\/p><\/li>\n\n<li><p><b>Published Photos<\/b> &mdash; photos that have been sent to Zenfolio and\nhave not been modified in your Lightroom catalog since.<\/p><\/li>\n\n<li><p><b>Modified Photos to Re-Publish<\/b> &mdash; photos that have been sent\nto Zenfolio, but which have been modified in Lightroom since. They will be\nre-sent to Zenfolio the next time you launch a Publish action.\n\n\n\n<\/p><\/li>\n\n<li><p><b>Deleted Photos to Remove<\/b> &mdash;\n\n\nNON_FACEBOOK {\n\n   photos that have ostensibly been removed from the publish collection,\n   but have not yet been removed from Zenfolio. (Whether to actually remove a\n   photo from Zenfolio when it is removed from your publish collection is\n   controlled by publish-service options, discussed below.)\n\n}\n\n\n<\/p><\/li>\n\n<\/ol>\n\n<div class='float_sidebar_right' style='margin-top:15px'>\n<img loading=\"lazy\" decoding=\"async\" width=\"463\" height=\"400\" class=\"raw\" src=\"\/i\/p\/lr_publish_segmented_grid-zenfolio.png\"\/>\n<br\/>\nSegmented grid showing photos in a publish\n<br\/>collection in various states of Publish\n<\/div>\n\n<p>When viewing a publish collection in Grid mode, you can see the photos\npartitioned into their various states in the <span class='defn nobr'>segmented grid<\/span> with\nheaders as listed above (and illustrated in the screenshot at right).<\/p>\n\n<p>You can add and remove photos from a normal publish collection as you\nlike (and they are automatically added and removed from smart publish\ncollections as per the criteria that you've set up), but nothing is\nactually done with them until you launch Publish, via the &#8220;Publish&#8221;\nbutton. The Publish button appears in the lower left of Lightroom, in place\nof the &#8220;Export&#8221; button, when viewing a publish collection, as in the\nscreenshot at right.<\/p>\n\n<p>There's also a &#8220;Publish&#8221; button in the upper right of the segmented grid.<\/p>\n\n<p>When you actually launch a Publish action, Lightroom fires up an export\nunder the hood, and photos are rendered as per the various settings\nconfigured when the publish service was created (the details of which\nfollow in the next section of this document). As each photo is uploaded to\nZenfolio, it's moved to the &#8220;Published Photos&#8221; section. You can click on\neach segmented-grid section's header to expand and collapse it; if they're\nall collapsed you can watch their photo counts, shown at the right side of\neach segmented-grid header, update in real time.<\/p>\n\n<\/div>\n\n<div class='section' style='margin-top:50px' id='maintenance'><p class='h'><a href='#maintenance' class='permalink'>First Things First: Knowing Your Current Vantage Point<\/a><\/p>\n\n<p>Before creating a Publish Service to reflect an ongoing relationship\nwe'd like to have between this Lightroom catalog and Zenfolio, it's probably a\ngood idea to make sure that any information about photos at Zenfolio already in\nthe catalog is correct, and that it has all the information about all the\nphotos at Zenfolio that it should.<\/p>\n\n<p>These catalog-maintenance features are not specific to Publish, but particularly worthwhile before setting up a\nPublish Service (though you don't have to worry about this if you just want to play around with Publish to give it a\ntry).<\/p>\n\n<p>Of course, if you're new to Zenfolio, you don't need to worry about this section at all.<\/p>\n\n<p>The Zenfolio maintenance has two general steps, followed by one Publish-specific step:<\/p>\n\n<ol>\n\n   <li><p><b>Refresh<\/b> &mdash; Refresh the per-photo Zenfolio data already in the Lightroom catalog.<\/p><\/li>\n\n   <li><p><b>Associate<\/b> &mdash; Add per-photo Zenfolio data for images in your catalog that are already at Zenfolio that the\n   catalog doesn't know about.<\/p><\/li>\n\n   <li><p><b>Populate<\/b> &mdash; Pre-populate Publish Collections with appropriate photos on a per-gallery basis, so that Publish\n   reflects the current status at Zenfolio.<\/p><\/li>\n\n<\/ol>\n\n<p>Steps #1 and #2 generally need be done only once, and are discussed in this section. Step #3, <b>Populate<\/b>, might\nbe done every time you create a new Publish Connection, and is discussed <a href='#create_normal'>later in this\ndocument<\/a>.<\/p>\n\n<div class='img_right' style='text-align:center;margin: 0 0 20px 1em; padding:0'><img loading=\"lazy\" decoding=\"async\" style='margin-bottom:8px' width=\"440\" height=\"281\" class=\"raw\" src=\"\/i\/p\/lr_plugin_extras-zenfolio.png\"\/>\n<br\/><b>File &gt; Plugin Extras &gt; Zenfolio Extras<\/b>\n<\/div>\n\n<p>Steps #1 and #2 are accomplished via the <b class='nobr'>File &gt; Plugin Extras &gt; Zenfolio Extras<\/b> dialog,\nwhich is shown at right. The two items we're concerned with for the moment are highlighted by the red outline.<\/p>\n\n<p>The maintenance items in this dialog work with the Zenfolio account that the plugin has most recently worked with. If you\nwork with multiple Zenfolio accounts in Lightroom (or have not worked with any yet), you'll want to first visit the normal\nExport Dialog or a Publish Service's <a href='#edit'>Edit Settings<\/a> dialog to make sure you're authenticated to the\nZenfolio account you want to work with here. The account name is shown in the upper-left of the dialog, under the logo\ngraphic.<\/p>\n\n<p id='refresh_urls' class='h2'><a href='#refresh_urls' class='permalink'>Maintenance Step #1: Refreshing Urls<\/a><\/p>\n\n<p>The &#8220;<b>Refresh All Remote Urls<\/b>&#8221; item in the dialog looks at every photo in the catalog that already\nhas Zenfolio-related data, and confirms with Zenfolio that the data is up to date, correcting it if it's not. This \"correcting\"\nincludes marking a Published photo to be republished if its copy at Zenfolio is found to have been deleted.<\/p>\n\n<p>If you've got a lot of Zenfolio\/Lightroom history it might be a good idea to do this once, but otherwise, you probably\nneed to do it only after making sweeping changes at Zenfolio &#8220;out from under&#8221; Lightroom, such as doing mass deletions\nof photos at Zenfolio,\n\n  \n\n  \n\n<\/p>\n\n<p>Because this involves contacting Zenfolio for every photo, be prepared that this step can take a long time if you have a\nlot of photos.\n\n    \n\nBut it's important to do at least once if you have Zenfolio history in this catalog, because the next step,\n&#8220;Associate Images&#8221; needs the currently-correct URL of each photo at Zenfolio to work.<\/p>\n\n\n\n<p id=\"claiming\" class='h2'><a href='#claiming' class='permalink'>Maintenance Step #2: Associate Images<\/a><\/p>\n\n<p>Step #2 involves checking every photo at Zenfolio against every photo in your catalog, finding and remembering pairings\nthat Lightroom didn't already know about. This also generally needs to be done only once, and only if there are photos\nat Zenfolio that you uploaded outside of Lightroom.<\/p>\n\n<div class='warning'>\n\n   <p>There is some risk in this step, due to the ramifications that could ensue from mistakenly pairing up the wrong\n   Lightroom\/Zenfolio photos. When Lightroom thinks that a particular catalog photo is already represented at Zenfolio, subsequent\n   exports of the photo to Zenfolio could result in <b>replacing<\/b> the copy (it thinks is) already there. All exports via\n   Publish are &#8220;replace&#8221; exports, as are normal exports with the &#8220;replace&#8221; option turned on.<\/p>\n\n   <p>The danger, therefore, is in replacing the wrong photo, thereby unintentionally deleting the unlucky unrelated photo\n   at Zenfolio, and associating the new image with any comment history the unrelated image had accumulated.<\/p>\n\n<\/div>\n\n<p>You can have the plugin inspect photo dates and\/or filenames for the pairings.\nBecause of the risks, the plugin is very conservative about it:<\/p>\n\n<ul><li><p>Photos that share the same capture time are paired up when there's an exact one-to-one correspondence.<\/p>\n        <p>If there are multiple photos taken at the same time at Zenfolio, or in Lightroom, none of them are paired up.\n           Times are compared down to the second, but not sub-second, which means that shots taken during a high-speed\n           burst can not be paired up.<\/p><\/li>\n\n    <li><p>Photo filenames (without the filename extension) are compared, and if there's an exact one-to-one correspondence,\n           they are paired up. If you change the name of the file during export to Zenfolio, it makes no sense to attempt\n           filename pairing, nor does it if most of your filenames are not unique.<\/p><\/li>\n\n<\/ul>\n\n<p>This step can take a very long time. One test I did with 10,000 images in Lightroom and 5,000 at Zenfolio took about\nthree hours. At least it can now complete &mdash; plugin versions prior to July 2010 hit a Lightroom bug that often\ncaused the process to essentially lock up, but with some pointers from Adobe, I think I've worked around that now.<\/p>\n\n<p class='h2'>Maintenance Step #3: Populating Images<\/p>\n\n<p>This publish-specific step is covered below, beginning with the creation of a Publish Service...<\/p>\n\n<\/div>\n\n\n\n<div class='section' style='margin-top:50px' id='create'><p class='h'><a class='permalink' href='#create'>Creating a Zenfolio Publish Service<\/a><\/p>\n\n\n\n\n\n<p>Let's look in detail at configuring a publish service to export to your\nZenfolio account. Make sure that the Zenfolio plugin is installed and enabled, then\nclick on the &#8220;Set Up...&#8221; of the Zenfolio header in Library's list of publish\nservices.\n\n\n<\/p>\n\n<div style='margin:0' class='ic'><img loading=\"lazy\" decoding=\"async\" width=\"236\" height=\"204\" class=\"raw\" src=\"\/i\/p\/lr_publish_set_up-zenfolio.png\"\/><\/div>\n\n<p>This brings up the <span class='defn nobr'>Lightroom Publishing Manager<\/span>, a dialog that\nlooks like a cross between the normal export dialog and the Plugin\nManager...<\/p>\n\n<div class='wide ic tight'><img loading=\"lazy\" decoding=\"async\" width=\"910\" height=\"465\" class=\"raw\" src=\"\/i\/p\/lr_publish_manager_overview-zenfolio.png\"\/><\/div>\n\n<p>Items show up in the list of Publish Services (highlighted in\nthe upper left) when their plugin is installed and enabled in the Plugin\nManager. Old Lr1 or Lr2 plugins won't provide this new feature, of course,\nbut most of my &#8220;export to...&#8221; plugins, including Zenfolio, do.<\/p>\n\n<p>If any of the plugins you have installed provide <span class='defn nobr'>export filters<\/span>,\nthey are listed in the middle-lower-left section of the Publishing Manager,\njust as they are in the normal export dialog. Lightroom does not come with\nany export filters built in, but they can add powerful features to your\nexports &mdash; both normal and publish &mdash; so it behooves you to know\nwhat's out there. Popular ones include my <a\nhref='\/blog\/lightroom-goodies\/metadata-wrangler\/'>Metadata\nWrangler<\/a> for controlling exactly what metadata is included in exported\ncopies, my <a\nhref='\/blog\/lightroom-goodies\/gps\/'>geoencoding\nsupport<\/a> shadow injecter for ensuring that the geoencoded location is\nproperly included, and Tim Armes' <a\nhref='http:\/\/www.photographers-toolbox.com\/products\/lrmogrify2.php'>LR\/Mogrify<\/a>\nplugin for advanced watermarking and image borders.<\/p>\n\n<p>The main panel of the Publishing Manager shows the export\/service\nsettings for the Publish Service that's about to be created (an\nexport-to-Zenfolio service in the example above). Like the normal export\ndialog, it has numerous sections; let's look at them in detail....<\/p>\n\n\n\n\n\n<p class='h2' id='service-naming'><a href='#service-naming' class='permalink'>Naming your Publish Service<\/a><\/p>\n\n<p>The first section allows you to give your export service a name, so you\ncan keep them straight if you have more than one.<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" width=\"585\" height=\"79\" class=\"raw\" src=\"\/i\/p\/lr_publish_settings-1-name-zenfolio.png\"\/><\/div>\n\n<p>If you have only one Zenfolio account, you probably want to leave it at its\ndefault of &#8220;jf Zenfolio&#8221;. It looks ugly in this dialog, but when left at\nits default it won't even be shown in the list of publish service in\nLibrary, as seen in the screenshots above. If you set your own name, such\nas &#8220;My Zenfolio Stuff&#8221;, it shows up in the Library list as &#8220;jf Zenfolio:\nMy Zenfolio Stuff&#8221;. So if you need just one Zenfolio publish service, it's cleanest\nall around to just leave the name at its default. You can always change it later.<\/p>\n\n<p>However, if you have multiple accounts, you'll want to name them,\ne.g. &#8220;Zenfolio Work&#8221; for one and &#8220;Zenfolio Play&#8221; for another.<\/p>\n\n\n\n\n\n<p id='login' class='h2'><a class='permalink' href='#login'>Which Zenfolio Account?<\/a><\/p>\n\n\n<p>The next section is where you\n\n\n\n\n\n\nprovide your Zenfolio account credentials.\n\n<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" width=\"585\" height=\"158\" class=\"raw\" src=\"\/i\/p\/lr_publish_settings-2-login-zenfolio.png\"\/><\/div>\n\n\n\n\n\n<p>Once the publish service has been created, <b>you can not change the\nassociated account<\/b> for the publish service, and this section becomes\ndeactivated during a publish-service edit. (You can make another publish\nservice for use with a different Zenfolio account, or even for use with the\nsame Zenfolio account but with different export options.)<\/p>\n\n\n\n<p id='loc' class='h2'><a class='permalink' href='#loc'>Export Location<\/a><\/p>\n\n\n<p>The next section is also available only at publish-service create time:\nsetting the export location:<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" width=\"589\" height=\"153\" class=\"raw\" src=\"\/i\/p\/lr_publish_settings-3-loc.png\"\/><\/div>\n\n<p>Most people leave the export-location setting at the default of\n&#8220;Temporary folder&#8221;, but you might set it to some specific named folder\nif you want to keep a local copy of all the images that have been published\nto Zenfolio. Again, Lightroom does not allow this setting to be changed once\nthe publish service has been created.<\/p>\n\n\n\n\n<p class='h2' id='standard-export-settings'><a href='#standard-export-settings' class='permalink'>Various Standard Lightroom Export Settings...<\/a><\/p>\n\n<p>The next sections are all the same as in the standard Lightroom export\ndialog...<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" width=\"589\" height=\"191\" class=\"raw\" src=\"\/i\/p\/lr_publish_settings-4-etc.png\"\/><\/div>\n\n\n\n   <p>These settings, such as the image size and quality, <i>can<\/i> be changed\n   later, but doing so means that you have to re-publish (re-render and\n   re-upload) everything you'd already sent to Zenfolio, at least if you want the\n   setting changes to be reflected in the images already at Zenfolio. More on this\n   later, but it's best to pick the settings you want up front, so you don't\n   have to change them later.<\/p>\n\n\n\n\n\n\n<p class='h2' id='filters'><a href='#filters' class='permalink'>Export Filters<\/a><\/p>\n\n<p>The next sections are for export filters you have installed and enabled,\nif any. Here's an example illustrating what some sections from <a\nhref='\/blog\/lightroom-goodies\/metadata-wrangler\/'>Metadata\nWrangler<\/a>, <a\nhref='\/blog\/lightroom-goodies\/run-any-command\/'>Run Any\nCommand<\/a>, and <a\nhref='http:\/\/www.photographers-toolbox.com\/products\/lrmogrify2.php'>LR\/Mogrify<\/a>\nmight look like...<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" width=\"589\" height=\"159\" class=\"raw\" src=\"\/i\/p\/lr_publish_settings-5-filters.png\"\/><\/div>\n\n<p>The blue rectangle marks Lightroom's controls for adjusting the order\nthat the filters are applied, and for removing them altogether.<\/p>\n\n<p>Each section can be opened to reveal the filter's particular settings,\nof course, but the filter details are not relevant to this overview about\nPublish, except to note that like the standard Lightroom settings (image\nsize, etc.), changing these filter settings after a publish service has\nbeen established\n\nmeans that you have to republish everything if you want the changes to be reflected in images previously published to Zenfolio.\n\n\n<\/p>\n\n\n\n  <p class='h2' id='collections'><a href='#collections' class='permalink'>Zenfolio Galleries<\/a><\/p>\n\n<p>Now we begin the Zenfolio-specific sections. The first allows you to pick\nwhich existing galleries at Zenfolio you would like to appear in this particular\npublish service...<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" width=\"589\" height=\"424\" class=\"raw\" src=\"\/i\/p\/lr_publish_settings-6-collections-zenfolio.png\"\/><\/div>\n\n<p>For each gallery at Zenfolio, you can choose a normal collection, a smart\ncollection, both, or neither.<\/p>\n\n\n\n\n<p class='h2' id='create_normal'><a href='#create_normal' class='permalink'>Creating a Normal Publish Collection<\/a><\/p>\n\n<p id='populate-collection'>The publish-collection version of a Zenfolio gallery starts out empty, which\nis perfectly fine if the gallery at Zenfolio is actually empty, or if you don't\nmind that the publish-service manifestation of the Zenfolio gallery shows only\nimages you add from here on in.\n\n\n<\/p>\n\n<p id='populate-library'>However, if you'd like the current collection of images in the Zenfolio\n  gallery to be reflected in the newly-created publish collection, it's a three-step\n  process. The first two steps, discussed above in\n\n      &#8220;<i><a href='#maintenance'>First Things First: Knowing Your Current Vantage Point<\/a><\/i>&#8221;,\n\n  need be done only once per Lightroom catalog, but this third step should be done each time you create a new\n  Publish Collection, at least if you want it to be populated to reflect images already at Zenfolio.<\/p>\n\n  <p>By enabling the<\/p>\n\n     <div class='cmd'><b>Populate newly added normal (non-smart) collections from your Zenfolio account<\/b><\/div>\n\n  <p>option (or clicking on the &#8220;repopulate now&#8221; links that appear when\n  <a href='#edit'>editing Publish settings<\/a>), the plugin fetches the list\n  of images for each gallery from Zenfolio, finds the associated image in your\n  Lightroom library (via the knowledge gleaned from steps #1 and #2),\n  and adds it to the publish collection for you. As a bonus, it puts it\n  into the \"Published Photos\" section, to reflect that it doesn't need an\n  initial render and upload.<\/p>\n\n  <p>(If you had modified the photo in Lightroom after the earlier upload\n  to Zenfolio, those changes won't be reflected in the &#8220;published photo&#8221;,\n  so you'll want to &#8220;Mark to Republish&#8221; those photos, via the\n  thumbnail right-click context menu while viewing the photos in the\n  publish collection.)<\/p>\n\n  <p>Unfortunately, limitations in Lightroom 3's publish architecture\n  prohibit step 2 from being applied to smart publish collections, so\n  photos that get computed into a smart publish collection must be rendered\n  and uploaded to Zenfolio, even if they already exist at Zenfolio. If the smart\n  collection has many initial images, this could require substantial time\n  when you first publish it.<\/p>\n\n\n\n\n\n\n<p class='h2' id='smart-rules'><a href='#smart-rules' class='permalink'>Defining a Smart Publish Collection's Rules<\/a><\/p>\n\n<p>If you ask the plugin to create a smart publish collection, it does so\nwith a dummy rule that matches no photos. Once it's been created and the\npublish-service dialog is dismissed, choose \"Edit Smart Gallery\" from the\ncollection name context menu to replace the dummy rule with whatever rule\nor rules you want.<\/p>\n\n<div class='warning'>\n    <p id='cant-import-smart-collections'>\n\n       Do <span style='color:white'>not<\/span> attempt to create smart collections via the &#8220;Import Smart Collection Settings...&#8221;\n       item in the Publish Service context menu. A bug in Lightroom causes this to create a corrupt publish collection, and the plugin\n       infrastructure doesn't offer me a way to disable that menu item.\n\n   <\/p>\n\n<\/div>\n\n\n\n<p class='h2' id='naming'><a href='#naming' class='permalink'>Hierarchal Naming <i>vs.<\/i> Flat Naming<\/a><\/p>\n\n    <p>You have the option of newly-created publish collections being named\n    flatly, or in a hierarchical tree style that matches the organizational\n    structure at Zenfolio. Here are examples:<\/p>\n\n    <table align='center'>\n      <tr valign='top' align='center'>\n         <td>Flat Style                     <br\/><img loading=\"lazy\" decoding=\"async\" width=\"301\" height=\"265\" class=\"raw\" src=\"\/i\/p\/lr_publish_settings_6a-flat-zenfolio.png\"\/><\/td>\n         <td>Hierarchical                   <br\/><img loading=\"lazy\" decoding=\"async\" width=\"301\" height=\"265\" class=\"raw\" src=\"\/i\/p\/lr_publish_settings_6a-tree2-zenfolio.png\"\/><\/td>\n         <td>Hierarchical (with Sets Closed)<br\/><img loading=\"lazy\" decoding=\"async\" width=\"301\" height=\"265\" class=\"raw\" src=\"\/i\/p\/lr_publish_settings_6a-tree1-zenfolio.png\"\/><\/td>\n      <\/tr>\n    <\/table>\n\n    <p>The naming option normally applies only to newly-created collections, but when editing a publish service that already\n    has collections, a rename option pops up as well<\/p>\n\n    <div class='ic tight'><img loading=\"lazy\" decoding=\"async\" width=\"589\" height=\"103\" class=\"raw\" src=\"\/i\/p\/lr_publish_settings_6b-rename.png\"\/><\/div>\n\n    <p>Using this, you can easily change the style at a later date if, for\n    example, the number of collections causes flat naming to get out of\n    hand.<\/p>\n\n\n\n\n\n<p class='h2' id='deleting'><a href='#deleting' class='permalink'>Deleting a Publish Collection<\/a><\/p>\n\n<p>You can remove a publish collection from your publish service via the\n&#8220;Delete&#8221; item in the publish-connection name's context menu. Doing so\ndoes <i>not<\/i> remove the gallery or its photos from Zenfolio: for such a major\noperation, please visit Zenfolio directly.<\/p>\n\n\n\n\n     <p id='delete' class='h2'><a href='#delete' class='permalink'>Options for Deleting Images from Zenfolio<\/a><\/p>\n\n     <p>Moving along to the next section, we have photo-deletion options:<\/p>\n\n     <div class='ic tight'><img loading=\"lazy\" decoding=\"async\" width=\"589\" height=\"258\" class=\"raw\" src=\"\/i\/p\/lr_publish_settings-7-options-zenfolio.png\"\/><\/div>\n\n     <p>The first option covers what happens when a photo is removed from a\n     collection in this publish service, but still retained in the Lightroom\n     catalog.<\/p>\n\n     <p>If you delete a photo from Zenfolio, you can always upload it again, but\nall its &#8220;value add&#8221; at Zenfolio will have been lost forever &mdash;\n\n  \n  comments, ratings, history, etc.\n\n&mdash; will be disassociated from the photo and lost. On the other hand,\nif you don't delete it at Zenfolio, it's still there, which is perhaps not what\nyou want if you're deleting it from a Zenfolio-related publish collection.<\/p>\n\n<div class='warning'>\n\n   <p>I <b>strongly<\/b> recommend that you leave this option at &#8220;Ask&#8221; until\n   you're <i>so<\/i> comfortable with the idea that photos at Zenfolio will be deleted\n   when you delete from a Zenfolio-related publish collection that you become annoyed at the\n   &#8220;Ask&#8221; dialog.<\/p>\n\n   <p>This automatic deletion is not something yet familiar in the Lightroom\n   world, and just a bit of forgetfulness about these new things can lead to a\n   very unpleasant sinking feeling.<\/p>\n\n<\/div>\n\n<p>Actually, to be clear, when a photo is removed from a Zenfolio-related publish collection, it goes\ninto the collection's &#8220;Deleted Photos to Remove&#8221; section, as <a\nhref='#states'>mentioned above<\/a>. It's only when you then initiate the\nPublish action on the collection that this option comes into effect, and\nthat photo copies at Zenfolio are deleted (if you've so instructed).<\/p>\n\n\n     <p id='delete-from-library'>The second option covers the case where a photo\n     that happens to be published via this service is deleted altogether from\n     Lightroom. If you want to protect photos that have been published at Zenfolio,\n     choose &#8220;Disallow&#8221;.<\/p>\n\n     <div class='img_right' style='position:relative; top:-10px; margin:0 0 10px 1em; padding:0'><a\nhref='\/blog\/lightroom-goodies\/photosafe'><img class='raw'\nsrc='\/i\/lrp\/photosafe-big.png' height='100' width='86'\/><\/a><\/div>\n\n<p>For a more general way to protect images from deletion from the catalog,\nyou might also want to consider my <a\nhref='\/blog\/lightroom-goodies\/photosafe'>PhotoSafe\nplugin<\/a>, which allows you to specify specific photos that can't be\ndeleted from Lightroom, and\/or rules describing the kinds of photos that\ncan't be deleted (e.g. &#8220;all five-star photos&#8221;). You have to explicitly\nremove the restriction to remove a protected photo from the catalog, making\nit highly unlikely to do accidentally.<\/p>\n\n\n\n\n\n\n\n<p class='h2' id='metadata'><a href='#metadata' class='permalink'>Zenfolio Metadata Options<\/a><\/p>\n\n<p>The next section configures various Zenfolio-related metadata options, just\nas in a &#8220;normal&#8221; Zenfolio export.<\/p>\n\n<div class='ic tight'><img loading=\"lazy\" decoding=\"async\" width=\"584\" height=\"354\" class=\"raw\" src=\"\/i\/p\/lr_publish_settings-8-meta-zenfolio.png\"\/><\/div>\n\n\n\n<p class='h2'>Phew !<\/p>\n\n<p>Finally, you can press the &#8220;Save&#8221; button to create the publish\nservice and the publish collections you selected.<\/p>\n\n\n<!--\n\n<\/div><div class='section'><p class='h'>Publish Collection Sets<\/p>\n\n-->\n\n<!--\n\n<\/div><div class='section'><p class='h'>Photo Comments<\/p>\n\n-->\n   \n\n<\/div>\n\n\n\n\n\n\n<div id='edit' class='section'><p class='h'><a class='permalink' href='#edit'>Making Changes to an Existing Zenfolio Publish Service<\/a><\/p>\n\n\n\n<p>You can edit the publish-service settings via the &#8220;Edit\nSettings...&#8221; item in the publish-service name's context menu. You can\nchange all settings except the <a href='#login'>account at Zenfolio<\/a> and the\n<a href='#loc'>export location<\/a>, but there's a catch: if the change\nrelates to something about how each image is exported and uploaded (such as\nthe size or image quality, metadata settings, etc.) and you want those\nchanges to be reflected in photos already at Zenfolio, it won't happen\nmagically: you'll have to republish them all.<\/p>\n\n<p>Republishing can take a long time if you've got a lot of photos, and not\nall changes necessarily need to be reflected in every photo, so it is not\ndone automatically.<\/p>\n\n\n\n\n\n   <p>If you want to republish all or some previously-published photos,\n   select them in their various publish collections and invoke the context\n   menu's &#8220;Mark to Republish&#8221; item.<\/p>\n\n\n\n\n\n<\/div><div class='section' id='another'><p class='h'><a class='permalink' href='#another'>Adding Another Zenfolio Publish Service<\/a><\/p>\n\n\n\n\n\n<p>If you have another Zenfolio account you'd like to publish to, or you'd like\nto publish with different settings (e.g. your first Zenfolio publish service\nhad full size exports, but you'd like to be able to upload to some\ncollections with smaller sizes), choose<\/p>\n\n<div class='cmd'><b>Create Another Publish Service via &#8220;jf Zenfolio&#8221;...<\/b><\/div>\n\n<p>from the existing publish service's title context menu (where &#8220;Set\nUp...&#8221; had been before the first one was created.)<\/p>\n\n\n\n\n\n\n\n\n\n<\/div><div class='section' id='warnings'><p class='h'><a class='permalink' href='#warnings'>Issues to Watch Out For<\/a><\/p>\n\n\n<p>The following issues are inherent shortcomings in Lightroom's initial\nversion of Publish, and apply to all publish services:<\/p>\n\n<ul>\n\n<li><p>There's no way to tell which publish collections have photos\nawaiting action except by visiting each publish collection in turn and\nviewing the grid to see whether the &#8220;Publish&#8221; button is enabled or\ndisabled.<\/p><\/li>\n\n<li><p>There's no way to invoke publish on all your publish services in one\ngo; the best you can do is address each publish service in turn, selecting\nall its published collections and then invoking Publish on them.<\/p><\/li>\n\n<li><p>The photo-thumbnail &#8220;Go to Collection&#8221; context menu item does\nnot list any kind of smart collection that the photo may be part of,\nincluding smart publish collections.<\/p><\/li>\n\n<li><p>The use of <i>undo<\/i> with publish-related operations is likely to\nnot work and perhaps even corrupt the publish parts of your catalog. Take\ncare.<\/p><\/li>\n\n<li><p>You <a href='#cant-import-smart-collections'>can't import\nsmart-collection settings<\/a> to a publish smart collection; doing so\ncreates a corrupt smart collection.<\/p><\/li>\n\n<li><p>I have not tested export-to-catalog yet, but I would expect that Publish\ninformation does not go along with the images.<\/p><\/li>\n\n<\/ul>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This page describes the Publish aspect of my export-to-Zenfolio plugin for Adobe Lightroom. The \"normal export\" portions of the plugin work in all versions of Lightroom from Lr 2 on, but its Publish features, described on this page, work only in Lr3.3 and later. <p style='color:#F66; font-size:110%'>Warning: The idea behind Publish is simple enough, but if you hope to avoid unpleasant surprises, you must understand important details before getting started with it.<\/p> <p>Before you can use Publish to send images to Zenfolio, you must first configure the particulars about how the exports are to be done, such as deciding on [...]","protected":false},"author":1,"featured_media":0,"parent":888,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/pages\/1555"}],"collection":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/comments?post=1555"}],"version-history":[{"count":0,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/pages\/1555\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/pages\/888"}],"wp:attachment":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/media?parent=1555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}