History Plugin

Shows a complete history of a topic.

The output can arbitrarily be formatted. An example for a Wikipedia-like history is included.

When using PatternSkin enabling the HistoryPlugin changes the "History" link in the bottom action bar so it opens a page with a nice user interface where you can select the versions to compare.

With other skins for Foswiki you will need to tweak the templates.

If CompareRevisionsAddOn is installed and activated the "History" user interface will allow you to choose how the changes are rendered (interweaved vs side-by-side, and context).

If RevCommentPlugin is installed and activated the "History" page will show the comments entered for each revision.

This plugins is designed to work together with CompareRevisionsAddOn and RevCommentPlugin but works well on its own or with just one of the two other plugins.

Syntax Rules

Syntax: %HISTORY{ attributes }%

Argument Description Default value
none Default layout: a simple list of topic revisions using the default format (see below)  
"format" or format="string" Format of one line, may include any variable which is supported by macro REVINFO "r$rev - $date - $wikiusername"
topic="topic" Topic name, can be in web.topic format current topic
web="web" Web name current web
versions="number or range" Number or range (format: from..to). Examples:
To get version 2, write: versions="2"
To get version 2 to 3, write: versions="2..3"
To get version 2 to the latest, write: versions="2.."
To get all versions up to version 5, write: versions="..5"
To get all versions up to but not including the latest, write: versions="..-1"
To get the versions from 1 to 5 in reverse order, write: versions="5..1"
all versions in the order latest to first
header="text" Text to print before the list.
May contain the tokens $next and $previous which will be evaluated if there are newer or older revisions available for the topic that are not listed according to versions (or rev1, rev2, nrev).
These tokens take the syntax $next{'some text' url='url'} (the same for $previous). 'some text' is the text which should be printed, 'url' is the url for the corresponding link.
The tokens $rev1, $rev2, $nrev in 'text' or 'url' will be replaced by appropriate values for the next or previous block of revisions. See the attached oopshistory.tmpl for an example of how to use this.
footer="text" Text to print after the list. May contain the tokens $next and $previous (see header) "$previous"

Deprecated (but supported) parameters:
Argument Description Default value
nrev="number" Number of revisions to show. Ignored if versions is specified, or if both rev1 and rev2 are specified. 10
rev2="number" Newest revision to show rev1+nrev if rev1 is specified, latest revision otherwise
rev1="number" Oldest revision to show rev2-nrev
reverse="boolean" Show newest revisions first, if on "on"

Additional macros

The following macros are replaced only if there is a corresponding %HISTORY% on the page. If more than one %HISTORY% is used on the same page, the values from the last one will be used.

  • %HISTORY_REV1%: Oldest revision from the printed history
  • %HISTORY_REV2%: Latest revision from the printed history
  • %HISTORY_NREV%: Number of the printed revisions
  • %HISTORY_MAXREV%: Latest available revision of the topic


The call %HISTORY% shows a simple list of available revisions like
r3 - 17 Feb 2005 - 09:56 - AnUser
r2 - 31 Dec 2004 - 10:22 - AnotherUser
r1 - 15 Nov 2003 - 01:23 - YetAnotherUser

For a more complex example see the attached oopshistory.tmpl which also allows the comparison of two selected revisions.

Example screenshot of the topic history with HistoryPlugin enabled and working with CompareRevisionsAddOn and RevCommentPlugin.


Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the server where Foswiki is running.

  • Download the ZIP file from the Plugin web (see below)
  • Unzip HistoryPlugin.zip in your twiki installation directory. Content:
    File: Description:
    data/System/HistoryPlugin.txt (noci)
    data/System/VarHISTORY.txt (noci)
    lib/Foswiki/Plugins/HistoryPlugin.pm (noci)
    pub/System/HistoryPlugin/screenshot.png (noci)
    templates/oopshistory.tmpl (noci)

  • Visit configure in your Foswiki installation, and enable the plugin in the {Plugins} section.
  • Test if the installation was successful:
    • Here should appear the history of this document inline:
      r1.1 - 11 Apr 2011 - 00:14 - ProjectContributor

Plugin Info

Plugin Author: Foswiki:Main.KennethLavrsen
Copyright ©: 2006, JChristophFuchs; 2008-2012 Kenneth Lavrsen and Foswiki Contributors
License: GPL (GNU General Public License)
Version: 1.11
Release: 1.11
Change History:  
28 Nov 2012: 1.11 Version released with Foswiki 1.1.6. Change to perl version strings
11 Apr 2011: 1.10 Version released with Foswiki 1.1.3. Only a minor change related to how the plugin is being upgraded
13 Mar 2011: 1.9 Arthur Clemens: added parameter versions as a more versatile alternative to rev1, rev2, nrev and reverse.
13 Mar 2011: 1.8 Arthur Clemens: fix rendering of REVINFO date and time parameters; add unit tests.
27 Dec 2010: 1.7 Arthur Clemens: update of screen layout.
31 Jul 2010: 1.6 Paul Harvey: Foswikitask:Item9415 - Documentation updates
09 Feb 2009: 1.5 Kenneth Lavrsen: Small cosmetic updates. Changed the author name to non liked to avoid bogus links to Main.loginname. Changed some CSS names to Foswiki that I missed in 1.4
08 Dec 2008: 1.4 Kenneth Lavrsen: Changed the author to myself. JChristophFuchs is the original author but announced in 2006 that he no longer maintains this plugin. So now I officially take the task as maintainer. Plugin is changed to Foswiki namespace and tested and works under Foswiki 1.0.0
09 Dec 2007: 1.3 Kenneth Lavrsen: Restored the features that were lost in revision 1.1 including: Showing comments made by RevCommentPlugin, selection of render styles "interweave" and "side by side" provided by CompareRevisionsAddOn, and link to rdiff history. Restored compatibility with TWiki-4.1 which means removing the dependency of 4.2 only CSS feature. Updated the default rev format to 4.X format.
13 Nov 2007: 1.2 Michael Daum: removed cruft from plugin, updates to use modern TWiki APIs, added some more flexibility to create a diff interface, removed plugin topic options
07 Nov 2007: 1.1 Arthur Clemens: updated to TWiki 4.2; improved user interface.
19 Jan 2007: 1.002 Corrected coding error that causes the plugin to fail with HISTORY tag in topic
9 Apr 2006: 1.001 Updated for new PatternSkin in TWikiRelease04x00x02
17 Feb 2005: Initial version
Foswiki Dependency: $Foswiki::Plugins::VERSION 1.024
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.008
Plugin Home: http://foswiki.org/Extensions/HistoryPlugin
Support: http://foswiki.org/Support/HistoryPlugin

Related Topics: DefaultPreferences, SitePreferences, Plugins
Topic revision: r1 - 11 Apr 2011, ProjectContributor
This site is powered by FoswikiCopyright © CC-BY-SA by the contributing authors. All material on this collaboration platform is copyrighted under CC-BY-SA by the contributing authors unless otherwise noted.
Ideas, requests, problems regarding Foswiki? Send feedback