How To export data from Darkroom Assembly Edition
This article describes how to export photo data from Darkroom Assembly Edition version 8.70.1118 or later.
There is a link on the Photo Assistant’s Task Details window under the
Wrap up section called “Export photo data.” If you click on this link
it will open a new export data dialog. It contains an edit field and
browse button to set the path and filename to export to. The edit field
defaults to “X:Data ExportsXXXX.csv” where XXXX is the name of the job
to be exported. The user can use any path, filename, or file extension
they want. Once the job has been exported the path is stored as a
string in the registry under HKEY_CURRENT_USERSoftwareExpress DigitalExpress
Digital Darkroom Assembly Edition8.0SettingsLastExportPath. This path
will be used as the default path for subsequent exports.
If the user selects “export column headers” the column headers will be
exported and appear immediately before each data type. It is stored as
a DWORD value under HKEY_CURRENT_USERSoftwareExpress DigitalExpress
Digital Darkroom Assembly Edition8.0Options and will be used as the
default for subsequent exports. This value is initially FALSE. After
the last row for each type of data there will be a blank row before the
next. When importing data files that have been exported from Darkroom
any row whose first column is “KeyId” (case insensitive) will be
Each row of the exported data corresponds to a single file associated
wtih that data. The first column of each row of data will be the Key ID
for that data and will always be in the format “KEYID:XX” where XX is
the actual Key ID for that set of data. Note that the Key ID is
currently for diagnostic purposes only and will be ignored when
importing the data file. It is currently recommended that to fix a
broken job the user export that job, open the job in Excel, “massage”
the data back into a useable form, and then import the data to a new
job, not the old job. If the job has any files currently assigned to it
they should be shown in the X: drive and will be copied to the new job.
Once it is verified that the newly-imported job is correct the old job
can be safely removed. However, I would advise that an archive of the
old job be made before removing it.
If there is no file in the filename column of that data set and one of
the categories (Grade, Class, Team, etc.) is not “-1” then that data
setwill use the default silhouette for that data type. Otherwise, the
filename column will contain a fully-qualified path and filename. (Note
that each data set should contain a silhouette or one or more
filenames, but never both. If that occurs, something is wrong with the job.) If
all of the categories are “-1” that photo is not associated with any data.
However, if one or more, but not all of the categories contain a “-1”
it simply means that photo is not at the lowest level of the job’s tree.
For example, in a School by Grade & Class job, the Grade column may
contain “Staff” and the Class column may contain “-1.” In that case the
image is stored in the first folder which is named “Staff” off of the
root of the job.
Note that virtual catalogs are not shown in the exported data.
The data is sorted first by Key ID, then by type, then by category,
then by Photo Rating from highest to lowest, and finally by filename.
All except Photo Rating are sorted in ascending value. Each of the data
fields are sorted in non-ASCII order. In other words “1”, “01”, and
“001” are treated as the same number, but “10” is sorted in it’s
natural position after “9.” If a string starts with a number and ends with a
string (“123ABC”, for example) it is sorted by the number part first
and then by the string part.
Although the exporter will work with non-DRAE jobs, it is not currently
implemented in any other app. When a job is exported all of the data is
gathered first and, if there are any photos that aren’t associated with
data they will be added to the list. If the number of photos associated
with data does not match the total photo count of all of the catalogs
(minus virtual catalogs) the user will be shown an error.