SlideShare ist ein Scribd-Unternehmen logo
1 von 20
“Real time” collaboration inside
a Word document using Alfresco
          Alfresco Tech Talk
             26 June 2009
                  by

         Jason Harrop, Plutext
Agenda

• Part 1: Collaboration inside a Word document
• Part 2: Inline editing
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)
Part 1:

COLLABORATION INSIDE A WORD DOCUMENT
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.
Basic Demo


 pdates/adds/moves/deletes

 onflict handling
Docx4all: cross platform docx editing, with collaboration.
Under the hood




                                                                            Alfresco repository
                    We
                       bD
                           AV
                                                       WebDAV
                   We
                      bS
                         erv
                            ice                                                   .docx (unzipped)
                               s




                                                       Plutext AMP
C# VSTO Word 2007 Add-In                                             JCR



                                             Web                     SOAP
                                            Services
                                AV
                              bD
                           We           s
                                   vice
                             b Ser
                           We


       Java Swing App
More demo



etting up a document

ontent controls

heck in comments

nvite users


udit trail

ecent changes

ersion history
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
Under the hood – future*


                                                                                                                        Alfresco repository
                      Sha
                            rep
                                                                                             Sharepoint
                  We
                                  o in
                                         t                                                      API
                     b      Se
                              rvi                                                                                                 .docx (unzipped)
                                    ces




                                                                                           Plutext
                                                                                                         CMIS




                                                                                            AMP
C# VSTO Word Add-In




                                                                                 Web        WebDAV
                                                                                Services
                                       AV
                                  W ebD
                                               s
                                          vice
                                    b Ser
                                  We
                                                                     P
                                                             o r S ST
                                                        P


                                                                  OA
                                                     HTT

                                                                 RE




      Java Swing App




                                               Web browser               * This page contains forward looking statements (which will probably largely pan out)
Part 2:

INLINE EDITING
Alfresco can give you a preview of a docx
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 )
.. 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 format
   Result: 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!
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.
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)
Aside – alt-drag to liberate the applet!
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
Feedback please!


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

                                jason@plutext.org

                                       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

Weitere ähnliche Inhalte

Was ist angesagt?

Nuxeo JavaOne 2007
Nuxeo JavaOne 2007Nuxeo JavaOne 2007
Nuxeo JavaOne 2007
Stefane Fermigier
 

Was ist angesagt? (20)

Intro To Alfresco Part 1
Intro To Alfresco Part 1Intro To Alfresco Part 1
Intro To Alfresco Part 1
 
Oracle Service Bus (OSB) for the Busy IT Professonial
Oracle Service Bus (OSB) for the Busy IT Professonial Oracle Service Bus (OSB) for the Busy IT Professonial
Oracle Service Bus (OSB) for the Busy IT Professonial
 
The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...
 
Introduction To J Boss Seam
Introduction To J Boss SeamIntroduction To J Boss Seam
Introduction To J Boss Seam
 
Samba management Console
Samba management ConsoleSamba management Console
Samba management Console
 
Introducing WebLogic 12c OTN Tour 2012
Introducing WebLogic 12c OTN Tour 2012Introducing WebLogic 12c OTN Tour 2012
Introducing WebLogic 12c OTN Tour 2012
 
CMIS Introduction
CMIS IntroductionCMIS Introduction
CMIS Introduction
 
Java Web Services
Java Web ServicesJava Web Services
Java Web Services
 
Spring In Alfresco Ecm
Spring In Alfresco EcmSpring In Alfresco Ecm
Spring In Alfresco Ecm
 
Rest overview briefing
Rest  overview briefingRest  overview briefing
Rest overview briefing
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
 
BPMS1
BPMS1BPMS1
BPMS1
 
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
 
Web development with ASP.NET Web API
Web development with ASP.NET Web APIWeb development with ASP.NET Web API
Web development with ASP.NET Web API
 
Nuxeo JavaOne 2007
Nuxeo JavaOne 2007Nuxeo JavaOne 2007
Nuxeo JavaOne 2007
 
What Is Alfresco
What Is AlfrescoWhat Is Alfresco
What Is Alfresco
 
BP-7 Share Customization Best Practices
BP-7 Share Customization Best PracticesBP-7 Share Customization Best Practices
BP-7 Share Customization Best Practices
 
Red Hat Open Day JBoss Fuse
Red Hat Open Day JBoss FuseRed Hat Open Day JBoss Fuse
Red Hat Open Day JBoss Fuse
 
Getting Started with CMIS
Getting Started with CMISGetting Started with CMIS
Getting Started with CMIS
 
Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology Review
 

Ähnlich wie Plutext Alfresco Tech Talk

Jax WS JAX RS and Java Web Apps with WSO2 Platform
Jax WS JAX RS and Java Web Apps with WSO2 PlatformJax WS JAX RS and Java Web Apps with WSO2 Platform
Jax WS JAX RS and Java Web Apps with WSO2 Platform
WSO2
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?
jbandi
 
REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)
Sascha Wenninger
 
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected BusinessWSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
Stefane Fermigier
 
Jazoon2010 - Edgar Silva - Open source SOA on Steroids
Jazoon2010 - Edgar Silva - Open source SOA on SteroidsJazoon2010 - Edgar Silva - Open source SOA on Steroids
Jazoon2010 - Edgar Silva - Open source SOA on Steroids
Edgar Silva
 

Ähnlich wie Plutext Alfresco Tech Talk (20)

Jax WS JAX RS and Java Web Apps with WSO2 Platform
Jax WS JAX RS and Java Web Apps with WSO2 PlatformJax WS JAX RS and Java Web Apps with WSO2 Platform
Jax WS JAX RS and Java Web Apps with WSO2 Platform
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?
 
Optaros Surf Code Camp Introduction
Optaros Surf Code Camp IntroductionOptaros Surf Code Camp Introduction
Optaros Surf Code Camp Introduction
 
BPMS1
BPMS1BPMS1
BPMS1
 
SVG in Opera’s desktop, mobile & TV browsers — edition 2011
SVG in Opera’s desktop, mobile & TV browsers  — edition 2011SVG in Opera’s desktop, mobile & TV browsers  — edition 2011
SVG in Opera’s desktop, mobile & TV browsers — edition 2011
 
Is Enterprise Java Still Relevant (JavaOne 2015 session)
Is Enterprise Java Still Relevant (JavaOne 2015 session)Is Enterprise Java Still Relevant (JavaOne 2015 session)
Is Enterprise Java Still Relevant (JavaOne 2015 session)
 
WSO2 Application Server - Product Overview
WSO2 Application Server - Product OverviewWSO2 Application Server - Product Overview
WSO2 Application Server - Product Overview
 
Alfresco WCM For High Scalability
Alfresco WCM For High ScalabilityAlfresco WCM For High Scalability
Alfresco WCM For High Scalability
 
REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)
 
Building Rich Applications with Appcelerator
Building Rich Applications with AppceleratorBuilding Rich Applications with Appcelerator
Building Rich Applications with Appcelerator
 
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected BusinessWSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
 
WSO2 AppDev platform
WSO2 AppDev platformWSO2 AppDev platform
WSO2 AppDev platform
 
Jax2010 adobe lcds
Jax2010 adobe lcdsJax2010 adobe lcds
Jax2010 adobe lcds
 
Real-World Pulsar Architectural Patterns
Real-World Pulsar Architectural PatternsReal-World Pulsar Architectural Patterns
Real-World Pulsar Architectural Patterns
 
Decoupled web applications (with AppFabric)
Decoupled web applications (with AppFabric)Decoupled web applications (with AppFabric)
Decoupled web applications (with AppFabric)
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
 
Spring Mvc
Spring MvcSpring Mvc
Spring Mvc
 
Advanced Container Management and Scheduling
Advanced Container Management and SchedulingAdvanced Container Management and Scheduling
Advanced Container Management and Scheduling
 
Jazoon2010 - Edgar Silva - Open source SOA on Steroids
Jazoon2010 - Edgar Silva - Open source SOA on SteroidsJazoon2010 - Edgar Silva - Open source SOA on Steroids
Jazoon2010 - Edgar Silva - Open source SOA on Steroids
 
N tier web applications
N tier web applicationsN tier web applications
N tier web applications
 

Kürzlich hochgeladen

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 

Kürzlich hochgeladen (20)

This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 

Plutext Alfresco Tech Talk

  • 1. “Real time” collaboration inside a Word document using Alfresco Alfresco Tech Talk 26 June 2009 by Jason Harrop, Plutext
  • 2. Agenda • Part 1: Collaboration inside a Word document • Part 2: Inline editing
  • 3. 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)
  • 5. 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.
  • 7. Docx4all: cross platform docx editing, with collaboration.
  • 8. Under the hood Alfresco repository We bD AV WebDAV We bS erv ice .docx (unzipped) s Plutext AMP C# VSTO Word 2007 Add-In JCR Web SOAP Services AV bD We s vice b Ser We Java Swing App
  • 9. More demo etting up a document ontent controls heck in comments nvite users udit trail ecent changes ersion history
  • 10. 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
  • 11. Under the hood – future* Alfresco repository Sha rep Sharepoint We o in t API b Se rvi .docx (unzipped) ces Plutext CMIS AMP C# VSTO Word Add-In Web WebDAV Services AV W ebD s vice b Ser We P o r S ST P OA HTT RE Java Swing App Web browser * This page contains forward looking statements (which will probably largely pan out)
  • 13. Alfresco can give you a preview of a docx
  • 14. 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 )
  • 15. .. 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 format Result: 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!
  • 16. 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.
  • 17. 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)
  • 18. Aside – alt-drag to liberate the applet!
  • 19. 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
  • 20. Feedback please! Please let me know which bits you think would be most useful. jason@plutext.org 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