ESciDoc Services FledgedDataService

From MPDLMediaWiki
Revision as of 07:39, 10 April 2012 by Kleinfercher (talk | contribs) (added properties info)
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) 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[edit]

OAI Compliance[edit]

The Fledged Data Service supports the Open Archives Initiatives Protocol for Metadata Harvesting (OAI-PMH).
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[edit]

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

Verb: ListMetadataFormats[edit]

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[edit]

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[edit]

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

Verb: ListIdentifiers[edit]

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[edit]

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[edit]

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[edit]

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

Properties[edit]

If the FDS is included the following properties (fds.properties) need to be set (mandatory entries):

      baseURL                         [The location of the fledged data service (e.g. http://localhost:8080/fledgeddata)]
      oai.repositoryIdentifier        [The structure of the oai identifier (see also http://www.openarchives.org/OAI/2.0/oai-identifier.xsd)]
      oai.sampleIdentifier            [A sample from your repository]
      oai.repositoryName              [The repositories name]
      Repository.granularity          [The supported level of datetime granularity for from/until parameters]
      Repository.baseURL              [The base url of the repository (e.g. http://localhost:8080/imeji)]
      Repository.nativeFormat.Name    [The name of your native (xml) metadata format]
      Repository.nativeFormat.Schema  [The schema of your native metadata]
      Repository.nativeFormat.ns      [The namespace of your native metadata]
      Repository.oai.stylesheet       [The xslt for the transformation of your native metadata to oai_dc metadata]
      Repository.oai.fetchURL         [The url where to fetch the records from e.g. the export interface of imeji solution, Please insert FETCH_ID as a placeholder for the identifier parameter]
      Repository.oai.listRecordsURL   [The url where to get the record list from]	     
      Repository.oai.listSetsURL      [The url where to get the set information from, seperate multiple urls with #]
      Identify.repositoryName         [Text to use as the Identify verb's repositoryName value]  
      Identify.adminEmail             [Text to use as the Identify verb's adminEmail value]   
      Identify.earliestDatestamp      [Text to use as the Identify verb's earliestDatestamp value]    
      Identify.deletedRecord          [Text to use as the Identify verb's deletedRecord value (no|transient|persistent)]
      Sitemap.creationInterval        [How often the sitemap xml is updated in min]