Skip to main content
Service phase: Beta

This is a new service. Help us improve it and give your feedback (opens in new tab).

Digital

Introducing export templates: Customise DROID exports without external tools

Digital Record Object Identification, or DROID, is free software we've developed that helps archives with their digital preservation workflows. We've now added a new feature to it: customisable export templates, that aid in cataloguing digital files or preparing them for processing.

Published by Saurabh Parkhi

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.

Screenshot of the 'Export profiles' prompt in DROID, with the 'Use export template' option highlighted at the top.

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.

Screenshot of the 'Export profiles' prompt in DROID, showing the 'Select an export template' dropdown menu.

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.

Author