Issue 81526

Summary: Side-by-side diff view
Product: Writer Reporter: nmailhot <nicolas.mailhot>
Component: uiAssignee: AOO issues mailing list <issues>
Status: CONFIRMED --- QA Contact:
Severity: Trivial    
Priority: P3 CC: cmoulin, don.troodon, elish, issues, josl, marc.galmard, Mathias_Bauer, mroe.nospam, rgammans
Version: OOo 2.2.1   
Target Milestone: ---   
Hardware: All   
OS: All   
Issue Type: FEATURE Latest Confirmation in: 4.1.0-beta
Developer Difficulty: ---

Description nmailhot 2007-09-12 14:11:01 UTC
(I opened this under writer but it could be extended to impress too)

I'd like writer to gain a side-by side diff feature. This feature is common in
text editors (an exemple there: http://meld.sourceforge.net/meld_file1.png)

Why: I often participate in processes where a contractual document is drafted by
several parties. When one of the writers releases a new version comparing it to
the last version reviewed is the fastest way to detect changes that may impact
your party. Right now that's a complex dance of revision marks, printing both
versions and comparing manually, etc

Why revision marks do not cut it:

1. They can't be left in the finalised document. So a document with revision
marks is always different from the actual "official" document.

2. If you receive a document with revision marks in you can never be sure
someone didn't already accept a change, hiding it from review (this is quite
common and occurs even when people are not being malicious, they just make
editing mistakes).

1+2 means you end up accepting all revisions inconditionnaly in the document
with revisions, then comparing it to the document without revisions to check
they are the same, then comparing to the previous "good" version to check no
revision was left out. This is a time-consuming chore that severily detracts
from in-document revision mark usefulness.

3. Revision marks force a formatting reflow.
 - Often the reflow is so severe a document with revision marks is totally
unreadable.
 - It does funny stuff with tables and floating images
 - The reflow changes the page numbers, so people never know if the page they're
commenting on has the same number for other reviewers

4. Accumulating revision marks on a complex document is a shortcut to document
corruption and Office Suite crashes, especially when combined with repeated
OO.o/ODF <-> Word/DOC roundtrip conversions

5. You can't use revision marks with protected documents. You need to unprotect
them before doing a compare. Unprotecting a document sometimes triggers a lot of
automated changes when the point is to compare unchanged authoritative versions

6. writer complains if you ask it to generate revision marks between documents
that already include revision marks

I'd like to be able to point writer to two documents (protected or not, that
include revision marks or not) and have it display them side-by-side,
highlighting differences, ignoring any existing revision marks, without changing
the formatting, page numbering, etc of the compared documents

This feature would be especially appealing now that widescreens are common.
Comment 1 michael.ruess 2007-09-12 15:35:00 UTC
Reassigned to requirements.
Comment 2 discoleo 2007-09-12 18:12:46 UTC
Indeed, there are many web-based solutions that offer better diff's between 2
text-streams than most current professional Office applications.

This feature would be really useful: to view side by side the 2 documents (with
all the sweet features that web applications already offer).
Comment 3 discoleo 2007-09-12 18:23:01 UTC
Just a last thought:

there are various tools used in molecular biology / biochemistry to compare 2
(or more) sequences.

One such tool is the BLAST tool, see e.g. "BLAST for 2 Sequences - bl2seq":
http://www.ncbi.nlm.nih.gov/BLAST/bl2seq/wblast2.cgi

It compares 2 protein sequences (basically 2 text streams) and aligns them,
including the detection of deletions and inserts. There are even more complex
BLAST-possibilities.

Of course, a formatted text document is slightly more complex (but not
necessarily unsolvable), e.g. it contains various objects like pictures and
tables, but these could then be compared with each other and aligned easily.
Comment 4 Mathias_Bauer 2007-09-12 18:28:07 UTC
If the diffing is restricted to text changes only I could imagine that something
like that is doable (though not easy). But more isn't possible as the Change
Tracking of Writer does not capture a lot more.
Comment 5 discoleo 2007-09-12 18:50:08 UTC
Well, I shouldn't have called my last post: "Just a last thought."

In fact, Adobe Acrobat Professional offers such an advanced diff tool.
[Unfortunately, pdf is not the best format for diff's, and, indeed, one has to
choose in Acrobat the sensitivity of the resulting difference: therefore,
depending on this sensitivity, some false positives and negatives will occur,
but otherwise it does a great job. Though it is an expensive software!!!]

To extend the BLAST-post: here is a short introduction to using BLAST. feel free
to play with it.
1.) In the *Program* drop-down list choose: *pblast*
    - nblast (the default) is only for nucleotides
     [only very few letters code nucleotides, so not so nice to play around]
    - pblast is for proteins: every letter (excepting o and u) code for an
      aminoacid, so one can compare virtually any text-stream
     [o and u will be replaced by x, so it is safe to include them]
2.) paste some text in the 2 Text-Boxes
    (Sequence 1 and Sequence 2)
3.) Press the *Align* Button at the bottom of the page
4.) One can select various parameters for the alignment, e.g.
    - matrix-type/size
    - penalties for gaps, ...

Hope this helps a little bit. Indeed, this feature is in widespread use in
molecular biology, and I don't think of the added complexity in a
writer-document as of an unsurmountable obstacle.
Comment 6 nmailhot 2007-09-12 20:33:00 UTC
@mba: please note this issue is not about changing the comparing engine of
writer (it could indeed use some improvements, but that's another problem).

The issue is about changing the way it conveys the differences it computes, and
providing a mode where it doesn't try to expose them as revision marks inside
the document. The problem with revision marks being they alter the document
(require rw, unprotecting, stomp on existing revision marks) and have all sorts
of reformatting side-effects
Comment 7 Mathias_Bauer 2007-09-12 23:03:35 UTC
Sure; but as this features was advertized as an improvement over what you get
from text editors I wanted to menion the limitations. I understand the main idea
and think that it's interesting.
Comment 8 troodon 2008-04-06 17:24:49 UTC
Issue 58180 seems to request something like this.
Comment 9 gsb 2010-03-06 19:17:30 UTC
I also used the side by side comparison functions in WordPerfect and Word a
great deal.  I'm surprised Open Office doesn't have it.
Comment 10 Edwin Sharp 2014-03-17 11:32:04 UTC
Edit - Changes - Record is the best way to evaluate the modified contractual document. Human comparison is not infallible.
Comment 11 mroe 2014-03-17 12:29:08 UTC
See comment 0:

> 5. You can't use revision marks with protected documents. You need to unprotect
them before doing a compare. Unprotecting a document sometimes triggers a lot of automated changes when the point is to compare unchanged authoritative versions

Nobody recommend a human comparison.
Having 2 windows with 2 documents:
In both windows equal text is formatted normal.
Text that is not included in the other window will be marked by colour, lines or something. This would be a nice feature!
Comment 12 Edwin Sharp 2014-03-17 12:42:04 UTC
Contractual documents are not code text.
This feature will encourage bad documentation practice (http://en.wikipedia.org/wiki/Good_Documentation_Practice).
I am against this feature.
Comment 13 Roger Gammans 2014-03-17 12:57:31 UTC
Not all OO documents are contractual documents, or documents for which the add link is appropriate.

For instance, I would like to use this with collaborative fiction writing.
Comment 14 Edwin Sharp 2014-03-17 13:37:46 UTC
Confirmed per comment 11, comment 13
Comment 15 Edwin Sharp 2014-03-23 12:59:07 UTC
*** Issue 58180 has been marked as a duplicate of this issue. ***