Skip to content
peterdietz edited this page Sep 22, 2011 · 10 revisions

To get started, read the README. https://github.com/peterdietz/SAFBuilder/blob/master/README

Read the installation notes for your operating system for assistance.

Installation on Linux https://github.com/peterdietz/SAFBuilder/wiki/Installation-on-Linux-(Ubuntu)

Installing on Windows https://github.com/peterdietz/SAFBuilder/wiki/Installation-on-Windows

Read the wiki entry at Duraspace. https://wiki.duraspace.org/display/DSPACE/Simple+Archive+Format+Packager

Basic Usage

Once you have checked out and installed this program, the standard command-line invocation of the program is:

java -cp classes:javacsv-2.0.jar:commons-io-1.4.jar:xmlwriter-2.2.jar edu.osu.kb.batch.BatchProcess /home/user/SAFBuilder/src/edu/osu/kb/sample_data AAA_batch-metadata.csv

Advanced Usage

Specifying Bundles

You specify files for content bundles by having a header of "filename". You can also specify files that they should be sent to a specified bundle with "filename__bundle:BUNDLENAME", where BUNDLENAME is whatever you want. This might be for when you have to upload files that are not destined for public consumption. An example use case is for uploading custom proxy licenses that are PDF's that don't go into the system license bundle. The SAFBuilder will automatically add the tab separator.

The import tool additionally allows the following as extra parameters for a file.

bundle:BUNDLENAME
permissions:PERMISSIONS
description:DESCRIPTION
primary:true

BUNDLENAME is the name of the bundle to which the bitstream should be added. Without specifying the bundle, items will go into the default bundle, ORIGINAL.

PERMISSIONS is text with the following format: -[r|w] 'group name'

DESCRIPTION is text of the files description.

Primary is used to specify the primary bitstream.

In SAFBuilder, you can use these by separating them with double underscore. An example would be:

filename__bundle:MySpecialBundle__primary:true__description:Something really cool
Clone this wiki locally