rendering1Add my vote for this tag create new tag
, view all tags

TablePluginDev Discussion: Page for developer collaboration, enhancement requests, patches and improved versions on TablePlugin contributed by the TWikiCommunity.
• Please let us know what you think of this extension.
• For support, check the existing questions, or ask a new support question in the Support web!
• Please file bug reports in the TablePlugin bug database.
• See TablePluginDevArchive for older discussions.

TablePlugin Development and Discussions

-- JohnTalintyre - 07 Oct 2001


Please leave this at the top

  • Feedback from my workplace: When I click on a table header to sort a table, I don't see a widget that allows me to return the table to its unsorted form (other than the "back" button, which might take some doing if I've explored many different sorts with the same table). -- PeterThoeny - 31 Jan 2002

  • Any chance that the EditTablePlugin could get merged into this plugin?? I really like both, but its kind of a pain in the rear trying to use them separately. -- JohnCavanaugh - 22 Nov 2002
    • I think what John wants is a way to edit %TABLE{...}% definitions in place using EditTablePlugin. -- SamHasler - 28 Aug 2004

  • I have another suggestion for this plugin (yeah, I know I want the kitchen sink...). It would be nice if we could have a link on the table header that would export that table as csv. -- JohnCavanaugh - 05 Dec 2002

  • A useful enhancement would be to sort by more than one column. i.e. initsort="2,3,4" initdirection="up,down,up".
    Date sorting has been mentioned but it would be nice to have other formats supported as well like number or percentage. If it's dificult to detect automatically perhaps a sorttype="alpha,number,date,alpha" (for a 4 column table) parameter could be used. -- SamHasler - 13 Jan 2004
    • a history could to the job easily. Example: Sorting 1/A/B and 2/A/C 3/B/C by second column in reverse first would be 3/B/C, 1/A/B, 2/A/C, then on third column would be 1/A/B, 3/B/C, 2/A/C -- MartinTrautmann - 05 May 2006
      • are there already any suggestions and/or solutions for this desirable enhancement? i created an index with entries, taken from single twikipages with metasearch a.s.o. consequently, a feature to sort by more than one column would be great, because if you sort by one, the second instance twiki sorts the index, is the name of the twikipage. would be kind of you, if you give me any feedback, thanks. -- DominkFriedel - 11 August 2006


Is the %MERGETABLE documented anywhere? I'd love to use this, but I've only found this one instance in passing of such a feature. I want to take tables on multiple pages and include them on one page in one big table. Does anyone have more info on it/point me in the right direction? Thanks!

-- JeffLink - 08 Dec 2005

Jeff, I do this by searching for tables on other pages, somthing like

%SEARCH{ web="RRT" "FORM{name=.WeeklyForm;FIELD{name=.Week.*value=.2005-(49|50|51|52);^\| [^*]" 
-- OleCMeldahl - 27 Jan 2006

Google constantly gets all my tables sorted for each column, I suggest adding rel="nofollow" to the generated sorting links.

-- OleCMeldahl - 27 Jan 2006

The latest release TWikiRelease04x00x01 instructs search engines not to index TWiki URLs with paramaters, only plain topic URLs.

-- PeterThoeny - 08 Feb 2006

I want to define the width for only a single column in my table, the others can resize as necessary. How do I handle this. Assume this column is neither the first nor the last column but somewhere in the middle.

-- BrianBeaudet - 13 Feb 2006

Has anyone tried to change the CSS patch for Dakar release ?

-- AviYagodnick - 14 Feb 2006

How do I get some kind of filter or search mechanisms in order to take a subset of the table only? Or what's the way to go in order to get some kind of database operation?

-- MartinTrautmann - 05 May 2006

For these kind of things a TWikiForms based application is a more flexible option. See sample application with filter at TWikiInstallations.

-- PeterThoeny - 05 May 2006

Are there plans for getting this migrated to TWiki 4? I have a TWiki 4 installation. When I use this plugin, the table is reformatted with the color changes I made. However there is a bug in that topics listed no longer link to the correct page. These were all listed as standard wiki works that are inside the same web like TablePluginDev.

-- RickMach - 30 May 2006

This Plugin is pre-installed in TWiki 4. Please use the version that came with TWiki 4. The link problem is not likely connected to this Plugin. Please ask support questions in the Support web.

-- PeterThoeny - 30 May 2006

It would be better if this plugin where not to operate in the preRenderingHandler. Other plugins might generate tables in their commonTagsHandler, and these cannot be formatted or sorted by the TablePlugin.

-- ThomasWeigert - 14 Aug 2006

Actually, preRenderingHandler is called after all variable expansion is done (commonTagsHandler etc.), so table rendering should work properly if other Plugins generate tables. What kind of issues do you get?

-- PeterThoeny - 16 Aug 2006

Added CSS support to distinguish even from odd table rows

-        $text .= $currTablePre.CGI::Tr( {}, $rowtext )."\n";
+        $text .= $currTablePre.CGI::Tr( { class=> ($rowCount % 2)?'twikiTableOdd':'twikiTableEven'}, $rowtext )."\n";

See also Bugs:Item2770

-- MichaelDaum - 16 Aug 2006

Is it known/wanted/documented or simply a bug that only the first table in a topic can be sorted even if there is an explicit %TABLE{sort="on"}% before multiple tables?

You type:

%TABLE{sort="on" initsort="1" initdirection="up"}%
| *Nr* | *Var* |
| 1 | foo |
| 2 | bar |
| 3 | baz |

%TABLE{sort="on" initsort="1" initdirection="up"}%
| *Nr* | *Var* |
| 1 | foo |
| 2 | bar |
| 3 | baz |

%TABLE{sort="on" initsort="1" initdirection="up"}%
| *Nr* | *Var* |
| 1 | foo |
| 2 | bar |
| 3 | baz |

You get:

NrSorted descending Var
3 baz
2 bar
1 foo

NrSorted descending Var
3 baz
2 bar
1 foo

NrSorted descending Var
3 baz
2 bar
1 foo

-- MichaelDaum - 16 Oct 2006

That is a bug that should be fixed.

-- PeterThoeny - 16 Oct 2006

See correction below...

-- RaymondLutz - 14 Dec 2006

Another Bug: clicking on the first table's Nr col will sort it downwards. Ok. Now, then clicking on the second table's Nr col will sort it upwards. But that should be downwards too. Toggling the direction should only happen when clicking on the same table again not when switching the tables.

-- MichaelDaum - 16 Oct 2006

Bugs3034: TablePlugin: give all TDs in sorted column a "sorted" CSS class

I have implemented this as css tag, but because databg is defined in the plugin topic (and cannot be defined in css or noone could change the table colors), I propose 3 new attributes:

  • headerbgsorted - (1 value) defaults to headerbg
  • databgsorted - (2 values) defaults to databg

-- ArthurClemens - 19 Oct 2006

Attributes are implemented in revision 11775.

-- ArthurClemens - 20 Oct 2006

A couple of ideas:

  • Disable sorting: desktop applications often allow to click one more time to disable the sorting state. So the order would be: sort ascending, sort descending, don't sort.
    • Implemented in revision 11789. (This can be made undone by setting the variable unsortEnabled in Core.pm to 0.) -- ArthurClemens - 22 Oct 2006
  • Better css support: an extra attribute mode with possible values html (default) and css. In css mode no colors and font tags would be inserted, only css class names. Of course in css mode a number of current attributes would lose validity.
  • Sorting a column with word-numbers (like Item100) doesn't work. With regex the numbers could be distilled easily and use these to sort. The sort would be in 2 rounds: first sort alphabetically. Then sort the numbers within the groups.

-- ArthurClemens - 20 Oct 2006

Only the first table can be sorted: this is a bug inherent to the setup of TablePlugin: it assumes there is only one table to be sorted. Allowing multiple tables requires rigorous refactoring.

-- ArthurClemens - 22 Oct 2006

During recent changes to the TablePlugin table attributes are added to the local style of a table, paralleling the html attrs that are generated already. This prevents skins to theme tables properly. The situation before (no local style) was also broken in a way because any skin theme would prevent user settings in a %TABLE{}% to have no effect.

Remember the priority of html and css:

  1. low prio: html attrs (e.g. <td bgcolor="..." >)
  2. medium prio: skin css (e.g. in colors.css td {background:...;})
  3. high prio: local css (e.g. <td style="background:...;">)
  4. very hight prio: skin css marked important (e.g. in colors.css td {background:...!imporant;})
  5. ultimate prio: local css marked important (e.g. <td style="background:...!important;">)

The solution is to distinguish site preferences in %TABLEATTRIBUTES% from explicit user settings given in %TABLE{}% Desired outcome:

  • TABLEATTRIBUTES in WebPreferences or TWikiPreferences shall not generate local style settings but only the html attrs (low prio)
  • Skins can override html attrs by their own css (medium prio)
  • Users can override skin css by having an explicite %TABLE% tag that generates both: html attrs + css (high prio)

Right now, skins have to make use of !important to theme tables which in turn is breaking user settings again as the TablePlugin generats attributes of prio low+high, whereas skins themes have medium prio currently.

So we only have to find a way to prevent web/site level %TABLEATTRIBUTES% to generate local css and distinguish this from explicit user settings in a %TABLE{}%. Skin themes kick in in between.

Filed as Bugs:Item3567 -- MichaelDaum - 05 Feb 2007

-- MichaelDaum - 27 Oct 2006

Copied from Bugs:Item2975:

I have recently had problems with EditTablePlugin and traced it to TWiki::Plugins::EditTablePlugin::Core::parseFormat, line 210:

        $theFormat = TWiki::Func::expandCommonVariables( $theFormat, $theTopic, $theWeb );

Under certain circumstances, after this $theFormat has an extra newline appended, which results in that the table does not correctly reflect the value stored in the topic when we have select, checkbox, or similar restricted types, for the last entry in a row.

We either need to figure out why the extra newline is added, or remove it in parseFormat.

-- ThomasWeigert - 27 Oct 2006

Please add a TestCase for EditTablePlugin with the circumstance, so we can test both plugins when changing the code.

-- ArthurClemens - 27 Oct 2006

-- FredVinton - 14 Nov 2006

Tried to format 'dates' several ways "dd MMM YY", "dd-MMM-YY", "d-MMM-YY", "d MMM YY", "YY MMM dd", etc. but cannot get them to sort as dates. They always sort/collate as 'string' values. Any suggestions?

-- FredVinton - 14 Nov 2006

Could you give us a list of your dates? I would to add them as test cases so we can address this issue a bit quicker.

-- ArthurClemens - 14 Nov 2006

To fix the multiple-table sort problem, make this simple change to the file TablePlugin/Core.pm, in the function emitTable

# NOTE: Modified by Raymond Lutz to allow multiple tables to be sorted on one page.
# On second pass, $sortCol is defined from the last table, and it then undefines
# $initSort. This is simply commented out, and parameters set according to the current
# value of $initSort. I haven't noticed any repercussions from this correction.

#    if ( defined( $sortCol ) ) {         # COMMENT OUT
#        undef $initSort;                   # COMMENT OUT
#    } elsif( defined( $initSort ) ) {   # COMMENT OUT
     if( defined( $initSort ) ) {           # MODIFY elseif TO if
        $sortCol = $initSort - 1;
        $up = $initDirection;
        $direction = $up ? 0 : 1;
        $requestedTable = $tableCount;

Here is Core.pm with the correction from the Dakar release.

  • Core.pm: Sort multiple tables on one page, replacement Core.pm
See also: TablePluginSortMultipleTable

-- RaymondLutz - 14 Dec 2006

This does set the initial sorting state for multiple tables. But after that it is no longer possible to sort on a different column; the initsort value is kept.

Related: we would also need to pass all table settings to the url.

In the TestCases web (in SVN) is a page with TablePlugin tests. It is really helpful to see what effect a code change has on all table variations.

-- ArthurClemens - 14 Dec 2006

For me it would be OK if the sortcol parameter via URL only works on ONE table.

But it is a huge problem that the initsort only works on the first table and that must be possible to fix.

This creates HUGE problems for us.

-- KennethLavrsen - 17 Dec 2006

I'm happy to see that there is now the possibility for initsort to work on multiple tables in the same topic, even if it's not perfect yet. Thanks for your work.

It would also be nice if it could be possible to sort on multirow headers. For example, I have the following header:

NameSorted descending Home Work Note
Phone Fax Phone Fax
Tim 123-4323 878-9678 939-9392 323-3423 Enchanter
Sir Robin 456-3658 589-5245 523-6598 263-2154 Not-quite-so-brave-as-Sir-Lancelot

But because the header is multi-row, sorting does not work.

-- ChrisPurves - 18 Dec 2006

I have just uploaded version 1.020 which now allows initsort to work on multiple tables.

I have not looked at the multirow header problem but after my code change initsort seems to work fine with your example above. But you cannot sort by clicking headers which makes sense to some degree. So I hope this is what you needed.

The 1.020 version is a major rewrite of the way the initsort is working and also how the sorting via clicking headers is working - and it is not based on the earlier proposed change. I hope this will help many. At least it resolves my own urgent problem and I think it works pretty well now.

-- KennethLavrsen - 28 Dec 2006

Thanks, Kenneth for that upgrade. The latest version removes the vertical borders from the cells in a table. Could someone provide an example of how to get those back?

-- ChrisPurves - 08 Feb 2007

the new setting tablerules="all" should solve your problem Chris.

But it actually seems tablerules is broken. The value "none", "group" and "cols" never turn off the horizontal rules.

-- KennethLavrsen - 08 Feb 2007

It should not be necessary to write tablerules="all" for all tables. I don't see this border problem on my computer, but it might be browser related.

Chris, perhaps you upgraded from an older version? The default TABLEATTRIBUTES settings have been changed a little while ago, so have a look at this.

tablerules is not just broken, it cannot be implemented. Not if you want to have any CSS.

-- ArthurClemens - 08 Feb 2007

I have tried tablerules and it only affects rows, not columns. I have also upgraded recently to 4.1.1, but I don't think that is the problem because I see the same thing on this page. Opera 9 and IE 7 both give the same results. I have attached a screenshot of the table above as I see it here. There are no vertical cell borders in the data section and no horizontal cell borders in the title section. Is this what others are seeing?

  • table screenshot showing cell borders:

-- ChrisPurves - 08 Feb 2007

Yes, this image is correct.

-- ArthurClemens - 09 Feb 2007

I have updated the TablePlugin in my 4.0.4 TWiki but I can't get the same "look". If I use cellborder = 1 I get a raised border. I can get the colors, but how do I get the nice gray line that separates rows?

-- MiloValenzuela - 25 Feb 2007

Did you update PatternSkin as well? (If you do, please update TwistyContrib and TwistyPlugin as well)

-- ArthurClemens - 25 Feb 2007

No, I haven't updated the PatternSkin. Can I do it without updating TWiki to 4.1? Would it cause any problem? Thanks!

-- MiloValenzuela - 26 Feb 2007

Hi! I'm new here...

When using ShorterUrlCookbook, to remove /twiki/bin/view from the URL, the column sort URLs are broken, as in: http://server/TWiki/TablePlugin/TWiki/TablePlugin?sortcol=2;table=3;up=0#sorted_table

Is this a known bug (could find no mention of it)? I'm using TWiki 4.0.5.

-- JoseGPedro - 27 Feb 2007

Well, I went ahead and changed the way the URL is built, in Core.pm (sub handler), like so:

        #$url = $cgi->url . $cgi->path_info() . '?' . $plist;
        #$url =~ s/\&/\&amp;/go;

        $url = '?' . $plist;
Notice how I commented also the &amp; substitution, that's (likely) a bug that's triggered when you have more than one parameter in the query string (try sorting a table on a page, then edit it with the Wysiwyg editor, and cancel the edit; then, each time you sort a table, without leaving the page, you'll see multiple &amp;amp= apearing in the URL).

As TWiki puts in each page header a BASE tag referring to the current page, the destination URL of the table column headers ends up being correct, see the A href tag:

<base href="http://server/TWiki/TablePlugin"></base>
<th class="twikiSortedDescendingCol" bgcolor="#dadada">
    <a rel="nofollow" href="?unlock=on&amp;sortcol=2;table=2;up=1#sorted_table" 
        title="Sort by this column"><font color="#000000">Example</font></a>
    <a name="sorted_table"><span title="text sorted descending">
        <img alt="down" src="/twiki/pub/TWiki/TablePlugin/down.gif"></span></a> </th>

Is this the right place to post this, or should I post to the Support web? -- Nevermind, I did it just the same: TablePluginAndShorterUrlsConflict.

-- JoseGPedro - 28 Feb 2007

I made some changes to my copy of TablePlugin

  • sort numbers like -3, +3, +3.1, 3.1e5, -3.1e5, -4.6e-5, -3.1d5. Numbers with "e", "E", "D", and "d" are in scientific notation. Fortran's double-precision numbers print out with a 'd' or 'D' in scientific notation.
  • sort dates like 5-FEB-2007 07:01:23.453

I think that not sorting numbers like -3 is a bug, but I wanted to post my patch here and see what comments it gets before I file a bug.

--- Core.pm     2007-03-09 14:01:12.000000000 -0800
+++ Core.pm     2007-03-12 10:13:06.000000000 -0700
@@ -184,13 +184,30 @@
     } elsif( $text =~ m|^\s*([0-9]{1,2})[-\s/]([A-Z][a-z][a-z])[-\s/]([0-9]{2,4})\s*$| ) {
         # "31 Dec 2003", "31 Dec 03", "31-Dec-2003", "31/Dec/2003"
         my $year = $3;
         $year += 1900 if( length( $year ) == 2 && $year > 80 );
         $year += 2000 if( length( $year ) == 2 );
         $date = timegm( 0, 0, 0, $1, $mon2num{$2}, $year - 1900 );
-    } elsif ( $text =~ /^\s*[0-9]+(\.[0-9]+)?\s*$/ ) {
+    } elsif( $text =~ m|^\s*([0-9]{1,2})[-\s/]([A-Za-z]{3,3})[-\s/]([0-9]{2,4})[-\s]+([0-9][0-9]):([0-6][0-9])(:([0-6][0-9](.[0-9]+)?))?\s*$| ) {
+        # "31 Dec 2003", "31 Dec 03", "31-Dec-2003", "31/Dec/2003", "10-MAR-2007 01:50:05.325"
+        my $year = $3;
+        $year += 1900 if( length( $year ) == 2 && $year > 80 );
+        $year += 2000 if( length( $year ) == 2 );
+        my $secs = 0;
+        if (defined($7)) {
+           $secs = $7;
+        }
+        my $frac = 0;
+        if (defined($8)) {
+           $frac = $8;
+        } 
+        # $num = $7 ;
+        $date =  $frac + timegm( $secs-$frac, $5, $4, $1, $mon2num{ucfirst(lc($2))}, $year - 1900 );
+    } elsif ( $text =~ /^\s*[-+]?[0-9]+(\.[0-9]+)?\s*$/ ) {
+        $num = $text;
+    } elsif ( $text =~ /^\s*([-+]?\d+?\.?\d+)[dDeE]([-+]?\d+)\s*$/ ) {
         $num = $text;
     return( $num, $date );

-- TroyGoodson - 12 Mar 2007

I don't know if I'm doing the md5 thing right, but the md5 link shows:

aaff817ef56d40238f22724d4b25c208  TablePlugin.tgz
5fb5f749464fc186839856a3238a91a5  TablePlugin_installer
f002ba8e1b72dd4aa1d9bfff4af03935  TablePlugin.zip

And I get:

md5sum -b downloads/TablePlugin.zip
6fffaebe1a2786c8dd63f1dc506430dd *downloads/TablePlugin.zip
md5sum -b downloads/TablePlugin.tgz
4dd8a6d9e268304c1744f447ad74f1cc *downloads/TablePlugin.tgz

Of course, I wouldn't particularly care, except when I try to unpack, I get:

tar -ztvf downloads/TWiki_plugins/TablePlugin_2007_01_14.tgz
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error exit delayed from previous errors

So I'm a bit reluctant to install the plugin...Is this a personal problem, or have others seen this? I have tried downloading more than once.


-- DougClaar - 26 Mar 2007

How did you download them? Did you use Internet Explorer?

I just downloaded the tgz with Firefox and the md5sum -b returns the same checksum.

It is known that IE does not like to download tgz files.

-- KennethLavrsen - 26 Mar 2007

Firefox, but of course!

Given that you said it worked for you, I did a wget, and it does come back with the right md5sum. So I guess firefox is just having a problem for me.


-- DougClaar - 26 Mar 2007

The installer appears to hang in rcs. If I hit control-d, then it fails. Guess it is time to upgrade my TWiki. (I'm on 4.0)...

Adding file: down.gif to installation ....
(attaching it to TWiki.TablePlugin)
RCS: /usr/bin/rcs  -l %FILENAME|F% failed:  at /var/www/html/twiki/lib/TWiki/Store/RcsWrap.pm line 419.

RCS: /usr/bin/rcs  -l %FILENAME|F% failed:  at /var/www/html/twiki/lib/TWiki/Store/RcsWrap.pm line 419.

RCS: /usr/bin/rcs  -l %FILENAME|F% failed:  at /var/www/html/twiki/lib/TWiki/Store/RcsWrap.pm line 419.

-- DougClaar - 26 Mar 2007

+1 on the MD5 being inaccurate or something

The MD5 file says:

aaff817ef56d40238f22724d4b25c208  TablePlugin.tgz
5fb5f749464fc186839856a3238a91a5  TablePlugin_installer
f002ba8e1b72dd4aa1d9bfff4af03935  TablePlugin.zip

On the .gz I get:

b61c17998ed08c2e707dfc88e55a94a1  TablePlugin.gz

On the .zip I get:

f002ba8e1b72dd4aa1d9bfff4af03935  TablePlugin.zip

I haven't tried the installer file. So, the zip is the same, but the gz is different.

-- KimPatten - 30 Mar 2007

Please disregard my last comment. I got an incorrect version of the .tgz (prolly should have guessed from the name ;)). I downloaded again and all if fine.

-- KimPatten - 30 Mar 2007

Bug report, Plugin Version: 1.020: With a table containing the following cell: 1[br /] (square brackets changed to pointy brackets for illustration) the sort does not render numerical sorting, only string sorting. I believe there is a simple fix to s/// out the "br/" in the convertToNumber routine, I have yet to test this.

The [br /] are added through some combination of other plugins, maybe WYSIWYG, so it is not possible to user-edit them out of the cells.

-- JonathanCline - 03 Apr 2007

Is there an escape character for tables? I would like to have one ^ in a table. I'm also unable to put in an OR sign ||.

-- MaartenHilgenga - 13 Apr 2007

| &#124;&#124; and &#94; |


|| and ^

-- FranzJosefSilli - 13 Apr 2007

I suggest we document this in both TablePlugin and TextFormattingRules.

-- ArthurClemens - 13 Apr 2007

Added new %CARET% pref variable; updated TWikiEditingShorthand.

-- PeterThoeny - 14 Apr 2007

ChrisPurves , were you able to solve the problem with Internet Explorer 7 and


-- PeterJones - 17 Apr 2007

No, %TABLE{tablerules="cols"}% does nothing, but as was posted above tablerules is broken, although %TABLE{tablerules="rows"}% draws in black row lines. I have still been unable to get vertical cell borders.

-- ChrisPurves - 10 May 2007

Is there anyway to have bullets in a table cell? I have the need to have multiple indents of a bulleted list in a table.

-- AdamCoven - 06 Jun 2007

Yes. But not with TWiki Markup language.

You need to use HTML.

You can also use the TWiki variables BB, BB2, BB3... defined in TWiki.TWikiPreferences.

-- KennethLavrsen - 06 Jun 2007

Table rules is broken and the error is some changes to the CSS in the PatternSkin. The error is only seen in Internet Explorer. The item is tracked in Bugs:Item3822. I have marked it as a release blocker because my users are also frustrated about this bug.

TWiki 4.2.0 will not be released without this resolved. Unfortunately it drags forever to get this bug closed so I do not have a fix for you.

-- KennethLavrsen - 06 Jun 2007

RecursiveRenderPlugin can handle TWiki MarkupLanguage in tables

-- WillNorris - 07 Jun 2007

Cool, thanks Ken & Will, both ways worked =]

-- AdamCoven - 07 Jun 2007

How do you specify the footer row when defining your data 'the TWiki Way?" The example on the plug in home page displays a table with a footer, but there is no raw sample code. Thanks!

  • Check the TWiki markup by clicking the 'Raw View' link at the bottom. -- ArthurClemens - 24 Jun 2007

-- TerrillBennett - 14 Jun 2007

The new plugin version (1.023) is now available for download.

-- ArthurClemens - 24 Jun 2007

... which broke skin css AGAIN frown

-- MichaelDaum - 25 Jun 2007

Hi, I just now installed a new TablePlugin for 4.1.2 but since I have added a this plugin I am not able to edit any pages on Twiki, it gave me this error, During save of Main an error was found by the version control system. Please notify your TWiki administrator.

=Can't locate Time/ParseDate.pm in @INC (@INC contains: /home/httpd/twiki/lib/CPAN/lib//arch/ /home/httpd/twiki/lib/CPAN/lib//5.8.8/i386-linux-thread-multi/ /home/httpd/twiki/lib/CPAN/lib//5.8.8/ /home/httpd/twiki/lib/CPAN/lib// /home/httpd/twiki/lib . /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 Can you please let me know whats wrong in this? also pls let me know if I need to update any module or any more dependent plugin.

-- SameerKamble - 29 Jun 2007

Thanks the issue has been resolved.. it was Time-modules missing. Installed that now its working fine..

-- SameerKamble - 29 Jun 2007

I'm having problems with table rules in header cells. In the sample table below I don't see any rules between the cells with dark blue text.

%TABLE{sort="off" cellpadding="5" databg="none" headeralign="left" headerbg="none" headercolor="#0000AA" tablerules="all"}%
| One One | One Two | One Three | One Four |
| *Two One* | *Two Two*| *Two Three* | Two Four |
| Three One | Three Two | Three Three | Three Four |
| Four One | Four Two | Four Three | Four Four |
| *Five One* | *Five Two* || Five Four |
| Six One | Six Two | Six Three | Six Four |
One One One Two One Three One Four
Two One Two Two Two Three Two Four
Three One Three Two Three Three Three Four
Four One Four Two Four Three Four Four
Five One Five Two Five Four
Six One Six Two Six Three Six Four

I've tested this on my site with release 1.026 of the table plugin.

-- NormProffitt - 02 Jul 2007

The header cell lines have a css style with border color white. You might want to change attachment colors.css in TWiki/PatternSkin. Or write a custom style:

<style type="text/css">
#linedheader th {border-color:#ddd;}
<div id="linedheader">
%TABLE{sort="off" cellpadding="5" databg="none" headeralign="left" headerbg="none" headercolor="#0000AA" tablerules="all"}%
| One One | One Two | One Three | One Four |
| *Two One* | *Two Two*| *Two Three* | Two Four |
| Three One | Three Two | Three Three | Three Four |
| Four One | Four Two | Four Three | Four Four |
| *Five One* | *Five Two* || Five Four |
| Six One | Six Two | Six Three | Six Four |

One One One Two One Three One Four
Two One Two Two Two Three Two Four
Three One Three Two Three Three Three Four
Four One Four Two Four Three Four Four
Five One Five Two Five Four
Six One Six Two Six Three Six Four

This is not ideal and could be done better with future parameters linecolor and headerlinecolor.

-- ArthurClemens - 02 Jul 2007

Thanks, I'll try messing around with the css stuff. Any idea when the linecolor parameters will find their way into the plugin?

-- NormProffitt - 03 Jul 2007

I'm having difficulty making the TABLEATTRIBUTES setting in my WebPreferences work.

Set TABLEATTRIBUTES = tableborder="1" cellpadding="3" cellspacing="3" databg="#EEEEEE, #FFFFFF" sort="off" valign="top" dataalign="left" headerbg="#C1DBFF"

The sort is off. Dataalign is not overriding extra spaces in the table cells. headerbg is unchanged from default. Is there an error in my code that I don't see? Or time to ask our TWiki admins?

-- VickiBrown - 20 Jul 2007

I have created a bug entry: Bugs:Item4409.

-- ArthurClemens - 23 Jul 2007

Another way to deal with the Header line problem that Norm highlighted above would be a parameter to switch off the bold-is-heading behaviour.

This can be achieved explicitly by using the <b></b> HTML bolding.

The ability to switch off this behaviour would also mean that you wouldn't need to set headeralign, headerbg and headercolor parameters just to use bold in a table.

If this was combined with the headerrows parameter, then you could still have bold header rows, but anything bold below the header rows would just be bold, not a header.

-- DuncanKinnear - 31 Jul 2007

Sometimes I would like my table cells not to wrap at all. Suggest to add a new supported attribute to TABLEATTRIBUTES namely nowrap. Specifying this would result in "nowrap" being added in the html on every td element, e.g.

<td nowrap>

How does this sound?

-- LarsBruunxHansen - 20 Aug 2007

The following table doesn't sort in my copy of twiki. ( TWiki Release 4.1.2 (Edinburgh), 15:45:54 03 March 2007 ) does it sort here ?

DateSorted descending Yop
08 Mar 2007 Yop
26 Jan 2007 Yop
18 Jan 2007 Yop
14 Dec 2006 Yop
09 Nov 2006 Yop
28 Sep 2006 Yop
13 Jul 2006 Yop
19 Apr 2006 Yop
23 Mar 2006 Yop
12 Jan 2006 Yop
01 Dec 2005 Yop

Obviously yes. So what could I have missed ?

-- RichardHitier - 04 Sep 2007

Guess you missed an 0 at 01 Dec 2005. Sorting on TWikis ISO dates works as expected.

-- FranzJosefGigler - 04 Sep 2007

You're right.

In fact that static table above is originally output from a form search, format containing datefield reference, and I was confused between table sorting versus seach sorting.

  • this is why I first expected that it would be automatically sorted
  • and is the reason why it was alphabetically sorted but following the second column, this one containing topics name, default sorting field of a search.
  • finally, knowing that I focused on datefield format explains that I could be totally lost.

I learned both table issues, search ones and datefield configuration. Thank you TWiki wink

-- RichardHitier - 05 Sep 2007

What function has the attribute maxcols? It is included in the HTML output, but it's not valid HTML! (line 769 in lib/TWiki/Plugins/TablePlugin/Core.pm)

-- FrankSpangenberg - 25 Sep 2007

Correct. We have removed it in the latest version.

-- ArthurClemens - 25 Sep 2007

Quick question: what is the "id" field for? How can I use it?

-- DirkVandenBerg - 20 Nov 2007

We use the id field to create targeted style sheets for each table. If the table has no id, an id will be automatically assigned.

-- ArthurClemens - 20 Nov 2007

Is it still planned to add the parameter linecolor?

-- FrederikBeun - 08 Jan 2008

It looks like this problem has been solved in the more recent versions of TWiki. Unfortunately, my Company is still on TWiki 4.0.5 and upgrading is not the best immediate solution.

When a TABLE is sortable, the header text is converted to links. These take on the global colors for a:link, etc. Unfortunately, these may not be easily readable against the defined headerbg for the table.

Is there a CSS style solution? Support.HeaderTextColorInSortableTable

-- VickiBrown - 20 Mar 2008

Can't you upgrade just TablePlugin?

-- ArthurClemens - 21 Mar 2008

I would LOVE to upgrade TablePlugin! Unfortunately, there seem to be some problems in doing so. But our admin said (2008-03-24)

I went to upgrade this a few months ago actually, and just had some really really weird problems - error messages on
pages, colors were off, etc...  I definitely want to get this updated, but this one is going to take a little tweaking.
I believe.

-- VickiBrown - 15 Apr 2008

Company has installed and is testing TablePlugin (1.032, $Rev: 16549 (20 Mar 2008) $): on a beta system. Sortable header text is still blue, not white as on my 4.1.2 TWiki. So, still impossible to read.

Our base TWiki is 4.0.5. Is this a CSS issue? Something else? What else do we need to upgrade to get all of the features of the new and improved TablePlugin?

-- VickiBrown - 24 Apr 2008

Anybody?? What (else) do I need to do to ensure that a sortable table has white header text? Simply upgrading TablePlugin wasn't enough!

-- VickiBrown - 30 Apr 2008

The TablePlugin is not respecting the size of images that I place into cells when using the ImagePlugin.

How can I specify the width of a given cell, so that the TablePlugin is forced to give enough breathing room to my images ?

I'd like to specify the cell width, in either a percentage or in pixels..

Thanks! Keith

-- KeithHelfrich - 01 May 2008

Since the tables are properly rendered with thead and tfoot elements, there is an opportunity to enhance the plugin's functionality with CSS definitions for those tags. For example, to repeat the table header at the top of each printed page, which very handy with a long table, the CSS is: thead {display: table-header-group;}

Of course if it would be better if those were under user control as new TABLEATTRIBUTES. I think the repeating header is useful enough it should be "on" by default, though probably not the repeating footer.

-- SeanCMorgan - 08 May 2008

A request for date sorting.

TablePlugin recognizes 13 Jun 2008 as a date, but it views 13 June 2008 as a string. This violates the principle of least surprise and is most confusing to users, especially when the full name (June) is the default from EditTable's date format!)

TablePlugin really ought to recognize both the 3-letter standard abbreviation AND the fully spelled-out month name.

-- VickiBrown - 09 May 2008

it looks like color consistency of sortable headers does work iff the headercolor is specified. It only doesn't work for the default headercolor/headerbg.. So there's a workaround but I'm still puzzled.

-- VickiBrown - 09 May 2008

I noticed that tables can only be sorted when a header is defined. Looks like a bug.

-- ArthurClemens - 09 May 2008

Construction of %IF% with %TABLE% no work, such as

%IF{" condition " then='
| cell | cell | cell |

I believe that this is because the %TABLE% html code uses tabs.

-- CarlinhosCecconi - 16 May 2008


Company has updated TablePlugin but we've missed a piece somewhere because the default color for sortable header text is (still) dark blue instead of white. (screenshot below)


Can someone please tell me what we did wrong?

-- VickiBrown - 31 Jul 2008

It looks like I've found it. The CSS (PatternSkin/colors.css) was not updated when we updated the plugin. Sothe link colors for

.twikiTable th a:link,
and friends were not properly updated.

Is this the only thing that needs to change?

-- VickiBrown - 31 Jul 2008

We have people using

| *A* | *B* | *C* |
| ^ | berry | cherry |
| ^ | bat | cat |

They should see:


berry cherry
bat cat

They do see:


What might we have done wrong in our installation??

-- VickiBrown - 01 Aug 2008

NOTE the above example (col spans from the header cells) works as expected here at twiki.org. It fails on develop.twiki.org.

Both sites claim to be running the same version of TablePlugin. Obviously "something" is out of sync. I hope someone please help me figure out what that might be.


-- VickiBrown - 01 Aug 2008

twiki.org is running 4.1.1, develop.twki.org is running trunk - what are you running?

-- SvenDowideit - 02 Aug 2008

we're running 4.0.5 of TWiki with the latest version of Table Plugin

-- VickiBrown - 04 Aug 2008

TablePlugin appears to not sort IP addresses properly. Sort this table by IP address and take a look.

Host Name IP Address

I can get around it by doing something like this:

Host Name IP Address

-- GordonTerrell - 08 Aug 2008

There is a little problem that was really annoying me.

The attribute bgcolor isn't actually allowed for strict pages under W3C recommendations.

I suggest you to attach an external css file with all the table attributes. And do not use this attribute inside the cells.

Just a suggestion, to give more flexibility, and by this way be approved by the W3C recommendations even under Strict HTML.

Thank You.

-- JoaoMadrid - 13 Aug 2008

Actualy, there is some other mistakes in case of strict html pages.

Font isn't allowed for a cell of a table.

And Border isn't allowed for images.

I made a patche for working with Strict HTML. But Maybe we can think a noble solution.

Thank You

-- JoaoMadrid - 13 Aug 2008

Current table markup has leftovers from the previous html-only styling. Everything is in place to remove this and to move to pure css styling. It only needs a decision.

-- ArthurClemens - 16 Aug 2008

That will be great. Anything u need about W3C recommendations you can contact me. Thanks.

-- JoaoMadrid - 18 Aug 2008

We could start with introducing a setting USE_HTML_STYLING = 0 that can be switched on for 'old' environments.

-- ArthurClemens - 18 Aug 2008

In order to get rid of the error_log messages (-e: Use of uninitialized value in numeric comparison (<=>) at /.../twiki/lib/TWiki/Plugins/TablePlugin/Core.pm line 1343. , and alike line 1348) I suggest the following code:

today: sort { $b->[$sortCol]->{$stype} <=> $a->[$sortCol]->{$stype} }
new: sort { ($b->[$sortCol]->{$stype} || 0) <=> ($a->[$sortCol]->{$stype} || 0) }

Even though my logs are quieter now, is this fix correct?

-- AndreLichtsteiner - 23 Sep 2008

Bug Report: Generate bad link when using Chinese topic name.

  • Use zh_CN.utf8 as local and utf-8 as character set.
  • Add a chinese Topic. For example "Sandbox/中文标题"
  • Add a table and click a column header to sort.
Generated link:
The expected one is:
The web name and topic name is repeated twice. I'm using perl 5.8.8

-- FengZhaolin - 10 Feb 2009

Thanks Fend for reporting this.

-- PeterThoeny - 22 Mar 2009

I think a major shortcoming of this plugin is, that it is unable to sort ISO dates correctly. The patch is rather trivial and should not introduce any ambiguity. Please add this to the release (as well as the patch by TroyGoodson - 12 Mar 2007

--- lib/TWiki/Plugins/TablePlugin/Core.pm.orig	2009-03-19 11:18:35.000000000 +0100
+++ lib/TWiki/Plugins/TablePlugin/Core.pm	2009-03-19 11:26:35.000000000 +0100
@@ -533,6 +533,16 @@
         $year += 2000 if ( length($year) == 2 );
         $date = timegm( 0, 0, 0, $1, $mon2num{$2}, $year - 1900 );
+    elsif ( $text =~
+        m|^\s*([0-9]{4})[-\s/]([0-9]{2})[-\s/]([0-9]{2})\s*$| )
+    {
+        # "2003-12-31", "2003 12 31", "2003/12/31"
+        $date = timegm( 0, 0, 0, $3, $2, $1 - 1900 );
+    }
+    elsif ( $text =~ m|^\s*([0-9]{2})\.([0-9]{2})\.([0-9]{4})\s*$| ) {
+        # "31.12.2003"
+        $date = timegm( 0, 0, 0, $1, $2, $3 - 1900 );
+    }
     elsif ( $text =~ /^\s*([0-9]+)(\.([0-9]))*(.?)*$/ ) {
         # for example for attachment sizes: 1.1 K

-- UlrichSpoerlein - 21 Mar 2009

Thank you Ulrich. I filed TWikibug:Item6219 to track this and TWikibug:Item6218 to track Troy's patch.

-- PeterThoeny - 22 Mar 2009

Seeing odd borders (solid black lines) on table cells in Firefox 4 -- not there in previous FF, nor other browsers ???

-- JonHertzig - 2011-05-04

Let's track the FF 4 issue in Support.SID-01162 and if needed in a but item. Possibly needs to be reported to Mozilla.

-- PeterThoeny - 2011-05-04

I just discovered this cool jQuery plugin called dataTables, https://datatables.net/. It is very fast, and you can do all sorts of stuff, such as:

  • Variable length pagination
  • On-the-fly filtering
  • Multi-column sorting with data type detection
  • Smart handling of column widths
  • Display data from almost any data source
  • etc...

Live example using CSS & JS from http://datatables.net/:

Rendering engine Browser Platform(s) Engine version CSS grade
Trident Internet Explorer 4.0 Win 95+ 4 X
Trident Internet Explorer 5.0 Win 95+ 5 C
Trident Internet Explorer 5.5 Win 95+ 5.5 A
Trident Internet Explorer 6 Win 98+ 6 A
Trident Internet Explorer 7 Win XP SP2+ 7 A
Trident AOL browser (AOL desktop) Win XP 6 A
Gecko Firefox 1.0 Win 98+ / OSX.2+ 1.7 A
Gecko Firefox 1.5 Win 98+ / OSX.2+ 1.8 A
Gecko Firefox 2.0 Win 98+ / OSX.2+ 1.8 A
Gecko Firefox 3.0 Win 2k+ / OSX.3+ 1.9 A
Gecko Camino 1.0 OSX.2+ 1.8 A
Gecko Camino 1.5 OSX.3+ 1.8 A
Gecko Netscape 7.2 Win 95+ / Mac OS 8.6-9.2 1.7 A
Gecko Netscape Browser 8 Win 98SE+ 1.7 A
Gecko Netscape Navigator 9 Win 98+ / OSX.2+ 1.8 A
Gecko Mozilla 1.0 Win 95+ / OSX.1+ 1 A
Gecko Mozilla 1.1 Win 95+ / OSX.1+ 1.1 A
Gecko Mozilla 1.2 Win 95+ / OSX.1+ 1.2 A
Gecko Mozilla 1.3 Win 95+ / OSX.1+ 1.3 A
Gecko Mozilla 1.4 Win 95+ / OSX.1+ 1.4 A
Gecko Mozilla 1.5 Win 95+ / OSX.1+ 1.5 A
Gecko Mozilla 1.6 Win 95+ / OSX.1+ 1.6 A
Gecko Mozilla 1.7 Win 98+ / OSX.1+ 1.7 A
Gecko Mozilla 1.8 Win 98+ / OSX.1+ 1.8 A
Gecko Seamonkey 1.1 Win 98+ / OSX.2+ 1.8 A
Gecko Epiphany 2.20 Gnome 1.8 A
Webkit Safari 1.2 OSX.3 125.5 A
Webkit Safari 1.3 OSX.3 312.8 A
Webkit Safari 2.0 OSX.4+ 419.3 A
Webkit Safari 3.0 OSX.4+ 522.1 A
Webkit Google Chrome 1.0 Win XP+ 525 A
Webkit OmniWeb 5.5 OSX.4+ 420 A
Webkit iPod Touch / iPhone iPod 420.1 A
Webkit S60 S60 413 A
Presto Opera 7.0 Win 95+ / OSX.1+ - A
Presto Opera 7.5 Win 95+ / OSX.2+ - A
Presto Opera 8.0 Win 95+ / OSX.2+ - A
Presto Opera 8.5 Win 95+ / OSX.2+ - A
Presto Opera 9.0 Win 95+ / OSX.3+ - A
Presto Opera 9.2 Win 88+ / OSX.3+ - A
Presto Opera 9.5 Win 88+ / OSX.3+ - A
Presto Opera for Wii Wii - A
Presto Nokia N800 N800 - A
Presto Nintendo DS browser Nintendo DS 8.5 C/A
KHTML Konqureror 3.1 KDE 3.1 3.1 C
KHTML Konqureror 3.3 KDE 3.3 3.3 A
KHTML Konqureror 3.5 KDE 3.5 3.5 A
Tasman Internet Explorer 4.5 Mac OS 8-9 - X
Tasman Internet Explorer 5.1 Mac OS 7.6-9 1 C
Tasman Internet Explorer 5.2 Mac OS 8-X 1 C
Misc NetFront 3.1 Embedded devices - C
Misc NetFront 3.4 Embedded devices - A
Misc Dillo 0.8 Embedded devices - X
Misc Links Text only - X
Misc Lynx Text only - X
Misc IE Mobile Windows Mobile 6 - C
Misc PSP browser PSP - C
Other browsers All others - - U

Our TablePlugin could be simplified, beautified and improved by taking advantage of this GPLed jQuery library.

-- Peter Thoeny - 2013-08-30

Topic attachments
I Attachment History Action Size Date Who Comment
Perl source code filepm Core.pm r1 manage 22.6 K 2006-12-14 - 22:50 RaymondLutz Sort multiple tables on one page, replacement Core.pm
Unknown file formatpatch TablePlugin1.034-StrictHTML.patch r1 manage 4.7 K 2008-08-13 - 18:14 JoaoMadrid Workaround for Strict HTML Pages
PNGpng table_example.png r1 manage 3.8 K 2007-02-08 - 23:05 ChrisPurves table screenshot showing cell borders
Edit | Attach | Watch | Print version | History: r292 < r291 < r290 < r289 < r288 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r292 - 2013-08-30 - PeterThoeny
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2015 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.