Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  ·...

28
Office Online and WOPI Tom Jebo Sr Escalation Engineer Microsoft Corporation

Transcript of Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  ·...

Page 1: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Office Online and WOPI

Tom Jebo

Sr Escalation Engineer

Microsoft Corporation

Page 2: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Agenda

• Office Online and Office Web Apps Overview

• WOPI Protocol Overview

• Example

• Resources

Page 3: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Office Online

Page 4: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Office Online

• Office files from anywhere

• Common Office features

• Co-Authoring in real time

• Free options

Page 5: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Naming

Office Online = Office Web Apps

Office Web Apps (OWA) != Outlook Web App (OWA)

5

Page 6: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

http://www.office.com

Page 7: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Office Online Delivery

Private CloudPublic CloudConsumer Cloud

Page 8: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Updates for 2015/2016

Publish to Power BI

Power Query Enhancements

Archiving & De-cluttering

Page 9: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Working with others

Page 10: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Office Online

Page 11: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Office Online Interoperability

13

Page 12: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Host Frame

App Frame

How Office Online Works

Web Application Open Platform Interface

Page 13: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

[MS-WOPI] Web Application Open Platform Interface Protocol

• Describes the communication between the Office Web App Server (WOPI Client) and a WOPI Server (SharePoint, OneDrive, etc.)

• Defines a set of operations that enables a client to access and change files stored on a server

• REST-based protocol (HTTP or HTTPS transport)

• Open Specification available on MSDN

• Client: renders files and provides editing functionality for files stored on the server

• Server: hosts files and provides host page for navigating to client editing and viewing UI

Page 14: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Example flow: Viewing a fileOffice Online ServerBrowser or App Document Host

https://msdn.microsoft.com/en-us/library/hh641756(v=office.12).aspx

Page 15: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

WOPI Interoperability

• “Open from URL” – How do you store your Office documents?

• Develop your own WOPI host

Web Browser (or App) Office Online Server

Microsoft Document Hosts

3rd Party Document Hosts

Page 16: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

op/generate.aspx

Page 17: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Word web app test

Page 18: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

WOPI Host Basics

Step 1: Implement WOPI using [MS-WOPI]

(http://wopi.readthedocs.org can help)

Step 2: Discovery

http://<officeonlineserver>/hosting/discovery

Step 3: Build a host page

Using action URLs from step 2

Page 19: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

REST Endpoints for WOPI server

• http://server/<...>/wopi*/files/<id> - information• CheckFileInfo

• PutRelativeFile

• Lock/Unlock

• ExecuteCellStorageRequest/ExecuteCellStorageRelativeRequest

• DeleteFile, etc…

• http://server/<...>/wopi*/files/<id>/contents - contents• GetFile and PutFile

These are the only two that most WOPI hosts/servers will need to implement.

Page 20: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

<action name="view" ext="docx" default="true"

urlsrc="http://jeebs5vm1/wv/wordviewerframe.as

px?<ui=UI_LLCC&><rs=DC_LLCC&><showpagestats=PE

RFSTATS&>"/>

1.Parse and replace Placeholder values with appropriate values (or discard them)2.Append a WOPISrc value to the URI as a query string parameter

i.e.: http://server/<...>/wopi/files/(file_id)

[MS-WOPI] 4.1 Accessing Discovery XML

Page 21: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

WOPI Source

Host Frame

App Frame

WOPI Source Access Token

SharePoint

Office Online Server

The WOPI flow

Page 22: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Coauthoring and Multiple Editing

Office Online Server 2016:

Lock/Unlock

CheckFileInfo permits editing

PutFile (frequency)

Previous versions of Office Web Apps Server:

CheckFileInfo: SupportsCobalt

Implement [MS-FSSHTTP*] in WOPI host

http://wopi.readthedocs.org/en/latest/scenarios/coauth.html#coauth

Page 23: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Implementation Sample

Where to start if you’re lost?

https://github.com/Microsoft/Office-Online-Test-Tools-and-Documentation/tree/master/samples

C# based web handler using IHttpHandler interface

Sample host page with app frame

Simple accesstoken implementation, no real authentication

Simple file system example

Great start to understanding a WOPI host’s role

Page 24: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

<<screen shot of MA with WOPI parsed traffic showing OOXML get file contents>>

Message Analyzer Screenshots and Demo

Page 25: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Message Analyzer

• Message Analyzer is a great tool to help facilitate your protocol development

• New parsers for WOPI and FSSHTTP

• Office Online leverages the existing OOXML file format and renders into a browser-friendly design

29

Page 26: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Summary

Office Online:

• Provides the ability to work and share Office files from anywhere with an internet connection, from almost any device.

• Is an open technology

• Provides easy interoperability

• Integrate your own document library or file server with Office Online

Page 27: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Availability & Resources

• Office Web App Server (and Office Online) are free• Download Center: http://www.microsoft.com/en-

us/download/details.aspx?id=35489• Viewing is always free • Editing may have associated cost

• [MS-WOPI] is available on MSDN• MSDN Library: http://msdn.microsoft.com/en-

us/library/hh622722(v=office.12).aspx• Regular updates

• Office Online integration • http://wopi.readthedocs.org/en/latest/

• Support: [email protected]

Page 28: Office Online and WOPIdownload.microsoft.com/download/0/F/1/0F1B141A-9C69-4BEA...2016/04/20  · •Develop your own WOPI host Web Browser (or App) Office Online Server Microsoft Document

Questions?

Thank You