Elsevier developer network - developer presentation


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Elsevier developer network - developer presentation

  1. 1. Developer Overview <ul><li>SciVerse is OpenSocial in Context </li></ul><ul><li>SciVerse Apps </li></ul><ul><li>Note to developers </li></ul><ul><li>SciVerse APIs </li></ul><ul><li>SciVerse Framework API and ContextObject </li></ul><ul><li>SciVerse Content API </li></ul><ul><li>API-key and authToken in Requestheaders </li></ul><ul><li>Views </li></ul><ul><ul><li>Types </li></ul></ul><ul><ul><li>References </li></ul></ul><ul><li>Facets </li></ul><ul><li>Subject Areas </li></ul><ul><li>WADLs and XSDs </li></ul><ul><li>Apps For Science $35,000 Challenge </li></ul><ul><li>Support </li></ul>
  2. 2. OpenSocial in Context <ul><li>SciVerse is an extension of Apache Shindig, an OpenSocial </li></ul><ul><li>container. OpenSocial is: </li></ul><ul><li>People </li></ul><ul><li>Groups </li></ul><ul><li>Activities </li></ul><ul><li>Apps </li></ul><ul><li>OpenSocial Apps are HTML IFRAMEs , which means the Cross-Domain Policy applies . </li></ul><ul><li>SciVerse is OpenSocial Apps with access to page context , embedded in search results, full text articles and author details . </li></ul>Full-Text Article App SciVerse Shindig server SD
  3. 3. SciVerse Apps - Search Results
  4. 4. SciVerse Apps – Full Text Article
  5. 5. 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
  6. 6. SciVerse APIs <ul><li>Framework API </li></ul><ul><li>http://developer.sciverse.com/frameworkapi </li></ul><ul><li>Access contextual information </li></ul><ul><li>Access list of search results </li></ul><ul><li>Display content under each search result </li></ul><ul><li>Highlight and link text and terms </li></ul><ul><li>Search Assist for instance for autocomplete </li></ul><ul><li>Hover windows </li></ul><ul><li>(In)visibility </li></ul><ul><li>Securely accessing client services with built-in MD5 Message Digest </li></ul><ul><li>Navigate search results using facets </li></ul><ul><li>Content API </li></ul><ul><li>http://developer.sciverse.com/api </li></ul><ul><li>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. </li></ul>
  7. 7. 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;
  8. 8. SciVerse Content API data mapping table with search fields and their clusters http://developer.sciverse.com/sciversecontentapiviews2 CLUSTERS
  9. 9. Clusters <ul><li>http://developer.sciverse.com/sciversecontentapisearchrequest </li></ul><ul><li>HUB (ScienceDirect, Scopus, and Scirus data) </li></ul><ul><li>SCIDIR (ScienceDirect data) </li></ul><ul><li>SCOPUS (Scopus data) </li></ul><ul><li>AUTHOR </li></ul><ul><li>AFFILIATION </li></ul><ul><li>Example URL </li></ul><ul><li>http://api.elsevier.com/content/search/index:CLUSTER?query = </li></ul>
  10. 10. 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);
  11. 11. Views http://developer.sciverse.com/sciversecontentapiviews Views are defined for each CLUSTER
  12. 12. Views http://developer.sciverse.com/sciversecontentapiretrievalviews
  13. 13. Facets http://developer.sciverse.com/sciversecontentapifacets Different facets are available for each cluster. var scidircluster = &quot;SCIDIR&quot;; var scidirfacets = &quot;contenttype(Journal);&quot;+ // return counts: All, values: // Journal, Book, Reference Work &quot;srctitle(20);&quot;+ // return counts: 5 to 20 &quot;pubyr(20);&quot;+ // returns counts: 5 to 20 &quot;topics();&quot;; // X var url = &quot;http://api.elsevier.com/content/search/index:&quot;+cluster+ &quot;?query=&quot;+searchterms+ &quot;&facets=&quot;+facets+ &quot;&count=&quot;+count+ &quot;&scomode=on&quot;+ &quot;&sort=fd&quot;;
  14. 14. Subject Areas AGRI - Agricultural and Biological Sciences ARTS - Arts and Humanities BIOC - Biochemistry, Genetics and Molecular Biology BUSI - Business, Management and Accounting CENG - Chemical Engineering CHEM - Chemistry COMP - Computer Science DECI - Decision Sciences DENT - Dentistry EART - Earth and Planetary Sciences ECON - Economics, Econometrics and Finance ENER - Energy ENGI - Engineering ENVI - Environmental Science HEAL - Health Professions IMMU - Immunology and Microbiology MATE - Materials Science MATH - Mathematics MEDI - Medicine NEUR - Neuroscience NURS - Nursing PHAR - Pharmacology, Toxicology and Pharmaceutics PHYS - Physics and Astronomy PSYC - Psychology SOCI - Social Sciences VETE - Veterinary MULT - Multidisciplinary
  15. 15. WADLs and XSDs Web Application Definition Language (WADL) Request and Response Objects XML 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
  16. 17. Support API, Data and Backend questions Ale de Vries (senior product manager) Dave Santucci (integration support coord) Programming questions Ryan Dietz (principal SW engineer) Functional Spec / Product Development questions Ben Rubin (product manager) Max Berenstein (product manager) A little bit of everything Remko Caprio (developer evangelist) Github https://github.com/sciversedev