ESciDoc Services FledgedDataService

From MPDLMediaWiki
Jump to: navigation, 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
IDIdentifier (Label)

FDS

Complete Name Fledged Data Service

Status In implementation

Description The Fledged Data Service provides functionalities for a repository to expose/ disseminate its data to the world in a standardized way.

Operations Overview

OAIOpen Archives Initiative Compliance

The Fledged Data Service supports the Open Archives Initiatives Protocol for Metadata Harvesting (OAI-PMHOpen Archives Initiative Protocol for Metadata Harvesting).
The xslt for the transformation of a record needs to be placed in the presentation part of the service (src/main/resources), and the path needs to be specified in the fds.properties file.
The properties file can be found in the presentation module of the Fledged Data Service under: src/main/resources/fds.properties

Verb: Identify

Gives back information on the Repository.
Parameter: None
Url: RepositoryBaseURL/fledgeddata/oai/?verb=Identify
Not supported: None

Verb: ListMetadataFormats

Gives back all metadata formats which are supported by the repository. All listed formats can be used as a parameter for a GetRecord request.
Parameter: None
Example: RepositoryBaseURL/fledgeddata/oai/?verb=ListMetadataFormats
Not supported: identifier

Verb: ListSets

Gives back a list of sets which are provided by the repository.
Parameter: None
Example: RepositoryBaseURL/fledgeddata/oai/?verb=ListSets
Not supported: resumptionToken

Verb: GetRecord

Gives back a specific record, specified in the identifier parameter.
Parameter: identifier, metadataPrefix
Example: RepositoryBaseURL/fledgeddata/oai/?verb=GetRecord&identifier=IDIdentifier&metadataPrefix=oai_dc
Not supported: None

Verb: ListIdentifiers

Gives back the oai header for all records in the repository or, if set parameter is defined , all records of a set.
Parameter: metadataPrefix, set
Example: RepositoryBaseURL/fledgeddata/oai/?verb=ListIdentifiers&metadataPrefix=oai_dc&set=SETID
Not supported: from, until, resumptionToken

Verb: ListRecords

Gives back the metadata record of all records in the repository or, if set parameter is defined , all records of a set.
Parameter: metadataPrefix, set
Example: RepositoryBaseURL/fledgeddata/oai/?verb=ListRecords&metadataPrefix=oai_dc
Not supported: from, until, resumptionToken

Sitemap Creation

The sitemap functionality of the Fledged Data Service exploits the oai interface and creates a sitemap out of all items it retrieves with a ListIdentifiers call.
The interval of the sitemap creation can be configured in the fds properties file.
Example: RepositoryBaseURL/fledgeddata/sitemap.xml

Content Negotiation

[Planned feature] "Content negotiation is a mechanism defined in the HTTPHyperText Transfer Protocol specification that makes it possible to serve different versions of a document (or more generally, a resource representation) at the same URIUniform Resource Identifier ..." 1

Properties

If the FDS is included the following properties (fds.properties) can be set:

 appname=Fledged Data Service 
baseURL=http://localhost:8080/fledgeddata
oai.serviceUnavailable=false #(Optional): Forces the server to return a SC_SERVICE_UNAVAILABLE code to inform the user that it is currently being worked on.
oai.description= This is the description of the repository #(Optional): Describe your repository
oai.baseURL=http://localhost:8080/fledgeddata/oai #(Optional): Force OAIOpen Archives Initiative responses to include the specified baseURL instead of getting it from the HttpServletRequest. This may be necessary if your firewall/router/port-mapper is messing with the request in some way.
oai.repositoryIdentifier
oai.sampleIdentifier
oai.repositoryName=imeji
Repository.secondsToLive=[# of seconds] #(Optional): The number of seconds a resumptionToken is retained for reuse. The default is -1, which means that resumptionTokens are stateless and can be resent anytime.
Repository.harvestable=true #(Optional): If present and false, the ListRecords and ListIdentifiers verbs will send back an error condition. This might be useful if you want to provide access to the other verbs but want to discourage general harvesting.
Repository.granularity=YYYY-MM-DD #(Required): The supported level of datetime granularity for from/until parameters.
Repository.baseURL=http://yourInstanceUrl/imeji
Repository.nativeFormat.Name=imeji
Repository.nativeFormat.Schema=http://colab.mpdl.mpg.de/mediawiki/Imeji/item
Repository.nativeFormat.ns=http://imeji.org/terms
Identify.repositoryName=Imeji #(Required): Text to use as the Identify verb's repositoryName value.
Identify.adminEmail= Please enter admin email value #(Required): Text to use as the Identify verb's adminEmail value.
Identify.earliestDatestamp=[datetime stamp of earliest] #(Required): Text to use as the Identify verb's earliestDatestamp value.
Identify.deletedRecord=[no|transient|persistent] #(Required): Text to use as the Identify verb's deletedRecord value.
Sitemap.creationInterval=1440 #How often the sitemap xml is updated in min