Personal tools

Pawn:Old Receiving Server

From Adapt

Jump to: navigation, search

Global Configuration

A keystore needs to be setup to store producer public keys in. Currently, the keystore is in pkcs12 format and uses the bouncycastly API to read and process public keys.

  <Parameter name="edu.umiacs.pawn.receiver.keystore" value="WEB-INF/keystore"/>
  <Parameter name="edu.umiacs.pawn.receiver.keystore.passwd" value="_keystore password_"/>

Configuring Producers

Multiple producing sites can use the same receiving server. In PAWN producing sites are largely independant and can have different validation and publishing steps for their clients. At a minimum, a producing site is defined by a url and a public key used to verify METS documents signed by the receiving server. The parameters

  <Parameter name="edu.umiacs.pawn.receiver.producer.keystorealias.testproducer" value="producer"/>
  <Parameter name="edu.umiacs.pawn.receiver.producer.url.testproducer" 
    value="http://naradev03.umiacs.umd.edu:8080/pawn/services/Producer" />

Configuring Storage Pools

Storage pools are temporary space used to process incoming SIPs. PAWN can use multiple storage pools on a receiving server. Pools are chosen by the scheduler or client when a reservation is created through createReservation. The edu.umiacs.pawn.receiver.repository.pool_name parameter is used configure storage pools.

Example: (two pools, pool1 and pool2)

  <Parameter name="edu.umiacs.pawn.receiver.repository.pool2" value="/export/tomcat/pool1"/>
  <Parameter name="edu.umiacs.pawn.receiver.repository.pool1" value="/export/pool/pool1"/>

Configuring Endpoints

Specifying Endpoints

PAWN allows for varying destinations of metadata and objects, called endpoints, depending on the what producer a client is attached to. You can have multiple endpoints for each producer. In addition, each endpoint can have a different configuration depending on the producer.

In the context.xml file, all endpoint configuration is prefixed with edu.umiacs.pawn.receiver.endpoint. Endpoints are specified by naming the driver/class and producer it should be attached to.

edu.umiacs.pawn.receiver.endpoint.producer.class.endpoint_name edu.umiacs.handler.class

ex for attaching SRBHandler and TestHandler to testproducer

  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.class.testhandler" value="edu.umiacs.pawn.receiving.xml.TestHandler"/>
  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.class.srbhandler" value="edu.umiacs.pawn.receiving.srb.SRBHandler"/>

Similiar to specifying the class for an endpoint, all configuration information that is passed to an endpoint must be prefixed by the producer. There is no global configuration for any endpoint.

For example, the SRB endpoint has a configuration option 'srb.domain'. This would be fully listed by prefixing it with the endpoint prefix and producer:

  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.srb.domain" value="umiacs"/>


SRB Endpoint

The SRB endpoint can be used to pulish files and METS documents into the SRB. Currently, there are no fancy options for publishing into SRB metadata, just pushing raw bits and xml files into SRB space. When defining collections in the SRB, a few tokens are supported to allow publishing location to be somewhat dynamic

%d - current div path from root mets document
%r - name of the reservation

All options:

srb.domain
Domain of SRB account to use
srb.user
Username of SRB account to use
srb.password
Password of SRB account
srb.zone
Zone to publish into
srb.host
MCAT or SRBMaster to connect to
srb.resource
Resource to push files into
srb.port
Port of MCAT or SRBMaster
srb.version
Protocol version of the SRB, from the jargon docs, default is the protocol for 3.0-3.2 SRB versions.
srb.overwrite
Should duplicate files be overwritten, or duplicates be renames (file.1, file.2..etc)
srb.checksumoverwrite
Should files with matching checksums be overwritten (not implemented yet)
srb.mets-collection
Directory to deposit mets documents into. %d will dump to the root of the document.
srb.payload-collection
Directory to deposit payload items into.

Example configuration for an SRB endpoint

  <!-- target handlers for producer 'testproducer' -->
  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.class.srbhandler" 
    value="edu.umiacs.pawn.receiving.srb.SRBHandler"/>

  <!-- SRB Handler specific configuration -->
  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.srb.user" value="toaster"/>
  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.srb.password" value="password"/>
  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.srb.domain" value="umiacs"/>
  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.srb.host" value="naradev01.umiacs.umd.edu"/>
  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.srb.port" value="5544"/>
  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.srb.resource" value="naradev01-unix"/>

  <!-- publish all mets files into one directory named after client reservation -->
  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.srb.mets-collection"
    value="/nara-umiacs2/home/toaster.umiacs/endpoint1/%r"/>

  <!-- publish files into original div path, but anchored at endpoint1/payload -->
  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.srb.payload-collection" 
    value="/nara-umiacs2/home/toaster.umiacs/endpoint1/payload/%d"/> -->

  <Parameter name="edu.umiacs.pawn.receiver.endpoint.testproducer.srb.version" value="SRB-3.3&G" />

-- Main.MikeSmorul - 04 May 2005