Contenu connexe Similaire à Apps for Science - Elsevier Developer Network Workshop 201102 (20) Apps for Science - Elsevier Developer Network Workshop 2011022. WorkShop – OpenSocial Gadgets for Science Web 2.0 – Much to do about … a lot Gadgets Widgets IFrame HTML5 Browser Add-ons Plugins Facebook Apps Mobile Apps Web2.0 Open API Open Data Open Gov JavaScript Linked Data 4. 1 billion downloads 350,000 Apps WorkShop – OpenSocial Gadgets for Science Web 2.0 - Mobile Apps is Apps 5. WorkShop – OpenSocial Gadgets for Science Web 2.0 – Browser Plugins is Apps Opera Browser – 2.5% IE – 26% Mozilla – 42.8% Chrome – 23.8% Safari - 4% 8. WorkShop – OpenSocial Gadgets for Science SciVerse is OpenSocial Facebook versus OpenSocial 500 million versus 900 million users 9. WorkShop – OpenSocial Gadgets for Science SciVerse is Innovation in STM Publishing Gutenberg Printing Press 1440 Lodewijk Elsevir 1580 10. WorkShop – OpenSocial Gadgets for Science World Wide Web Tim Berners-Lee - first Web Server (EVER) 1990 11. WorkShop – OpenSocial Gadgets for Science ScienceDirect Online – more than 10 million scientific articles 13. WorkShop – OpenSocial Gadgets for Science SciVerse Apps – HTML, JavaScript, APIs What is an App? The IFRAME Revolution <iframe src="iframe1.html" width=“400" height=“200"> </iframe> <script type=‘text/javascript’> Function fnWrite() { getElementById(‘content-div’).innerHTML = “ HelloWorld”; } </script> <div id=‘content-div’></div> 14. WorkShop – OpenSocial Gadgets for Science What are APIs? What is a Mashup? API API SciVerse APIs <script type=‘text/javascript’> url1 = ‘http://api.sciverse.com/search’; data1 = makeUrlRequest(url1); param1=data1[0]; url2 = ‘http://api.nytimes.com/search’; data2 = makeUrlRequest(url2, param1); mashup = data2; getElementById(‘div1’) = mashup; </script> sciencedirect scopus 16. WorkShop – OpenSocial Gadgets for Science SciVerse Content API Content API - Search http://api.elsevier.com/content/search/index:CLUSTER?query=xx&view=VIEW CLUSTER HUB, SCIDIR, SCOPUS, AUTHOR, AFFILIATION VIEW STANDARD, COMPLETE query date Content API - Retrieval http://api.elsevier.com/content/CONTENT-CATEGORY/LABEL:ID?view=VIEW CONTENT-CATEGORY article, abstract, author, affiliation LABEL EID, PII, DOI, SCOPUS_ID, AUTHOR_ID, AFFIL_ID, PUBMED_ID VIEW META, REF, FULL, LIGHT, STANDARD 17. WorkShop – OpenSocial Gadgets for Science SciVerse – Framework API SciVerse – Framework API gadgets.sciverse.getAllResults(callback) gadgets.sciverse.getArticleContent(callback) gadgets.sciverse.getContextInfo(callback) gadgets.sciverse.getPageUrl(callback) gadgets.sciverse.getResults(requestedResults, callback) gadgets.sciverse.invokeResultsView(resultIndex, viewParams) gadgets.sciverse.makeContentApiRequest(url, callback, requestHeaders) gadgets.sciverse.makeRequest(url, callback, params) gadgets.hub.executeSearch(searchTerms) 18. WorkShop – OpenSocial Gadgets for Science SciVerse – Framework API - ContextInfo accountId, artNum, au1, au1First, au1Init, au1Suffix, au1Sur, auCorp, authorKeywords, date, docTitle, doi, entitlement, genre, indexTerms, individualUser, isbn, issn, issue, keywords, offset, originPage, otherKeywords, pageContentDivTagName, pages, pageType, part, partTitle, partValue, pii, platform, scDocId, scopusFlag, searchQuery, searchTerms, secureAuthToken , sortOrder, sPage, srcTitle, ssn, timestamp, volume, year function getContextInfoCallback(result){ // get authtoken for content API call var authtoken = result.secureAuthtoken; var searchterm = result.searchTerms; } <script type="text/javascript"> var prefs = new gadgets.Prefs(); var authToken = prefs.getString("secureAuthtoken"); </script> 19. WorkShop – OpenSocial Gadgets for Science SciVerse – Content API var requestHeaders = {}; requestHeaders['X-ELS-APIKey'] = your-API-key; requestHeaders['X-ELS-Authtoken'] = authtoken; requestHeaders['Accept'] = "application/json"; var params = {}; params[gadgets.io.RequestParameters.HEADERS] = requestHeaders; // only necessary when using gadgets.io.makeRequest //params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.NONE; //params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON; gadgets.sciverse.makeContentApiRequest(url, callback, params); 20. WorkShop – OpenSocial Gadgets for Science SciVerse – Mashup <script type=‘text/javascript’> Var myapikey = ‘aaaass223ssss’; Function fnCreateMashup(){ gadgets.sciverse.getContextInfo(fnContextInfoCallback); } Funtion fnContentInfoCallback(response){ var search = response.searchQuery; var url = ‘http://api.nytimes.com/svc/search/v1/article?query=‘+search+’&api-key=‘+myapikey+ ‘ format=json’; var params = { ‘ href’ : url, ‘ format’ : ‘json’, ‘ authz’ : ‘none’ }; osapi.http.get(params1).execute(fnNyTimesCallback); } Function fnNyTimesCallback(nytimesResponse) { var output = ‘’; // using jquery $.each(nytimesResponse.content.results, function(I, result){ output = output + result.data + ‘ – ‘ + result.title; } } Gadgets.util.registerOnLoadHandler(fnCreateMashup); </script> 21. WorkShop – OpenSocial Gadgets for Science SciVerse – OpenSocial Definition File <?xml version= "1.0" encoding="UTF-8"?> <Module> <ModulePrefs title= "SciVerseExamples-ContentAPICall1" author_email="CaprioR@your.domain"> <Require feature= "opensocial-0.9" /> <Require feature= "sciverse" /> <Require feature= "hub" /> <Require feature= "org.jquery.core-1.4.2" /> </ModulePrefs> <Content type= "html" view="canvas"><![CDATA[ <!-- The code for Canvas view is here. --> ]]></Content> <Content type= "html" view="profile"><![CDATA[ Profile View ]]></Content> <Content type= "html" view="sciverseResultsView"><![CDATA[ <!-- The code for Sciverse Results View view is here. --> <div>Sciverse Results View view for SciVerseExamples-ContentAPICall1.</div> ]]></Content> </Module> 22. WorkShop – OpenSocial Gadgets for Science SciVerse – Integration Points view Integration point profile Hub - Home page, Search Results page ScienceDirect- Full Text Article page, Search Results page Scopus - Record page canvas New full page sciverseResultsView Hub - Search Results page (under each result) ScienceDirect - Search Results page (under each result) 23. WorkShop – OpenSocial Gadgets for Science SciVerse – Resources SciVerse – SDK plugin for Eclipse http://developer.sciverse.com/sdk SciVerse – Content API http://developer.sciverse.com/api SciVerse – Framework API http://developer.sciverse.com/framework Follow @SciVerseDev http://twitter.com/sciversedev Developer Blog http://developer.sciverse.com/blog Apps For Science http://www.appsforscience.com Developer Events - Hack For Science http://www.hackforscience.com