Your SlideShare is downloading. ×
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Guug11 mashing up-google_apps
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Guug11 mashing up-google_apps

11,579

Published on

Published in: Education, Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
11,579
On Slideshare
0
From Embeds
0
Number of Embeds
51
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Scripted integration cf. automation, or the writing of macros
  • Transcript

    • 1. Mashing Up Google Apps Tony Hirst Dept of Communication and Systems The Open University Wiring Before http://www.flickr.com/photos/kelp/4894023263
    • 2. Google Apps as a mashup environment
    • 3. (Interaction and Display) Native Functions Google Apps Script APIs
    • 4. Heavy lifting done by pre-existing applications or code libraries with each stage acting on naturally expressed representations of data from the preceding stage in the pipeline Mashups as pipelines…
    • 5. Google Apps as a mashup environment Scripted integration of Google Apps Glue in “free form” data driven mashups
    • 6. Scripted integration of Google Apps
    • 7. ‘ We have a spreadsheet of OU broadcast campaigns – can you get them into a calendar?’
    • 8.  
    • 9. Google spreadsheet + Google Apps Script Into Google Calendar
    • 10. Google Apps Script provides a way of working with representations that have a natural expression in a user facing application
    • 11.  
    • 12. http://www.rsc-ne-scotland.org.uk/mashe/category/google-apps/ http://bit.ly/gqAX17 Martin Hawksey's JISC RSC MASHe   blog
    • 13. Collect/backup tweets in a Google Spreadsheet [Twitteralytics v2] Linking a Google Form with data from the responses in the Spreadsheet [Event/Resource Booking] gEVS – An idea for a Google Form/Visualization mashup for electronic voting The best Google Spreadsheet Event Manager (w/h Sites, Contact, Calendar integration) ever, ever, ever Convert time stamped data to timed-text (XML) subtitle format using Google Spreadsheet Script
    • 14. Glue in “free form” data driven mashups
    • 15. Google spreadsheet Google Apps script Google Visualisation API Google Spreadsheets as a mashup environment
    • 16. Getting stuff in...
    • 17. Creating a database on the fly…
    • 18. Scraping multiple pages… var ss = SpreadsheetApp.getActiveSpreadsheet(); for ( page in pages ) ss.insertSheet( name( pages[ page ] ], 1 ); sheet = ss.getSheetByName( sname ); addTableImporter( sheet, I ) function addTableImporter( ss, n ) { var sc = ss.getActiveCell(); var c = []; c[0] = “=importHTML(‘”++”’) ; var arr = []; arr[ 0 ] = c; var destinationRange = ss.getRange( 1, 1, 1, 1 ); destinationRange.setValues( arr ); }
      • Obtain a list of page URLs to be scraped
      • Create a new sheet for each page using
      • Add an =importHTML formula with page URL to each new sheet
      var ss = SpreadsheetApp.getActiveSpreadsheet() ss.insertSheet( sname ) sheet = ss.getSheetByName( sname );
    • 19. Formulae
    • 20. = googlelookup ("Brazil", "capital")
    • 21. linked data Linked Data
    • 22. = OUdata_courses ( coursecode , [ properties] )
    • 23. function OUdata_courses(cc,props) { var args = _OUdata_SPARQL(‘courses’,cc,props) var sparqlResult = UrlFetchApp.fetch( 'http://data-gov.tw.rpi.edu/ws/sparqlproxy.php', {method: 'post', payload: args} ); return _handleSPARQLresult( sparqlResult ); }
    • 24. Google Spreadsheets as a database
    • 25.  
    • 26. =QUERY('ISO Country Codes'!A2:B268, "select A,B where A contains 'FRANCE' limit 1")))
    • 27. "Events, dear boy, events..."
    • 28.  
    • 29.  
    • 30. ...getting stuff out
    • 31. DataStore Explorer
    • 32. The art of the mashup lies in breaking a problem down into a series of discrete functional steps, each of which can be handled by something that already exists.
    • 33. Creating an effective mashup requires cunning, laziness, and a playful attitude…
    • 34. … which is to say, a willingness to use as building blocks things that may not have originally been intended as such, such as Google Apps…
    • 35. @psychemedia http://blog.ouseful.info

    ×