This plugin helps you to create a checklist with tables. A HTML form for a quick add of new entries and a table editor are also available.

ChecklistTablePlugin depends on the ChecklistPlugin if you use the item table cell format type.



  • table based checklists with persistent item states: you can add or remove items without state lost
  • table row editor: a simple way to add, insert or (re)move table entries (rows)
  • various table cell formats are supported (item, text, textarea, date, ...)
  • automatic table format detection: simply put the %CHECKLISTTABLE% tag before an existing Foswiki table to get a table editor

Syntax Rules

Simply put a %CHECKLISTTABLE% tag to a topic. You get a HTML form to create a checklist table.

You can use the %CHECKLIST% tag to customize the checklist states, icons ... (see ChecklistPlugin)

Usage Examples

  1. a simple checklist table:
  2. a checklist table with your own table format:
    %CHECKLISTTABLE{format="|text,20|item|" header="|*Item*|*State*|"}%
  3. a checklist table with special states and icons:
    %CHECKLIST{states="todo|doing|done" stateicons=":-(|:-I|%<nop>Y%"}%
  4. multiple checklist tables on the same topic with special states and icons:
    ALERT! attend to the name attribute:
    ---++ Checklist Table ONE
    %CHECKLIST{name="checklist one" states="not ok|ok" stateicons=":-(|:ok:"}%
    %CHECKLISTTABLE{name="checklist one"}%
    ---++ Checklist Table TWO
    %CHECKLIST{name="checklist two" states="todo|doing|done" stateicons=":-(|:-I|%<nop>Y%"}%
    %CHECKLISTTABLE{name="checklist two"}%


Syntax: %CHECKLISTTABLE{attribute1="value1" attribute2="value" ... }%

Example: %CHECKLISTTABLE{name="test"}%

Attribute Description Example/Default
allowmove enables/disables buttons for move a entry (row) up or down allowmove="off"
buttonpos defines the button position of the row actions (edit, insert, move up/down, delete), allowed values: left, right (default), both buttonpos="right"
changerows enables/disables row changes (add/insert/remove); allowed values: on, off, add (= allows only add not remove) changerows="on"
defaultcellformat if the format attribute does not match with a given Foswiki table the format of a table cell will be changed to this default defaultcellformat="textarea,3x30"
format table format (see Table Format section) format="|item|text,30|textarea,3x30|"
header table header: a Foswiki table like header or 'off' to disable header header="|*State*|*Item*|*Comment*|"
headerislabel table headers are read-only (labels) if set to 'on' headerislabel="on"
initdirection initial sorting direction for initsort, set to "up" or "down" initdirection="up"
initsort column to sort initially ("1" to number of columns) initsort="1"
name name of the checklist name="_default"
sort switch table sort feature 'on' or 'off' sort="on"
template use template configuration; see template attribute of ChecklistPlugin topic template="patchday"
quickadd enables/disables the quick add formular below the table quickadd="on"
quickinsert enables/disables the quick insert formular if the mouse is over the insert button (plus) quickinsert="on"
quietsave enables/disables Quiet Save button (Quiet Save disables email notification) quietsave="on"
deleterowicon delete icon (choice-no) deleterowicon="%ICONURL{choice-no}%"
dummyicon placeholder if a action is not available dummyicon="%ICONURL{empty}%"
editrowicon edit row icon (pencil) editrowicon="%ICONURL{pencil}%"
edittableicon edit table icon (edittopic) edittableicon="%ICONURL{edittopic}%"
insertrowicon insert row icon (plus) insertrowicon="%ICONURL{plus}%"
moverowdownicon move row down icon (down) moverowdownicon="%ICONURL{down}%"
moverowupicon move row up icon (up) moverowupicon="%ICONURL{up}%"

Table Format

The table format syntax of ChecklistTablePlugin uses the EditTablePlugin syntax.

Attribute Syntax: format="| Type , Parameter , Default | ..."

Example: format="|label,0,#|row|item|text,20|textarea,2x20|select,1,0,1,2,3,4,5|radio,3,a,b,c,d,e,f|checkbox,3,A,B,C,D,E,F|date,20,,%Y/%d/%m|"

Format Description
Type Paramter Default
checkbox size item1, item2, ... a checkbox group; size indicates the number of checkboxes per line
date size default date, date format a date
item 0 unused a checklist item column; use the %CHECKLIST% tag of the ChecklistPlugin to customize the checklist
label 0 default text unchangeable text
radio size item1, item2, ... radio buttons; size indicates the number of buttons per line
row 0 unused a label field with the row number
select size item1, item2, ... drop down box
text size default text a editable text
textarea rowsxcols default text a editable text box

Per Cell Format

You can define a special edit field type if you place an %EDITCELL{"type,paramer,default"}% variable at the end of a cell content.


State Item Comment  
my first item for test only   +  
my second item for test too   

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %CHECKLISTTABLEPLUGIN_SHORTDESCRIPTION%

  • You can setup every attribute of the %CHECKLISTTABLE% tag. You only have to use capital letters, e.g:
       * Set ALLOWMOVE = on
  • Please use your Main.SitePreferences to setup plugin defaults. This prevents you from overwriting settings on plugin updates. E.g. put the following to your global preferences:

  • One line description, is shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Create a checklist table

  • Debug plugin: (See output in data/debug.txt)
    • Set DEBUG = 0

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 Foswiki server.

  • Install (or upgrade to) the latest Foswiki:Extensions.ChecklistPlugin plugin
  • Download the ZIP file from the Plugin web (see below)
  • Unzip in your Foswiki installation directory. Content:
    File: Description:
    data/System/ChecklistTablePlugin.txt Plugin topic
    data/System/VarCHECKLISTTABLE.txt Plugin tag documentation
    lib/Foswiki/Plugins/ Plugin Perl module
    lib/Foswiki/Plugins/ChecklistTablePlugin/ Perl module
    pub/System/ChecklistTablePlugin/cltpinsertform.js JavaScript module
    pub/System/ChecklistTablePlugin/example.png example image
  • Configure the Plugin:
    • Run the configure script to enable the Plugin
    • Change the Plugin settings as needed
  • Test if the installation was successful:
    • see Examples section

Plugin Info

Plugin Author: Foswiki:Main.DanielRohde
Copyright: © 2007-2008, Foswiki:Main.DanielRohde
License: GPL (GNU General Public License)
Plugin Version: V1.006 (14 May 2009)
Change History:  
V1.006 (14 May 2009) Foswiki:Main.KennethLavrsen: Changed feedback link to Support web. Added the attached files to the topic so they get uploaded to No code changes. No need to upgrade
V1.005 (15 Dec 2008) Foswiki:Main.KennethLavrsen: Changed namespace to Foswiki and added missing MANIFEST and build script for development on SVN
V1.004 (16 Jan 2008) TWiki:Main:DanielRohde: added initsort and initdirection feature; fixed numeric eq error; fixed missing default value rendering of 'date' format type;
V1.003 (22 Oct 2007) TWiki:Main.DanielRohde: added quick insert feature; added new attributes (quickadd, quickinsert, buttonpos); fixed typos; fixed whitespaces in format bug; fixed (forced) link in text(area) bug;
V1.002 (30 Aug 2007): TWiki:Main.DanielRohde: fixed major pre/verbatim bug; fixed and added documentation; added sort feature; added changerows attribute; added EDITCELL feature; fixed Opera bug; fixed topic lock bug
V1.001 (28 Aug 2007): TWiki:Main.DanielRohde Initial version
Foswiki Dependency: $Foswiki::Plugins::VERSION 1.1
ChecklistPlugin, JSCalendarContrib
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.008
Plugin Home:

Related Topics: Plugins, ChecklistPlugin

Topic revision: r2 - 28 Mar 2018, AndreySmelter
This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Moseley Bioinformatics Lab? Send feedback