00571: word level diffs

Summary: word level diffs
Created: 2005-10-25 10:34
Status: Closed - added in 2.2.12
Category: Feature
From: floozy?
Priority: 55555 55544 33
Version: 2.0.12
OS: pmwiki.org

Description: Changes made to long paragraphs would be much easier to spot in the page history if they were displayed as diffs on word level, and not only line level, preferably side by side, as offered by Mediawiki (the Wikipedia engine) and other Wiki engines.

Mediawiki-style diffs are great and can be understood intuitively even by naive users. --Henning October 19, 2006, at 09:55 AM

Count my vote too! Word level and side by side diffs are a "must-have" feature. --Athan

Definitely a must have. --Dfaure

I've commented on this in the past, and the big issue is that it's somewhat difficult to detect changes that involve markup. It can also be difficult to display deleted text.

If someone can describe how the display ought to look, I can see about prototyping something for it. In the past when this has come up people would say "it's done in wiki XYZ", but whenever I've checked that's because wiki XYZ displays the differences in the raw markup but not the rendered output. (PmWiki defaults to displaying the rendered differences.)

So, unless we switch to displaying raw markup in the history by default (and the differences there), I need some better guidance or examples of how the results should look. And I can come up with some pretty pathological cases pretty quickly. :-)


See also PITS.00642.

Released a recipe that provides this functionality: InlineDiff --Anno

It is worth it for long paragraphs. When one editor changes a few letters, and another one needs to see what exactly was modified, it is a real pain to understand (demo; before installing the InlineDiff recipe, I personnaly copied the two versions in my text editor, wrap off, to see the changes). There is no problem at all to show raw code diffs: the page history should also favor writers over readers (PmWiki Philosophy n°1), and writers "speak" Wikicode. --Petko November 15, 2007, at 07:10 PM

I also vote for a more intuitive and clear diff, preferably for two arbitrary revisions. --OliverBetz

I've been using InlineDiff for this exact reason. I agree showing source diffs by default is not a problem (user can always go back to rendered diffs on a line-by-line basis if they prefer - this would be an important feature to keep if moving to core.) I support this being put into the core - it will make history viewing much more usable for all. Peter Bowers February 04, 2010, at 03:51 AM