NAME

Catmandu::Store::CA - Retrieve items from a CollectiveAccess instance

SYNOPSIS

# From the command line
catmandu export CA to YAML --id 1234 --username demo --password demo --url http://demo.collectiveaccess.org --model ca_objects --lang nl_NL --field_list 'ca_entities, preferred_labels'

# From a Catmandu Fix
lookup_in_store(
  object_id,
  CA,
  url: http://demo.collectiveaccess.org,
  username: demo,
  password: demo,
  model: ca_objects,
  lang: nl_NL,
  field_list: 'ca_entities, preferred_labels'
)

# From Perl code
use Catmandu;

my $store = Catmandu->store('CA',
    username   => 'demo',
    password   => 'demo',
    url        => 'http://demo.collectiveaccess.org',
    model      => 'ca_objects',
    lang       => 'nl_NL',
    field_list => 'ca_entities, preferred_labels'
)->bag;

my $item = $store->get('1234');

DESCRIPTION

A Catmandu::Store::CA is Perl package that can query a CollectiveAccess instance.

CONFIGURATION

url

url of the CA instance (e.g. http://demo.collectiveaccess.org).

username

Name of a user that can be used to query the API. If you want to store items in the CA instance, it must have the necessary rights.

password

Password for the user.

model

The API can access several tables from the CA instance, called model in this module. The model is by default ca_objects, but the following are also supported:

ca_objects
ca_object_lots
ca_entities
ca_places
ca_occurrences
ca_collections
ca_storage_locations
ca_loans
ca_movements

lang

The language (locale) in which to return the data. Set to nl_NL by default, will automatically fall back to en_US if the attribute does not exist in the selected locale. Use the IETF language tag.

field_list

A comma-separated, quoted, ('foo, bar') list of fields that the CollectiveAccess API should return. Is optional and can be left empty to return the default 'summary'.

METHODS

new(%configuration)

Create a new Catmandu::Store::CA

get($id)

Retrieve a CA record given an identifier. This returns whatever the CA administrator designated as the "summary" of the record.

add($data)

Create a new CA record. See here to see what data you must provide to create a record.

update($id, $data)

Update a new CA record. See here to see what data you must provide to create a record.

delete($id)

Delete (soft delete) a record.

each()

List all items in the instance and iterate over them one at the time. Returns a single object.

AUTHOR

Pieter De Praetere <pieter at packed.be>

COPYRIGHT

Copyright 2017- PACKED vzw

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Catmandu Catmandu::Store::VKC Catmandu::CA::API