File last modified on August 18, 2022

OPF Metadata

When the Firebrand directory is installed the script firebrand-opf-create.scpt can be used but requires an eISBN to be entered in the display dialog:

Firebrand OPF Create Prompt

If the script is successful, an OPF template file will be created and placed on your Desktop named content.opf.replacement and the file will open in BBEdit.

All tags located in the metadata section (<metadata></metadata>) are to be generated with the create_firebrand_opf.scpt. If you create the OPF file with the script and a tag is empty do not remove the tag, check to see if that metadata exists in Firebrand and if it is missing contact the metadata curator associated with the title and ask it to be updated. If a metadata error exists and needs to be added to Firebrand we are not edit it that is something the curator should do.

A good practice to see if any metadata could be added is to always reference the Cover.jpg. If any metadata is found ask the metadata curator to add the missing metadata to the title. The more metadata we provide for the title the better chances customers can find and will know more about it.


When the title is pulled from the API it will inject the title and subtile within the <dc:title> tags if a subtitle exists. If the subtile exists, separated by a colon, the subtitle should be placed on it's own line, example:

Bad dc:title:

Good dc:title:

When referencing the title and a series, edition or volume exist it should be placed in it's own tag:


Sometimes the & entity could've been entered in Firebrand for multiple creators that result in something like:

This output is incorrect and should be resolved to:


Double check the <dc:subject> tags to verify that only one subject is used per tag. If the subject structure is incorrect Alfresco will not allow the upload and you will be returned an error after the prompt reaches 100%.

If more than one subject exists each subject should be moved into its own tag, example:



When the metadata is pulled from the API it will use a named entity. If a named entity exists it should be replaced with it's numerical value, example:

named entity:

coded entity:

An app does exist that handles the conversion from named to numerical called The app will also convert any rendered symbols to their entity. If you'd like to see what's being targeted or use the JSON for your own scripts or apps reference html_entities.json and symbol_entities.json. If there is an entity that should be added create an issue.


If a coded list exists in the description it should be replaced with a bulleted line.


If an ebook has a print title during the development process and not a digital only title the metadata for the print title should be entered in <dc:relation> tags, example:

<dc:relation> Title="Foo bar" Relation="978xxxxxxxxxx" format="print" </dc:relation>

If a title has a hard and soft bond cover both can be added assuming the pISBNs are different:

<dc:relation> Title="Foo bar: soft cover" Relation="978xxxxxxxxxx" format="print" </dc:relation>
<dc:relation> Title="Foo bar: hardcover" Relation="978xxxxxxxxxx" format="print" </dc:relation>

The <dc:relation> tag also accepts other titles that might exist in a series which can be added:

<dc:relation> Title="Bar Foo" Relation="978xxxxxxxxxx" format="print" </dc:relation>
<dc:relation> Title="Bar Foo" Relation="978xxxxxxxxxx" format="digital" </dc:relation>

When adding additional metadata channels like Amazon can parse the code from the ePub and make a suggestion.


By default the API assumes the language is English and will use:


If the title is in another language, like Spanish, this should be replaced and identified with es:


If the language is something other than English or Spanish a good reference for the code is HTML Language Code Reference.


By default the coverage is assumed worldwide distribution and the tag is added:


If the title is origin depicted, such as US only, the tag should be removed.

Last build: Thursday, 08/18/2022, 01:01:08 AM