ODF Programmability What we need & What we have Robert Weir Software Architect IBM Software Group

Similar documents
ODF API - ODFDOM. Svante Schubert Software Engineer Sun Microsystems, Hamburg

OpenOffice.org & ODF Accessibility

Rob Weir, IBM 1 ODF and Web Mashups

Jumpstarting the Semantic Web

Informix User Group. A4GL and VENTAS ERP Solution

Manage shots with a scriptable timeline for a collaborative VFX workflow.

REDCap Importing and Exporting (302)

SAP Enable Now What s New. WHAT S NEW PUBLIC Version 1.0, Feature Pack SAP Enable Now What s New. Introduction PUBLIC 1

PROCE55 Mobile: Web API App. Web API.

Data Governance Industrial Internet & Big Data

Identify and cluster touchpoints in several ways Identify risks and initiatives associated to touchpoints

This document describes the features supported by the new PDF emitter in BIRT 2.0.

This document is a preview generated by EVS

Cross-Platform Parallels: Understanding SharePoint (Online) Through Notes-colored glasses

An OASIS White Paper. Open by Design. The Advantages of the OpenDocument Format (ODF) ##### D R A F T ##### By the OASIS ODF Adoption TC For OASIS

ODF Perspectives Panel discussion. OASIS ODF Adoption TC

New Reseller Opportunities. Print2 . Internet Print Server

A Case Study Webinar: How Wiley-Blackwell Accelerated Digital Production by 75% webinar. aptaracorp.com

Advanced Topics in WebSphere Portal Development Graham Harper Application Architect IBM Software Services for Collaboration

IBM Rational Software

IBM Case Manager Mobile Version SDK for ios Developers' Guide IBM SC

Re: Request for Support in JIRA use. 1 of 7 10/6/11 11:35 PM. Hi Bill,

Apex TG India Pvt. Ltd.

ArcGIS Runtime SDK for.net Getting Started. Jo Fraley

Enabling High-Quality Printing in Web Applications. Tanu Hoque & Craig Williams

Collaborating in a Digital World with Bluebeam Revu

High Fidelity Programmatic Access to Document Content

LiXuid Manuscript. Sean MacRae, Business Systems Analyst

Preservation Metadata Extraction and Collection : Tools and Techniques. Mat Black National Library of New Zealand Te Puna Matauranga o Aotearoa

Understanding and Using Metadata in ArcGIS. Adam Martin Marten Hogeweg Aleta Vienneau

3D Apps 3D PDF Publisher for Revit

Working with Feature Layers. Russell Brennan Gary MacDougall

Ruby on Rails. SITC Workshop Series American University of Nigeria FALL 2017

Federated Search in an Age of Web Services

Distributing LIXI Data as a Newscast"

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

The Black Magic of Flash SEO

BPM Case Study - Managing Regulatory Controls in the Banking and Financial Sector with Activiti. Greg Harley Director - Special Projects BP3 Global

Computer Information Systems (CIS) CIS 105 Current Operating Systems/Security CIS 101 Introduction to Computers

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC

Blockhead Open Service Broker Jonathan Berkhahn Swetha Repakula IBM

JavaScript Context. INFO/CSE 100, Spring 2005 Fluency in Information Technology.

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

Supplier Manual for the ASN Process SupplyOn PD

Properties Sidebar: Make editing much easier

BrandingUI (Basic, Advanced, Enterprise) Getting Started - Important First Steps

How. Can Acrobat Help My Bar Association? Catherine Sanders Reach ABA Legal Technology Resource Center

Modernizing California State Highway Right of Way Records with GIS. Caltrans District 4 Oakland, CA

Use Manual For Database Software Program Such As Microsoft Access

GUI for end users or programmers Is the primary interface designed for application developers or for end users.

Introduction to XML 3/14/12. Introduction to XML

PC DOC.IQ V 10.0 Operating Instructions

J2EE Application Development : Conversion and Beyond Osmond Ng

Trends in Viewing and Distributing Design Data Diane Li, Product Manager Viewers & DWF Autodesk

Hospital System Lowers IT Costs After Epic Migration Flatirons Digital Innovations, Inc. All rights reserved.

Soar IDE. Keith Knudsen, Mike Quist, Dave Ray & Bob Wray May 24, 2007

DCMTK and QIICR. Open Connections. QIICR Kickoff Boston October 22, 2013

FEATURES EASILY CREATE AND DEPLOY HIGH QUALITY TCL EXECUTABLES TO ANYONE, ANYWHERE

10 Minute Demonstration Script

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Introduction. ActiveX, OLE, and the Internet

Regular Forum of Lreis. Speechmaker: Gao Ang

Testking.P questuons

The Myx Architectural Style

AD105 Introduction to Application Development for the IBM Workplace Managed Client

2.5.1: Reforms in Continuous Internal Evaluation (CIE) System at the Institutional Level

New Programming Paradigms

Improving Productivity

Overview and Demonstration

Getting. Started with. smash. IBM WebSphere. Ron Lynn, Karl Bishop, Brett King

IBM Workplace Web Content Management and Why Every Company Needs It. Sunny Wan Technical Sales Specialist

Index. Tony Smith 2016 T. Smith, SharePoint 2016 User's Guide, DOI /

Content Development Reference. Including resources for publishing content on the Help Server

WikiPathways Tutorial

Store and Report Waters Empower Data with OpenLAB ECM and OpenLAB ECM Intelligent Reporter

Extending CMIS Standard for XML Databases

Cognos TM1 Architecture INTRODUCTION TO IBM COGNOS TM1. Tm1 architect Tm1 perspectives Tm1 turbo integrator Tm1 Cube Viewer Tm1 Subset Editor

Is SharePoint the. Andrew Chapman

IBM Social Rendering Templates for Digital Data Connector

RESTful API Design APIs your consumers will love

Planned Review Date: June 10, 2009 Communication Channel: eclipse.tools.emf Dave Steinberg and Ed Merks

Driving Interoperability with CMIS

Getting Started Guide. Chapter 10 Printing, Exporting, ing

Css Pdf Editor Software Full Version 3.1

Adobe RoboHelp (2019 release)

IMI WHITE PAPER INFORMATION MAPPING AND DITA: TWO WORLDS, ONE SOLUTION

Capturing Documents & Data in inforouter Version 8.x

McAfee Security Management Center

Investigating Source Code Reusability for Android and Blackberry Applications

EPS Import Functionality for ReportLab

EMC DOCUMENT SCIENCES INTERACTIVE DOCUMENT DEVELOPMENT KIT

Database of historical places, persons, and lemmas

JRA4 COMMON SOFTWARE SOFTWARE USER REQUIREMENTS JRA4-SPE Revision : 1.0. Date : 04/07/2005

HDF Product Designer: A tool for building HDF5 containers with granule metadata

Graham Taylor.

Choosing DITA and Componize

SharePoint Server 2007 Design Life Cycle (Top 20 Design Questions) CISSP, SharePoint MVP

SOAP: Cross Platform Web Services Development Using XML PDF

Chapter 2 Introduction

NerveCenter 7.1 Release Notes. Windows and UNIX Version 7.1. March 2017 NCRN

Transcription:

ODF Programmability What we need & What we have Robert Weir Software Architect IBM Software Group robert_weir@us.ibm.com http://www.robweir.com/blog 2007 IBM Corporation

What we had before DOC/XLS/PPT Proprietary binary formats Documentation incomplete and outdated An opaque format distorts application development Leads to inside out style Put code in the document Tied to Windows Tied to client Hard to manage Vector for viruses Code doesn't live where the documents live

The potential ODF a platform and application neutral office file format Document data is no longer trapped in proprietary black box binaries Transparent format fosters external manipulation of documents This can lead to a golden age of document processing, both client and server side, with much innovation We have it in our power to create the world over again -- Thomas Paine

More than just editors (20 Prototypical Scenarios) 1.Interactive creation in an a heavy-weight client application 2.Interactive creation in a light-weight web-based application 3.Collaborative (multi-author) editing 4.Automatic creation in response to a database query (report generation) 5.Indexing/scanning of document for search

20 Prototypical App Dev Scenarios 6.Scanning by anti-virus 7.Other types of scanning, perhaps for regulatory compliance, legal or forensic purposes 8.Validation of document, to specifications, house style guidelines, accessibility best practices, etc. 9.Read-only display of document on machine without the full editor (viewer) 10.Conversion of document from one editable format to another

20 Prototypical App Dev Scenarios 11.Conversion of document into a presentation format, such as PDF, PS, print or fax 12.Rendering of document via other modes such as sound or video (DAISY Talking Book) 13.Reduction/simplification of document to render on a subdesktop device such as cell phone or PDA. 14.Import of data from an office document into a non-office application, i.e., import of spreadsheet data into statistical analysis software. 15.Export of data from a non-office application into an office format, such as an export of a spreadsheet from a personal finance application.

20 Prototypical App Dev Scenarios 16.Application which takes an existing document and outputs a modified version of that presentation, e.g., fills out a template, translates the language, etc. 17.Software which adds or verifies digital signatures on a document in order to control access (DRM) 18.Software which uses documents in part of a workflow, but treats the document as a black box, or perhaps is aware of only basic metadata. 19.Software which treats documents as part of a workflow, but is able to introspect the document and make decisions based on the content. 20.Software which packs/unpacks a document into relational database form.

The Problem 700+ page ODF Specification No objections to it as a specification it is what it needs to be Written from the perspective of word processor implementors Too much to ask the average app developer to master

Analogy with XML -- Who actually reads this stuff?

What is really used is SAX

And DOM

The Challenge We need an ODF API that exposes a higher level abstraction of ODF to application developers, so they can quickly become productive with ODF processing without having to master a 700 page specification Create a loan amortization spreadsheet in 30 lines of code

Odfpy Low Level, close to the XML Maps validity errors into runtime exceptions.

Odfpy

odf4j Part of OpenOffice.org Toolkit project. Still early.

AODL An Open Document Library C# Library

OpenOffice::OODoc The Perl Open OpenDocument Connector. Relatively complete and established.

Toolkits I've Looked At Name Language WP SS Pres URL Odfpy Python X X X http://opendocumentfellowship.org/projects/odfpy OooPy Python http://ooopy.sourceforge.net/ OpenDocumentPHP PHP X X http://opendocumentphp.org/ AODL C# X X http://opendocument4all.com/content/view/13/29/ OpenOffice::OOCBuilder Perl X http://search.cpan.org/dist/openoffice-oobuilder/oocbuilder.pm PyOpenOffice Python X http://www.bezirksreiter.de/pyopenoffice.htm Odf4j Java X X X http://odftoolkit.openoffice.org/source/browse/odftoolkit/odf4j/ OpenOffice::OODOC Perl X X http://search.cpan.org/dist/openoffice-oodoc/

Some demos from J. David Book available online at: http://books.evc-cit.info or in printed form from: http://www.lulu.com/content/207835 Proceeds to benefit the OpenDocument Fellowship