elsevier developer network - developer presentation

17
Developer Overview 1. SciVerse is OpenSocial in Context 2. SciVerse Apps 3. Note to developers 4. SciVerse APIs 5. SciVerse Framework API and ContextObject 6. SciVerse Content API 7. API-key and authToken in Requestheaders 8. Views 1. Types 2. References 9. Facets 10.Subject Areas 11.WADLs and XSDs 12.Apps For Science $35,000 Challenge 13.Support

Upload: remko-caprio

Post on 15-Jan-2015

2.406 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Elsevier   developer network - developer presentation

Developer Overview

1. SciVerse is OpenSocial in Context2. SciVerse Apps3. Note to developers 4. SciVerse APIs5. SciVerse Framework API and ContextObject6. SciVerse Content API7. API-key and authToken in Requestheaders8. Views

1. Types2. References

9. Facets10.Subject Areas11.WADLs and XSDs12.Apps For Science $35,000 Challenge 13.Support

Page 2: Elsevier   developer network - developer presentation

OpenSocial in Context

SciVerse is an extension of Apache Shindig, an OpenSocial container. OpenSocial is:-People-Groups-Activities-Apps

OpenSocial Apps are HTML IFRAMEs, which means the Cross-Domain Policy applies.

SciVerse is OpenSocial Apps with access to page context, embedded in search results, full text articles and author details.

Full-Text Article

App

SciVerse Shindig server SD

Page 3: Elsevier   developer network - developer presentation

SciVerse Apps - Search Results

Page 4: Elsevier   developer network - developer presentation

SciVerse Apps – Full Text Article

Page 5: Elsevier   developer network - developer presentation

Note to Developers

SciVerse does not yet support OAuth (3-legged) API calls

SciVerse does not yet support OpenSocial people, so there is not yet a persistent user id available to applications

Page 6: Elsevier   developer network - developer presentation

SciVerse APIsFramework APIhttp://developer.sciverse.com/frameworkapi

•Access contextual information •Access list of search results •Display content under each search result •Highlight and link text and terms •Search Assist for instance for autocomplete•Hover windows •(In)visibility •Securely accessing client services with built-in MD5 Message Digest•Navigate search results using facets

Content APIhttp://developer.sciverse.com/api

RESTful APIs that provide direct access to Elsevier content: ScienceDirect, Scopus, Hub for search results and full-text articles, author, affiliation information, and meta-data.

Page 7: Elsevier   developer network - developer presentation

SciVerse Framework API and ContextInfo

http://developer.sciverse.com/framework#context

gadgets.sciverse.getContextInfo(callback)

Returns contextual information provided by the hosting application as a JSON object. This includes information such as user search terms, DOI, title, etc. as well as web application data such as page type, platform, etc.

authorIdentifier, currentAffiliationId, currentAffiliationName, currentAffiliationCity, currentAffiliationCountry, doi, isbn, keywords, pii, searchTerms, secureAuthToken, timestamp, year

function getContext(){ gadgets.sciverse.getContextInfo(getContextCallback);}function getContextCallback(context) {

var searchterms = context.searchTerms;authtoken = context.secureAuthtoken;

Page 8: Elsevier   developer network - developer presentation

SciVerse Content API

data mapping table with search fields and their clustershttp://developer.sciverse.com/sciversecontentapiviews2

CLUSTERS

Page 9: Elsevier   developer network - developer presentation

Clustershttp://developer.sciverse.com/sciversecontentapisearchrequest

•HUB (ScienceDirect, Scopus, and Scirus data)•SCIDIR (ScienceDirect data)•SCOPUS (Scopus data)•AUTHOR •AFFILIATION

Example URLhttp://api.elsevier.com/content/search/index:CLUSTER?query=

Page 10: Elsevier   developer network - developer presentation

API-key and authToken

function run() { gadgets.sciverse.getContextInfo(init);}

function init(context) { var authtoken = context.secureAuthtoken;

var requestHeaders = {}; requestHeaders['X-ELS-APIKey'] = myapikey; requestHeaders['X-ELS-Authtoken'] = authtoken;

var params = {}; params[gadgets.io.RequestParameters.HEADERS] = requestHeaders; gadgets.sciverse.makeRequest(url, callback, params);}

gadgets.util.registerOnLoadHandler(run);

Page 11: Elsevier   developer network - developer presentation

Views http://developer.sciverse.com/sciversecontentapiviews

Views are defined for each CLUSTER

Page 12: Elsevier   developer network - developer presentation

Views http://developer.sciverse.com/sciversecontentapiretrievalviews

Page 13: Elsevier   developer network - developer presentation

Facets http://developer.sciverse.com/sciversecontentapifacets

Different facets are available for each cluster.

var scidircluster = "SCIDIR";var scidirfacets = "contenttype(Journal);"+ // return counts: All, values: // Journal, Book, Reference Work"srctitle(20);"+ // return counts: 5 to 20"pubyr(20);"+ // returns counts: 5 to 20"topics();"; // X

var url = "http://api.elsevier.com/content/search/index:"+cluster+ "?query="+searchterms+ "&facets="+facets+ "&count="+count+ "&scomode=on"+ "&sort=fd";

Page 14: Elsevier   developer network - developer presentation

Subject Areas AGRI - Agricultural and Biological SciencesARTS - Arts and HumanitiesBIOC - Biochemistry, Genetics and Molecular BiologyBUSI - Business, Management and AccountingCENG - Chemical EngineeringCHEM - ChemistryCOMP - Computer ScienceDECI - Decision SciencesDENT - DentistryEART - Earth and Planetary SciencesECON - Economics, Econometrics and FinanceENER - EnergyENGI - EngineeringENVI - Environmental ScienceHEAL - Health ProfessionsIMMU - Immunology and MicrobiologyMATE - Materials ScienceMATH - MathematicsMEDI - MedicineNEUR - NeuroscienceNURS - NursingPHAR - Pharmacology, Toxicology and PharmaceuticsPHYS - Physics and AstronomyPSYC - PsychologySOCI - Social SciencesVETE - VeterinaryMULT - Multidisciplinary

Page 15: Elsevier   developer network - developer presentation

WADLs and XSDs

Web Application Definition Language (WADL)

Request and Response ObjectsXML Schema Definitions (XSD)

WADL and XSD files:http://schema.elsevier.com/dtds/document/bkapi/

The SciVerse APIs support PRISM implementation of the Dublin Core metadata standard.http://developer.sciverse.com/sciversecontentapiretrievalrequest#sciVerseRetrievalResponse

Page 16: Elsevier   developer network - developer presentation
Page 17: Elsevier   developer network - developer presentation

Support

API, Data and Backend questionsAle de Vries (senior product manager)Dave Santucci (integration support coord)

Programming questionsRyan Dietz (principal SW engineer)

Functional Spec / Product Development questionsBen Rubin (product manager)Max Berenstein (product manager)

A little bit of everythingRemko Caprio (developer evangelist)

Githubhttps://github.com/sciversedev