office-ooo interoperability · scheduling (budgets, schedules, etc.) spreadsheets that are used to...

40
Office-OOo Interoperability OpenOffice.org Interoperability with Microsoft Office through ODF

Upload: others

Post on 27-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Office-OOo Interoperability

OpenOffice.org Interoperability

with Microsoft Office through ODF

Topics

Implementing ODF in Office

Interoperability Examples

Recent Changes

Going Forward

IMPLEMENTING ODF IN OFFICE

Basic Considerations

• 400+ million users, 40+ languages

• Our customers expect document format compatibility across versions of Office

• Development must be done with care not to introduce bugs in any other supported format

• Conformance to the current published ODF standard was a requirement, to avoid adding new complexity to the ODF ecosystem

Office Development Process

• Three disciplines working together: – Program managers (PMs)

– Software developers

– Testers

• This process has been developed and refined over many releases of Office.

• We use this process for all new-feature development in Office today, including ODF support.

PM

Dev

Test

Office’s Strategy for OpenOffice.org Interoperability through ODF

Purposeful, spec-driven approach, with no reverse engineering and no “trial and error” …

• Program managers created mapping spreadsheets

• For each mapping, we looked at OpenOffice.org’s implementation:

– Is this construct implemented in OOo?

– Do we feel the implementation reflects a reasonable interpretation of the ODF standard?

• Development teams implemented support per the mappings

• Test teams tested the implementation against test documents that were created for each mapping

Guiding Principles

• Adhere to the ODF Standard • Be Predictable • Preserve User Intent • Preserve Editability

– presentation tables – conditional formatting – Smart Art

• Preserve Visual Fidelity – Example: chart gap width

These principles were published prior to release of ODF support, to solicit community feedback.

“I am happy” “I am happy”

Demo

Mapping Sample – bold/font-weight

File Save: mapping Open XML elements/attributes to ODF

File Open: mapping ODF elements/attributes to Open XML

Mapping Gradients

Open XML / PowerPoint ODF / Impress

OpenOffice.org Impress 3.1

PowerPoint 2010 beta

PowerPoint 2010 beta

Kpresenter 2.1 Beta 3

Kpresenter 2.1 Beta 3

OpenOffice.org Impress 3.1

Open in Kpresenter and re-save (converts draw:gradient to

svg:radialGradient)

Symphony 1.3

Symphony 1.3

<draw:gradient draw:name="Radial_20_red_2f_yellow" draw:display-name="Radial red/yellow" draw:style="radial" draw:cx="50%" draw:cy="50%" draw:start-color="#ff3333" draw:end-color="#e6ff00" draw:start-intensity="100%" draw:end-intensity="100%" draw:border="0%"/>

<svg:radialGradient draw:name="gradient1" svg:cx="108.000187097999984pt" svg:cy="90.000155914999993pt" svg:fx="108.000187097999984pt" svg:fy="90.000155914999993pt" svg:r="140.584737713335414pt" svg:spreadMethod="pad"> <svg:stop svg:offset="0" svg:stop-color="#e6ff00"/> <svg:stop svg:offset="1" svg:stop-color="#ff3333"/> </svg:radialGradient>

Multi-stop gradient created by Kpresenter

(feature added May 2009)

Impress PowerPoint Symphony

Multi-stop SVG gradient

Table Styles

Word Word Writer Writer

Slide Transitions

• Need to assure basic transitions work the same in different formats, implementations and application versions.

• Need to do the same for new transitions

– New application functionality (e.g., added in a new version)

– New options in either standard (added during maintenance)

Demo

Two Types of Test Documents

Atomic test documents:

• Focused on specific functionality at the element/attribute level

• Examples: slide transitions, headings, background color

• Created internally by test teams, based on the mapping spreadsheets

Scenario-based test documents:

• Real-world use cases

• Complete solutions to specific scenarios

• Gathered from many sources:

– customer-provided

– publicly available documents on the internet

– Created internally to address specific scenarios

Demo

Demo

Scenario Analysis What’s In a Document?

Sections Sections

Equations Equations

Images Images

Paragraphs/Runs Paragraphs/Runs

Fields Fields

Hyperlinks Hyperlinks

Tables Tables

Styles Styles

Lists, Numbering Lists, Numbering

Table of Contents Table of Contents

Headers/Footers Headers/Footers

Annotations Annotations

Mail Merge Mail Merge

Fonts Fonts

Scenarios were defined by how documents are used, then each use case was analyzed to determine what types of document content are typically found in each document type.

Word-Processing Scenarios Document Category Description

Memo Documents used to formally present a small amount of information (e.g. an initiative or concept).

Meeting Notes Documents used to capture the results of a meeting– often informal, created ad-hoc during the meeting

itself.

Research Papers /

Reports

Documents that are highly technical and conform to a specific layout – common usage of academic features

like equations/bibliography.

Articles Documents that contain carefully formatted content intended for publication in a magazine/journal.

Legal Documents Documents used in legal proceedings – must conform to a specific layout/form, and are typically built over

many revisions by many authors.

Résumés Short, highly structured documents intended to convey information in a single page. Formatting is used to

customize the structured base.

Proposals Documents containing a customer proposal, compiled from several authors and many sources (Excel, PPT,

etc.).

Essays Documents containing several pages of basic, unformatted text, without specific formatting requirements.

Books Documents that are used to compile the manuscript of a book in a format ready for publication.

Flyers Documents used as marketing materials – single page, designed for 6+ foot readability.

Newsletters Documents containing multiple streams of specially laid out content (typically a fixed layout making use of 2D

aspects of the page).

Letters Documents containing plain, unformatted text, intended for personal communication.

Notes / Lists Documents that are created on demand to store informal information (e.g. brainstorming data).

Labels Documents that contain a page of label templates, which are merged with addresses and printed.

Outlines Documents that contain an outline of a larger document, but little/none of the actual contents.

Structured

Document/Form

Documents that contain structured content intended to be populated from data sources (e.g. a database) or

form input from the user.

Spreadsheet Scenarios Spreadsheet Category Short Description Budgeting (Forecasting/Actuals) Spreadsheets that are information dense, usually rolling up a companies financial situation

through many formulas and relationships. Application Add-ins Spreadsheets that contain VBA code which provides custom functions (UDFs), Macros (to

automate tasks), or UI (Toolbar/Ribbon customizations) to make the user more efficient when working with Excel.

Data Analysis Spreadsheets that contain copious amounts of information (often from another application, external data sources, or copy/paste) and are then used to summarize the information, turning it into data.

Data Interchange Spreadsheets that are used to convey information from one application to another - usually in the form of CSV/TSV.

Data Manipulation (Aggregate/ETL/Cleansing)

Spreadsheets that consolidate information from various data sources (or manual entry) and then clean the data through a series of macros or user interaction in order to make it more reliable for consumption by other LOB applications

Financial Statements / Balance Sheets Spreadsheets that contain an income statement, balance sheet, and cash flow statement. Relatively simple in that they contain Text, numbers, formatting, and a few formulas.

Forms and Calculators (Expense Report, Input Forms, Invoices, Purchase Orders, Product Selection, etc.)

Spreadsheets that are used to input data that is later used for other LOB systems or for a calculator in the same workbook. These spreadsheets often have very locked down sheets, where the user can only select certain options or enter data in certain cells.

Misc (Faxes, Memos, Stationary, etc.) Spreadsheets that are used as a 2 dimensional layout surface (for the structure of the grid) in order to build a well laid out document.

Pitch Book Spreadsheets that are used like a PowerPoint Presentation, generally with one "slide" per sheet.

Scheduling (Budgets, Schedules, etc.) Spreadsheets that are used to track resources and work items for a project, often including a gantt chart of the project timeline using the Excel grid.

Stochastic Modeling/Simulation (Factory Floor, Financial, Process Flow, Valuation, etc.)

Spreadsheets that are used to perform iterative analysis of/prediction of an event taking place in order predict the outcome of said event. These spreadsheets that contain information that models a real-life system (oil production, factory floor, financial vehicles, etc.) to which inputs can be inserted and the results analyzed in order to find efficiencies.

Tracking List (Agenda, Calendar, Inventories, Receipts, Statements, Time Sheet, etc.)

Spreadsheets consisting of a list (or lists) of data, usually manually entered into the spreasheet.

Presentation Scenarios Presentation Category Description

Conference Presentation ( aka “keynote” )

Presentations that are highly customized, well polished and represent something larger than the particular individual.

Pitch Book Presentations that are very information dense and often used in the financial services sector.

Sales Presentation Presentations that are designed to be given to a potential customer with the goal of distinguishing the presenter/presenter’s organization from the competition.

Photo Book Presentations that are photo-heavy and provide simple slide shows with photos as the primary content.

Informal Presentations that are either oriented around informal meetings such as internal team meetings ( e.g., a simple agenda slide to team status ).

Note Taking Presentations that are created on the fly and used to capture meeting minutes or brainstorming results.

Self-Running Presentations that are generally used as kiosks ( both interactive and not ) as well as self-paced training and education.

Signage Single-slide presentations generally used for creating certificates, posters and signs.

Presentation Scenario Characteristics

Characteristic Keynote Pitch Book Sales Photo Book Informal Note Taking Self-Run Signage

# of slides 15-25 25+ 15-25 25+ 1-15 1-15 15-25 1

Info Density Low High Medium Low Low Low Medium Low

Animations Yes No Yes No No No Yes No

Transitions Yes No Yes Yes No No Yes No

Interactivity No No No No No No Yes No

Charts Yes Yes Yes No Yes No Yes No

Tables Yes Yes Yes No Yes No Yes No

OLE Objects No Yes No No Yes No No No

Audio & Video Yes No Yes Yes No No Yes No

Photos Yes Yes Yes Yes Yes No Yes Yes

Ink No No No No No Yes No No

Slide Timings No No Yes Yes No No Yes No

Slide Looping No No No Yes No No Yes No

Text Size Normal + Small Normal + Normal + Normal + Normal Normal + Large

Text Quantity Average Lots Average Little Average Lots Average Little

Focus Projector Print Both Projector Both Both Projector Print

Data Facing No Yes Yes No No No No No

Custom Slide Shows No No Yes No No No Yes No

Customized Design Yes Yes Yes No No No Yes No

Customized Layout/Template

Yes Yes Yes No No No Yes No

Formatting Quantity Lots Lots Lots Limited Average Limited Lots Lots

Graphs: series based, statistical, projections – typically imported data

Tables – commonly imported data, reformatted in place

Section and group labels

Non-numeric charts: Relationship, hierarchy, process, abstract schedule, etc.

Very dense, typically printed and distributed Often group-authored

Pitch-Book Presentation

Implementer Notes

• Each implementer makes a unique set of decisions about optional constructs, default values, range constraints, etc.

• By making this information publicly available, a vendor can maximize interoperability with other implementations.

Implementer Notes Process

• PMs fill out data-collection spreadsheets

• Testers verify notes for completeness and accuracy

• Interop team publishes notes on the DII web site

• Engineers provide support through the forums

Coming Soon: all-in-one PDF

Based on feedback received at the first ODF plugfest, we will be publishing consolidated implementer notes as a single stand-alone PDF document in the next two months.

INTEROPERABILITY EXAMPLES

Spreadsheet

• Direct formatting, conditional formatting, data validation, charts

Excel Excel Calc Calc

Demo

PivotTables (data pilots)

Excel Excel Calc Calc

Word - Writer

Word Word Writer Writer

PowerPoint - Impress

• This presentation was created in PowerPoint, then edited in Impress and Powerpoint

• Can be presented in either application

PowerPoint PowerPoint Impress Impress

RECENT CHANGES

Office Releases

April 2009

• Office 2007 SP2 • Office 2007 SP2

July 2009

• Office 2010 Technical Preview • Office 2010 Technical Preview

Late 2009

• Office 2010 public beta • Office 2010 public beta

First half 2010

• Office 2010 RTM • Office 2010 RTM

Changes since SP2

• Since the release of Office 2007 SP2, we’ve fixed over 1000 ODF-related bugs, the vast majority of which were in new Office 2010 code.

• We test our ODF implementation on an ongoing basis, to assure that new features continue to read and write conformant ODF.

Specific Examples

• Word page break issue (style inheritance)

– Incorrect pagination for some documents; reported after SP2

– Fixed prior to Office 2010 Technical Preview

• PowerPoint embedded objects – crashing under certain circumstances

• Excel cell background issue – Failed to display cell background color created in OOo 3.0

• Improved Word-Wordpad interoperability – Multi-font Wordpad documents were not rendering correctly in Word

• Added support for new features in Office 2010, such as shadow text, new list formats, others

GOING FORWARD

Working Draft Committee Draft Public Review Draft Committee

Specification OASIS Standard

February 2003 March 2004 January 2005 March 2005 May 2005

June 2006 July 2006 July 2006 October 2006 February 2007

March 2007 February 2009 ? ? ? ? ? ?

February 2006 ? ? ? ? ? ? ? ?

ODF 1.0

ODF 1.1

Part 1 Schema/Semantics

Part 2 Open Formula

5-Step Process

September 2007 October 2009 October 2009 October 2009 ? ? ? ? Part 3 Packaging

ODF Standardization in OASIS O

DF

1.2

Open Formula: Open Items

• Open Formula SC is meeting bi-weekly • There are currently 77 open issues in the Jira

database – http://tools.oasis-open.org/issues/secure/IssueNavigator.jspa?mode=hide&requestId=10051

• Recent topics discussed/resolved: – Bit-based functions (leftb, rightb) – Double-byte character encoding, code pages

• Open topics: – Financial functions – Statistical functions – Calculation settings, conformance

When will Office support Open Formula?

• We will commit to a roadmap for Open Formula support after it is more clear when the standard will be published.

• We will also consider support for the OOOC namespace used by OpenOffice.org, after:

– Published confirmation that its semantics are the same as Open Formula, or

– Published documentation of any differences

Other Challenges

• Vector graphics – OpenOffice.org uses StarOffice meta format – Microsoft Word uses EMF/WMF

• Application settings – ODF does not document these settings – Open XML documents them in Transitional, but not Strict – Users find lack of app-setting portability confusing

• Gantt charts • Smart Art • Numbering styles • Encryption

ODF Maintenance Going Forward

• We will continue to be active in ODF maintenance.

• We will contribute proposals for ODF v-Next to improve interoperability with Open XML documents in many areas: – Change tracking

– Pivot tables

– Other areas TBD

– Previously submitted proposals

Q&A