What is DROID?
DROID is an important tool in the toolbox of all digital archivists. It is an open-source software application used by thousands of archives to support their digital preservation workflows.
It allows large volumes of files to be characterised, which means to determine the precise format of each digital file, in order to help archivists manage risks to long-term readability. In archival science, digital characterisation includes identifying file formats, extracting metadata (eg technical specifications, creation date), and assessing the risk of file format obsolescence.
It also captures important technical parameters, including creating checksums in a variety of formats, to help enable trust in the end-to-end integrity of digital records. A checksum is a unique, fixed-length string of alphanumeric characters (a 'digital fingerprint') generated by running a file through an algorithm like SHA-256 or MD5. It is used to verify data integrity, ensuring a file has not been corrupted or altered during download, transfer, or storage.
DROID has an ability to export the captured technical parameters to a CSV file. This CSV is often used as the basis of the next step of a digital preservation workflow, for example sending information to an archival catalogue, publishing files on a website, or transferring them to external bodies for archiving.
The challenge
Although DROID has the ability to configure the columns that it exports, it is quite common for the downstream processes to have some constraints about what columns they may accept. A few common constraints are as follows:
- Need for additional columns, which are not directly available from DROID results in the CSV
- Specific column names for certain data
- Case (upper or lower) of the data in the columns
- Order of the columns within the exported CSV
Until now, users who wanted to get around these constraints addressed these issues by developing custom tools external to DROID. Such tools, typically, read the CSV file and rewrite it using desired transformations. These tools can introduce their own complexities such as:
- External dependency in a workflow
- Another tool to maintain
- Lack of support for new features / output formats added to DROID
The solution
As of DROID 6.8.0, we have introduced a feature within DROID to solve the above problem. Export templates allow DROID to generate customisable, templated metadata manifests which can be used as an early step in cataloguing digital files or preparing them for processing. It arose from real-world challenges facing archivists and records managers handling large collections, and allows the removal of complex manual steps in some current workflows.
An export template is a simple text file with predefined grammar for instructions to convert the data when exporting. When a user exports the results from DROID, they can, optionally, choose an export template to apply before writing the CSV file. This means the generated output CSV can be directly used by the downstream process without need of external modifications.
Why it matters
- No need for using external tools
- As the templates are embedded within DROID, it benefits from future improvements
- Consistency across the graphical user interface (GUI) and command line interface (CLI), resulting in wide range of uses in automated as well as manual workflows
How to use export templates
The feature relies on defining templates that are applied to the results at the time of export. An export template is a simple text file with instructions that are applied to the data just before an export file is written out to disk.
DROID uses a folder called droid6 to store its application data (the location of the folder can be seen on the 'About DROID' dialog box).
Under the droid6 folder there is a new folder called export_templates. Any file in this folder that has an extension of .template is treated as an export template, and is made available on the export dialog in DROID. If there is at least one template file available, the DROID export dialog enables the 'Use export template' checkbox.
On checking the checkbox, all the available templates are shown in a dropdown menu, where users can choose the specific template to apply to the current export.
Once this is done, the user can export the results with customisations defined in that template.
When using the command line version of DROID (the 'CLI'), there is no constraint for the templates to be available in the export_templates folder. Users can simply pass the additional parameter -et <absolute path to the template file> to get the desired output.
For example, the following command uses the already saved myprofile1.droid, applies a template MyExport.template, and outputs the result to a CSV file named myprofiles.csv:
droid -p "C:\Results\myprofile1.droid" -e "C:\Exports\myprofiles.csv" -et "C:\Templates\MyExport.template"
Export template syntax
The export template, as mentioned before, is a text file with specific instructions in a predefined grammar. As of now, it supports the following syntax:
Comment line
The export template allows for comments to be added in the file. Any line that begins with // is treated as a comment and is ignored for column customisations.
Version line
The very first non-comment and non-empty line of the export template defines the version number. For now, it simply needs to be version 1.0.
Header modification
A column name can be changed from DROID’s well-known column names to any custom name as per the user preference. e.g. Identifier: $ID indicates that the column with a default name of ID will be called Identifier in the export file.
Change of case
Data in a particular column can be changed to be lowercase by using LCASE or uppercase using UCASE with the column name. For example, LowerName: LCASE($NAME) will add a column called 'LowerName' to the export and the data is populated from the well-known 'NAME' column after converting it to lowercase.
Column addition
A new arbitrary column can be added to the export by defining it in the template file. Optionally, it can also be populated with some data if desired. For example, Language: "Simplified English" will add a column called 'Language' to the export and populate all cells in this column with a value of 'Simplified English'.
Ordering of the columns
When an export template is used, the columns in the CSV file are ordered as they appear in the template definition.
An example template file
Here is what a template file looks like:
// This template is an example of how Export Templates can be written
// created on: 27/02/2026
// created by: user@example.com
version 1.0
Identifier: $ID
Name: $NAME
LowerName: LCASE($NAME)
Language: "Simplified English"
Submitter: "Ambridge Library, Borsetshire"
Background:
FormatName: $FORMAT_NAME
FormatVersion: $FORMAT_VERSION
// Add a column but leave it blank to be populated by downstream process Export Tool:
The above template indicates the following:
- The version of the template is 1.0
- The desired order of columns in the export file is: Identifier, Name, LowerName, Language, Submitter, Background, FormatName, FormatVersion, Export Tool
- Identifier, Name, FormatName and FormatVersion columns are populated with data from the ID, NAME, FORMAT_NAME and FORMAT_VERSION columns respectively
- LowerName column is populated with the data from the NAME column after converting it to lower case
- Language and Submitter columns are populated with the string values of 'Simplified English' and 'Ambridge Library, Borsetshire' respectively
- Background and Export Tool columns are left blank.
A potential output, based on actual data, may look like this:
| Identifier | Name | LowerName | Language | Submitter | Background | FormatName | FormatVersion | Export Tool |
|---|---|---|---|---|---|---|---|---|
| 2 | GP-led-sites-may21.csv | gp-led-sites-may21.csv | Simplified English | Ambridge Library, Borsetshire | Comma Separated Values | |||
| 3 | Hospital-Hubs-may21.csv | hospital-hubs-may21.csv | Simplified English | Ambridge Library, Borsetshire | Comma Separated Values | |||
| 4 | Pharmacies-May21.csv | pharmacies-may21.csv | Simplified English | Ambridge Library, Borsetshire | Comma Separated Values | |||
| 5 | All-Sites.xlsx | all-sites.xlsx | Simplified English | Ambridge Library, Borsetshire | Microsoft Excel for Windows | 2007 onwards |
The export template feature is available now in DROID 6.8.0 onwards.