NAME

picawebcat - command line interface to PICA::Store

SYNOPSIS

picawebcat [options] <command>

Commands:
  get    <id(s)>
  create <recordfile(s)>
  update <id> <recordfile> [<version>]
  delete <id(s)>
  upsert <recordfile(s)>
  add
  clean
  mapget    <mapfile> [<id(s) and/or recordfile(s)>]
  mapcreate <mapfile> [<recordfile(s)>]
  mapupdate <mapfile> [<id(s) and/or recordfile(s)>]
  mapdelete <mapfile> [<id(s) and/or recordfile(s)>]
  mapupsert <mapfile> [<id(s) and/or recordfile(s)>]
  mapclean  <mapfile>
  mapadd    <mapfile> <recordfile(s)>

mapcreate/mapupdate/mapdelete are equivalent to the commands
create/update/delete with a given map file (option -map).

Options:
  -all                on update: update all records, also not outdated records
  -config    <file>   set config file (see description with -m)
  -dbsid     <dbsdi>  set database id
  -from      <file>   read ids or files from a file (empty lines ignored)
  -help               brief help message
  -language  <lang>   set language code
  -man                full documentation
  -map       <file>   set map file
  -password  <pwd>    set password
  -quiet              no additional output
  -SOAP      <url>    set SOAP interface base URL
  -simulate           simulate (only print what would be done)
  -userkey   <user>   set user
  -version            print version of this script

DESCRIPTION

This script can be used to get, insert, update, and delete records in a PICA::Record storage. The connection to a specific storage can be specified with command line options or in a special config file.

You can use one of five commands get, create, update, delete, and upsert. A get command will print the record(s) data to STDOUT, the other commands only print a status message on success. If an error occurred, the error message is send to STDOUT and the script ends with error code.

The upsert command expects files to be named with their ids and works like:

if ( get <id> ) then
    update <id> <file>
else
    create <file>

Config file

By default the script first looks whether the environment variable WEBCAT_CONF points to a config file, otherwise whether a file named "webcat.conf" located in the current directory exists. The config file can contain key=value pairs of dbsid, SOAP, userkey, password, language. Command line parameters override settings in a config file.

Map files

A map file is a convenient way if you regularly change records via webcat.

mapcreate <mapfile> 
mapcreate <mapfile> <recordfile(s)>

mapupdate <mapfile>
mapupdate <mapfile> <id(s) and/or recordfile(s)>

mapdelete <mapfile> 
mapdelete <mapfile> <id(s) and/or recordfile(s)>

mapget <mapfile> [ <id(s) and/or recordfile(s)> ]

Examples

picawebcat get 000000477
picawebcat delete 000000477
picawebcat create myrecord.pica
picawebcat update 000000477 myrecord.pica
picawebcat mapcreate records.list > creation.log 2> creation.err

Notes

If you permform an action on multiple files, the whole list of files is read before action is performed. In a later version we could implement online action while reading the input files.

At the moment only PICA+ files (PICA+ or PICA XML) are supported. We could provide a way to directly transform other metadata formats to PICA+ before storing them.