Vous êtes sur la page 1sur 26

DIM 4.

0
by Alan Light
Users Guide

September, 2004
Note: This document refers to build 153 of DIM, January 2005

2001, 2002, 2003, 2004 Alan Light
This software is provided "as is" and the user assumes all risk associated with the use of this software.
Under no circumstance shall the author be liable for damages caused by this software.
This software is freeware and may not be sold, rented, or included as part of any commercial package.
This software may not be modified, reverse-engineered or disassembled.
The author grants you the permission to use this software but full ownership and copyright remains with the
author.


Introduction
What DIM is, what its good for, etc.
If you take more than just a few pictures with
your digital camera, you will quickly realize that
you will need to come up with some sort of
organization scheme for the hundreds (and
eventually thousands) of digital image files that
you will accumulate. Once you come up with this
scheme, you will want to be able to quickly and
automatically get the files onto the appropriate
directories on your hard drive. That is where DIM comes in.
DIM only does one thing, but it does it well: it copies files from your
cameras memory card to a destination directory determined by
your storage scheme. If any directories need to be created in the
process, it will create them. In addition, the file can be renamed
while it is copied to a more useful name than you camera might
have provided.
DIM does not provide for browsing, viewing, modifying, adjusting,
printing or any of the other functions of the many fine image
browsing and processing programs that are available.
In order for DIM to be useful to you, the following should apply:
You have some mechanism to make your cameras memory
card appear as a drive on your computer. This usually takes
the form of a card reader or some device that functions as a
card reader. If your camera came with drivers which allow
the camera itself to be connected to the computer and appear
as a drive, that will work as well.
Your storage scheme has some sort of rhyme and reason to
it. In other words you have a notion of a directory structure
and you pretty much follow it. See the section below on
storage schemes for further details.
Stick your memory
card in your card
reader, click a
button, and all
your image files
are copied where
you want them.

2
Usually DIM will just copy files to your computer and leave the
original files untouched. If you enable the Delete files from source
after copying option, the original files will be deleted after copying.
This option is not recommended and is discussed later in this
document.
Storage Schemes
An explanation of Storage Schemes and some suggested examples.
A Storage Scheme represents standardization on your part of how
you organize your image files on your hard drive. For example, my
storage scheme looks something like this:
1 My Documents
1 My Pictures
0 2000
1 2001
0 01
0 02
0 03
1 04
0 01APR2001
002APR2001
109APR2001
2 0409-01.jpg
2 0409-02.jpg
2 0409-03.jpg
2 0409-04.jpg
0 11APR2001
0 05
0 06
0 07
0 08
0 09
0 10
0 11
0 12

Note the following:
The root of my archive is the My Documents\My Pictures
directory.

3
Pictures are organized into subdirectories that represent the year,
month and day that the picture was taken. For example, pictures
taken on April 9
th
, 2001 will be in the directory: My Documents\My
Pictures\2001\04\09APR2001.
Files are named based on the date they were taken and then have a
sequence number to indicate the order in which they were taken.
(i.e. 0409-01.jpg was taken before 0409-02.jpg).
An alternate scheme might look like this:
1 Stuff
0 2000
1 2001
0 01
0 02
0 03
0 04
0 05
0 06
107

2 Vacation-01.jpg
2 Vacation-02.jpg
2 Vacation-03.jpg
2 MarysWedding-01.jpg
2 MarysWedding-02.jpg
2 MarysWedding-03.jpg
2 MarysWedding-04.jpg



0 08
0 09
0 10
0 11
0 12

In this example we dont have individual directories for each day. All
the pictures that were taken in a given month are stored together in
a single directory. The file naming convention in this case is
different. Each file is named based on the event or job name with
a numerical suffix to indicate the order in which the pictures were
taken.


4
For a professional with various clients, a storage scheme might look
like this:
1 My Documents
1 My Pictures
1 Clients
0 Newsweek
0 RollingStone
1 SportsIllustrated
0 2003SuperBowl
0 2004KentuckyDerby
12003WorldSeries
2 1025-01.jpg
2 1025-02.jpg
2 1025-03.jpg
2 1025-04.jpg
0 Indy500

In this example, the shots are organized by client and then by jobs
within a given client.
Once you decide on a storage scheme, you configure DIM
accordingly (you will only have to do this once). Once DIM is
configured according to your storage scheme, each time you use
DIM, you will simply have to click on DIMs process button and
DIM will do the following:
Scan your cameras memory card for image files. This will be
a recursive scan, so you dont have to worry if you camera
creates sub-directories on the memory card.
Each file is then examined to see if it contains an EXIF
header. EXIF stands for Exchangeable Image File, a standard
established by the Japan Electronic Industry Development
Association and supported by virtually all digital camera
makers. The EXIF header is examined to find the date and
time the picture was taken
*
. If this cannot be found in the file
or if the file does not contain a valid EXIF header, the date/
time stamp on the file itself is used.

*
For those of you who are interested in the minutiae of EXIF processing, the specific field that is inspected is
DateTimeDigitized. If this does not contain a valid timestamp, the DateTimeOriginal
field is used. You can explicity instruct DIM to reverse this. For details, see the Use EXIF
DateTimeOriginal Field option, described later in this document.

5
Once the date and time the picture was taken is established,
DIM determines to what directory the file should be copied.
This is based on the date the picture was taken and your
specific DIM settings. If the directory needs to be created,
DIM creates it.
The file is copied to the indicated directory. The resulting
name is based on your DIM settings.
If you have chosen the option, the source file is deleted (after
verifying that the copy was successful).
The process is repeated for each file on your memory card.
Duplicate File Names
What DIM does when it encounters a duplicate file name.
Before DIM copies a file to your disk, it first checks to see if a file
with the same name already exists in the target directory. If no file
exists, it goes ahead and copies the file. If, however, a file with the
target name already exists, DIM will append a suffix to the file name
to guarantee uniqueness.
For example, suppose that you had a picture on your memory card
that was taken on September 15
th
, and that your naming scheme
indicated that it should be named 0915.jpg and copied to the
C:\My Pictures\2001\09 directory. What if there was already a
file named 0915.jpg in that directory? Or, even more likely what if
you took a whole bunch of pictures on that day, they cant all be
called 0915.jpg.
DIM addresses this by appending a suffix to the name of a file when
such a name clash results. So, if you had taken 3 pictures on
September 15
th
, the first one would be named 0915.jpg, the
second would be named 0915-01.jpg and the third would be
called 0915-02.jpg.
If you would like the suffix to always be applied (regardless if the
name clashes or not), see the description of the Always Apply Suffix

6
option later in this document. If you had this option turned on, the
three files would be 0915-01.jpg, 0915-02.jpg and 0915-03.jpg.
Configuring DIM
How to make DIM work the way you want
When you run DIM for the fist time, you will be presented with the
DIM configuration screen.


7



If you need to change your DIM settings at a later time, you can get
to the configuration screen again by clicking the button.
S O U R C E P A T H
This is the file path that refers to your memory card. In other words,
this is where the files are copied from. This should be the root
directory of the drive to which your card reader or other device
maps. For example, on my computer when I plug-in my card
reader, it appears as the H: drive. So my source path is set as: H:\.
When I process files, DIM searches H:\ and all subdirectories for
image files. You can either type in the path or browse to it by
clicking the little folder icon next to the field.

8
If you are using a card reader, it will either have to be plugged in
when you configure DIM, or you will have to explicitly type the path
name, since you cant browse to a directory that does not exist.
T A R G E T P A T H
This is the root directory where your storage scheme begins (see
section above concerning storage schemes). This is usually C:\My
Documents\My Pictures, or something similar. DIM will create the
appropriate subdirectories under this directory as needed. You can
either type in the path or browse to it by clicking the little folder
icon next to the field.
F I L E T Y P E S T O P R O C E S S .
This is the list of filename extensions to process. Semicolons
separate them. You will probably be processing JPEG files, which
will either have the extension JPG or JIF. The specified extensions
are not case-sensitive. If you are dealing with Canon Raw Files, see
the section later, which will explain how they can be given special
handling.
Y E A R , M O N T H A N D D A Y C H E C K B O X E S
Use these to control if separate target subdirectories are to be
created for each day and/or each month and/or each year
according to your chosen storage scheme.
Next to each checkbox you can enter a pattern to use for
determining the name of these directories. See the section below for
the symbols which are replaced in these patterns. Any text other
than the specified symbols will be left as-is in the directory name.
As you edit the patterns, an example will be shown using todays
date.
R E N A M E F I L E S W H I L E C O P Y I N G
If not checked, DIM will copy the files to the target directory with
the same filename that they have on the card. This is a good setting
to use if your camera already gives the files useful names. Note that
the appending of the suffix for duplicate filenames, as described
above, still applies.

9
If checked, the file will be renamed according to the specified
pattern. Note that the pattern applies to the filename portion of the
path only. The extension and the directory prefix are not affected by
the pattern. Certain symbols in the pattern will be replaced by
appropriate values. These symbols are:
%M The month of the year, expressed as a two-digit number (01-
12).
%q Quarter of the year expressed as a single-digit number (1-4).
Jan-Mar are in the 1st quarter, Apr-Jun are in the 2nd quarter, etc.
If you would like to file your pictures by quarters within years, set
the year pattern to something like %Y\Q%q.
%A Month of the year, expressed as a short abbrev. (i.e. JAN,
FEB).


%D Day of the month expressed as a two-digit number (01-31).
%Y Year expressed as a four-digit number (i.e. 2001).
%y Year expressed as a two-digit number (i.e. 01).
%H Hour of the day expressed as a two-digit number (00-23).
%m Minute of the hour expressed as a two-digit number (00-59).
%S Second of the minute expressed as a two-digit number (00-
59).
%K Name of the manufacturer of the camera which took this
picture.
%C Model name of the camera which took this picture. This tag
and the previous one are particularly useful if you shoot pictures
with more than one camera and you wish to file them based on
which camera you used.
%O The name of the owner of the camera which took this picture.
This is useful if you are filing pictures taken by multiple

Note that the actual abbreviation string (and its length) is specific to the language of your default locale. For
example, in English the abbreviation for the second month of the year is FEB, while in French it is FVR.

10
photographers and you wish to file them based on who took each
picture.

One way of doing this would be to set the year pattern to


%O\%Y. This would have the effect of creating a separate root
directory for each photographer.
%L Client name. This is useful for event photography and for
professionals to track their pictures by client. If %L appears in either
the filename pattern or in any of the month/day/year patterns, you
will be prompted (each time you hit the process button) for a
client name. The %L will be replaced by the client name whenever
it appears. If you use the L command-line argument, you will not
be prompted for a client name (see section on command-line
arguments later in this document).
%J Job name. Same as above, but can be used for tracking
individual jobs within a particular client.
The only characters allows for client and job names are letters,
numbers, slashes, dashes, spaces and underscores.

The %K, %C and %O symbols are replaced by data from the files EXIF header. Some cameras provide this
data and some do not. In particular, the %O (Owner Name) tag depends on having the owners name
downloaded into the camera (usually by means of utility software provided by the manufacturer). Consult
your camera documentation to see if your camera supports this. If any of these fields are unavailable, they will
be replaced with an empty string. If any of these fields contain characters other than letters and digits, they
will be replaced by an underscore (_).

11
Some useful examples of %L and %J

If you have the year pattern simply set to %J, then you are
effectively filing your pictures by event name, rather than
by date. For example if you enter Smiths_Wedding when
prompted, a Smiths_Wedding subdirectory will be created
and all the pictures filed beneath it. If you shoot multiple
memory cards at the Smith wedding, simply make sure
you enter the same job name when prompted, and they
will all be filed together.
If you have clients that you do work for on an ongoing
basis, set the year pattern to something like %L\%Y. You
can then enter the clients name when prompted and the
effect is that you will have a separate directory hierarchy
for each client.
If you dont use month/day/year subdirectories and have
the filename pattern set to %J, then your pictures will have
the job name and the suffix as file names. (e.g. Vacation-
01.jpg, Vacation-02.jpg, Vacation-03.jpg, etc.)


%N Name of the user running DIM. This is very specific to your
operating system. Some operating systems may not even provide
this; in which case it will be an empty string. Note that this is quite
distinct from %O which is the owner of the camera which took the
picture, as opposed to this value, which is the user who is running
DIM.
%o Original file name. This is the root of the original filename,
minus any extension (i.e. JPG, RAW, TIF, etc). This is useful if the
camera stores some useful information in the filename that you
would like to retain, and is not available via one of the symbols
described above.
%c Numerical counter. Assigned a serial number (starting with
the configured Counter Base) and incremented after each source
file is processed. If you use this, you pretty much will insure that
duplicate file names will not occur and the duplicate filename suffix
will not be appended. Given that you can position this symbol
anywhere in the pattern, this gives you more control than the
duplicate filename suffix provides. Note that the counter is NOT
reset after each time you click the process button. This allows you
to process several memory cards from a given shooting session and
have the serial numbers carry over between cards.

12
%[ di gi t s] c This is a special version of the %c symbol
described above. The only difference is that you can specify the
minimum number of digits for rendering the serial number. For
example if you use the symbol %4c in your pattern, the serial
number will be rendered as 4 digits (e.g. a serial number of 23 will
be rendered as the string 0023). This is useful if you are really picky
about your filenames always having the same number of
characters. You can combine any combination of %c tags in the
same pattern, but thats just silly.

All other text in the pattern is left unchanged.
For example, if your pattern was DateTaken%M-%D-%Y and you had
a picture that was taken on September 15
th
, 2001. The resulting file
name would be DateTaken09-15-2001.jpg.
Note that the renaming pattern is distinct from DIMs handling of
duplicate file names, so in the above example, the second picture
taken on 9/15/01 would have a name of DateTaken09-15-2001-
01.jpg.
What I do, is have a pattern of %M%D and enable the Always Append
Suffix option (see below). This results in a nice sequence of file
names such as 0915-01.jpg, 0915-02.jpg and 0915-03.jpg.
This has the added benefit of keeping the filenames to less than 8
characters (in case you want to edit the pictures with an image
editor that does not support long filenames, such as some early
versions of PhotoShop).
As you edit the pattern, an example will be shown using todays
date.
A L W A Y S A P P E N D S U F F I X
If this is unchecked, the filename suffix will only be applied when a
duplicate filename is encountered.
If this is checked, the filename suffix will always be applied.
What you chose is pretty much a stylistic thing and very much
depends on your renaming pattern. For example, if your renaming

13
pattern includes the hour/minute/second the picture was taken,
you are unlikely to encounter very many duplicate filenames
anyway.
S P E C I A L C A N O N R A W F I L E P R O C E S S I N G
Canon digital cameras which support the Canon Raw Format (CRW
files) and video files (AVI files) also create a small JPG file to go
along with each raw or video file. This is a thumbnail file and has
a THM extension. If this box is checked, CRW/AVI files and THM
files will always be moved together, this insures that the two files
will wind up in the same target directory and only differ by their
filename extension.
Since CRW and AVI files do not contain any EXIF information and
THM files do, the THM file is used to determine the date/time that
the picture was taken.
Note: If you chose this option, you do not need to specify CRW, AVI
or THM as file types to process.
Q U I E T
At certain points in processing, DIM may play sounds. This option
turns off all of DIMs sounds.
S M A R T C O P Y I N G
This is a good option to use if you are not particularly diligent about
cleaning up files from your memory card after you have
transferred them to your computer.
For example, you take 10 pictures on day 1 and then you transfer
them to your computer (using DIM of course). You leave these
pictures on your memory card and then take 10 more pictures on
day 2. You use DIM again to transfer your pictures to your
computer.
What would normally happen at this point is that both the day 1
and day 2 pictures would be copied to your computer, the day 2
pictures for the first time and then duplicates of the day 1 pictures
(with the duplicate file name processing as described earlier).

14
The Smart Copying feature attempts to remedy this problem. When
Smart Copying is enabled, before a file is copied DIM checks to see
if there is a file with the same name in the target directory and it
also checks to see if this file has the same content as the source file.
If the file has the same content and would wind up with the same
name, DIM skips the copying operation.
Be aware that the file would have to have the same target filename
as previously created for this feature to work. The Smart Copy
operation will be bypassed if you change the renaming pattern or if
you delete or rename any of your target files. The worst implication
of this is that you will wind up with some duplicate pictures.
Also note that the contents of the file must be exactly the same in
order for Smart Copy to skip it. If you copy a file and then modify it
in the camera, a subsequent run of DIM wi ll result in the file being
copied again because as far as DIM is concerned, the files are no
longer identical

.
If you use this option, be warned that DIMs processing will take
longer, because a potentially large number of files will have to be
compared.
Selecting this option is pointless if you have also selected the delete
files from source after copying option.
S K I P E X I F E X T R A C T I O N
Under normal circumstances, when DIM attempts to find out when
a picture was taken, it first tries to obtain this information from the
EXIF header embedded in the file. If the image files on your memory
card do not have a valid EXIF header, the date/time stamp on the
file itself will be used.
In the case where your camera either does not generate files with
EXIF headers, or if the headers are in a non-standard format or
location, DIM will not be able to extract the timestamp from the
header and will always fallback to using the filesystem timestamp.
If this is the case with your camera, then you should check this
option, which tells DIM to not bother checking for an EXIF header

In case you are interested, a CRC32 checksum is generated to compare the file contents.

15
and just use the filesystem timestamp. This can speed up your
performance.
U S E E X I F D A T E T I M E O R I G I N A L F I E L D
As previously mentioned, DIM will normally look for the EXIF
DateTimeDigitized field when trying to figure out when your
picture was taken. If this field is not available, DIM will inspect the
DateTimeOriginal field. Under normal circumstances, with most
cameras this works fine. In special cases (perhaps when you are
using DIM to process image files that did not come from a camera),
you might want to reverse the order in which these fields are used.
If this option is checked, DIM will first check the EXIF
DateTimeOriginal field for a valid timestamp before checking
DateTimeDigitized. In either case if a valid timestamp cannot be
found DIM will look in the DateTime field, and as a last resort, use
the timestamp on the file itself.
If the above makes no sense to you, just leave this option
unchecked and you will be fine.
Note that this option obviously has no effect if you also have
selected the Skip EXIF Extraction option.
S H O W T H U M B N A I L S
Normally, DIM will show a small thumbnail image of each picture
as its copied. If you want to disable this (perhaps for performance
reasons), uncheck this box.
S H O W C O N F I R M P R O C E S S D I A L O G
If this box is checked, DIM will ask for confirmation before
beginning the copying of files.
S H O W C O N F I M E X I T D I A L O G
If this box is checked, DIM will ask for confirmation before exiting.

16
W R I T E - P R O T E C T F I L E S A F T E R C O P Y I N G
If this box is checked, DIM will write-protect the target files after
copying them. This is useful to help insure that you dont
accidentally erase or modify the original files from the camera
(which you should probably regard the same way you treat the
negatives from your film camera).
This option only applies to files copied to the target directory.
Backup files have their own option to specify write-protection.
Bear in mind that the actual behavior of a write-protected file is
system dependent and will have different implications on Windows,
Mac and Unix/Linux systems.
V E R I F Y F I L E S A F T E R C O P Y I N G
If this box is checked, DIM will perform a CRC-32 checksum to
insure that each file was successfully copied before proceeding. If
the verification fails, the copy will be retried.
This should not normally be necessary, but some users (usually
with Microdrives) have requested this feature. If you do see DIM re-
trying the copy process, they you likely have a problem with your
source or target media.
This option has no effect if the delete files from source after copying
option is selected, as that option always causes a verification to be
performed before the source file is deleted (see below).
D E L E T E F I L E S F R O M S O U R C E A F T E R C O P Y I N G
If this option is selected, DIM will perform a CRC-32 checksum
validation of the destination file to insure that a faithful copy has
been made, and if the copy was found to be successful, the original
source file will be deleted.
You can use this option to have DIM tidy up your memory card
after each transfer, but this is not recommended. The problem with
using this option is the potential exposure to your computer failing.

17
If you were to disable this option, and subsequent to copying your
pictures your hard drive was to fail, you would still have your latest
pictures on your cameras memory card.
However, if you were to enable this option and your system was to
fail right after a transfer, you are out of luck.
Unless you backup your picture archive immediately after each
transfer (and Im sure you dont), use this option with extreme
caution.
Also note that the smart copying option becomes pointless if this
option is also selected.
If you select this option, the Show Confirm Process Dialog option,
becomes mandatory.
If you do use this option, it is strongly recommended that the
Automatically Create Backup Files option (see below) also be
enabled.
I G N O R E E X T E N S I O N O N N A M E C L A S H C H E C K
This option is quite subtle, and is best explained by an example.
Suppose your source files are of several different types, such as:
abcdefg.jpg
xyzzy.jpg
qwerty.avi
zxcvb.avi
blahblah.tif
poiuy.tif

Further suppose that your storage scheme includes only the month
and day in the filename. If these files were all created on the same
day and you used DIM to copy them to your hard drive, they would
end up with names such as:

18
SEP15.jpg
SEP15-01.jpg
SEP15.avi
SEP15-01.avi
SEP15.tif
SEP15-01.tif

This is because DIM takes the entire filename into account when
determining if there is name clash and the suffix needs to be
applied.

If you have this option checked, then only the root of the filename
(not the extension such as jpg, avi, etc.) is considered when
determining if filenames clash. The result of having this option
checked for this example would be:

SEP15.jpg
SEP15-01.jpg
SEP15-02.avi
SEP15-03.avi
SEP15-04.tif
SEP15-05.tif

A U T O M A T I C A L L Y C R E A T E B A C K U P F I L E S
If this option is selected, you can specify a second target directory
and DIM will copy your files there are well. This really only makes
sense if the backup directory is on different drive than the primary
target. This will protect you from failure of a single drive.
You can separately specify write-protection for the backup files if
you desire.
All the other processing options (file renaming, etc.) apply to the
backup directory as well.
Bear in mind that selecting this option will greatly slow down DIMs
processing, as two copies of each file will need to be made.

19
E X I T P R O G R A M A F T E R P R O C E S S I N G
If this box is checked, DIM will terminate when processing is
complete. It probably only makes sense to check this box if you are
also going to un-check Show confirm exit dialog.
This option can be used in conjunction with DIMs p command-
line argument (see below) to batch process DIM.
C O U N T E R B A S E
The number used as a starting point for the %c symbol in file and
directory name patterns.
Using DIM
Once youve configured DIM, how do you use it?
Click the process button:
Command-Line Arguments
Optional ways of invoking DIM
If you invoke DIM by running the DIM.jar file, you can specify
several optional command-line arguments.
-p
Begin processing immediately. This can be used if you want to
incorporate invoking DIM in a batch or script file. If you do this, you
will probably want to turn off the confirm process and confirm exit
dialogs, and enable the exit after processing option.
-c <configfile>

20
Specify an alternate DIM configuration file to use. This is useful if
you have multiple, varied DIM setups that you use on a regular
basis. If you specify a file that does not exist, DIM will let you know
that its creating one (just like it did the first time you ran it).
-L <clientname>
Specify a client name that will be used to replace %L in patterns. If
you use this option, you will not be prompted at runtime to enter
the client name. If none of your patterns contain a %L, then this
argument has no effect.
-J <jobname>
Specify a job name that will be used to replace %J in patterns. If you
use this option, you will not be prompted at runtime to enter the job
name. If none of your patterns contain a %J, then this argument
has no effect.
Additional Information
Stuff you might need to know about DIM
DIM stores all of its configuration information in a file called
DIMConfig.xml. This file is stored in your home directory
**
. If
for some reason, your DIM setup is really messed up, you
can delete this file and DIM will start over as if it had never
been run. Needless to say, dont ever edit this file. The name
and location of this file will be different if you invoke DIM
with the c command-line option.
The size and position of DIMs main window are saved
whenever you close the configuration screen. So if you get
DIM to a size and position that you like, just open the

**
Your home directory will vary depending on your operating system. On Unix/Linux systems it will be
something like /usr/home/YOURNAME, on Windows it will most likely be C:\Documents and
Settings\YOURNAME, on a Mac, I have no idea (but if you are a Mac user, presumably you would know).

21
configuration screen and then close it (make sure you click
OK and not CANCEL).
If you regularly use DIM to delete files from your memory
card, you should periodically reformat the card in your
camera. This will reduce fragmentation and increase
reliability and performance.
This has nothing to do with DIM itself, but be aware that
some software will strip out EXIF header information from
your files. Be careful using any utilities that might modify the
files on your memory card prior to copying to your PC. If the
EXIF header is removed and the timestamp on the file is
updated, DIM will be unable to correctly determine when a
picture was taken. Two examples of programs with this nasty
behavior are Photoshop (pre 6.0) and the rotate picture
feature of Windows XP Explorer.
DIM Requirements
What sort of system do I need in order to run DIM?
DIM is a 100% pure Java application. As such, it should run on any
reasonable system which supports the Java Runtime Environment
(JRE).
As of this version, DIM requires at least version 1.4 of the JRE.
Versions of the JRE for Windows, Solaris and Linux can be
downloaded from Suns website at: http://www.java.sun.com.
Getting DIM
This all sounds great, but how can I download it?
DIM has its home page at:

22
http://www.alanlight.com/DIM/DIM.htm.
The latest version of DIM (plus this document) can be downloaded
from that page.
Contact Info
I have a question, comment, or suggestion, what should I do?
Keep it to yourself.
Seriously, I can be contacted at alan@alanlight.com.
If you are having a problem, Ill do my best to help, but I cant
promise anything.
If DIM is not working properly for you, to make my life easier could
you please email me a copy of the log file that DIM produces with
each run. This file is found in your home directory and is called
DIMLogn.xml. (where n is an integer).
Privacy Warning:
Please note that this log file will contain a dump of your system
properties. This contains information such as your user name,
home directory, Java version, operating system, etc. Please do not
send me this file if you are at all concerned about me having this
information.
Revision History
September 2004 : Version 4.0 (Mom)

Added support for EXIF extraction from new-format Canon
raw files (CR2).

23
Added command-line options (-J, -L, -p, -c)
Added support for %N, %q , %J, %L, %o and %c fields in
rename patterns.
Added option to write-protect files after copying.
Added option to verify files after copying.
Added option to specify an alternate target directory for
backup files.
Added option to automatically exit DIM after processing is
complete.
When Delete file from source after copying is enabled, force
Confirm process Dialog to also be enabled.
Do not allow source/target/backup directories to be the
same.
Before copying a file, make sure the source and target paths
are different.
Before copying a file, validate target filename for illegal
patterns / characters.
Show percentage complete in window title while processing.
Added option to only compare root of file name when
checking for name clash.
Handle THM/AVI pairs in same manner as THM/CRW pairs.
Make help dialog in configuration screen non-modal.

September 2003 : Version 3.0 (Mond)
Added display of thumbnails.
Added option to delete source files.

24
Added samples of date formats in configuration screen
(using current date).
Added support for %K, %C and %O fields.
Allowed suppressing the processing confirmation dialog and
the exit confirmation dialog.
Use Windows look-and-feel on Windows systems.
Use Java 1.4 regular expression package for string
substitutions.


September 2002 : Version 2.0 (Mona)
This version requires Java 1.4
Use DateTimeDigitized in lieu of DateTime from EXIF header.
Added %A pattern replacement symbol.
Added ability to define pattern for subdirectory names.
Added Smart Copying feature.
Use FileChannels for copying files, resulting in better
performance.
Improved logging via the Java Logging API.
Added the Skip EXIF Extraction option.
Use locale-specific month abbreviations.
Added online help.


September 2001 : Version 1.0 (Rainbow)
Initial Release.


25
Acknowledgements
Thanks to everybody who has suggested enhancements to DIM over
the past 3 years. DIM started out as a tool strictly for myself, since I
could not find a program of its kind that did exactly what I wanted.
Its nice to see that its proven useful to others as well.
A very special thanks to those who were willing to spend the time
and test the new release for me, particularly Marcello Tiso and
Bryan Carnathan (www.the-digital-picture.com).
Id also like to thank everybody behind the NetBeans development
platform (www.netbeans.org), for creating such a terrific (and free)
tool.