To request the MODS1 datastream of an object the following syntax is used:

Similar documents
token string (required) A valid token that was provided by the gettoken() method

Statistics Requirements for Release 5.2

PROCE55 Mobile: Web API App. Web API.

Web-based workflow software to support book digitization and dissemination. The Mounting Books project

Crossref DOIs help to uniquely identify and therefore link content

IT6503 WEB PROGRAMMING. Unit-I

Web Standards Mastering HTML5, CSS3, and XML

MarkLogic Server. REST Application Developer s Guide. MarkLogic 9 May, Copyright 2017 MarkLogic Corporation. All rights reserved.

Mellon Fedora Technical Specification. (December 2002)

Fedora. CS 431 April 17, 2006 Carl Lagoze Cornell University. Acknowledgements: Sandy Payette (Cornell)

Mastering phpmyadmiri 3.4 for

Birkbeck (University of London)

Highwinds CDN Content Protection Products. August 2009

RUtgers COmmunity REpository (RUcore)

Basics of Web Technologies

Internet Standards for the Web: Part II

PDS 2010 System Design Report

MistServer V2.11 Quickstart guide

Agenda. Introduction. Supported Formats. Creating a Custom REST Service. What s Next

Table of Contents WWW. WWW history (2) WWW history (1) WWW history. Basic concepts. World Wide Web Aka The Internet. Client side.

YU Kaltura Media Package User's Guide For version 1.1.x. Written by Media and Information Technology Center, Yamaguchi University.

AEM Mobile: Setting up Google as an Identity Provider

Persistent identifiers, long-term access and the DiVA preservation strategy

MarkLogic Server. Information Studio Developer s Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

Salesforce Integration. With FortiVoice Enterprise Technical Note

1. Introduction. IJCTA Nov-Dec 2015 Available ISSN:

mytsa Knowledge Technical Guide

The Archive Ingest and Handling Test: The Johns Hopkins Universi...

SSC - Web applications and development Introduction and Java Servlet (I)

CHAPTER 7 WEB SERVERS AND WEB BROWSERS

So Many Ways to Slap a YoHo: Hacking Facebook & YoVille

Strategies for Rapid Web Prototyping. Ruby on Rails. Clemens H. Cap

How to work with HTTP requests and responses

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

ReST 2000 Roy Fielding W3C

Article begins on next page

Web Programming Paper Solution (Chapter wise)

PHP. MIT 6.470, IAP 2010 Yafim Landa

Comparing Open Source Digital Library Software

BIG-IP Access Policy Manager : Portal Access. Version 12.1

Technical Note. Isilon OneFS. Isilon Swift Technical Note. Version August 2017

Aim behind client server architecture Characteristics of client and server Types of architectures

HTTP. Web. Web Web web

Copyright 2016 Pivotal. All rights reserved. Cloud Native Design. Includes 12 Factor Apps

NIELSEN API PORTAL USER REGISTRATION GUIDE

Web Standards. Web Technologies. Web Standards. URI and URL

Medici for Digital Cultural Heritage Libraries. George Tsouloupas, PhD The LinkSCEEM Project

ExtraHop 7.3 ExtraHop Trace REST API Guide

vrealize Log Insight Developer Resources

vrealize Log Insight Developer Resources Update 1 Modified on 03 SEP 2017 vrealize Log Insight 4.0

PHP + ANGULAR4 CURRICULUM 6 WEEKS

Lecture Overview. IN5290 Ethical Hacking. Lecture 4: Web hacking 1, Client side bypass, Tampering data, Brute-forcing

Repository In a Box (RIB)

XML information Packaging Standards for Archives

HttpServlet ( Class ) -- we will extend this class to handle GET / PUT HTTP requests

Chapter 27 WWW and HTTP Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

[MS10961]: Automating Administration with Windows PowerShell

New Face of z/os Communications Server: V2R1 Configuration Assistant

Introduction to JSP and Servlets Training 5-days

User Guide. FASB XBRL Taxonomy Change Application (TC App) Version 0.11 January 31, 2014

User Guide. (TC App) FASB Extension Taxonomy Change Application. Version 0.17 September 1, 2016

DSpace Fedora. Eprints Greenstone. Handle System

ADAPTIVE STREAMING AT. Justin Ruggles Lead Engineer, Transcoding & Delivery

Qualifications Dataset Register User Manual: Publishing Workflow

Introduction to Cisco TV CDS Software APIs

Internet Engineering Task Force (IETF) Obsoletes: 7302 September 2016 Category: Informational ISSN:

All India Council For Research & Training

Automating Administration with Windows PowerShell (10961)

Course Syllabus. Course Title. Who should attend? Course Description. PHP ( Level 1 (

PHP CURRICULUM 6 WEEKS

doi> Digital Object Identifier

MuseKnowledge Hybrid Search

Compound or complex object: a set of files with a hierarchical relationship, associated with a single descriptive metadata record.

Application Development

CERTIFICATE IN WEB PROGRAMMING

EdgeCast Networks Inc. Smooth Streaming Administration Guide

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

Modern Web Application Development. Sam Hogarth

FACULTY OF INFORMATION STUDIES UNIVERSITI TEKNOLOGI MARA CAWANGAN KELANTAN SCHEME OF WORK (RANCANGAN KULIAH)

KINGS COLLEGE OF ENGINEERING 1

Variable Scope The Main() Function Struct Functions Overloading Functions Using Delegates Chapter 7: Debugging and Error Handling Debugging in Visual

Federated Search in an Age of Web Services

Turning a Suite of Modeling and Processing Tools Into a Production Grade System

User Interaction: jquery

Developing the First Servlet

Alpha College of Engineering and Technology. Question Bank

Mission Guide: Google Drive

SilkTest. SilkTest 2010 Release Notes

Session 12. RESTful Services. Lecture Objectives

Metadata for general purposes

Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008.

Contents in Detail. Foreword by Xavier Noria

Account Activity Migration guide & set up

Release Presentation. ODS Web Services Version Open Data Services Via Web Services. Release Date: 2014/09/30

Jim Jackson II Ian Gilman

SMART CONNECTOR TECHNOLOGY FOR FEDERATED SEARCH

Dissemination Web Service. Programmatic access to Eurostat data & metadata

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Laravel

Advanced Web Systems 4- PORTLET API specifications (JSR 286) A. Venturini

Transcription:

Purpose Propose a new URI syntax for public facing URL s that exist related to handle redirects and datastream dissemination and delivery. GET API Service In RUcore release R5.2 a new service was implemented named GET. This service offers datastream access of an object. This service was designed to be used by other applications for accessing datastreams and offer three methods outlined below. Start URL for service will be http://rucore.libraries.rutgers.edu/api/get Method for accessing datastreams Name: {default} Required: Object ID, datastream ID Note that for Object ID the rutgers-lib namespace is not required and is imposed by the API if not supplied. Output format: mime-type of requested datastream Examples of URL syntax: To request the MODS1 datastream of an object the following syntax is used: http://rucore.libraries.rutgers.edu/api/get/rutgers-lib:12345/mods - returns the MODS1 datastream or http://rucore.libraries.rutgers.edu/api/get/rutgers-lib:12345/mods/1 - returns the MODS1 datastream To request an enumerated datastream the following syntax is used: http://rucore.libraries.rutgers.edu/api/get/rutgers-lib:12345/pdf/2 - returns the PDF-2 datastream Not providing a numeric value in the request syntax is interrupted by the API as a request for the numeric value 1. Method for accessing a brief list of datastreams associated with an object Name: brieflist Required: Object ID Output format: XML(default), JSON or serialized PHP Example of URL syntax for accessing a brieflist of datastreams http://rucore.libraries.rutgers.edu/api/get/rutgers-lib:12345/brieflist/

In this example a brieflist of datastreams related to this object will be returned. A brieflist is defined in the API s configuration file and is meant to return a list of datastreams that might be linked from a brief record display. The data returned contains datastream labels, mime-type, http status codes and size in most cases. Note that inline datastreams do not have size returned. Method for accessing a full list of datastreams associated with an object Name: fulllist Required: Object ID Output format: XML(default), JSON or serialized PHP Example of URL syntax for accessing a fulllist of datastreams http://rucore.libraries.rutgers.edu/api/get/rutgers-lib:12345/fulllist/ In this example a fulllist of datastreams related to this object will be returned. A fulllist is defined in the API s configuration file and is meant to return a list of datastreams that might be linked from a full record display. The data returned contains datastream labels, mime-type, http status codes and size in most cases. Note that inline datastreams do not have size returned. Dissemination & Delivery Dissemination of object information and datastreams will be moved to a new URI structure. This service will be used by end users to view Complete Records, MARC records, datastreams and disseminated datastreams; i.e. FLV video inside of a Flash video player. The dissemination will use the GET API outlined above to access the datastreams of an object. A suffix will need to be determined under which all object dissemination will occur. This suffix will appear as a directory under the http://rucore.libraries.rutgers.edu URI. The approved suffix will be rutgers-lib. rutgers-lib - http://rucore.libraries.rutgers.edu/rutgers-lib/ The syntactical formula for the new URI structure is: {base URI} / {suffix} / {object identifier} / {datastream identifier} / {sequence number} / {action} base URI required The value: http://rucore.libraries.rutgers.edu suffix required The value: rutgers-lib object identifier required An integer value corresponding to the object being queried for

datastream identifier optional A registered datastream identifier sequence number optional An integer value corresponding to the sequence number of the datastream be queried for. action optional An action to perform on the object and datastream identifier parts supplied Below are some examples of the URL syntax that will be implemented. For the purposed of the examples the rutgerslib candidate was used. Showfed.php display, i.e. handle redirect Current: http://mss3.libraries.rutgers.edu/dlr/showfed.php?pid=rutgers-lib:12345 Proposed: http://rucore.libraries.rutgers.edu/rutgers-lib/12345/ Complete record action Current: http://mss3.libraries.rutgers.edu/dlr/output.php?ds=full&type=full&demono=rutgers-lib:12345 Proposed: http://rucore.libraries.rutgers.edu/rutgers-lib/12345/complete/ MARC record action Current: http://mss3.libraries.rutgers.edu/dlr/output.php?ds=dc&type=marc&demono=rutgers-lib:12345 Proposed: http://rucore.libraries.rutgers.edu/rutgers-lib/12345/marc/ PDF-1 from an object access This would stream the PDF-1 datastream using the GET API with no additional manipulation. Current: http://mss3.libraries.rutgers.edu/dlr/outputds.php?pid=rutgers-lib:12345&mime=application/pdf&ds=pdf- 1&authuser=unknownuser&authtype=eppn Proposed: http://rucore.libraries.rutgers.edu/rutgers-lib/12345/pdf/1/ Flash video from an object in a video player action This would access the FLV-1 file using the GET API and play it back using a video player. Current: http://mss3.libraries.rutgers.edu/disseminators/flvplayer.php?pid=rutgers-lib:12345&mime=video/x-flv&ds=flv-1 Proposed: http://rucore.libraries.rutgers.edu/rutgers-lib/12345/flv/1/play/ Flash video from an object in an embeddable video player action This would access the FLV-1 datastream using the GET API and play it back using an embedded video player.

Current: Currently no URI syntax exists for an embedded player Proposed: http://rucore.libraries.rutgers.edu/rutgers-lib/12345/flv/1/embed/ DjVu-1 from an object access This would stream the DJVU-1 datastream using the GET API with no additional manipulation. Current: http://mss3.libraries.rutgers.edu/dlr/outputds.php?pid=rutgers-lib:12345&ds=djvu-1 Proposed: http://rucore.libraries.rutgers.edu/rutgers-lib/12345/djvu/1/ DjVu-1 from an object in a DjVu applet action This would access the DJVU-1 datastream using the GET API and play it back in the DjVu Java applet. Current: http://mss3.libraries.rutgers.edu/disseminators/outputdjvu.php?pid=rutgers-lib:12345&ds=djvu-1 Proposed: http://rucore.libraries.rutgers.edu/rutgers-lib/12345/djvu/1/applet/ Migration and Deprecation To enable this change the URI syntax of existing and future objects the following will need to be acted upon. Currently all object handles will need to be changed to redirect to the new syntax. Future objects ingested will need to use the new syntax; WMS will need to be reconfigured to enable this. Google Scholar indexing will need to be directed to the new syntax and it is expected that any sitemap files will be moved under the rucore.libraries.rutgers.edu URI structure as well. Deprecation and removal of support for the old URI syntax is recommended using the following steps. Initial implementation, R7.2 When a request is made to the old URI syntax a message is displayed stating this URI has been replaced with a new URI. The new URI will be listed, in clickable form, on the page and the user can use to navigate. Following Version When a request is made to the old URI syntax an automatic redirect to the appropriate URI is performed. Web statistics will need to be analyzed to determine how many of these requests are performed. Removing Support When an acceptable number of requests are not directed at the old URI syntax complete removal of support for that functionality is to be performed.

Implementation WMS When ingesting a new resource via WMS a handle is created and registered with the handle server. The URI syntax generated for the handle redirect in WMS will need to follow the new format. This change in syntax will require a change in code. Persistent URL Migration/Creation During the same release, R7.2, handles will be replaced with DOI s as our preferred persistent URL technology. When replacing the persistent URL in an objects metadata to a DOI the DOI will redirect the user to the new URL format. Search Results Display In search result screen once handles are updated the action of clicking on a handle will be updated automatically. The Complete Record links found in all full record results will need to be updated to the new URI format. Also, all datastream links will need to be updated to the new URI format. These changes can be accomplished through the file constructs in the configuration menus. No code changes are need, only configuration changes. Record Display In the record display the links to Complete Record and all other datastream access will need to be updated to the new URI format. Sitemaps Scripts in dlr/edit that generate the Google sitemaps need to be edited to update so that new location of the resource is reflected in sitemaps that are generated. Also, the sitemaps that are generated need to be moved from their current location under the dlr/edit application to appear under the rucore.libararies.rutgers.edu URI. URL Rewriting An.htaccess file will be written and delivered to support URL rewriting to the new URI syntax outlined in the Dissemination & Delivery section of this document.