Customised export for the DMS Imagen Media Archive Management

Export plugin for Goobi workflow to create special export formats in the software Imagen Media Archive Management

Overview

Introduction

This documentation describes the installation, configuration and use of the export plugin for the creation of special export packages for the Imagen Media Archive Management software. Within the plugin, 5 special publication types are currently taken into account and processed individually.

Installation

To be able to use the plugin, the following files must be installed:

/opt/digiverso/goobi/plugins/export/plugin-export-adm-bsme-base.jar
/opt/digiverso/goobi/config/plugin_intranda_export_adm_bsme.xml

Once the plugin has been installed, it can be selected within the workflow for the respective work steps and thus executed automatically. A workflow could look like the following example:

To use the plugin, it must be selected in one step:

Overview and functionality

This plugin is automatically executed as an export plugin within the workflow and generates the required data within a configured directory. Depending on the publication type, these are

  • Image files

  • Plain text files with OCR results

  • ALTO files with OCR results

  • METS files

  • METS anchor files

  • XML export files

The structure of the XML export files in particular varies greatly depending on the publication type. Here is an example of a Generic Print publication type:

<?xml version="1.0" encoding="UTF-8"?>
<image>
  <ImageInfo>
    <Rights_to_Use>Yes</Rights_to_Use>
    <Right_Details>ADMN</Right_Details>
    <Media_Source>Goobi</Media_Source>
    <Media_Type>Image</Media_Type>
    <Publication_Name>الاتحاد - Al Ittihad</Publication_Name>
    <Source_Organization>Source Organization information</Source_Organization>
    <Barcode>123456789</Barcode>
    <Subject>Subject information</Subject>
    <Event_Date>2024-04-10</Event_Date>
    <Event_Name>Event Name information</Event_Name>
    <Photographer>Photographer information</Photographer>
    <Format>35mm</Format>
    <Persons_in_Image>Persons in Image information</Persons_in_Image>
    <location>Event Locations information</location>
    <Description>Description information</Description>
    <Backprint>Backprint information</Backprint>
    <Technical_Notes />
  </ImageInfo>
  <Files>
    <master>
      <Format>image/tiff</Format>
      <ResolutionUnit>PPI</ResolutionUnit>
      <Resolution>200.0</Resolution>
      <BitDepth>8</BitDepth>
      <ColorSpace>color</ColorSpace>
      <ScanningDevice>Bookeye 5</ScanningDevice>
      <ScanningDeviceID>- no serial number available -</ScanningDeviceID>
      <Width>1272</Width>
      <Height>1680</Height>
      <file>123456789-0001.tif</file>
    </master>
    <master>
      <Format>image/tiff</Format>
      <ResolutionUnit>PPI</ResolutionUnit>
      <Resolution>200.0</Resolution>
      <BitDepth>8</BitDepth>
      <ColorSpace>color</ColorSpace>
      <ScanningDevice>Bookeye 5</ScanningDevice>
      <ScanningDeviceID>- no serial number available -</ScanningDeviceID>
      <Width>1272</Width>
      <Height>1680</Height>
      <file>123456789-0002.tif</file>
    </master>
    <text Format="text/plain">123456789-0002.txt</text>
    <master>
      <Format>image/tiff</Format>
      <ResolutionUnit>PPI</ResolutionUnit>
      <Resolution>200.0</Resolution>
      <BitDepth>8</BitDepth>
      <ColorSpace>color</ColorSpace>
      <ScanningDevice>Bookeye 5</ScanningDevice>
      <ScanningDeviceID>- no serial number available -</ScanningDeviceID>
      <Width>1192</Width>
      <Height>1608</Height>
      <file>123456789-0003.tif</file>
    </master>
    <text Format="text/plain">123456789-0003.txt</text>
  </Files>
</image>

Configuration

The plugin is configured in the file plugin_intranda_export_adm_bsme.xml as shown here:

<config_plugin>

	<!-- directories where to export to -->
	<targetDirectoryNewspapers>/opt/digiverso/export/bsme/mnt/export/Newspapers/</targetDirectoryNewspapers>
	<targetDirectoryMagazines>/opt/digiverso/export/bsme/mnt/export/Magazines/</targetDirectoryMagazines>
	<targetDirectoryPositives>/opt/digiverso/export/bsme/mnt/export/Positives/</targetDirectoryPositives>
	<targetDirectoryNegatives>/opt/digiverso/export/bsme/mnt/export/Negatives/</targetDirectoryNegatives>
	<targetDirectorySlides>/opt/digiverso/export/bsme/mnt/export/Slides/</targetDirectorySlides>
	<targetDirectoryGeneric>/opt/digiverso/export/bsme/mnt/export/Generic/</targetDirectoryGeneric>
	
	<!-- additional PDF copy directory, leave empty if not needed -->
	<pdfCopyNewspapers>/opt/digiverso/export/bsme/mnt/pdf/Newspapers/</pdfCopyNewspapers>
	<pdfCopyMagazines>/opt/digiverso/export/bsme/mnt/pdf/Magazines/</pdfCopyMagazines>

	<!-- main viewer url -->
	<viewerUrl>https://adm.goobi.cloud/viewer/</viewerUrl>

	<!-- configured values to be used inside of the export xml, 
	    you can use variable replacer expressions here like e.g.: 
		- $(meta.CatalogIDDigital) 
		- $(meta.topstruct.TitleDocMain) 
		- $(process.Template) -->
	<rightsToUse>$(meta.AdmRightToUse)</rightsToUse>
	<rightsDetails>$(meta.AdmRightDetails)</rightsDetails>
	<source>Goobi</source>
	<mediaType>$(meta.AdmMediaType)</mediaType>
	<mediaGroup>$(meta.AdmMediaGroup)</mediaGroup>
	<sourceOrganisation>$(meta.AdmSourceOrganization)</sourceOrganisation>
	<frequency>$(meta.AdmIssueFrequency)</frequency>
	<eventName>$(meta.AdmEventName)</eventName>
	<eventDate>$(meta.AdmEventDate)</eventDate>
	<eventTime>$(meta.AdmEventTime)</eventTime>
	<subject>$(meta.Subject)</subject>
	<subjectArabic>$(meta.AdmSubjectArabic)</subjectArabic>
	<subjectEnglish>$(meta.AdmSubjectEnglish)</subjectEnglish>
	<photographer>$(meta.AdmPhotographer)</photographer>
	<personsInImage>$(meta.AdmPersonsInImage)</personsInImage>
	<locations>$(meta.AdmEventLocations)</locations>
	<description>$(meta.Description)</description>
	<editorInChief>$(meta.AdmEditorInChief)</editorInChief>
	<format>$(meta.Format)</format>
	<envelopeNumber>$(meta.AdmEnvelopeNumber)</envelopeNumber>
	<backprint>$(meta.AdmBackprint)</backprint>
	
	<!-- mets parameter -->
	<!-- if a field is empty or missing, project configuration is used -->
	<metsUrl addFileExtension="true">https://adm.goobi.cloud/viewer/sourcefile?id=
	</metsUrl>
	<resolverUrl>https://adm.goobi.cloud/viewer/piresolver?id=
	</resolverUrl>
	<metsPointerPath>https://adm.goobi.cloud/viewer/sourcefile?id=$(meta.topstruct.CatalogIDDigital).xml
	</metsPointerPath>
	<metsPointerPathAnchor>https://adm.goobi.cloud/viewer/sourcefile?id=$(meta.CatalogIDDigital).xml
	</metsPointerPathAnchor>
	<metsPointerAddFileExtension>true</metsPointerAddFileExtension>
	<rightsOwner>Abu Dhabi Media Company</rightsOwner>
	<rightsOwnerLogo>https://adm.goobi.cloud/viewer/resources/themes/reference/images/dfg_viewer_logo.png
	</rightsOwnerLogo>
	<rightsOwnerSiteURL />
	<rightsOwnerContact />
	<digiprovPresentation>https://adm.goobi.cloud/viewer/piresolver?id=$(meta.CatalogIDDigital)
	</digiprovPresentation>
	<digiprovReference />
	<digiprovPresentationAnchor>https://adm.goobi.cloud/viewer/piresolver?id=$(meta.topstruct.CatalogIDDigital)
	</digiprovPresentationAnchor>
	<digiprovReferenceAnchor />
	<rightsLicense />
	<rightsSponsor />
	<rightsSponsorLogo />
	<rightsSponsorSiteURL />
	<purl />
	<contentIds />

	<!-- global metadata settings -->
	<metadata>
		<purl>_purl</purl>
		<identifier>CatalogIDDigital</identifier>
		<issueDate>DateIssued</issueDate>
		<dateOfOrigin>DateOfOrigin</dateOfOrigin>
		<yearDate>CurrentNoSorting</yearDate>
		<titleLabel>TitleDocMain</titleLabel>
		<modsTitle>MainTitle</modsTitle>
		<issueNumber>CurrentNo</issueNumber>
		<sortNumber>CurrentNoSorting</sortNumber>
		<language>DocLanguage</language>
		<location>PhysicalLocation</location>
		<resourceType>TypeOfResource</resourceType>
		<anchorId>AnchorID</anchorId>
		<anchorTitle>AnchorTitle</anchorTitle>
		<accessConditionUse>AccessConditionUse</accessConditionUse>
		<accessConditionDetails>AccessConditionDetails
		</accessConditionDetails>
		<frequency>Frequency</frequency>
	</metadata>

	<docstruct>
		<newspaper>Newspaper</newspaper>
		<year>Year</year>
		<month>Month</month>
		<day>Day</day>
		<issue>NewspaperIssue</issue>
		<newspaperStub>NewspaperStub</newspaperStub>
	</docstruct>

</config_plugin>

The parameters used are detailed here:

Für eine einfachere Inbetriebnahme befindet sich in install-Ordner des Plugins einn Verzeichnis mit den zwei passende Regelsätze als Referenz, die zu der hier aufgeführte Konfigurationsdatei passen.

Last updated