Plutext Alfresco Tech Talk

20
“Real time” collaboration inside a Word document using Alfresco Alfresco Tech Talk 26 June 2009 by Jason Harrop, Plutext

Transcript of Plutext Alfresco Tech Talk

Page 1: Plutext Alfresco Tech Talk

“Real time” collaboration inside a Word document using Alfresco

Alfresco Tech Talk

26 June 2009by

Jason Harrop, Plutext

Page 2: Plutext Alfresco Tech Talk

Agenda

• Part 1: Collaboration inside a Word document

• Part 2: Inline editing

Page 3: Plutext Alfresco Tech Talk

About Plutext

• We help organisations exploit their Word documents, outside the Microsoft silo (eg in Java, or sans SharePoint)

• Core product:– Plutext collaboration in Word (on Alfresco)

• Components:– docx4all – embeddable Java application/applet

– docx4j open source project

+ =

• Prototypes:– Alfresco inline docx editors

– docx wiki (in Alfresco)

Page 4: Plutext Alfresco Tech Talk

Part 1:

COLLABORATION INSIDE A WORD DOCUMENT

Page 5: Plutext Alfresco Tech Talk

The problem with Word today

• It doesn’t matter how you try to open the document…– Choose offline editing in Alfresco Explorer (or Share)

– Via CIFS or WebDAV (and with or without Alfresco’s Word Add-In)

– Via the SharePoint API

• Only one user can be in “the document” at any time

• Fundamental limitation of Microsoft Word

• .. so you get a proliferation of copies– the user’s working copy

– copies made by users and collaborators

• Which the document owner has to reconcile– Tedious, time consuming, and

– Error prone

• .. and which pollute your search index etc.

Page 6: Plutext Alfresco Tech Talk

Basic Demo

•pdates/adds/moves/deletes

•onflict handling

Page 7: Plutext Alfresco Tech Talk

Docx4all: cross platform docx editing, with collaboration.

Page 8: Plutext Alfresco Tech Talk

Under the hood

Alfresco repository

.docx (unzipped)

WebDAV

JCR

SOAP

Plutext AM

P

WebDAVWeb Services

WebDAV

Web Services

Web Services

C# VSTO Word 2007 Add-In

Java Swing App

Page 9: Plutext Alfresco Tech Talk

More demo

etting up a document•

ontent controls•

heck in comments•

nvite users

udit trail•

ecent changes•

ersion history

Page 10: Plutext Alfresco Tech Talk

Sweet spot?

• High value documents (looming deadlines: even better)

• Document written/edited by > 1 person,so merging copies is a pain

• Using Alfresco 3.1 Enterprise or Labs 3d, or later

• Most (not necessarily all) users on Word 2007

Page 11: Plutext Alfresco Tech Talk

Under the hood – future*

Alfresco repository

.docx (unzipped)

WebDAV

CMIS

Plutext A

MP

SharepointWeb Services

WebDAV

Web Services

Web Services

* This page contains forward looking statements (which will probably largely pan out)

SharepointAPI

HTTP

REST

or S

OAP

C# VSTO Word Add-In

Java Swing App

Web browser

Page 12: Plutext Alfresco Tech Talk

Part 2:

INLINE EDITING

Page 13: Plutext Alfresco Tech Talk

Alfresco can give you a preview of a docx

Page 14: Plutext Alfresco Tech Talk

How did we do that?

• Labs (current svn tip = r14939), with– OpenOffice 3.1

– pdf2swf

• api/node/noderef/content/thumbnails/webpreview does what it should, as long as web-preview.js invokes it

• need node.previews to include “webpreview”so Alfresco.WebPreview gets that value.(.. I just hard coded it in web-preview.get.html.ftl )

Page 15: Plutext Alfresco Tech Talk

.. however this is not inline editable

• There are a number of solutions around for editing documents in the web browser, including:– Google Docs– Zoho

• The problem with these is that:– On load (import), they convert your Office document to their own internal

format, and– On save (export), they convert it back to the Microsoft formatResult: two conversions; many documents will lose formatting or their “in-

process” state. (This is why OpenOffice never displaced M$ Office)

• Key Requirement: an inline editor’s native format needs to be Microsoft’s “Open XML” Office format – now an ISO standard.

This is the only way to ensure nothing gets lost!

Page 16: Plutext Alfresco Tech Talk

At the SF meetup, I demo’d simple inline editing in the Explorer (JSF) client. This uses Javascript in the browser to manipulate the raw OpenXML DOM.

See my post “HOW-TO add an inline editor” in the Alfresco forums for the steps needed to add an inline editor to Alfresco.

Page 17: Plutext Alfresco Tech Talk

Here is docx4all – our Swing app - performing the same role (running as an applet in the browser, and using WebDAV GET/PUT to load/save)

Page 18: Plutext Alfresco Tech Talk

Aside – alt-drag to liberate the applet!

Page 19: Plutext Alfresco Tech Talk

You can have a wiki of docx documents

Ingredients:• Display docx inline in web browser• Edit inline• Hyperlinks:

– Click to follow– Creating one (via the browser or Word) creates target docx (if nec)

Why?• Knowledge workers can publish Office documents directly to the

wiki, and edit them any conversions• Cut/paste wiki content into new documents, without loss of

formatting• No need to learn new editing tools

– Create/edit wiki pages in Word 2007 (or your web browser)• A single standard for corporate document formats

– Open XML ISO standard documents

Page 20: Plutext Alfresco Tech Talk

Feedback please!

Please let me know which bits you think would be most useful.

[email protected]

Thanks!

-------------------------

• Blog: http://dev.plutext.org/blog• Collaboration test drive: http://alpha.plutext.org/alfresco/register.html• Docx4j download, forums: http://dev.plutext.org/• Docx4all: http://dev.plutext.org/trac/docx4all/wiki/Collaboration• Twitter: jasonharrop