Visual Diff was a Google Summer of Code 2008 project by guyvdb and mentored by Brion. It can be enabled by setting $wgEnableHtmlDiff to true. As a side project the basic diff algorithm was optimized (available by setting $wgExternalDiffEngine to 'wikidiff3').
There are still a number of enhancements needed:
- A fallback mechanism for extremely long computations
- A better GUI on the client side
- Better tooltip windows that are valid XHTML.
- Support for jumping to the first change in a page.
- Better i18n. This was a big issue last summer.
The goal of the project is to extend and improve the current diff page to render the changes instead of showing the source diff. The resulting "parsed inline diff" would be very easy to use. The algorithm that will achieve this is based on the HTML diffing library used in DaisyCMS.
Work started out in the visual_diff branch which was merged with trunk later on. The branch is now obsolete.
A standalone fork of this module that can be used within other applications is available on https://github.com/cdauth/htmldiff.
- IBM's history flow as an alternative concept
- Wiki Edit History Analyzer (paper What Did They Do? Deriving High-Level Edit Histories in Wikis), "promised" some extension for their visual diff code, still active on it.
- Replay edits tool shows some visual diffs