|San Francisco, California|
Preview Exporter - Lightroom Plugin
Can be used for either of the following:
1. Quickly export (or publish) Lightroom preview images, instead of re-rendering photos from scratch, or
2. Recover jpeg previews for accidentally deleted photos (of any type).
Info on this web-page is now divided to better serve those only interested in preview recovery.
(note: you should not be reading this if your aim is soley to recover previews - see link above)
reminder: this has nothing to do with preview recovery, that's in a whole nother section - see link above.
Plugin Manager Configuration
You *must* visit the plugin manager to specify locations for dependent programs, before dependent features of Preview Exporter will work.
That said, @v4.0, sqlite3 and exiftool are built in for both platforms, and you can do a lot of stuff with just those two. If you need/want mogrification, then download (and install) mogrify and enter path to executable here.
Note: If you are lucky, preview exporter will work just fine with the built-in exiftool, so you won't have to specify path here. If you are not so lucky, you will need to enter or browse to executable file here (e.g. after downloading and installing), which is usually something like: '/usr/bin/exiftool' (without the apostrophes).
PS - Lr5 or better required for smart-preview related features.
Export Dialog Box
Note: Preview Exporter is "checked" in Post-Process Actions section.
Note2: Although 'Write Keywords as Lightroom Hierarchy' is not disabled, its not supported by Preview Exporter (see below for other export setting considerations).
- Install (see readme file in downloaded zip file)
- Configure in plugin manager (see below)
- Consider perusing quick tips on file menu
- Insert as Post-Process Action in Export Dialog Box.
See elare plugin framework for common settings.
Additional Settings and Controls
You *must* specify locations for dependent programs, before dependent features of Preview Exporter will work.
|Preview Exporter Settings (section)|
Path to downloaded sqlite3 executable file. Leave blank for built-in version (included for Windows & Mac both). Or download and install a preferred version from http://www.sqlite.org/download.html.
Path to mogrify executable file. For full functionality, both Windows and Mac users must configure this. However @v3.0, its no longer required for recovering previews, nor for basic exports that can get by with icc-profile assignment. For icc-profile conversion and some other export options, mogrify is required.
Windows users: Any version you install from http://www.imagemagick.org/script/binary-releases.php#windows should work fine. And, the path to the mogrify.exe file is what you want to have in this field. For example:
Mac users: See installation instructions at http://www.imagemagick.org/script/binary-releases.php#unix
Look for 'Mac OS X Binary Release'.
Notes: The recommended method of installation using MacPorts is "guaranteed" to build a proper executable for your system, but will probably take a very long time, and download/compile lots of stuff. Lion users may opt for the new binary in tar.gz format, but you must follow the installation instructions carefully. If you are having trouble installing ImageMagick/mogrify, consider trying to get by with just exif-tool, if you don't need full functionality.
The path to the executable 'mogrify' file is what you want to have in this field, for example:
Path to exiftool executable file.
You can leave blank for built-in version.
Or you can download a fresh one from http://www.sno.phy.queensu.ca/~phil/exiftool/install.html#OSX
Follow the instructions for installation. The path to the exiftool executable file is what you want in this field, for example:
|Dng Converter||Path to executable, if installed in non-default location. You can safely ignore this field unless you're to shrink smart previews.|
|Shrink smart previews to||Enter a number less than 2540 (the initial size) to shrink previews for faster performance and/or less storage requirement. - requires dng converter.|
|Take photos offline||
If smart preview available, renames photo source file by appending '_offline_' extension.
If Lightroom can't find source file, it uses smart preview instead.
|Put photos online||Removes '_offline_' extension from photo source filename, so it appears online again in Lightroom.|
|Preview Recovery (section)|
|Recover Previews||Select photos whose files are missing or corrupt, then click this button. Largest available preview will be fetched from Lightroom's preview cache and stacked on top. Feel free to unstack or rename afterward... Note: its not a requirement that photos be missing or have a problem, but there isn't much point otherwise, since if the photo is *not* missing or corrupt, you can just export the photo to same folder and add to catalog instead.|
Because of how PreviewExporter works (bypassing Lightroom's normal export rendering engine) only some of the export dialog box options are supported by PreviewExporter:
- Format must be set to 'JPEG'
- To re-encode the jpeg with a different quality choose a setting between 1 and 99
(if set to 0 or 100, jpeg will not be re-encoded)
- Print resolution does not matter.
- If resizing is desired, make sure type is 'Width & Height' and units are 'pixels' (will use ImageMagick's mogrify command to resize).
- If 'ICC Profile' is set to 'Convert', then preview will be converted to 'Color Space' as long as its sRGB or AdobeRGB (1998) - requires Image Magick mogrify. Other settings will result in export errors. If 'ICC Profile' is set to 'Assign' or 'Ignore' then 'Color Space' will be ignored. If 'Assign', the preview will have a correct profile assigned (requires exiftool or mogrify), it just won't be the one specified by 'Color Space'. In the latter case, no icc profile will be assigned, so the color will probably be "off" for some photos.
- PreviewExporter supports output sharpening via ImageMagick's mogrify (-sharpen) command. Media-type is ignored - its optimized for screen.
- Although, "Minimize Embedded Metadata" is supported, "Write Keywords as Lightroom Hierarchy" is not supported.
- Click 'Edit Advanced Settings' to configure metadata to be transferred. Note: I was unable to figure out how to transfer everything, but I got most stuff. If you figure out the correct exiftool tags to use for stuff not supported out-of-the-box, do tell me.
- Not directly supported, but you can use additional mogrification to watermark, if you know how.
Preview Exporter Section
|Minimum Size||Minimum acceptable size for exported previews. If no preview available at this size or greater, the preview will not be exported. The photo may still be rendered & exported, depending on 're-render photo when preview is unavailable' setting.|
|Preferred Size||A preview of this size will be obtained if it is available, otherwise a smaller preview will be obtained if possible (depending on minimum size setting).|
Since PreviewExporter uses ImageMagick for sharpening and resizing, and other things, you can piggy back your own mogrification via additional parameters to mogrify (plugin manager has link to reference documentation). Hints: (do not include apostrohes)
For png, include: '-format png -define png:bit-depth=8'
|ICC Profile||Some cached previews use sRGB colorspace, some use AdobeRGB. If you don't assign an ICC profile to AdobeRGB images, they may not look right in viewers that interpret the absence of a profile to mean sRGB. If you just want fastest export and perfect color is not paramount, e.g. small thumbnails (which are usually sRGB anyway), then uncheck this box. I keep it checked for normal use since proper color is generally worth waiting for, but uncheck it during testing... See "Export Dialog Box" section above for a description of 'Assign' vs. 'Convert' vs. 'Ignore'.|
|Orient Image Data||Check this box to have mogrifier transpose image data for correct orientation. Note: there is also an advanced setting to have orientation saved as metadata. Usually its best to correct using one method or the other, but not both (orienting image data and leaving orientation metadata out is the most reliable, but not the fastest).|
|Extract previews for raw formats only||Truth betold, when exporting jpegs which aren't massively edited, and you want the full treatment (orientation, icc profile conversion, metadata....), Lr can often win the race over PreviewExporter, thus unless you just want to assure consistency by demanding the preview in all cases, you may have the edge performance-wise by letting Lr render the rgb files - PreviewExporter to handle the raws only. On the other hand, if you are depending on mogrification, leave this unchecked.|
|Permit Regular Previews||You need to permit either regular or smart previews, otherwise preview exporter ain't much fun (er, I mean "use").|
|( Lr5 Experimental Method )||
New @v4.7 - uses new method in Lr5 for obtaining preview image data. This mode is considered "experimental" (and comes with the obligatory warnings...), due to "insufficiently robust" implementation on Adobe's part. Hopefully, come Lr6, it will become the standard. For now, it's generally best to use the old tried n' true way).
*** Note: you must be in the Library module when exporting in order for this to work.
|Permit Smart Previews||
You need to permit either regular or smart previews, otherwise preview exporter ain't much fun (er, I mean "use").
|Prefer Regular Previews||Regular previews are generally faster to export and may be better quality than smart previews, hence they are normally preferred over smart previews. However, see below for other considerations.|
|Prefer Smart Previews||
Smart Previews are slower, but may be preferred if you've opted for low quality regular previews in Lr preferences. Also, they are always fresh.
|Re-render photo if preview unavailable.||If checked and preview does not exist, preview-exporter will simply render as it would if preview-exporter were not in the loop (using Lightroom's built-in native rendering engine). Generally this is a good thing, since the objective is generally to get the photos out as fast as possible, but without coming up short. But if you've got additional mogrification you're depending on or just want speed even if potentially missing photos, then you may want to uncheck this...|
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 to export previews?
Answer: If you don't mind waiting for Lightroom to render all your images when you export, then the only reason I can think of for exporting previews is to take advantage of Image Magick for exporting pngs, or doing other export mogrifications.
Question: Why do I get errors?
Answer: First check that you've downloaded dependent executables and specified their locations in plugin manager.
Question: Why do I have problems?
Answer: First check that you've downloaded and installed the most recent versions of dependent executables and specified their locations in plugin manager. Case study - I just now fixed a problem I was having by downloading the latest ImageMagick. Problem was with metadata when fixing orientation of portrait photo when metadata was not minimized - Lightroom had irreconcilable metadata conflict and would no longer update metadata - fixed by latest mogrifier.
Question: How are images exported so fast?
Answer: High quality jpegs are already rendered at the ready for Lightroom to use for thumbnail and loupe display (just sitting there in the preview "cache"). Preview Exporter just "borrows" them for exporting. When doing exports without preview-exporter, Lightroom re-renders each image from scratch, which can take several seconds per image.
Question: Why are exports slower when transferring metadata and such stuff?
Answer: Unlike Lightroom, preview-exporter uses exiftool to transfer metadata, and may also execute image-magick's mogrify (or instead). Although @v2.0, exiftool is no longer re-loaded for each exported photo, mogrify still is, and anyway, executing one or both of those takes time...
Question: Can I export in formats other than jpeg? like png or tif...
Answer: Yes, but you have to use 'Additional mogrification' field (see documentation for said field above).
Question: Can I export previews for video?
Answer: Yeah, but I'm not sure what value there is in it.
Question: Can I export previews for virtual copies.
Answer: Yep, but if you've recovered and renamed the original master you may not need to. However if you can't recover a preview for the master, a virtual copy preview may be your only hope.
Question: Why do thumbnails of exported previews look wonky sometimes in Windows?
Answer: Depends on the flavor of wonkiness:
If thumbnail looks corrupt - I don't know what causes this - I assume there is a conflict between Windows thumbnail generator and preview exporter. The file is *NOT* corrupt (in my case) - if you make a copy using windows explorer, the copy (same binary contents exactly), the thumbnail will be OK (or else its a different problem than what I'm talking about).
If the orientation is incorrect - its probably a metadata configuration issue - Windows folder viewer does not respect the orientation metadata for rotation that is used by PreviewExporter. Mac does, and ACDSee does, and Lightroom does...
Question: How do you hide/unhide photos?
Answer: Hide: remove previews and rename source files. Unhide: rename them back (previews are rebuilt in the normal way). Note: password for operation can be encrypted, but savvy users could easily figure out how to view hidden photos.
Note: Photos are not removed from catalog, and after hiding will still appear as gray boxes. To be clear - hiding may be great, for example, when letting grandma sit down to review vacation photos, to make sure she doesn't see anything that would offend.., but truly sensitve photos should be kept in a separate catalog, or not in a catalog..
Question: Any other hot tips I should know about?
Question: What are the limitations of Preview Exporter and what are your plans for the future?
This section pertains soley to recovering jpeg previews for missing photos (of any type).
Plugin Manager Configuration
Note: the 'Recover Previews' button here does the same thing as 'Recover Previews' on the Library Menu -> Plugin Extras - having it here too is just a convenience...
'Import Orphaned Smart Previews' feature is available in Lightroom version 5 and above (but not Lr version 4 and below).
Preview recovery prompt:
This is what gets displayed after invoking the 'Recover Previews' feature - keep reading...
(note: Mac users will see a message optimized for Mac users :-)
Note: the readme file in the downloaded zip file contains instructions for installing plugin.
Preview recovery is simple - do this:
then just wait for it to happen!...
Note: If you know the original location no longer exists, or you get an error message like "unable to assure target directory in order to write file...", then after choosing 'Recover Previews' from the Library Menu -> Plugin Extras, enter or choose an alternate recovery location, and click 'Yes - recover to alternate recovery location'.
that's all you have to do!!
Preview Exporter will recover the largest preview it can, which is, hopefully, the largest preview Lightroom has available. If you have reason to believe it could have recovered a larger preview (e.g. you can see a larger (yet still sharp) image in Library module's loupe view), then please contact me immediately. Recovered previews will be named the same as the original photo, but with '_recovered_from_preview_' appended to the filename, before the jpg extension. After recovery, it will be stacked over the original photo, if possible, and recovered previews will become the selected photos. Feel free to rename recovered previews if you like. Also, if you're running Lr5+, smart preview will be recovered if regular preview not big enough (smart preview must exist of course).
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 to recover previews.
Answer: Preview recovery should be the last resort, when photos have gone missing. If at all possible, first try these things, in this order:
If none of the above is fruitful, then
Question: What will be recovered, exactly.
Answer: Preview Exporter can recover a jpeg format version of any photo, as long as a preview image is still available in the Lightroom preview cache (it is available if you can see the image in the Library module). If multiple sizes are available - the biggest one will be recovered.
Question: What is the quality of recovered jpegs.
Answer: The quality will be governed by the Lightroom preview quality preference that was in effect at the time the previews were created.
Question: Will recovered photos have the correct ICC profile assigned?
Answer: Yes. - that's one of the things exiftool and/or image magick (mogrify) are for.
Question: Will recovered previews have the same metadata as the original photos?
Answer: Close. - PreviewExporter will transfer metadata from original to recovered preview as deemed appropriate. You can further customize metadata to be transferred by editing advanced settings, if you want, but that should not be necessary. All the best stuff will be there - like keywords, rating, title, caption, ..., and most exif info.
Question: Can I recover previews for virtual copies.
Answer: Yes, but if you've recovered and renamed the original master you may not need to. However if you can't recover a preview for the master, a virtual copy preview may be your only hope.
Question: Are there other options for preview recovery? If so, how do they stack up??
Note: If you try one of these alternatives, please report if there is any discrepancy in size of recovered/extracted files.
Question: What are the limitations of preview recovery and what are your plans for the future?
|Preview||For the purpose of this document, it means a jpeg image extracted from the previews Lightroom uses to support image display in the library and develop modules.|
|Preview Cache||Ambiguous term that is hopefully clear from context: May mean the Lightroom previews in the preview folder in the same folder as your catalog, but may also mean the versions used to support plugins which may also be cached.|
(aka Preview Stack)
|Lightroom optimizes preview generation by creating smaller versions of previews that are exactly half the dimensions of their larger brethren. So, whenever a large preview is created, its smaller brethren are also created, very quickly.|
|Level||A size code from 1-7 that defines a ballpark preview image size.|
|Preview Size||Whenever Lightroom creates previews, it creates them at the largest size needed given the context (or user-initiated request), then creates the smaller versions while its at it. This is why the the sizes vary so much. For example, a cropped image may use level 6 for its largest rendering and not have a level 7 rendering, but an uncropped image may use level 7 for its largest rendering, then have a different size for its level 6 rendering...|
|ImageMagick||Command-line program that does high-quality yet fast image processing functions known as "mogrifications". In versions 1-2, Image Magic was required for all functions.|
|sqlite3||Command-line program for accessing the preview database. Built in for both Windows and Mac versions, or you can configure your own.|
|exiftool||Command-line program for transferring metadata from Lightroom to exported image. @v3.0 its responsibilities have been expanded, to support limited functionality without Image Magick.|
|Post-Process Action||Synonymous with export filter. Lightroom exports are passed from one post-process action to the other until finally being exported via the chosen export service. Note: In the case of PreviewExporter, Lightroom does not render any exports, so handling of things like output sharpening and resizing are handled entirely by PreviewExporter.|
|Export Filter||The "internal" name for a post-process action.|
The combination of vertical/horizontal flip-flopping and rotation. In Lightroom, this is stored in the database. After export, orientation may be saved as metadata... Note: some viewers respect orientation metadata, some don't.
|Smart Preview||Only in Lr5 or better. It's a lossy reduced-rez (2540 long-edge) dng, kept in an obscure location in the catalog folder, which can fill in for an original raw in case original raw is offline. Makes editing faster too, more so when original raw is offline, and more still if resolution is further reduced.|
(reverse chronological order)
- Fixed bug indicated by an error that occurred when doing multiple exports (with preview exporter post-process action inserted) simultaneously.
- Added feature to install Adobe's preview extractor script - intended for comparison only.
- Fixed bug in export filter: was re-rendering instead of skipping in some cases - despite setting to skip..
- Reduced error timeout, so preview recovery doesn't take forever to finish when there are tons of errors occurring. Note: it still takes a long time, so I recommend doing in small batches if you are having trouble.
- Improved prompt message when enabling smart preview export.
- Changed label for "Assure Freshness" to "Lr5 Experimental..".
- Messages about jpeg data termination are now only logged in verbose mode.
- Added option to hide/unhide photos (password protected).
- Added check to assure preview exporter filter in top filter position, since top is the only position that makes sense when preview exporter is being used in conjunction with other export filters.
- Fixed bug affecting rendered exports (e.g. rgb, or if large-enough raw preview not available) in conjunction with export filters which were re-routing exports through temporary path, e.g. Exportant's 'App/Service Compatibility' option.
- Fixed bug / added option for turbo speed (previous revisions were not supporting fastest mode due to fact that some metadata was always being included, necessitating a call to exiftool). Turbo speed assures nothing is done except preview image acquisition - mostly good just for export testing, but if you have alternate means for icc-profile handling and/or orientation metadata, you may find some other use..
- Change made to include sRGB profile unconditionally (when icc is being assigned, or conversion is specified, I mean), since in some contexts untagged (sRGB) images are not handled correctly without the profile.
- Added check for preview database presence so a better error message can be displayed when it is absent.
- Updated exiftool to v9.36
- Added feature to discard (regular) previews for selected photos. This is useful for doing preview testing - so you can have previews with different standard preview settings to try out. Note: this feature will be removed when Lr5's "discard 1:1 previews" feature is fixed, since it will no longer be necessary (as it stands it is impossible to discard 1:1 previews and then rebuild 1:1 previews again to rebuild standard previews, which get rebuilt along with them).
- Added feature to move previews away from catalog (and move them back)
- Added feature "Assure Freshness", which uses new (@Lr5 - provided by Adobe) SDK method to fetch previews, instead of ad-hoc (reverse engineered by me) method.
- Detection of orphaned smart previews is now muuuuuuch faster.
- Added feature to recover orphaned smart previews. Note: after photos with smart previews are removed from catalog, their smart previews hang around for a while. So, if photos were recently deleted, you may be able to recover / import it's smart preview before it get's "cleaned up".
- Refined the options for specifying which previews are exported, in case both regular and smart are available, namely:
- Added camera make & model to default list of metadata transferred upon preview recovery.
- Removed text reading "Image sizing doesn't matter when..." from plugin manager - it was wrong.
- Fixed bug when smart previews were being exported back to catalog - in some cases it was failing (smart preview recovery was OK though).
- Fixed bug: exporting to png using additional mogrification - png had jpg extension, and may have been deleted after export (exported file, not master/source file).
- Got rid of the restriction that LR_export_destinationPathPrefix can not be nil (long story).
- Certified for use in Lr5.
- Fixed bug: when smart preview and regular preview were both available, an error was logged saying "photo not added to catalog", yet both smart preview and regular preview were added, although neither had metadata transferred to them. This bug only occurred if "Treat JPEG files next to raw files as separate photos" is checked in Lr preferences.
- Robustened the termination handling which had the potential to extract previews which could be displayed in most software but were problematic in some versions of Lightroom - either couldn't be added or had the dreaded '!' after being added.
- Fixed bug: If exif metadata was being transferred (via exiftool) but there was no Lr metadata to transfer, log file was indicating no metadata had been transferred, which was wrong.
- Added a feature to repair previews that had problems due to the above-mentioned phenomenon.
- Added 'Shrink Smart Previews' to File Menu (Plugin Extras).
- Moved 'Take Photos Offline' and 'Put Photos Online' from Library to File Menu.
- Where to find what is on Help Menu (Plugin Extras).
- Added option to configure custom DNG converter executable, which is required for shrinking smart previews. Note: It's not needed if you aren't shrinking smart previews, otherwise do download and install it.
- Added options to shrink smart previews, and take/put photos offline/online - those with smart previews I mean, so editing is faster (with less smart preview storage).
- Added option to export smart previews if regular preview not big enough (and smart preview available). (Lr5 only).
- Smart previews will always be recovered if larger than largest regular preview available, and smart preview exists.
- Exiftool updated to v9.28
- Exiftool supplied for Mac platform too.
Despite being a dot release, there were some fairly extensive changes to recovery feature:
- Mac users: neither exiftool nor mogrify are required to recover (limited versions of) previews - the purpose being to support a trial run before committing. Exiftool is still considered an appropriate pre-requisite for serious recovery (so photos can be oriented correctly, and have proper icc profile assigned, and have metadata transferred from original).
- icc profile assignment is now optional.
- metadata transfer is now optional (and customizable via "advanced settings").
- Fixed bug: 'twas having an error if export to original/subfolder, when subfolder did not exist.
- Enhanced Preview Recovery UI to support alternate recovery location. - solves problem when original photo disk no longer exists.
(no change to preview export feature)
- Fixed the bug that v3.3.1 was supposed to have fixed, but didn't.
- Supposedly fixed bug that was limiting it's use to Lr3.4+. Should work with Lr3.0+ now.
- Will now check for exiftool in default install location on Mac.
- Added logic to clear view filter if need be to assure recovered photos are selected after recovery.
- Fixed bug in recovery feature: recovered photos were not being selected after recovery, when photos selected for recovery were in a collection, instead of folder.
- Fixed bug in recovery feature: would have error if source folder was missing.
- Added option to advanced settings to use alternative drive for recovered previews.
- Removed Lightroom 4 compatibility warning.
- Reworked so ImageMagick is optional for preview recovery and basic export operation. Note: it is still required for icc-profile conversion, but not icc-profile assignment.
- Also allows recovery of previews for virtual copies without overwriting recovered preview for real/master copy.
- Fixed bug recovering previews from 8-bit greyscale images.
- Added option to export any format like png or tif (but you have to use mogrify param, see tips above).
- Fixed problem with option to use Lightroom to render non-raw (rgb) photos with some incompatible export services, like TreeSync-Publisher (not yet released).
- Added option to only use preview extraction for raws. Unless rgb files have been heavily edited in Lightroom, Lightroom rendered rgb export is faster than preview extraction. Preview extraction is still much faster for raws though :-)
- Other minor performance optimizations.
- Other minor bug fixes and enhancements.
- Added an independent cancelable progress scope to upper left corner of Lightroom, so preview exporter's post-process action can be canceled (no way found to have it canceled along with main export).
- Corrected a potential error handling bug, and simplified the default presets.
(There were also some minor "under-the-hood"/infrastructure changes that should have no practical impact)
- Much improved performance: Instead of loading exiftool for each file being exported, only loads it once for the duration of the export. The code to do this is more complex, but seems to be working well - please let me know if any problems.
- Updated built-in exiftool.exe (Windows only) to v8.70.
- Improved performance - the base part of the export is significantly faster, although it still takes the same amount of additional time to transfer metadata, assign icc profile, orient...
- Fixed potential problem for temp file to be left behind when errors occur.
- Fixed bug: exported jpegs were missing last two bytes (FF,D9). This was causing less problems than one might expect, but more than zero. Better now... :-)
- Export will now succeed despite problems with original source photo format.
- sqlite3 executable for Mac included with plugin.
- Added feature to recover missing or corrupt photos from the preview cache.
- Fixed bug in obtaining proper colorspaces from the preview database.
- Added default presets.
- Misc fixes & improvements, perhaps most notably: added option to convert icc profile (previously only supported "assign")
- Initial release.
Note: acceptance of Download Terms & Conditions will be required.
Also, see the readme file after downloading, - it contains the plugin installation procedure.
Preview Exporter 4.14.1 - Latest & greatest: this is the one to download.
Preview Exporter 4.14 - for fallback in case latest has a problem, in which case please tell me.
Preview Exporter 4.13.1 - for fallback in case latest has a problem, in which case please tell me.
|Static content updated 2011-10-05||Copyright 2007 - robcole.com - all rights reserved.||Dynamic content updated 09:37:17 AM|