1 ODF and Web Mashups Basic techniques Rob Weir, IBM 2009-11-05 16:15.

Slides:



Advertisements
Similar presentations
By Loukik Purohit & Rohit Ghatol
Advertisements

WHAT CBT DEVELOPERS NEED TO KNOW ABOUT BROWSERS, PLUG-INS, AND ACTIVEX Doug Foster, Oakes Interactive Inc. Jesse M. Heines, Univ. of Mass. Lowell.
Information Retrieval in Practice
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Damia: Data Mashups for Intranet Applications David E. Simmen, et al IBM Almaden Research Center Presented by John Nielsen.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Microsoft ® Official Course Interacting with the Search Service Microsoft SharePoint 2013 SharePoint Practice.
Web 2.0: Concepts and Applications 3 Syndicating Content.
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
Overview of Search Engines
RSS RSS is a method that uses XML to distribute web content on one web site, to many other web sites. RSS allows fast browsing for news and updates.
+ RSS Aggregation and Syndication. + Really Simple Syndication (aka, Rich Site Summary) Image source:
Boris Tshibangu. What is a proxy server? A proxy server is a server (a computer system or an application) that acts as an intermediary for requests from.
Chapter 10 Publishing and Maintaining Your Web Site.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Computer Concepts 2014 Chapter 7 The Web and .
Free e-Sources for English Language Teachers by Wallace Barboza Carolina TESOL December 6th, 2008 Charleston, SC.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
INTRODUCTION TO DHTML. TOPICS TO BE DISCUSSED……….  Introduction Introduction  UsesUses  ComponentsComponents  Difference between HTML and DHTMLDifference.
Crystal Hoyer Program Manager IIS Team Preview of features that will be announced at MIX09 Please do not blog, take pictures or video of session.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Dynamic Web Pages (Flash, JavaScript)
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
XHTML Introductory1 Linking and Publishing Basic Web Pages Chapter 3.
Getting Started with the ASP.NET Web API Dhananjay Kumar Infragistics Consultant Microsoft MVP
® How to Build IBM Lotus Notes Components for Composite Applications 정유신 과장 2007 하반기 로터스 알토란.
Web Mashups -Nirav Shah.
Open Data Protocol * Han Wang 11/30/2012 *
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Understanding AJAX Hype, Hope, Hurt and Help for the Web MJTS May 4th, 2006 _________________________ Terence Conklin, Conklin Systems
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Searching Business Data with MOSS 2007 Enterprise Search Presenter: Corey Roth Enterprise Consultant Stonebridge Blog:
Chapter 9 Publishing and Maintaining Your Site. 2 Principles of Web Design Chapter 9 Objectives Understand the features of Internet Service Providers.
Using Datacasting to Acquire Only the GHRSST Products You Care About Using Datacasting.
Google Data Protocol Guy Mark Lifshitz. Motivation Google’s Mission: – Organize the world’s information – Make information universally accessible – Provide.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Using RSS to Promote Scholarly Publications Ken Varnum Associate Librarian Edwin Ginn Library The Fletcher School Tufts University Cool Tools and New Technologies.
1 Alternative view on Internet Computing Web 1.0 –Web 1.0 is first generation, Web Information based. Driven by Information provider. Web 2.0 Ajax enabled.
A Tour of Google Apps learn.cssd.ab.ca. Google Apps provide tools for creating, learning and sharing. Signing into your learn account gives you access.
JSON – Java Script Object Notation. What is JSON JSON is a data interchange format Interactive Web 2.0 applications, no more use page replacement. Data.
The 2007 Microsoft Office System Servers Enterprise Content Management, Workflow and Forms Martin Parry Developer and Platform Group, Microsoft Ltd
Mashups for the Nontechies: Yahoo! Pipes Jody Condit Fagan Digital Services Librarian James Madison University
Introduction to Enterprise Search Corey Roth Blog: Twitter: twitter.com/coreyrothtwitter.com/coreyroth.
Working With RSS In ColdFusion Presented by Pete Freitag Principal Consultant, Foundeo Inc.
1 Workshop - ODFDOM Lars Behrmann Frank Meies Svante Schubert Sun Microsystems, Hamburg 1.
REDCap External Modules
Information Retrieval in Practice
DHTML.
Distributed Control and Measurement via the Internet
ODF API - ODFDOM Svante Schubert Software Engineer
The Object-Oriented Thought Process Chapter 11
Web Mashups -Nirav Shah.
API (Application Program Interface)
Web Application.
Google Web Toolkit Tutorial
Leveraging BI in SharePoint with PowerPivot and Power View
An introduction to REST for SharePoint 2013
WHAT DOES THE FUTURE HOLD? Ann Ellis Dec. 18, 2000
“Real Simple Syndication” (RSS)
Asynchronous Java script And XML Technology
Drawbacks of Traditional Web
Pentaho and Yahoo User Interface (YUI)
Searching Business Data with MOSS 2007 Enterprise Search
JavaScript & jQuery AJAX.
SharePoint 2019 Overview and Use SPFx Extensions
Introduction to World Wide Web
CIS 133 mashup Javascript, jQuery and XML
Web Application Development Using PHP
Presentation transcript:

1 ODF and Web Mashups Basic techniques Rob Weir, IBM :15

:ODF and Web Mashups Slide 2 Agenda ● Why it is hard to use ODF in a web app ? ● Two techniques for accessing ODF on the web ● Atom ● JSON ● A couple of demos ● Some suggested areas for exploration. ● Note: although the examples give use ODFDOM, the same techniques could be used with other ODF libraries on other languages.

:ODF and Web Mashups Slide 3 How ODF Relates to the Web ● Documents stored on the web, retrieved with HTTP. ● Launch platform editor ● Browser Plugins to view documents ● HTML convertors (Stellent) ● Full text indexing (Google) ● But none of these techniques allow sharing of data from ODF documents with web applications...

:ODF and Web Mashups Slide 4 So what is the problem? ● ODF is XML-based, but not XML ● ODF is a ZIP-archive containing multiple XML files and associated resources (images, etc.). ● Web client's cannot get inside the ZIP given functionality provided by HTML/CSS/JavaScript, etc. ● Could get around this with Java applets or ActiveX, but that has security implications and is not as portable.

:ODF and Web Mashups Slide 5 Two Approaches ● Convert ODF to Atom ● Convert ODF to JSON ● Small, fast, on-the-fly transformations from ODF to standard formats that are broadly consumable on the web.

:ODF and Web Mashups Slide 6 Atom Syndication Format ● Created in 2003, goal was: ● “100% vendor neutral, ● implemented by everybody, ● freely extensible by anybody, and ● cleanly and thoroughly specified.” ● IETF RFC 4287 (2005) ● Successor/rival of RSS ● Generally used for blog, podcast and similar feeds. ● But has some broader uses as well.

:ODF and Web Mashups Slide 7 Basic Structure of Atom

:ODF and Web Mashups Slide 8 Mapping ODF to Atom ● dc:creator → name ● dc:date → updated ● dc:title → title ● dc:description → summary ● “dc” refers to Dublin Core Element Set

:ODF and Web Mashups Slide 9 Example: Metadata Aggregator ● Point to a directory full of ODF docs ● Use ODFDOM to extract the metadata ● Generate an Atom feed from this information Let's look at the code and have a demo

:ODF and Web Mashups Slide 10 Enhancements and Uses ● Run on server, via a cron job ● Atom feed via a servlet call: ● Read ODF documents from a document repository ● Apply same technique to individual documents, to publish individual slides in a presentation, or rows in a spreadsheet. ● Send updates whenever new document is uploaded to your web site ● Use TwitterFeed to publish updates to Twitter ● Use feed in IBM Mashup Center or in Yahoo Pipes ● Scan incoming attachments, extract them and add to personal feed of incoming documents ● Can help with widespread problem of two metadata views that are unsynched: the intrinsic metadata in the document versus the metadata tracked by the content manager.

:ODF and Web Mashups Slide 11 JSON JavaScript Object Notation ● IETF 4627 (2006) ● Alternative to XML for an interchange data format. ● Is a subset of JavaScript's data declaration syntax. ● Can be very easily consumed by JavaScript applications via call to eval(), but can also be used by other languages, via libraries.

:ODF and Web Mashups Slide 12 JSON Example

:ODF and Web Mashups Slide 13 Example: Spreadsheet Publisher ● Start with a spreadsheet with rows of records. ● First row is treated as the header row and used as labels. ● We then iterate over remaining rows, writing a subobject for each row. ● End result is a JSON object representing the spreadsheet. Let's look at the code and have a demo

:ODF and Web Mashups Slide 14 Security Note ● “Same origin” security restrictions require that the HTML page using the JSON object be in the same domain as the domain of the server hosting the JSON object. ● Can get around this somewhat with frames, but this then gets you into cross-frame scripting issues.

:ODF and Web Mashups Slide 15 Enhancements and Uses ● Run on server, via a cron job ● JSON == a servlet call: ● Could be used to aggregate data across documents ● Great for mashups ● Identify a column as a location value, use Google Maps API to geocode and place marker on a map. ● Can we go in the other direction? ● ODS → JSON → Interactive modifications → JSON → ODS ● Would be a killer feature. Let's do it!

:ODF and Web Mashups Slide 16 Thank you for your attention. Any questions?