.
Jeffrey’s “Lightroom Photo Tweeter” Plugin

This plugin works with your Twitter account to allow you to tweet a photo from your catalog, along with a message. Photo-tweets sent with it are labeled by Twitter as “via Adobe Lightroom Photo Tweeter”.

As of August 2011, Twitter allows up to 30 photo-tweets per day.

This plugin works in Lightroom 5 (and older versions as far back as Lightroom 2, though some features depend on the version of Lightroom).

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.

After downloading, installing, and enabling the plugin (download link is in the orange box, in the upper-right of this page; install instructions are here), you can activate the Twitter export by clicking on the Export Dialog's masthead, as illustrated here.

You can add additional functionality to the Twitter export (and to all exports) with export-filter plugins. On my Lightroom Goodies page I have export-filter plugins related to Geoencoding support, metadata management, and running external apps on images as they export.

Availability

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 Lr4 to Lr5, 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 )

20141019.57 Windows Only: Add a one-time check for the POODLE security vulnerability, and alert the user if it exists.
20140923.56 Added the LrMD5, LrLocalization, LrSystemInfo, and LrMath packages to the {LUA} template token.
20140902.55 New build system
20140802.54

Made the {GPSAltitude}, {Altitude}, and {GPSCoordinates} tokens subject to the geo-privacy settings like the other geo-related tokens.

20140731.53 Registration fix for Lr5.6
20140720.52 More Creative-Cloud support.
20140715.51

Fixed an issue with Creative-Cloud revalidation.

20140712.50

Lr5.5 and later Creative-Cloud installs can now revalidate themselves if needed.

20140710.49 Sigh, had a bug in the Creative-Cloud support.
20140708.48

Now supports Lr5.5+ Creative-Cloud Installs.

20140704.47 Sigh, introduced an error for some folks with the rebuild the other day.
20140630.46 Build-system update
20140613.45

Added date_diff() and raw_time_diff() functions to the special {LUA} token understood by the plugin.

20140509.44

Added new tokens to the template language the plugin understands: LrVersion, LrVersionMajor, LrVersionMinor, LrVersionRevision, LrVersionBuild, Location, CatalogName, CatalogPath, OperatingSystem, OS

Added new token filters: NS and LO

20140508.43 {City} and other location template tokens were not being populated in the tweet text
20140422.42

Fixed a bug in the "smoother revalidation" stuff recently added.

20140418.41

The {Empty} template token wasn't working properly.

Make the revalidation process smoother, especially for folks using Lr5.4 and later.

20140204.40

Enable a new feature internal to Lr5 for large exports that keeps the CPU from running too far ahead of the upload. Prior to this, Lightroom would go ahead and peg the CPU to pre-render all the images even if they weren't being uploaded at nearly the same speed. Now Lightroom pauses the behind-the-scenes rendering if it has gotten too far ahead of the upload.

Added the “:EMBED” token filter to the template language.

20130926.39 Oops, fix a bug introduced in the previous update
20130925.38

Added a bunch of tokens to the preset templates supported: ExportFormat, ExportColorSpace, ExportBitDepth, ExportQuality, ExportSharpeningLevel, ExportSharpeningMedia, IpernityUrl, GoogleDriveUrl, and TumblrUrl.

The token-examples dialog had been broken. Also deprecated Folder and Path tokens in preference to FolderName and FolderPath tokens.

20130909.37

Work around a Lightroom bug concerning the determination of whether a photo is offline.

20130820.36

Made big updates to the "Export with Smart Previews?" section; you can now pick to be asked whether to export via Smart Previews, and can differentiate between when the Smart Previews are "good enough" for an export and when they are not.

Fixed the KW/KWE tables in template tokens; they had been broken when using load for the script.

Better handle very long user account names, so that the [Logout] button doesn't get cut off of the Export dialog.

20130701.35

Work around a bug that causes the export-related progress bar to not show up right away.

20130613.34 Better support for plugin revalidation.
20130611.33 Sigh, previous update for Lr5 broke things for the Lr5 beta.
20130611.32 Yet another Lr5 update
20130610.31 Better logging to try to understand catalog-write-access contention under Lightroom's hood
20130520.30

Added the ability in Lr5 to export images even if the master image file is not available, so long as there's a smart preview available.

20130501.29 Update for Lr5
20130412.28 Fix to the Twitter fix.
20130412.27

Sigh, Twitter yet again made an unannounced undocumented change to their API that immediately breaks apps that have worked for years, and doesn't even bother alerting developers after the fact. Lord knows how many developers wasted how many hours trying to debug something that should have been announced on the developer's blog. Days later, it's still not announced there. Twitter is not worse than Facebook, but seems to be trying.

20130220.26

Added support for some new template tokens: FlagStatus (requires Lr4.1 or later), and for Lr3 and later, a bunch of IPTC extended metadata: AdditionalModelInfo, CodeOfOrgShown, DigImageGUID, Event, ImageSupplierImageId, MinorModelAge, ModelAge, ModelReleaseID, ModelReleaseStatus, NameOfOrgShown, PersonShown, PlusVersion, PropertyReleaseID, PropertyReleaseStatus, and SourceType.

20130214.25 Small fix for Lr2
20130209.24 Update to handle new Twitter url-length settings.
20130206.23 Update the Twitter-related code to handle their new API. Their old API goes away next month.
20121014.21 Added a help dialog when encountering the mysterious 'handle in the wrong state' error.
20121009.20

Workaround for an "attempt to call field 'getProgressScope'" bug introduced in Lr4.2.

Enhance the {EMPTY} template token so that it interrupts the squelching of superfluous joining characters.

20120821.19

Updates to the environment in the {LUA} token (in the template tokens in my plugins) to include photoTime() and currentTime(), and other changes to match the updated docs at that link.

.
20120614.18

Update to handle the Mac App Store version of Lightroom.

Very slow uploads in Lr4.1 could cause the new progress-bar stuff to blow up.

In Lr4.1+ allows suppressing the geoencoded location if that location is marked as "Private" in the Map Module.

20120508.17

Added some extra logging to track down a problem.

Yikes, Lr2 registrations were broken again.

20120430.16

Tweak for Lr4.1RC2.

Fixed the “photo too large to tweet” dialog message, which had been all garbled up.

Enhanced the send-log dialog to hopefully make reports more meaningful to me, yielding, I hope, the ability to respond more sensibly to more reports.

Added to the template tokens supported by the plugin: {FullMasterFile}, {FullMasterFolder}, {FullExportedFile}, and {FullExportedFolder}.

20120330.15 Update to handle 4.1RC
20120309.14 Fix registrations in Lr2.
20120308.13 Update to the debug logging to better track down timing issues that might arise.
20120229.12

Lots more preparation for Lr4 (but still works in Lr2 and Lr3).

Files that are offline are now detected before an export/publish begins, and if there are any, offers the option to abort the export, or just skip the offline ones. This is a lot more clear than the "dng_error_file_not_found" error you get from Lightroom if you follow through with an export attempt of an offline image.

20120217.11

Attempt to prepare for changes Twitter has announced will take place in how they return information about server errors.

More on the march toward Lr4, including upheaval in the code to handle Lightroom APIs being discontinued in Lr4.

Added the {AspectRatio} token to the token templates understood by the plugin, and added the Length=num filter.

Bumped up the minimum Lr3 version to Lr3.5, to ensure we've got those bug fixes. Lr2 and Lr4 are still supported, of course.

Attempt to prepare for changes Twitter has announced will take place in how they return information about server errors.

20120114.10 More tweaks for Lr4b
20120113.9

Further update to the new Twitter authentication.

20120112.8

Update for Lr4 beta: explain in the plugin manager that the plugin can't be registered in the beta.

20120111.7

Moved over to a new style of Twitter authentication, in hopes that it cures the authentication problems some people have been having.

Moved all access of Twitter to HTTPS.

20111210.6

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.

Had issues with the registration button sometimes not showing.

20111011.5 Reporting some errors from Twitter 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.
20110903.4 Added {PluginProperty} to the template tokens used by my plugins.
20110831.3 You can now use my plugin template tokens in the tweet.
20110819.2

Gave the tweet input UI some attention, the first since I wrote that code for my other uploaders years ago.

Made it so that hitting ENTER while entering a tweet does not actually launch the export. This is a maddeningly-frustrating aspect of the Lightroom plugin infrastructure, but I've worked around it in a way that seems to work.

Twitter automatically replaces URLs with their own t.co urls, and the tweet-text character-counter now takes that into account, so pasting in urls of any length now "costs" a fixed amount (currently 19 characters for an HTTP url; 20 characters for an HTTPS url).

20110818.1 Initial release

Comments so far....

Hi. This plugin doesn’t show in Lightroom on the library under publish services. However whenever I go to Plugin-Manager window, I see the twitter plugin installed and running. Any idea?

thanks
Rina

It’s not a Publish plugin, just normal export. Select your photo(s) and press the Export button, then select “jf Twitter” at the top of the export dialog. Once you adjust the settings to your liking, you can create an Export Preset, which you can invoke later on other photos via the “File > Export with Preset” menu. —Jeffrey

— comment by Rina on October 25th, 2011 at 11:42am JST (3 years ago) comment permalink

Thanks! I see it now.

— comment by Rina on October 28th, 2011 at 11:30am JST (3 years ago) comment permalink

Why does ‘jf Twitter’ needs to update the database.
The plugin is now disabled. I cannot enable nor remove it.

Hans

The plugin keeps track of which images have been tweeted and their url at Twitter (see the “All Plug-in Metadata” metadata view when the plugin is enabled), so to be allowed to add that bit of data to each photo’s record, the plugin has to “update the catalog”. I think it’s silly that Lightroom bothers the user about this, but that’s how it is. Not being able to update or remove the plugin are different issues… Lightroom should let you remove it (which means Lightroom just stops paying attention to it on disk) unless you installed it in the old system location required of plugins in Lr1, in which case you remove it by deleting it. The inability to enable it signals a bug… what kind of error do you get when you try to enable it? —Jeffrey

— comment by Hans on January 28th, 2012 at 7:25am JST (2 years, 10 months ago) comment permalink

Hi Jeffrey, love the plugin. Question: is it possible to be prompted for the tweet text during the export process, rather than using a canned template?

Not at the moment… I’ll add it to the (overly long )-: todo list. —Jeffrey

— comment by Jason on September 21st, 2012 at 12:24am JST (2 years, 2 months ago) comment permalink

Hi Jeffry,
I am trying to use the Twitter plugin for LR 4. Not having any luck on my Mac. When I go to the Plugin Manager, it shows the plugin as installed and running. But Twitter never shows up on the plugin list when I go to export. Any suggestions, feel like I am missing something completely obvious…

Thanks,
Trevor

It’s not a Publish plugin… try “File > Export” instead. —Jeffrey

— comment by Trevor Lawrence on October 26th, 2012 at 11:00pm JST (2 years ago) comment permalink

I may just overlook something but is it possible to set ones preferred image hosting service for Twitter, i.e. yfrog or Twitpic instead of Twitter’s own Pictwit?

I don’t know what “Pictwit” is, but the plugin uses Twitter’s photo API directly. —Jeffrey

— comment by Dierk Haasis on March 11th, 2013 at 9:18pm JST (1 year, 8 months ago) comment permalink

Hello, Jeffry.
Two times I entered PIN (I’m sure it was correct) and both times I got “Incorrect PIN” message.
Unhappy.

Join the club. This was due to some inexplicably disrespectful moves by Twitter developers. I finally figured out what they did and worked around it, and have pushed a new version of the plugin. —Jeffrey

— comment by wazoo on April 8th, 2013 at 1:33am JST (1 year, 7 months ago) comment permalink

Hi, thanks very much for developing this plug in. I’m struggling to manage to get it to publish to twitter at the moment. I get the error message:

“Error during export

couldn’t connect to twitter — Internet connection down?

Aborting export before any image was successfully uploaded. ”

I wondered if it was a firewall thing? But not really sure how to change it. I only use Windows Firewall.

Many thanks

Freddie
It does indeed sound like a firewall or other security app is blocking Lightroom. Try to find a way to add an exception that allows Lightroom unrestricted access to the internet. —Jeffrey

— comment by Freddie on April 24th, 2013 at 10:55pm JST (1 year, 7 months ago) comment permalink

Using the Twitter Plugin and find it very useful. Two suggestions:
1) On the export it adds a Snapshot. IT would be very useful if it could also automatically add a specific keyword e.g. “ToTwitter” or a user definable. This would then allow easy search of catalog for all images sent to Twitter
2) If possible it would be useful to have ability to select the Twitter message from a list of user defined templates – this would mean that the metadata and relevant # tags could be defined and the option then just to adjust any specific message.

Paul (UK)

— comment by Paul on April 2nd, 2014 at 5:57pm JST (7 months, 20 days ago) comment permalink

Previous comment.–Since writing comment have found the All Plugin Metadata that does allow me to identify images sent to Twitter but still think option to add a key word would be useful

You can add a keyword via my snapshot-on-export plugin. The Twitter plugin itself includes the basic snapshot functionality that the snapshot-on-export plugin has, so normally you’d not need it, but as a side effect the snapshot-on-export plugin also allows the keyword thing. It’s somewhat of a kludge to use snapshot-on-export with Twitter, but it’ll get the job done. —Jeffrey

— comment by Paul on April 2nd, 2014 at 6:03pm JST (7 months, 20 days ago) comment permalink

Hi,

I just wonder why my newly installed and enabled plug-ins does not appear in the publishing services menu?

http://www.ansatt.hig.no/kjellr/misc/20140713_lightroomproblem.png

Am I missing something here?

Sincerely,

Kjell Are Refsvik
Lillehammer, Norway

This plugin is Export only, not Publish. The idea of Publish doesn’t really make sense with how Twitter works. —Jeffrey

— comment by Kjell Are Refsvik on July 14th, 2014 at 6:07am JST (4 months, 8 days ago) comment permalink
Leave a comment...


All comments are invisible to others until Jeffrey approves them.

Please mention what part of the world you're writing from, if you don't mind. It's always interesting to see where people are visiting from.

More or less plain text — see below for allowed markup

You can use the following tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe without commenting