elsevier developer network - developer presentation
DESCRIPTION
TRANSCRIPT
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
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
SciVerse Apps - Search Results
SciVerse Apps – Full Text Article
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
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.
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;
SciVerse Content API
data mapping table with search fields and their clustershttp://developer.sciverse.com/sciversecontentapiviews2
CLUSTERS
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=
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);
Views http://developer.sciverse.com/sciversecontentapiviews
Views are defined for each CLUSTER
Views http://developer.sciverse.com/sciversecontentapiretrievalviews
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";
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
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
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