ESciDoc Services FledgedDataService
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) 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 OAI 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