Bringing Collaborative Editing of Open Document Format ODF Documents to the Web Changyan Chi, Ravi K - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Bringing Collaborative Editing of Open Document Format ODF Documents to the Web Changyan Chi, Ravi K

Description:

... Collaborative Editing of Open Document Format (ODF) Documents to ... online document management. Share, control, export ... model for document sharing purpose ... – PowerPoint PPT presentation

Number of Views:78
Avg rating:3.0/5.0
Slides: 32
Provided by: charle158
Category:

less

Transcript and Presenter's Notes

Title: Bringing Collaborative Editing of Open Document Format ODF Documents to the Web Changyan Chi, Ravi K


1
Bringing Collaborative Editing of Open Document
Format (ODF) Documents to the Web Changyan
Chi, Ravi Konuru, Wenpeng Xiao, Danny Yeh IBM
Research
2
Outline
  • Introduction
  • Online ODF service
  • DocChord an ODF based online collaborative
    editing system
  • User Feedback
  • Future Work

3
Introduction
  • Open Document Format
  • An open XML-based document format specification
    for office applications to be used for documents
    containing text, spreadsheet, charts, and
    graphical element
  • It is ISO standard for document format with
    expanding support by many applications e.g. IBM
    Symphony, OpenOffice, RedOffice, etc.
  • Characteristics
  • Easy to extended and customized
  • Ubiquity, and interoperation needs

OpenDocument  Format (ODF) opens the door to
create new types of applications and solutions
other than traditional office productivity
applications.
4
ODF as a Web-based Content Format
  • Formatted Document
  • Template Oriented in Enterprise
  • In Document Bookmark
  • Various Storage
  • Content Permanency
  • Versioning
  • Content for reuse or record
  • Different Style Document, SpreadSheet,
    Presentation
  • Html/XHtml
  • Content Oriented
  • Bookmark for entity URI
  • Simple storage
  • More about Up to date
  • Single style

Formatted document is still used widely in
enterprise, but user need a simpler way to access
the information which stored in the documents and
reuse it!
5
Embrace ODF in World Wide Web
  • Usage scenarios
  • Make online ODF documents responsive and active
    through web technologies
  • Work with online ODF documents using everyday
    tools like instant messaging
  • Integrate annotation and other metadata with
    online ODF document
  • Critical requirements to online ODF
  • Represent ODF content in Web
  • Compose ODF document in Web app without
    heavyweight editor
  • Make ODF content be a live content

Existing technology makes it possible to mashup
ODF content with other format content, and then
present to Web
6
DocChord System Introduction
7
DocChord Overview
  • Web based collaborative editors are increasingly
    required within Web 2.0 era
  • Keep rich editing features like traditional
    standalone editor
  • Require on-line and collaboration characters
  • What is DocChord?
  • Web based document-centric collaborative service
    to supports group of people to rendezvous
    spontaneously to contribute their thoughts to the
    web world
  • Its the first step to enable ODF on-line in
    enterprise environment
  • Whats the advantages?
  • OpenDocument Formant as backend document model
  • Access control at fine granularity
  • Show various awareness on live document

8
DocChord Online ODF Services
  • Online collaborative office application
  • Light-weight and javascript based ODF editor
  • Keeping high fidelity document model while
    editing in low fidelity look and feel
  • fine-grained and incremental editing
  • adapt rich and simplified editors
  • Real-time group editing service
  • record meeting minutes
  • Embeddable ODF widget for Web 2.0
  • ODF editing widget that can be embedded in web
    2.0 applications
  • API for online ODF documents manipulation
  • Online ODF document model which can be accessed
    by HTML browsers
  • RESTful API to manipulate ODF document

9
DocChord Screen Shots Document Management
Easily online document management Share, control,
export and remove
Template based document creation Document set be
public or private
10
DocChord Screen Shots Online Group Editor
11
DocChord System Architecture
12
A End-to-End Request Example Flow
Operation Synchronizer
DOM Servlet
ODF as a Shared Normalized Data Model with Fine
Grain Identity
Operation and Fine Grain Sync Messages with
Identity and Notification at the level of Data
Model Uses Some of Dojo toolkit
Sync Servlet
13
Operation Synchronizer and Model Controller
  • Shared data model
  • Basic data object model for document sharing
    purpose
  • Use ODF as the reference document definition
  • Support W3C core and event model
  • Can be transformed to any markup language when
    necessary (e.g. HTML)
  • Model controller
  • Host all instanced ODF DOM trees
  • Create/Query/Store/Load (Persistence)
  • Monitor and propagate changes of ODF DOM
  • Base on ODF DOM mutation event
  • Wrapped as DOM Message which can be interpreted
    and applied in another ODF DOM container
  • Operation Synchronizer
  • Convert editor operations to DOM operations and
    vice versa
  • Convert editor event to DOM event and vice versa

14
Transformation Service
  • Transformation types
  • ODF to XHTML transformation
  • Transform whole document when opening a document
    by browser (once per user)
  • Sync message transformation
  • XHTML message fragment to ODF fragment
  • Notification message transformation
  • ODF fragment to XHTML message
  • Used technology
  • Following standards like XHTML 1.0, OpenDocument
    Format 1.0, XSLT StyleSheet 1.0
  • Xalan transformation engine and java extension
  • Consideration
  • Need more extensions to cover complex
    transformation
  • No one-to-one mapping between ODF and XHTML

15
Examples of the Mapping between ODF and HTML
16
Notification and Multicast Services
  • Use JMS Pub/Sub service for sending and receiving
    synchronization messages
  • Scalable
  • Extensible (Logging and performance monitoring
    services)
  • Persistence and buffering (Queue messages for
    slow polling clients)
  • Performance (Sub-second response)
  • JMS Message Properties - client filters on these
    properties for their messages
  • Document Id
  • Namespace
  • ODF - changes to the document
  • User - changes to the collaborator list
  • JMS Message Body - content of the change
  • Control Flow
  • Changes from the clients are first applied to the
    in memory DOM,
  • Packaged as a JMS Message and send to the JMS
    Broker.
  • Each client polls a Subscription Servlet that in
    turn polls the JMS Broker for new messages.

17
Managing Distributed Shared Document State
18
Design Principles
  • The operation which applied to server document
    model (DOM-S) is cannot be rolled back
  • Operations on DOM-S should also be applied to
    client document model (DOM-C)
  • The final sequence of operations applied in DOM-S
    and DOM-C should be same

Basic operation executing model
Collaborative editing session between two
clients
19
Browser-Server State Synchronization Protocol
  • Message header
  • Client agent type
  • Session identity
  • Sync content incremental changes
  • 3 basic atom operations Insert, Delete, Replace
  • Operation Addressing Schema
  • Address (elementId, attrName, textIndex)
  • We adopt two address parameters that to describe
    one operation position. The first one is called
    as target address, and the second one is the
    reference address.
  • Execution sequence and operation boundary
  • Boundary (lower/upper bounds) can be used for
    potential conflict detection
  • Execution sequence guarantees an unique execution
    steps among all participant sites which
    generating under server side like time stamps
  • Participant status
  • Participant current focus

20
An Example of HTML Model Snippet
View from users perspective
Hello, DocChord family! Today is Monday. Its a
raining day. We have a call. The topic is foil.
We also need think about our next steps. Any
ideas are welcome!
HTML Document Model fragment
ltpgt ltspangtHello, DocChord family!lt/spangt lt/pgt
ltpgt ltspangtToday is Monday!lt/spangt
ltspangtIts a raining daylt/spangt ltspangtWe
have a call.lt/spangt ltspangtThe topic is
foil.lt/spangt ltspangtWe also need think about
our next steps.lt/spangt lt/pgt ltpgtltspangt Any ideas
are welcome lt/spangtlt/pgt
0
Sub of DOM tree
A continue number to names the node at same level
, the first one is 0, and the last one is the
node num1. The start and end node are virtual
node for further usage
21
Case 1 Single User Editing
Sent message fragment
ltexecutiongt ltserverSeqgt1lt/serverSeqgt
ltupperBoundgt221lt/upperBoundgt
ltlowerBoundgt223lt/lowerBoundgt lt/executiongt
Received message fragment
ltexecutiongt ltserverSeqgt2lt/serverSeqgt
ltupperBoundgt221lt/upperBoundgt
ltlowerBoundgt223lt/lowerBoundgt lt/executiongt
.. ltspangtToday is Monday!lt/spangt
ltspangtIts a raining day, right?lt/spangt
ltspangtWe have a call.lt/spangt ..
  • The server will return un-changed boundary
  • serverSeq will be changed to server sequence

22
Case 2 User A and User B have no-Conflict Editing
User A modifies a node
User B inserts a new sentence
23
Case 3 User A and User B have Conflicting Edits
Sent message fragment by A
ltexecutiongt ltserverSeqgt1lt/serverSeqgt
ltupperBoundgt221lt/upperBoundgt
ltlowerBoundgt223lt/lowerBoundgt lt/executiongt
User A modifies a node
Sent message fragment by B
ltexecutiongt ltserverSeqgt1lt/serverSeqgt
ltupperBoundgt222lt/upperBoundgt
ltlowerBoundgt223lt/lowerBoundgt lt/executiongt
User B inserts a new sentence
24
Group Undo-Redo
  • Undo/Redo is a critical and natural requirement
    in group editing system
  • Users are especially afraid of destroying
    artifacts created by other participants in group
    situation
  • Timestamps and group undo-redo handling
  • DocChord supports local group undo which means a
    user undoes the last interaction step issued by
    the local user
  • Central server maintains execution sequences as
    the timestamps
  • Participants clients handle undo/redo
    interactions sent by any user
  • A user can only undo their operations up to the
    point where other users operations are not
    affected

25
Feedback and Future Works
26
DocChord has been Deployed within IBM Internal
Usage
Oct.
1642
The number of documents with at least 2
participants is 358 The number of active
documents in the last 15 days (modified) is
355 The largest number of participants observed
on same document is 70
Sep.
1517
Aug.
1129
Jul.
807
Total User number
27
User Feedback - Pro
  • Another great idea that changed my life
  • simplicity in concept..
  • something that not many other tools offer at the
    moment
  • The real-time capabilities of co-creating and
    co-updating the same document by multiple people
    is just UNIQUE! AWESOME tool!
  • value to internal teams within IBM as well as
    teams comprised of IBMers, Customers, Partners
  • ..using it to help develop technical documents
    for IT solutions we have been developing. This
    tool is very handy because our developers are all
    scattered around the world.

28
User Feedback - Con
  • Security for confidential or restricted documents
  • Protect portions of my document from editing by
    others.
  • Can it scale to a large number of users?
  • Performance not good over slow internet
    connections.
  • Support more other browsers, not only IE and
    Firefox
  • Un-supported image formats (e.g. WMF)
  • Un-supported document formats (e.g. spreadsheet)

29
Enterprise and More Team Features
  • Access control
  • Link with enterprise user directory for right
    setting
  • Partition locking for different users
    (improvement)
  • Public and private documents in enterprise
    (improvement)
  • Connecting to the enterprise functions
  • Leverage organization structure, like management
    chain
  • Pivot browsing
  • Browse user profile and other information from
    one point
  • Context based on-line chatting

30
Issues and Future Work
  • Issues
  • Dependencies are related with browser limitation
  • High fidelity support
  • Rich format vs. simple format
  • Performance consideration
  • Improvement for word processing
  • More adaptive memory management policies
  • Off-loading more function into the browser
  • New functions
  • Connecting to the enterprise functions
  • Link with business process
  • Link with business database
  • Effective notification when document is changed
    RSS/ATOM

31
Question?
Write a Comment
User Comments (0)
About PowerShow.com