Configuring External Metadata
Configuring External Metadata: SRU/SRW
File | Defines... |
---|---|
explain.properties | Parameters of the Rosetta system server |
external_resource_explorer_configuration.xml | Parameters of an external system server |
- Configure Rosetta Parameters - External Resource File
- Configure Rosetta Parameters - Explain File
- Adaptation Needed in the SRU Server
Configure Rosetta Parameters - External Resource File
- With the File Group field set to External Interface and the Sub-Group set to SRU/SRW, click Edit for the file named external_resource_explorer_configuration.xml.
The file opens on the page. It contains all SRU configurations that are delivered with Rosetta. - Add your configuration to the file. The parameters that should be modified are:
- baseUrl - the URL of the system that acts as an SRU server (CMS)
- version - SRU version (currently 1.1 is supported by Rosetta)
- operation - since Rosetta is the client, "searchRetrieve" is the only option
- recordSchema - should be "dps"
- indexName - should be "rec.id"
- recordPacking - should be xml
- updateUrl - in cases where the server can get a response for updating the exists-in-Rosetta flag, the url should be added here (currently available only for Voyager and Aleph. For other systems - leave it empty.
<?xml version="1.0" encoding="UTF-8"?> <ExternalResourceExplorer xmlns="http://www.loc.gov/zing/srw/configuration/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xml="http://www.w3.org/XML/1998/namespace"> <RepositoryName name="qa654mkdb"> <protocol type="SRW"> <parm name="baseUrl">http://10.100.2.36:17191/voyager</parm> <parm name="version">1.1</parm> <parm name="operation">searchRetrieve</parm>
<parm name="recordSchema">dps</parm> <parm name="indexName">rec.id=</parm> <parm name="recordPacking">xml</parm> <parm name="updateUrl">http://10.100.2.36:17114/vxws/updateDPSFlag</parm> </protocol> </RepositoryName>
<RepositoryName name="USM01" type="ALEPH"> <protocol type="SRW"> <parm name="baseUrl">http://il-aleph07:5667/usm01</parm> <parm name="version">1.1</parm> <parm name="operation">searchRetrieve</parm> <parm name="recordSchema">dps</parm> <parm name="indexName">rec.id=</parm> <parm name="recordPacking">xml</parm>
<parm name="updateUrl">http://il-aleph07:8997/X?op=ros_doc&library=USM01</parm> <parm name="detachUrl">http://il-aleph07:8997/X?op=ros_doc_del&library=USM01</parm> </protocol> </RepositoryName> </ExternalResourceExplorer> |
It should be noted that RepositoryName must equal the name that is returned in the SRU/SRW response. For example, if
<identifier>DPS:10.100.2.36:ALEPH01:9611</identifier>
then the name attribute of RepositoryName must be ALEPH01, as in
<RepositoryName name="ALEPH01" type="ALEPH">
<zs:explainResponse> <zs:version>1.1</zs:version> <zs:record> <zs:recordSchema>http://explain.z3950.org/dtd/2.0/</zs:recordSchema> <zs:recordPacking>xml</zs:recordPacking> <zs:recordData> <explain> <serverInfo> <host>il-aleph07</host> <port>9997</port> <database>usm01</database> </serverInfo>
<indexInfo> <set identifier="info:srw/cql-context-set/1/cql-v1.1" name="cql"/> <set identifier="info:srw/cql-context-set/1/dc-v1.1" name="dc"/> <set identifier="http://zing.z3950.org/cql/bath/2.0/" name="bath"/> <index id="4"> <title>title</title> <map> <name set="dc">dc.title</name> </map> </index> <index id="48"> <title>identifier</title>
<map> <name set="dc">dc.identifier</name> </map> </index> <index id="12"> <title>rec.id</title> <map> <name set="dc">rec.id</name> </map> </index> </indexInfo> </explain> </zs:recordData> </zs:record>
<zs:diagnostics> <diagnostic> <uri>info:srw/diagnostic/1/7</uri> <message>Mandatory parameter not supplied</message> <details>version</details> </diagnostic> <diagnostic> <uri>info:srw/diagnostic/1/7</uri> <message>Mandatory parameter not supplied</message> <details>operation</details> </diagnostic> </zs:diagnostics> </zs:explainResponse> |
Configure Rosetta Parameters - Explain File
dbInfo=DPS SRU Database |
Adaptation Needed in the SRU Server
Rosetta should store the CMS ID and metadata in the repository and link it to an IE. In order for Rosetta to perform the link, the following metadata should be returned as part of the response:
<identifier>{DPS}:{IP}:{NAME}:{CMS-ID}</identifier>
- {DPS} = constant text
- {IP} = the IP of the server
- {NAME} = the name of the repository
- {CMD-ID} = the CMS ID
<identifier>DPS:10.100.2.36:qa654mkdb:9611</identifier>