...
1.
...
Introduction
...
Document
...
Store
...
is
...
a
...
Document
...
storage
...
repository
...
system
...
with
...
features
...
like
...
checkin,
...
checkout,
...
Ingest
...
,
...
Delete
...
etc
...
for
...
library
...
records
...
such
...
as
...
Bibliographic,
...
Instance
...
(Holdings
...
and
...
Items)
...
etc.
...
Most
...
of
...
the
...
records
...
are
...
in
...
XML
...
format
...
but
...
the
...
Document
...
Store
...
is
...
format
...
agnostic
...
in
...
that
...
it
...
stores
...
the
...
content
...
as
...
is
...
without
...
any
...
type
...
conversion.
...
Furthermore
...
indexing
...
of
...
the
...
stored
...
data
...
is
...
also
...
supported
...
for
...
efficient
...
search
...
and
...
retrieval.
...
Although
...
the
...
Document
...
Store
...
is
...
an
...
independent
...
system
...
that
...
comes
...
with
...
basic
...
UI
...
to
...
enable
...
supported
...
operations,
...
majority
...
of
...
interaction
...
happens
...
from
...
within
...
the
...
code
...
of
...
OLE
...
such
...
as
...
ingest
...
of
...
new
...
records,
...
editing
...
of
...
existing
...
records,
...
search
...
and
...
retrievals.
...
2.
...
Operations
2.1
...
Ingest
...
Allows
...
storing
...
of
...
documents
...
in
...
the
...
document
...
store.
...
The
...
input
...
should
...
be
...
a
...
Request
...
XML
...
with
...
a
...
standard
...
schema
...
and
...
returns
...
the
...
Response
...
XML
...
with
...
a
...
list
...
of
...
ingested
...
UUIDs.
...
2.1.1
...
Sending
...
the
...
request
...
URL:
...
http://localhost:9080/oledocstore/document
...
Method:
...
POST
...
Parameters:
docAction=ingestContent
stringContent=<request.xml as described in the next section>
2.1.2 Request XML
Information about the ingest operation to be performed.
No Format |
---|
<request>
<user>ole-khuntley</user>
<operation>batchIngest</operation>
<requestDocuments>
<ingestDocument id="1" category="work" type="bibliographic" format="marc">
<content>
See section "Sample Input XML for Ingest".
</content>
</ingestDocument>
</requestDocuments>
</request>
|
2.1.3 Receiving the response
HttpResponse should be read and interpreted as given in the next section below.
2.1.4 Response XML
Information about the response from the service for the given request
No Format |
---|
<response>
<documents>
<document id="1" category="work" type="bibliographic" format="marc">
<uuid>8675a422-b6ad-440e-bc0d-9f0dc1526ed2</uuid>
</document>
</documents>
<user>ole-khuntley</user>
<operation>batchIngest</operation>
<status>Success</status>
<message>Documents ingested</message>
</response>
|
Each document that is ingested will be given a UUID as specified in the response.
2.2 Check-in
Check-in functionality allows to modify the content of a document identified by its UUID (Universally Unique Identifier).
2.2.1 Sending the request
URL: http://localhost:9080/oledocstore/document
Method: POST
Parameters:
docAction=checkIn
stringContent=<request.xml as described in the next section>
2.2.2 RequestXML
Information about the check in operation to be performed
No Format |
---|
<request>
<user>ole-khuntley</user>
<operation>checkIn</operation>
<requestDocuments>
<ingestDocument id="5325d77a-8221-4fda-a78f-6d2f96e0b059" category="work"
type="bibliographic" format="marc">
<content>
See section "Sample Input XML for Check in".
</content>
</ingestDocument>
</requestDocuments>
</request>
|
2.2.3 Receiving the response
HttpResponse should be read and interpreted as given in the next section below.
2.2.4 ResponseXML
Informationabout the response from the service for the given request
No Format |
---|
<?xml version="1.0" encoding="UTF-8"?>
<OLEDocstore-call>
<request>
<command>Check-in</command>
<params/>
</request>
<response>
<status>Success</status>
<message>Successfully checked in </message>
</response>
</OLEDocstore-call>
|
2.3 Check-out
This operation retrieves the content of a document given its UUID.
2.3.1 Sendingthe request
URL: http://localhost:9080/oledocstore/document
Method: POST
Parameters:
docAction=checkOut
uuid=<uuid of the document to be retrieved>
2.3.2 Receiving the response
HttpResponseshould be read and interpreted as given in the next section below.
2.3.3 Response XML
Content of the document with the given UUID.
2.4 Delete
Deletes a record from Document Store based on the given UUID.
2.4.1 Sendingthe request
URL: http://localhost:9080/oledocstore/document
Method: POST
Parameters:
docAction=delete or deleteWithLinkedDocs
requestContent=<request.xml as described in the next section>
2.4.2 Request XML
Information about the delete operation to be performed. The "Id" attribute of <ingestDocument> should be a valid UUID of a previously ingested document.
No Format |
---|
<request>
<user>ole-khuntley</user>
<operation>delete</operation>
<requestDocuments>
<ingestDocument id="715e92f0-b3ab-4263-96d9-58183a23e6d5"><linkedIngestDocuments></linkedIngestDocuments></ingestDocument>
</requestDocuments>
</request>
|
2.4.3 Receiving the response
HttpResponse should be read and interpreted as given in the next section below.
2.4.4 Response XML
Information about the response from the service for the given request.
No Format |
---|
<response>
<documents>
<document id="715e92f0-b3ab-4263-96d9-58183a23e6d5"></document>
</documents>
<user>ole-khuntley</user>
<operation>delete</operation>
<status>Success</status>
</response>
|
2.5 Appendix
2.5.1 Sample Input XML for Ingest
No Format |
---|
<request> <user>ole-khuntley</user> <operation>batchIngest</operation> <requestDocuments> <ingestDocument id="1" category="work" type="bibliographic" format="marc"> <content><![CDATA[ <collection xmlns="http://www.loc.gov/MARC21/slim"> <record> <leader>01142cam 2200301 a 4500</leader> <controlfield tag="001">92005291</controlfield> <controlfield tag="003">DLC</controlfield> <controlfield tag="005">19930521155141.9</controlfield> <controlfield tag="008">920219s1993 caua j 000 0 eng</controlfield> <datafield tag="010" ind1=" " ind2=" "> <subfield code="a">92005291</subfield> </datafield> <datafield tag="020" ind1=" " ind2=" "> <subfield code="a">0152038655 :</subfield> <subfield code="c">$15.95</subfield> </datafield> <datafield tag="040" ind1=" " ind2=" "> <subfield code="a">DLC</subfield> <subfield code="c">DLC</subfield> <subfield code="d">DLC</subfield> </datafield> <datafield tag="042" ind1=" " ind2=" "> <subfield code="a">lcac</subfield> </datafield> <datafield tag="050" ind1="0" ind2="0"> <subfield code="a">PS3537.A618</subfield> <subfield code="b">A88 1993</subfield> </datafield> <datafield tag="082" ind1="0" ind2="0"> <subfield code="a">811/.52</subfield> <subfield code="2">20</subfield> </datafield> <datafield tag="100" ind1="1" ind2=" "> <subfield code="a">Sandburg, Carl,</subfield> <subfield code="d">1878-1967.</subfield> </datafield> <datafield tag="245" ind1="1" ind2="0"> <subfield code="a">Arithmetic /</subfield> <subfield code="c"> Carl Sandburg ; illustrated as an anamorphic adventure by Ted Rand. </subfield> </datafield> <datafield tag="250" ind1=" " ind2=" "> <subfield code="a">1st ed.</subfield> </datafield> <datafield tag="260" ind1=" " ind2=" "> <subfield code="a">San Diego :</subfield> <subfield code="b">Harcourt Brace Jovanovich,</subfield> <subfield code="c">c1993.</subfield> </datafield> <datafield tag="300" ind1=" " ind2=" "> <subfield code="a">1 v. (unpaged) :</subfield> <subfield code="b">ill. (some col.) ;</subfield> <subfield code="c">26 cm.</subfield> </datafield> <datafield tag="500" ind1=" " ind2=" "> <subfield code="a">One Mylar sheet included in pocket.</subfield> </datafield> <datafield tag="520" ind1=" " ind2=" "> <subfield code="a"> A poem about numbers and their characteristics. Features anamorphic, or distorted, drawings which can be restored to normal by viewing from a particular angle or by viewing the image's reflection in the provided Mylar cone. </subfield> </datafield> <datafield tag="650" ind1=" " ind2="0"> <subfield code="a">Arithmetic</subfield> <subfield code="x">Juvenile poetry.</subfield> </datafield> <datafield tag="650" ind1=" " ind2="0"> <subfield code="a">Children's poetry, American.</subfield> </datafield> <datafield tag="650" ind1=" " ind2="1"> <subfield code="a">Arithmetic</subfield> <subfield code="x">Poetry.</subfield> </datafield> <datafield tag="650" ind1=" " ind2="1"> <subfield code="a">American poetry.</subfield> </datafield> <datafield tag="650" ind1=" " ind2="1"> <subfield code="a">Visual perception.</subfield> </datafield> <datafield tag="700" ind1="1" ind2=" "> <subfield code="a">Rand, Ted,</subfield> <subfield code="e">ill.</subfield> </datafield> </record> </collection> "> <subfield code="a">Rand, ]]>Ted,</subfield> <subfield code="e">ill.</content>subfield> </ingestDocument>datafield> </requestDocuments>record> </request>collection> {noformat} <\!-\- /\* Style Definitions \*/ table.MsoNormalTable{mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";} \--> h3. 2.5.2 Sample Input file for Check In The "Id" attribute of <ingestDocument> should be a valid UUID of a previously ingested document. {noformat} ]]> </content> </ingestDocument> </requestDocuments> </request> |
2.5.2 Sample Input file for Check In
The "Id" attribute of <ingestDocument> should be a valid UUID of a previously ingested document.
No Format |
---|
<request> <user>ole-khuntley</user> <operation>batchIngest</operation> <requestDocuments> <ingestDocument id="1" category="work" type="bibliographic" format="marc"> <content><![CDATA[ <collection xmlns="http://www.loc.gov/MARC21/slim"> <record> <leader>01142cam 2200301 a 4500</leader> <controlfield tag="001">92005291</controlfield> <controlfield tag="003">DLC</controlfield> <controlfield tag="005">19930521155141.9</controlfield> <controlfield tag="008">920219s1993 caua j 000 0 eng</controlfield> <datafield tag="010" ind1=" " ind2=" "> <subfield code="a">92005291</subfield> </datafield> <datafield tag="020" ind1=" " ind2=" "> <subfield code="a">0152038655 :</subfield> <subfield code="c">$15.95</subfield> </datafield> <datafield tag="040" ind1=" " ind2=" "> <subfield code="a">DLC</subfield> <subfield code="c">DLC</subfield> <subfield code="d">DLC</subfield> </datafield> <datafield tag="042" ind1=" " ind2=" ">="c">DLC</subfield> <subfield code="ad">lcac<>DLC</subfield> </datafield> <datafield tag="050042" ind1="0 " ind2="0 "> <subfield code="a">PS3537.A618<>lcac</subfield> <subfield code="b">A88 1993</subfield> </datafield> <datafield tag="082050" ind1="0" ind2="0"> <subfield code="a">811/>PS3537.52<A618</subfield> <subfield code="2b">20<>A88 1993</subfield> </datafield> <datafield tag="100082" ind1="10" ind2=" 0"> <subfield code="a">Sandburg, Carl,<>811/.52</subfield> <subfield code="d">1878-1967.<2">20</subfield> </datafield> <datafield tag="245100" ind1="1" ind2="0 "> <subfield code="a">Arithmetic>Sandburg, /Carl,</subfield> <subfield code="c"> Carl Sandburg ; illustrated as an anamorphic adventure by Ted Rand. d">1878-1967.</subfield> </datafield> <datafield tag="250245" ind1=" 1" ind2=" 0"> <subfield code="a">1st ed.</subfield> </datafield>>Arithmetic /</subfield> </record> </collection> <subfield code="c"> ]]> Carl Sandburg ; illustrated as an anamorphic adventure </content>by Ted Rand. </ingestDocument> </requestDocuments> </request>subfield> {noformat} | <user>ole-khuntley</user> \\ <operation>*batchIngest*</operation>datafield> \\ <requestDocuments> \\ <ingestDocument id="1" category="work" type="bibliographic" format="marc"> \\ <content> \\ See section "*Sample Input XML for Ingest*". \\ </content> \\ </ingestDocument> \\ </requestDocuments> \\ </request> | <datafield tag="250" ind1=" " ind2=" "> <subfield code="a">1st ed.</subfield> </datafield> </record> </collection> ]]> </content> </ingestDocument> </requestDocuments> </request> |