-
Fedora digital objects can be encoded in several XML formats for ingest and export. Those formats are FOXML 1.1, FOXML 1.0, METS 1.1, and ATOM 1.1.
For encoding ingest files in FOXML 1.1, please refer to the FOXML 1.1 XML schema and the Introduction to FOXML guide in the Fedora System Documentation. Also look at the sample FOXML ingest file for a model of a typical ingest file using FOXML.
FOXML 1.0 is included for backwards compatibility. This facilitates ingesting any existing objects you may have in FOXML 1.0 format or exporting objects in FOXML 1.0 for ingest into a legacy repository. It is recommended that if you are creating new objects using FOXML, that you use the FOXML 1.1
For encoding ingest files in METS 1.1, please refer to the METS XML schema (Fedora extension) and also rules for encoding Fedora objects in METS.
For encoding ingest files in ATOM 1.1, please refer to Fedora Atom documentation.
-
Ingest an Object via Fedora Administrator
The Fedora Administrator client provides a graphical user interface for ingesting objects into a Fedora repository. Behind the scenes, Administrator uses Fedora API-M, and the appropriate SOAP calls are made the the repository to accomplish the ingest. Objects are ingested as XML files.
From Fedora Administrator, select File/Ingest from the menu bar. You have the option to ingest one object from a file, or multiple objects either from a directory or from another Fedora repository.
When ingesting from a file or a directory, you will be presented with a file browsing dialog, as shown below. Select the file or directory you wish to ingest from.
Next, you will be prompted with a dialog box to indicate the XML format of your file or files. Select the radio button for the appropriate format of your file or files. Note that if you are ingesting multiple files from a directory, all files must be in the same XML format. When you select the OK button your file or files will be ingested into the repository. The Fedora Administrator client makes a call the the ingest operation of API-M. A successful call results in a new digital object in the repository.
-
Export an Object via Fedora Administrator
The Fedora Administrator client provides a graphical user interface for exporting objects from a Fedora repository. Behind the scenes, Administrator uses Fedora API-M, and the appropriate SOAP calls are made to the repository to accomplish the export. Objects are exported as XML files.
The Fedora export operation can be used to migrate objects from one Fedora repository to another. Export can be used for other purposes too. You can requests XML encodings of a Fedora objects from a repository to archive objects in a separate offline location. Also, you may want to dump selected objects into a directory to examine them, or perform some other function on them. Another use for export is to enable transmission of an entire object to an external service.
From Fedora Administrator, select File/Export from the menu bar. You have the option to export one object, or multiple objects.
Next, you will presented with a file browsing dialog where you can select the directory that the file will be exported to, as shown below.
After you have selected the destination of the export file, you will be presented with the export options dialog, shown below. In this dialog you must first select the XML FORMAT that you would like the digital object to be exported in. Select the radio button for the format you want. Then, you must specify the export CONTEXT to make sure the export file is prepared appropriately for the purpose it will serve. There are three options:
- migrate: selecting the migrate context will ensure that the export file is encoded in a manner appropriate for migrating an object from one Fedora repository to another. The important feature to note here is that when a Fedora object's datastream contains a URL that is relative to the repository in which the object resides, the migrate option will ensure that the URL remains relative in the new repository. Any repository-relative URLs will be encoded in the export file with the special string "fedora.local.server" in place of the actual hostname and port of the repository. When the export file is ingested into another Fedora repository, these URLs will become relative to the hostname and port of the new repository.
- public: selecting the public context will ensure that the export file is encoded in a manner appropriate for processing the digital object outside the context of a Fedora repository. The file will contain callback URLs for all content stored inside the Fedora repository. The assumption is that this file must not contain any internal identifiers that are only meaningful inside a Fedora repository. Instead, all internal identifiers that point to datastream content inside a Fedora repository are converted to public access URLs. These URLs are Fedora dissemination requests (upon API-A-LITE) for obtaining datastream content stored in the repository.
- archive: selecting the archive context wil ensure that the export file is completely self-contained. Any datastreams that are stored within the Fedora repository (ie. datastreams of type Managed) the content of the datastream will be directly stored in the resulting XML file as base64-encoded data. The file produced serves as a self-contained archive of the digital object. Using this format it is possible to export any object stored in a Fedora repository and then subsequently ingest that object into a different Fedora repository even when the original repository is no longer accessible, or even no longer running.
When you select the OK button, the digital object(s) will be exported from the repository into files(s) according to the options specified. Note that the digital object still resides inside the repository since the export file is just a copy of the digital object.
If you are using the export operation to migrate objects from one repository to another, there are two ways to accomplish this via Administrator. The first option is the two-step approach. You can login into Administrator connecting to the repository you want to export from. Then, export objects into files in a directory. Then use Administrator to connect to the repository you want to migrate the objects into and ingest the objects from the directory (assuming the directory is a shared a shared disk area). Alternatively, you can let Fedora Administrator accomplish both the export and ingest in one step. To do it this way, you login to the repository you want to migrate objects into (the target repository). Then select the File/Ingest/ObjectsFromType/FromRepository menu option in Administrator. You will be prompted to enter host, port, username, and password for the repository you want to export objects from (the source repository). Fedora Adminstrator will automatically export objects from the source repository into the target repository in one step.
-
Ingest an Object via Command Line
The Fedora Administrator client provides a command line utility for ingesting objects into a Fedora repository. Behind the scenes, Administrator uses Fedora API-M, and the appropriate SOAP calls are made the the repository to accomplish the ingest. Objects are ingested as XML files. Please see the the fedora-ingest utility in the Fedora Command Line Utility Guide.
-
Export an Object via Command Line
The Fedora Administrator client provides a command line utility for exporting objects from a Fedora repository. Behind the scenes, Administrator uses Fedora API-M, and the appropriate SOAP calls are made the the repository to accomplish the export. Objects are export as XML files. Please see the the fedora-export utility in the Fedora Command Line Utility Guide.
-
Ingest/Export via Your Own SOAP Client
Of course, you can write your own client to perform ingest and export operations on a Fedora repository. To do this, you must familiarize yourself with the operation syntax as expressed in the WSDL for API-M.