Advanced Collaboration SC Generic Change Tracking Proposal.

Slides:



Advertisements
Similar presentations
Cascading Style Sheets (CSS). Cascading Style Sheets With the explosive growth of the World Wide Web, designers and programmers quickly explored and reached.
Advertisements

Cascading Style Sheets
CHAPTER 8 ADVANCED CSS. LEARNING OBJECTIVES Assign formatting styles to a CSS class definition Use a tag’s class attribute to apply the styles defined.
XML Flattened The lessons to be learned from XBRL.
© De Montfort University, Synchronised Presentations using Windows Media Howell Istance School of Computing De Montfort University.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
Tutorial 3: Adding and Formatting Text. 2 Objectives Session 3.1 Type text into a page Copy text from a document and paste it into a page Check for spelling.
Introducing HTML & XHTML:. Goals  Understand hyperlinking  Understand how tags are formed and used.  Understand HTML as a markup language  Understand.
CHP - 9 File Structures. INTRODUCTION In some of the previous chapters, we have discussed representations of and operations on data structures. These.
Week 1.  Phillip Chee   Ext.1214 
Lesson 4: Using HTML5 Markup.  The distinguishing characteristics of HTML5 syntax  The new HTML5 sectioning elements  Adding support for HTML5 elements.
CS 299 – Web Programming and Design Introduction to HTML.
Cascading Style Sheets. Defines the presentation of one or more web pages Similar to a template Can control the appearance of an entire web site giving.
Amber Annett David Bell October 13 th, What will happen What is this business about personal web pages? Designated location of your own web page.
Profiling Metadata Specifications David Massart, EUN Budapest, Hungary – Nov. 2, 2009.
1 What is CSS?  CSS stands for Cascading Style Sheets  Styles define how to display HTML elements  Styles are normally stored in Style Sheets  Styles.
Sekimo Solutions mentioned by the TEI  CONCUR: an optional feature of SGML (not XML) that allows multiple.
CSS Basic (cascading style sheets)
Designing a Web Page with Tables. A text table: contains only text, evenly spaced on the Web page in rows and columns uses only standard word processing.
XP Tutorial 9 1 Working with XHTML. XP SGML 2 Standard Generalized Markup Language (SGML) A standard for specifying markup languages. Large, complex standard.
Essentials of HTML Class 4 Instructor: Jeanne Hart
XP 2 HTML Tutorial 1: Developing a Basic Web Page.
1 ADVANCED MICROSOFT WORD Lesson 14 – Editing in Workgroups Microsoft Office 2003: Advanced.
Ali Alshowaish. What is HTML? HTML stands for Hyper Text Markup Language Specifically created to make World Wide Web pages Web authoring software language.
HTML Introduction. Lecture 7 What we will cover…  Understanding the first html code…  Tags o two-sided tags o one-sided tags  Block level elements.
Week 2: Building a Simple Website IMC 320 Web Publishing Spring 2011.
Securing and Sharing Workbooks Lesson 11. The Review Tab Microsoft Excel provides several layers of security and protection that enable you to control.
Key Applications Module Lesson 14 — Working with Tables Computer Literacy BASICS.
Case Study on Redlining at the ISO Chandi Perera
Microsoft Expression Web 3 – Illustrated Unit D: Structuring and Styling Text.
`. Lecture Overview HTML Body Elements Linking techniques HyperText references Linking images Linking to locations on a page Linking to a fragment on.
XP 1 HTML Tutorial 1: Developing a Basic Web Page.
Text2PTO: Modernizing Patent Application Filing A Proposal for Submitting Text Applications to the USPTO.
Project 02 Creating and Editing a Web Page Concept Map of Unit Creating and Editing a Web Page Key Learning Understand the elements to create a web page.
1 Cascading Style Sheet (CSS). 2 Cascading Style Sheets (CSS)  a style defines the appearance of a document element. o E.g., font size, font color etc…
Attributes and Values Describing Entities. Metadata At the most basic level, metadata is just another term for description, or information about an entity.
HTML Introduction. Lecture 7 What we will cover…  Understanding the first html code…  Tags o two-sided tags o one-sided tags  Block level elements.
Chapter 8 Using Document Collaboration, Integration, and Charting Tools Microsoft Word 2013.
Merge-enabled Change Tracking Freelancer.
Lesson 4 Basic Text Formatting. Objectives ● I ● In this tutorial we will: ● Introduce Wiki Syntax ● Learn how to Bold and Italicise text, and add Headings.
COMP261 Lecture 23 B Trees.
Lesson 16 Enhancing Documents
CHP - 9 File Structures.
Building a User Interface with Forms
Uppingham Community College
Temporal Indexing MVBT.
Connection changes in Scribe Starting with version 7.9.0
Introduction to XHTML.
Templates July 14, 2017.
A guide to HTML.
Customization Guidelines for BMC Remedy IT Service Management 7.5
WEBSITE DESIGN Chp 1
Unit I: Developing Multipage Documents
Creating an XML Document
Introducing HTML & XHTML:
Attributes and Values Describing Entities.
Microsoft Word 2010 Lesson 10 Lesson 10
Chapter 5 Advanced Data Modeling
Customization Guidelines for BMC Remedy IT Service Management 7.5
Microsoft Word 2010 Lesson 10 Lesson 10
WebDAV Design Overview
Word: References & Workflow Participation Project
Title of presentation | Presentation by [Enter details in 'Header & Footer' field 18/05/2019.
Lesson 2: HTML5 Coding.
5.00 Apply procedures to organize content by using Dreamweaver. (22%)
Chapter 8 Using Document Collaboration and Integration Tools
Key Applications Module Lesson 14 — Working with Tables
Correct document structure Easy for authors and accessible to readers
Lab 07 Creating Documents with Efficiency and Consistency
Presentation transcript:

Advanced Collaboration SC Generic Change Tracking Proposal

Tristan Mitchell - DeltaXML Ltd2 / Track Changes Proposal ● Focus on change tracking rather than real-time collaboration ● Generic approach for XML ● Document-centric constructs ● Content takes precedence over structure ● Change Transactions define changes ● May include multiple atomic changes ● Validity of change based on pre- and post- change state

Tristan Mitchell - DeltaXML Ltd3 / Level 1 Changes ● Minimum requirement for tracking all changes ● Not always an optimal change representation ● Insert with content ● Remove with content ● Attribute insertion/deletion/modification ● Text insertion

Tristan Mitchell - DeltaXML Ltd4 / Level 2 Changes ● Enable a more optimal representation for changes ● More suited to certain document editing scenarios ● Insert around content ● Remove leaving content ● Split ● Merge ● Also move, change element

Tristan Mitchell - DeltaXML Ltd5 / Change Transactions ● First child of document body content (e.g. office:text, office:spreadsheet) ● Similar to current text:changed- region elements ● Uniquely identified by a change-id ● Document order is significant ● Potential for metadata to be added as part of change info ● Optional change transaction grouping as an unordered set (shown to the right) or as an ordered stack Tristan T12:36:05 Robin T15:48:01 Robin T15:48:01 Robin T15:48:01 Global edit

Tristan Mitchell - DeltaXML Ltd6 / Level 1: Insert With Content ● Insertion of a new element ● Insertion type is “insert-with- content” ● The whole subtree should be considered as inserted ● The subtree may contain changes but they must all be made after the insertion ● An element may only be inserted once <text:p delta:insertion-type="insert-with-content" delta:insertion-change-idref='ct1234'> This paragraph is inserted.

Tristan Mitchell - DeltaXML Ltd7 / Level 1: Remove With Content (1) ● Removal of an element ● The whole subtree should be considered as removed ● This construct may need to be moved out of context to comply with the current specification in regard to paragraph content ● An element may only be removed once ● If an element is marked as inserted and removed, the removal must occur after the insertion ● No subsequent changes may be made to a removed element This paragraph is deleted. <text:p delta:insertion-type="insert-with-content" delta:insertion-change-idref='ct1234'> This paragraph is added then later deleted.

Tristan Mitchell - DeltaXML Ltd8 / Level 1: Remove With Content (2) ● The same removal construct can be used to mark removed text or mixed content ● All content under the wrapper element should be considered as removed How text is deleted or removed from a paragraph. How text is deleted or removed like this from a paragraph.

Tristan Mitchell - DeltaXML Ltd9 / Level 1: Attribute Changes ● Attribute changes are marked by encoded attributes. The attribute value consists of: ● ct-id,change-type,att- name,value ● Value is not included for attribute insertion as it is redundant ● It is technically possible to insert, modify and remove the same attribute multiple times <text:p text:style-name="Standard" text:outline-level="3" ac:change001="ct1,insert,text:outline-level"> How an attribute is added <text:p text:style-name="Standard" ac:change001="ct1,remove,text:outline-level,3"> How an attribute is deleted <text:p text:style-name="Code" ac:change001="ct1,modify,text:style-name,Standard"> The style on the paragraph will be changed.

Tristan Mitchell - DeltaXML Ltd10 / Level 1: Text Insertion ● Text insertion is surrounded by start and end markers ● The start and end markers are linked with a unique id and idref ● Although similar to current markup, they are not quite the same ● At the time of creation, start/end markers must be siblings of each other i.e. they must not span across XML hierarchy How text is <delta:inserted-text-start delta:inserted-text-id="it " delta:insertion-change-idref="ct1"/> very easily <delta:inserted-text-end delta:inserted-text-idref="it "/>added.

Tristan Mitchell - DeltaXML Ltd11 / Level 2: Insert Around Content ● Document editing often involves creating structure around existing text ● While level 1 constructs could be used, this would lead to the removal and reinsertion of the text ● A more optimal solution is to mark the new structure as “insert- around-content” ● Content within the subtree should not be considered inserted This text will be made <text:span delta:insertion-type="insert-around-content" delta:insertion-change-idref="ct1234" text:style-name="bold-style">bold. This text will be made bold.

Tristan Mitchell - DeltaXML Ltd12 / Level 2: Remove Leaving Content ● Used to remove levels of structure without removing its content ● The element being removed and its attributes are wrapped in the start element ● The end element marks where the original element ended ● The remaining content moves up a level in the hierarchy ● The start and end markers are linked with a unique id and idref This text will be made <delta:remove-leaving-content-start delta:removal-change-idref="ct345" delta:end-element-idref="ee888"> unbold <delta:remove-leaving-content-end delta:end-element-id="ee888"/>.

Tristan Mitchell - DeltaXML Ltd13 / Level 2: Split ● Most common example of a split is pressing carriage return within a paragraph ● Often no textual changes ● The split source is identified by a unique id ● The split target references the split source and has an insertion type of “split” ● An element can be split multiple times i.e. it is the split source for more than one split. It gets a new split id each time This paragraph will be split into two. This will be in the second paragraph. This paragraph will be split into two. <text:p delta:insertion-type="split" delta:insertion-change-idref="ct1" delta:split-id="sp1"> This will be in the second paragraph.

Tristan Mitchell - DeltaXML Ltd14 / Level 2: Merge (1) ● Opposite of a split ● Merged elements must be siblings ● Content may or may not be deleted as part of the merge. Content deletion is shown using the child elements of the merge ● The structure being removed is shown in the trailing-partial-content element even when no content is removed. ● The element in trailing-partial- content need not be the same type as the one that encloses a merge but problems could occur if they have different content models These paragraphs will be merged into one. This was in the second paragraph. These paragraphs will be merged into one. This was in the second paragraph.

Tristan Mitchell - DeltaXML Ltd15 / Level 2: Merge (2) Here is a paragraph which was split in two by a table. [this bit of text is deleted] T1 T2 [this is also deleted] It was split before this. Here is a paragraph which was split in two by a table. [this bit of text is deleted]... [this is also deleted] It was split before this.

Tristan Mitchell - DeltaXML Ltd16 / Level 2: Move ● Moved items are still removed and inserted ● The move is identified by a move id and idref ● The move information is essentially just metadata on a normal removal and insertion ● All history stays on the removed moved source ● The newly inserted move target has no history associated other than through the move idref This paragraph will be moved. This is the heading for the paragraph <delta:removed-content delta:removal-change-idref="ct123" delta:move-id="mv33"> This paragraph will be moved. This is the heading for the paragraph <text:p delta:insertion-type="insert-with-content" delta:move-idref="mv33" delta:insertion-change-idref="ct123"> This paragraph will be moved.

Tristan Mitchell - DeltaXML Ltd17 / Level 2: Change Element Type <delta:remove-leaving-content-start delta:removal-change-idref="ct1234" delta:end-element-idref="ee888"> <text:h delta:insertion-type="insert-around-content" delta:insertion-change-idref="ct1234"> What are the ground rules? <delta:remove-leaving-content-end delta:end-element-id="ee888"/> What are the ground rules? What are the ground rules? ● A common use case for this is to change a paragraph into a heading ● No special construct for this ● The level 2 removal and insertion constructs can be used to ensure that content remains unchanged ● When reverting this change, the insertion and removal should be treated as a single change

Tristan Mitchell - DeltaXML Ltd18 / Issues Raised ● Deletions should not be inline ● Simple to fix, deletions can be 'cached' and markers inserted inline similar to current syntax ● Implementation seems difficult ● Two partial implementations so far (plus DeltaXML sandbox) ● Mapping of editing operations onto proposed syntax ● Can be achieved with change transaction metadata ● Syntax rules for each operation could be defined ● Syntax too flexible ● Need to consider best practices

Tristan Mitchell - DeltaXML Ltd19 / Benefits ● Generic representation of change ● Concise vocabulary to represent all change types. ● Editing operations can be mapped to change transactions using metadata ● Covers all of ODF, not just ODT ● 'Future-proof' - same vocabulary can be used for new ODF features ● Unambiguous representation of change ● Pre- and post-change versions of a document can be precisely reconstructed ● Structural changes do not force text content changes

Tristan Mitchell - DeltaXML Ltd20 / Questions Any questions?