ESciDoc Services Search&Export

From MPDLMediaWiki
Revision as of 07:21, 23 June 2015 by MFranke (talk | contribs) (Broken links)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
eSciDoc SOA

SOAP and REST style interfaces
Service layers

Core services
Context Handler · Item Handler
Container Handler
Organizational Unit Handler
User Account Handler
Authentication
Content Model Handler
Semantic Store Handler

Intermediate services
Validation Service
Statistics Manager
Technical Metadata extraction
PIDManager
Basket Handler
Duplication detection
ImageHandler(Digilib)

Application services
Depositing
Searching
Search&Export
Control of Named Entities
Citation style Manager
RightsChecking
DataAcquisition
Transformation
Fledged Data
PID Cache
OAI-PMH

SOA Introduction

edit

ID (Label)[edit]

SE

Complete Name[edit]

Search&Export Service

Status[edit]

Implemented

Description[edit]

This service enables operations by which resources can be searched and exported in a desired output format. The services uses two different code modules:

The Search&Export service interface implements several operations:

Operations Overview[edit]

Operation Status Input Output Description
Search&Export implemented cqlQuery : String
exportFormat : String
outputFormat : String
language : String
sortKeys : String
startRecord : String
maximumRecords : String
sortOrder : String
byte[] Scope:Public
Gives back a search result list for a given cql query in the chosen output and export format.


Input Parameters Description

These are the parameters which can be set in the client request towards the servlet.

Parameter Description Allowed Values
cqlQuery Cql search query all string literals
exportFormat Export format to be used APA, AJP, BIBTEX, ENDNOTE
outputFormat Defines the output format to be used pdf, html, rtf, odt, snippet
language Defines the lucene database identifier (earlier days: language) to be queried all, de, en
sortKeys Defines the sort key of the search result. Valid lucene sorting indizes can be get via the lucene explain interface Lucene sorting keys
startRecord Returns only the search results from that starting record A positive number
maximumRecords Returns this maximum numbers of search records A positive number
sortOrder Defines the sort order of the search result ascending, descending



Output Data Description

These are the possible return values from the servlet.

Return type Description
pdf A binary pdf data stream
html A html data stream
rtf A rtf data stream
odt A odt data stream
snippet A xml data stream. An example is shown below


Snippet example

This is an xml example of the snippet output format. This output format is used as a technical interface of the Search&Export service. In this example the search result consists of one item with one component attached.

<escidocItemList:item-list>
	<escidocItem:item last-modification-date="2008-12-16T17:02:31.418Z" objid="escidoc:5001">
		<escidocItem:properties>
			<srel:context objid="escidoc:persistent3" />
			<srel:content-model objid="escidoc:persistent4" />
			<prop:pid>hdl:someHandle/test/escidoc:5001:2</prop:pid>
			<prop:content-model-specific>
				<local-tags>
					<local-tag />
				</local-tags>
				<dcterms:bibliographicCitation>
					<span class="Default">
						<span class="DisplayDateStatus"> (2008). </span>
					</span>
					<span class="Italic">tomsbuch.</span>
					<span class="Default"></span>
				</dcterms:bibliographicCitation>
			</prop:content-model-specific>
		</escidocItem:properties>
		<escidocMetadataRecords:md-records>
			<escidocMetadataRecords:md-record name="escidoc">
				<escidocMetadataProfile:publication type="book">
					<publication:creator role="editor">
						<escidoc:person>
							<escidoc:complete-name />
							<escidoc:family-name>tom</escidoc:family-name>
							<escidoc:given-name>endres</escidoc:given-name>
							<escidoc:organization>
								<escidoc:organization-name>orgi</escidoc:organization-name>
								<escidoc:address />
								<escidoc:identifier>escidoc:persistent22</escidoc:identifier>
							</escidoc:organization>
						</escidoc:person>
					</publication:creator>
					<dc:title>tomsbuch</dc:title>
					<dcterms:created xsi:type="dcterms:W3CDTF" />
					<dcterms:modified xsi:type="dcterms:W3CDTF" />
					<dcterms:dateSubmitted xsi:type="dcterms:W3CDTF" />
					<dcterms:dateAccepted xsi:type="dcterms:W3CDTF" />
					<publication:published-online xsi:type="dcterms:W3CDTF" />
					<dcterms:issued xsi:type="dcterms:W3CDTF">2008</dcterms:issued>
					<publication:total-number-of-pages />
					<dc:subject />
					<dcterms:tableOfContents />
				</escidocMetadataProfile:publication>
			</escidocMetadataRecords:md-record>
		</escidocMetadataRecords:md-records>
		<escidocComponents:components>
			<escidocComponents:component objid="escidoc:5002">
				<escidocComponents:properties>
					<prop:creation-date>2008-12-16T16:45:35.106Z</prop:creation-date>
					<prop:description>ein netter volltext</prop:description>
					<prop:valid-status>valid</prop:valid-status>
					<prop:visibility>public</prop:visibility>
					<prop:content-category>any-fulltext</prop:content-category>
					<prop:file-name>test.txt</prop:file-name>
					<prop:mime-type>text/html</prop:mime-type>
				</escidocComponents:properties>
				<escidocComponents:content storage="internal-managed" xlink:href="http://framework:8080/ir/item/escidoc:5001/components/component/escidoc:5002/content" />
				<escidocMetadataRecords:md-records>
					<escidocMetadataRecords:md-record name="escidoc">
						<file:file>
							<dc:title>test.txt</dc:title>
							<dc:description>ein netter volltext</dc:description>
							<dc:format xsi:type="dcterms:IMT">text/html</dc:format>
							<dcterms:extent>53</dcterms:extent>
						</file:file>
					</escidocMetadataRecords:md-record>
				</escidocMetadataRecords:md-records>
			</escidocComponents:component>
		</escidocComponents:components>
	</escidocItem:item>
</escidocItemList:item-list>

Sample Servlet call

Here you can see a sample call to the Search&Export service. As you can see all the parameters are part of the GET query.

http://localhost:8080/search/SearchAndExport?cqlQuery=escidoc.metadata="test"&exportFormat=APA&outputFormat=snippet&language=all&sortKeys=sort.escidoc.publication.title&sortOrder=descending&startRecord=2&maximumRecords=5

Future Development[edit]