Profiles define the content of records supplied by a Torus, however, at the moment they are not enforced by the Torus itself and validation is left to the client. Each profile specifies which fields are mandatory, and which are permissible but not required. Eventually the Torus protocol will enforce profile compliance through the exchange of profile identifiers and a fail-early-fail-often policy. For now, we just trust the software to behave well. Two profiles are defined so far.
Records contain the following elements:
element | mandatory | description |
resourceName | the name of the searched resource, used by administrators only | |
parentInstitution | not used | |
serviceProvider | provider of the target or service | |
zurl | Y | the host, port and database name of the searchable resource |
displayName | Y | the name of the searchable target as displayed to the user |
sru | indicates what protocol to use. If missing or empty, use Z39.50; if sru, use SRW; if get, use SRU. No other value is valid. | |
transform | Y | the name of an XSLT stylesheet used to transform the target's records into PP2 format |
urlRecipe | recipe to link into the internal system/catalog | |
cclmap_term | CCL specification for constructing queries with no index specified | |
cclmap_au | CCL specification for constructing author queries | |
cclmap_ti | CCL specification for constructing title queries | |
cclmap_su | CCL specification for constructing subject queries | |
cclmap_date | I will not insult your intelligence by explaining this | |
cclmap_type | CCL specification for querying material type (book, cd, etc.) | |
requestSyntax | Record syntax requested from targets [default: server default] | |
recordEncoding | Character encoding in records returned from target (note 1) | |
queryEncoding | Character encoding used for queries [default: no conversion] | |
elementSet | Element set requested from targets [default is left to the target] | |
authentication | Authentication required by the target, in PazPar2?'s format | |
maxRecords | Maximum number of records to retrieve from the target [default: 100] | |
zproxy | Proxy via which to access the target [default: direct connection] | |
piggyback | Can be set to zero to prevent piggybacking on broken servers [default: 1] | |
apduLog | Boolean indicating whether to log APDUs [default: better be zero!] | |
comment | A comment for the administrator's benefit | |
sourceType | A short token indicating target type, e.g. "library catalogs", "Selected websites" | |
categories | A comma-separated list of category tags that describe the target | |
useUrlProxy | A flag set to 1 or 0, indicating whether the user's URL proxy pattern should be applied to this target | |
cfAuth | CF specific: cf z-authentication parameters | |
cfProxy | CF specific: cf proxy adress (http proxy) | |
cfSubDb | CF specific: subdatabase name (connector internal selection mechanism) | |
udb | "Unique database name" -- the name by which this target can be addressed via MasterKey Connect applications. Must be specified as the Z39.50/SRU database name in Meta-Proxy requests to identify the desired target profile record |
Records contain the following elements:
element | mandatory | description |
identityId | Y | The identity of this user for purposes of authorization in other Toruses. Will be renamed realm once Jakub agrees |
displayName | Y | The name of the identity (user, library, consortium, etc.) |
userName | Y | Name, if any, used to log in |
password | Y | Password, if any, used to log in |
referer | Regular expression matching referer URLs for this user | |
ipRanges | Whitespace-separated list of IP ranges, each of which may be a single IP address or a hyphen-separated range | |
comment | A comment for the administrator's benefit | |
emailAddress | Address to use for contacting the user, e.g. for a password reminder | |
phoneNumber | What it says |