EAD data transfer
OPAC Plugin for the data transfer of EAD records using the example of the university archive of HU Berlin
Overview
Introduction
This documentation describes the installation, configuration and use of an XML-based database to manage EAD files and integrate them into Goobi.
Installation and configuration
Preparation of the EAD memory
The concept of an EAD memory was chosen as the technical solution for the data transfer of EAD files. This is an XML database that can be repeatedly supplied with several updated EAD files and subsequently serves as a data source similar to a queryable catalog, which can be queried both by Goobi workflow and by the Goobi viewer in order to be able to query information about tectonics as well as detailed information about a data record.
The interposition of this EAD memory ensures that the EAD files can also be updated at any time and that the individual data records are always displayed with the current context, even if this has changed since the first data transfer.
Installation of the XML database BaseX
BaseX is an XML database in which the EAD files can be managed, analyzed and queried. Java 1.8 is required to install BaseX.
First you have to download the database:
To install BaseX on a Linux system, first download the zip file and install it on the server. For example, this could be done in this path:
The Jetty configuration must then be adapted so that the application can only be accessed on localhost. To do this, make sure in the configuration file /opt/digiverso/basex/webapp/WEB-INF/jetty.xml
that the host
is set to 127.0.0.1
:
Then the Systemd Unit File is installed to this path:
This has the following structure:
The daemon must then be reloaded, the unit file activated and the database restarted:
To make the admin interface externally accessible, it can be configured in Apache
with the following section, for example:
Afterwards the Apache module proxy_http
must be activated and Apache must be restarted for the adjustments to take effect:
Set up database
The XML database can be accessed under the following URL after installation:
http://localhost:8984/dba/login
The access data is admin
/admin
. After the first login a new password should be assigned first. The menu entry Users
must be opened for this. Here you can click on the account name and set the new password.
Then a new database for the EAD files can be created. For this purpose the menu entry Databases
must be selected. Click Create
to open the dialog. Here you have to assign a title for the database. All other settings can remain like this.
Adding and deleting files
After the database has been created, EAD XML documents can now be added. The created database can be selected under Databases
. This opens a window in which the files belonging to the database can be managed. New files can be selected and uploaded via the Add
dialog. Here you can select an EAD file in the Input
field. With Add
the file is added and the overview page is loaded. Files can also be removed here. To do this, they must be marked with a checkbox and then deleted with Delete
. Updating an EAD file is only possible by deleting and adding it again.
Definition of the search query
In order to set up the query interface for Goobi, the database must be made aware of what a query looks like, what is to be done with it, and what the result should look like. BaseX offers several options for this. We chose RESTXQ because it does not require authentication, unlike the REST interface.
Therefore a new file eadRequest.xq
must be created in the directory /opt/digiverso/basex/webapp/
.
This xquery module is executed when requests are sent via GET
to /search/{$identifier}
. If another endpoint
is to be used, this can be adjusted in the declare
area. When a request is made, the page:getRecord
function is executed. In the first line of the function, the database name to be used must be defined. If the information has been split between several databases, several files must be used with this function. The variable rest:path
must be uniquely defined.
Whether the configuration is correct can be tested with a query to the database:
http://localhost:8984/search/A91x07542461156845020181205140345849
Changes to the files or the databases can be made at any time during operation.
Goobi connection
Once the database has been set up, it can be configured in Goobi. Since the metadata differs significantly from the bibliographic metadata of libraries, Goobi should use its own project and rule set. In addition, the OPAC plugin goobi-plugin-opac-ead
must be installed.
Configuration of the file goobi_opac.xml
The file goobi_opac.xml
must be extended by two more entries. On the one hand, the document type to be used must be defined. This happens in the doctypes
area:
In this example, the file type (SingleRecord
in the rule record) is used.
The data source must also be defined:
The title
attribute contains the name under which the data source can be selected in Goobi. The config
element contains the URL to the previously defined REST interface in address
and the name of the database in database
.
Configuration of the plugin within plugin_opac_ead.xml
This file is located in the /opt/digiverso/goobi/config/
folder and contains the mapping of the EAD elements to Goobi metadata.
The available namespaces are defined in the upper area, followed by the structure type to be generated. The attribute isanchor="true/false"
can be used to define whether a multi-volume object or an independent object is to be created. The metadata is then mapped in the mapping
area. Since EAD does not distinguish between persons and other metadata, only normal metadata can be created here. Each metadata
in name
contains the metadata as defined in the rule set. In level
, you specify where the metadata is to be created. Possible values are physical
, topstruct
and anchor
.
In xpath
is the XPath expression that is applied to the record to determine the value of the metadata. The xpathType
attribute describes the return value of the XPath expression. This can be either Element
, Attribute
, or String
.
Project configuration within the file goobi_projects.xml
The file goobi_projects.xml
needs a new definition for the publication type and the new metadata.
Once this configuration has been completed, a new data source is available within Goobi within the creation mask for processes. This can now be queried using identifiers in the same way as other data sources and catalogs.
Last updated