Skip to content

Directories

Christian Egli edited this page Apr 30, 2015 · 9 revisions

Overview

For a production directories are created to hold data that is needed at the particular state of the production. For example the structural information about a production is kept in a DTBook XML file inside the structured directory from where obi can import it. The recording with obi happens inside the recording directory and the export is stored in the recorded directory. After a production has been archived all these directories and artifacts will be removed from the file system.

Most of these paths can be configured of course, below are just the default locations.

Table of contents

Structured

When a production has been structured you have two files:

DTBook file
containing the structure of the production
Obi config file
the config file for obi which enables the one-click import.

These files are stored in /var/lib/mdr2/structured/:id:/.

This directory needs to visible from Windows so that obi can import a production.

Mount point

/var/lib/mdr2/structured

Recording

The config file is set up so that the obi project is created in /var/lib/mdr2/recording/:id:/. This is where obi stores all the files relevant for this production.

This directory needs to visible from Windows so that obi store the relevant files. It only needs to be visible on the madras server for the purpose of removing it once the production has been archived.

Mount point

/var/lib/mdr2/recording

Recorded

After a production is recorded an export to DAISY3 is done in obi. The config file is set up so that the export will go to /var/lib/mdr2/recorded/:id:/.

This directory needs to visible from Windows so that obi can export a production to it.

Mount point

/var/lib/mdr2/recorded

Encoded

After the recording the DAISY3 is encoded to mp3. These files are then used to produce the iso. They are placed in /var/lib/mdr2/encoded/:id:/.

Mount point

/var/lib/mdr2/encoded

Iso

After the encoding the DAISY3 one or more iso images are created. These files are placed in /var/lib/mdr2/iso/:id:/.

Mount point

/var/lib/mdr2/iso

Repair

In the case of a repair the DAISY202 master from the archive will be placed inside /var/lib/mdr2/structured/:id:/ with a suitable obi config file.

When fetching the master (which is a tar file) from the archive, a temporary directory /var/lib/mdr2/structured/:id:_repair/ is created to hold the intermediate data such as the tar file and the unpacked archive. After the relevant files have been moved to /var/lib/mdr2/structured/:id:/ the temporary directory is removed.

Mount point

same as for Structured

Manual multi-volume split

When a production is split manually into multiple volumes the exported DAISY book found in /var/lib/mdr2/recorded/:id: will be used as a basis. It will be split using external tools. The resulting separate DAISY books will be placed in /var/lib/mdr2/split/:id:/:volume:/. This directory needs to be visible on a windows machine.

Mount point

/var/lib/mdr2/split

/var/spool/abacus

Outgoing files to ABACUS

Traditionally these files have been copied with a cron job. We could also just mount the directory.

Mount point

Not mounted. Instead files are transferred probably via scp.

/var/spool/agadir

When archiving files they need to be placed in a specific directory.

Books

Productions of production type book are placed inside /var/spool/agadir/books for archiving.

Mount point

/var/spool/agadir/books. Refer to the install script to see where these directories are exactly mounted from.

Periodicals

Productions of production type periodical are placed inside /var/spool/agadir/periodicals for archiving.

Mount point

/var/spool/agadir/periodicals

Other

Productions of production type other are placed inside /var/spool/agadir/other for archiving.

Mount point

/var/spool/agadir/other

/var/spool/mdr2

This directory no longer exists. Incoming requests from ABACUS are no longer handled via file copy but are now handled via HTTP POST.

Mount point

Not mounted. Instead files are transferred via HTTP POST.

$ curl -i -F "f=@SN1_foo.xml" http://madras2/abacus/new
$ curl -i -F "f=@SN1_foo.xml" http://madras2/abacus/recorded
$ curl -i -F "[email protected]" http://madras2/abacus/status
$ curl -i -F "[email protected]" http://madras2/abacus/metadata

Make sure return code is 200 or 201.