Video Screencast Help
Enterprise Vault

FSA: Displaying thumbnails for archived images

Created: 18 Feb 2013 • 3 comments
Darren Locke's picture
+3 3 Votes
Login to vote

 

I’ve been asked a few times recently as to whether there is any way to display thumbnails of archived images. The short answer is no there is not. Windows deliberately does not display the thumbnail for offline (archived) files. This could cause a mass recall of archived files each time you browse a folder in Windows/File Explorer. This is something you do not want, particularly if the archived files are on slow media such as tape. So Windows leaves you with a generic image thumbnail for archived files.

If you have hundreds or thousands of images in a folder, then it makes it very difficult to work out which image you want if they have been archived. While there is no direct fix for this, I have come up with a workaround which you may be able to use in certain situations.

The premise of the workaround is to create a separate thumbnail file which does not get archived. So when browsing a folder you would see the thumbnail and the archived file, something like this:

 

Once you’ve found the image you want through the thumbnail, you then open up the archived file associated with it. It will mean you double up the number of image files and those files will take up additional space, but in my testing with this procedure, the thumbnails were taking up 5-7KB of space. The space saved by archiving will more than outweigh the overhead of having the thumbnails.

I generated the thumbnails using Easy Thumbnails from Fookes Software (disclaimer: I am not associated with Fookes and any use of their software is undertaken at your own risk). Thumbnails can be generated through their UI, or conveniently for this procedure they can create them from a command line.

You could create the thumbnails once, but then what about new images that get created? I’ve created a PowerShell script which you can schedule to run on a regular basis, such as weekly:

#----- define parameters -----#
#----- get current date ----#
$Now = Get-Date
#----- define amount of days to look back ----#
$Days = "7"
#----- define folder where files are located ----#
$TargetFolder = "C:\Temp\Photos"
#----- define extensions to create thumbnails for ----#
$Extension = @("*.gif", "*.jpg")
#----- define LastWriteTime parameter based on $Days ---#
$LastWrite = $Now.AddDays(-$Days)

#----- get files based on last write filter and specified folder ---#
$Files = Get-Childitem $TargetFolder -Include $Extension -Recurse | Where {$_.LastWriteTime -gt "$LastWrite"}

#----- for each image file which has been modified in the last $Days
#----- and which does not contain "_tn" in the file name
#----- create a thumbnail
foreach ($File in $Files)
   {
   if ($File -notmatch "_tn")
       {
             write-host "Creating Thumbnail $File" -ForegroundColor "DarkRed"
             & "C:\Program Files (x86)\Easy Thumbnails\EzThumbs.exe" $File /P="_tn" /W=200 /H=200 /Q=50
          }  
    }

This PowerShell script can be run from the command line with:

powershell & ‘c:\scripts\create_thumbnails.ps1’

As it stands, this script will create thumbnails for gif and jpg image files that have been modified within the last 7 days. You can change the parameters to specify:

-          The time period to look back for new or modified image files
-          The folder to target
-          The extensions of the images to target (this list can be extended beyond two)

Easy Thumbnails does not pay any attention to the Offline attribute on archived files. So if you did not specify a date parameter it would create a thumbnail for all files in a folder tree including those that are archived. If you already have archived files you may want to do this as a one off during a quiet period. I would recommend using pass-through recall if you want to do this as the creation of the thumbnail will not cause a recall back to disk. You will need to ensure that the account you run this as does not have the mass recall restrictions applied to it. Going forward, ensure the date parameters in the script are set so that thumbnails will only be created for recently created or modified files.

The last part of this is to insure that the thumbnails do not get archived. The thumbnails created with the script will be named <filename>_tn.<gif or jpg>. The common part being ‘_tn’ in the file name. A ‘do not archive’ rule can be create to exclude ‘*_tn.*’ files from archiving:

Ensure this ‘do not archive’ rule is placed ahead of your ‘archive’ rule in the rules list:

While this workaround is not perfect and is not suitable for all scenarios; where you have image libraries that are archived, I’m hoping you can make good use of this. I would be interested in your feedback as to whether you have found this useful and whether you have been able to implement it at all. A similar procedure could also be used for video files using video thumbnail generation software.

Terms of use for this information are found in Legal Notices

 

Comments 3 CommentsJump to latest comment

Baris Aydogmusoglu's picture

Thank you for sharing a nice article...

Senior System Expert

Microsoft Exchange Server

Symantec Enterprise Vault

http://www.aydogmusoglu.com

http://www.e-vault.info

0
Login to vote
wdiem's picture

This is exactly what I need to do!  I have been working with your script all afternoon and I admit, I am not a programmer.

I am not able to get the $Files to fill with the file structure.  I have been going back and forth with Powershell to see if I can find my error, but no luck on my end.

I did download the ISE so I can see what the script is doing and it appears it only finds one file in the directory.

Do you have any tips for me?

0
Login to vote
wdiem's picture

I found my error - the #Days was set too low :)  It works great, thank you!

0
Login to vote