Extension:WikEdDiff



wikEdDiff is a visual inline-style difference engine with block move support. This extension is a feature-identical synced one-to-one PHP port of the JavaScript library wikEd diff that is used by the Wikipedia/MediaWiki in-browser editor wikEd and by the gadget wikEdDiff. You can test wikEdDiff by checking any of these gadgets in your English Wikipedia preferences. For testing the effects of different settings, you can also use the wikEd diff online tool and demo.

Features

 * Visual inline style, changes are shown in a single output text
 * Block move detection and highlighting
 * Resolution down to characters level
 * Unicode and multilingual support
 * Stepwise split (paragraphs, lines, sentences, words, characters)
 * Recursive diff
 * Optimized code for resolving unmatched sequences
 * Minimization of length of moved blocks
 * Alignment of ambiguous unmatched sequences to next line break or word border
 * Clipping of unchanged irrelevant parts from the output (optional)
 * Fully customizable
 * Text split optimized for MediaWiki source texts
 * Well commented and documented code

Performance
The performance of wikEdDiff as compared to the MediaWiki bundled engine 'wikidiff3' (which is not used by default) depends mostly on the number of changes per text and text length. For typical comparisons, the MediaWiki default engine 'wikidiff3' is typically faster by a factor of up to 3 - 4-fold. For long and heavily changed articles, wikEdDiff can be slightly faster than 'wikidiff3'. These numbers are for wikEdDiff version 1.2.2 with default settings (i.e. optimal diff quality).