Ready to Learn?Ex Libris products all provide open APIs

  • Primo resources
  • Alma resources
  • Rosetta resources
  • Leganto resources
  • bX resources
  • SFX resources
  • Aleph resources
  • Voyager resources

Tech Blog


Preserving Digitized Alma Content with Rosetta

Alma digitization flows can be configured to result in adding digital inventory to an existing bibliographic record. If the digitized content is considered worthy of preservation, libraries can choose to ingest content into Rosetta and manage in Alma as remote representations rather than ingesting into Alma. This process can be done manually, with Alma staff adding a remote representation as a fulfillment of the digitization request. However, in larger scale digitization projects, manual flows are insufficient.

To address such a need, libraries can use the Rosetta Alma Submission Application. The application is to be used as part of a larger workflow, described in the Alma-Rosetta Integration Guide, whereby Rosetta automatically creates digital inventory in Alma for content submitted to Rosetta by the Rosetta Alma Submission Application. This flow is described by the following diagram:


The application runs the following flow:

1. The application reads a list of barcodes, and identifies relevant directories with the barcode name within a designated folder (scannedFilesNFSLocation). The expected directory structure is as follows:


Then, for each barcode:

2. The descriptive metadata record (in Dublin Core) is retrieved from Alma (via SRU).

3. A digitization request is created. 

4. A Rosetta submission folder with SIP metadata, a METS file, including the Alma MMS_ID and Request ID, is created and submitted to Rosetta.

Once in Rosetta, an enrichment process uses Alma APIs to create the remote digital inventory and close the digitization request (this is not part on the submission application and must be configured separately).


java -jar SubmissionApp.jar [configuration_file] [username] [password]

Configuration File

The following parameters should be provided in the configuration file (a config.txt template file is provided in the exampleData folder on github):

  • almaUrl, apiKey: - your library's Alma API base URL and API key, as described here. The application (apikey) must have read/write access to /bibs.
  • digitizationDeptCode - your Alma Digitization Department code.
  • sruUrl - your Alma SRU URL (see here). Make sure your SRU integration Profile is properly configured (and enabled).
  • barcodeListPath - location of the list of barcodes (example in exampleData folder).
  • scannedFilesNFSLocation - the NFS location of the directories with the digitized content.
  • rosettaUrl - the Rosetta base URL (if you have a separate URL for deposit, use that).
  • rosettaInstCode - the Rosetta institution code (e.g. INS00).
  • rosettaMFId - the Rosetta material flow ID that will be used for the submission.
  • rosettaProducerId - the Rosetta producer ID on behalf of whom the content will be submitted.
  • SIPNFSLocation - the target location where the submission folder will be created.


The Rosetta Alma Submission Application is available on github. Requires Rosetta v5.2 and higher.