• Do not register here on develop.twiki.org, login with your twiki.org account.
• Use View topic Item7848 for generic doc work for TWiki-6.1.1. Use View topic Item7851 for doc work on extensions that are not part of a release. More... Close
• Anything you create or change in standard webs (Main, TWiki, Sandbox etc) will be automatically reverted on every SVN update.
Does this site look broken?. Use the LitterTray web for test cases.

Item4029: EditTablePlugin: THEAD breaks javascript functions, also deleting+adding rows restores old content

Item Form Data

AppliesTo: Component: Priority: CurrentState: WaitingFor: TargetRelease ReleasedIn
Extension EditTablePlugin Urgent Closed   minor 4.2.0

Edit Form Data

Reported By:
Applies To:
Current State:
Waiting For:
Target Release:
Released In:


When you edit the table with the current edit table plugin, you will see that the table header row is shifted to the right. It appears like the move table row buttons are only shown in the header row, not in the normal table rows.

Test case:

Location Vasona Park, Circle group area, reservation done   Foo
Park Reservations reserve 3 month in advance   Bar
Event reservation by April 24th   Moo
Item Comments Who When

-- TWiki:Main/PeterThoeny - 07 May 2007

Raising this to urgent.

-- KennethLavrsen - 07 May 2007

It really bugs me that EditTablePlugin is totally broken and has been for so long.

I started to look for exactly when it broke. And there is a whole series of bugs.

This bug item is caused by this checkin

Author: SvenDowideit
Date: 2007-03-26 10:29:40 -0500 (Mon, 26 Mar 2007)
New Revision: 13225

I changed the headline to a more accurate description.

Sven will you please have a look at the code you checked in?

-- TWiki:Main.KennethLavrsen - 10 May 2007

I am trying to test some of the changes made in EditTablePlugin but this annoying bug is screwing EditTablePlugin up so much that you cannot test anything.

-- TWiki:Main.KennethLavrsen - 27 May 2007

i think it's unfair to blame Sven for this; the problem appears to be with the edittableplugin, which kicks in long before Sven ever adds the thead and tfoot frames. The problem is some naive javascript which is unable to handle correctly structured tables.


The plugin worked perfectly until Sven did the "Add thead and tfoot to TWiki tables" checkin.

I spent a lot of time rolling back by SVN installation to the exact point where it broke.

You cannot alter code - check it in without doing relevant functional testing - and then blame the existing code to be the problem when it does not work. The current Javascript is written to work with the code as it was before the "thead and tfoot" feature was added.

And it is so easy to see the issue. The testing is to edit a normal table with a normal header. It is obvious that no testing was done at all.


The only way to protect plugins is to maintain the core 100% stable; no CSS changes, no template changes, no code changes, not changes to topics. Adding THEAD and TFOOT to the tables should have been harmless to any plugin - they are fundamental to HTML tables, and should be supported by any table-handling plugin - and it is reasonable to expect any extension to handle them. I believe it is the plugin that needs to be fixed, not the core reverted. That's all I am saying.


So who is going to do that? I do not know Javascript. We cannot live with this plugin being broken anymore. Either the Javascript is fixed or we roll back the Sven's changes.


I have written to the author of the new feature TWiki:Main.ByronDarrah in the hope that he will step in again and fix the bug.

Otherwise I have no choice other than rolling back the plugin to where it was before the new feature because I cannot make a release of 4.2.0 with this bug and we cannot test this essential plugin at all before the bug is fixed.


I am for reverting the thead and tfoot enhancement until we have code that works.

-- PTh

Yes. We have been waiting for this one for too long. The right thing now is to let the developers re-commit when they have a full fix ready that does not break anything.

These are the commits that needs to get reverted. I will however like to give Byron Darrah some time to try and re-create the feature that broke.

I just wanted to record what needs to get done if the Javascript does not get fixed soon. Then we remove the thead feature again.

r13961 | CrawfordCurrie | 2007-05-28 13:46:40 +0200 (Mon, 28 May 2007) | 1 line

Item3741: added smarter heuristic for identifying thead and tfoot in tables

r13515 | SvenDowideit | 2007-04-24 17:08:29 +0200 (Tue, 24 Apr 2007) | 1 line

Item3741: found a way to fix the tests properly, so that they can be run both form TWikiSuite and by themselves

r13249 | HaraldJoerg | 2007-04-03 13:51:10 +0200 (Tue, 03 Apr 2007) | 1 line

Item3741: Fix unit tests by enforcing empty script name

r13226 | SvenDowideit | 2007-03-26 17:30:09 +0200 (Mon, 26 Mar 2007) | 1 line

Item3741: add tfoot and thead to TablePlugin, and first row of core table renderer can go into a thead too

r13225 | SvenDowideit | 2007-03-26 17:29:40 +0200 (Mon, 26 Mar 2007) | 1 line

Item3741: add tfoot and thead to TablePlugin, and first row of core table renderer can go into a thead too

-- KennethLavrsen - 03 Jun 2007

Okay, I've updated the javascript file for the EditTablePlugin. It seems to be working in IE and Firefox for me, but please let someone else try it too. I did not have time for extensive testing.

-- TWiki:Main.ByronDarrah - 12 Jun 2007

Thanks for taking care of this.

I will test it on different browsers when I return from Berlin late tonight. Will give feedback Wednesday.

-- TWiki:Main.KennethLavrsen - 12 Jun 2007

Hmmm.... It looks like deleting a row, then adding rows can cause the deleted content to re-appear. In addtion, moving rows around can lead to Core.pm:inputElement injecting data into the wrong rows. [removed my previous comments about inputElement]

-- TWiki:Main.ByronDarrah - 13 Jun 2007

Apparently deleting a row then adding a row is a little buggy and goes back farther than this javascript-related stuff. I tested in my sandbox on twiki.org without javascript, and deleting then adding a row results in the deleted content being restored rather than a new row being created as one would expect. The fix was obvious and only three lines, so I hope you don't mind I just updated the summary for this item and checked it in rather than create a whole bug item for it.

-- TWiki:Main.ByronDarrah - 13 Jun 2007

Okay, I think I've addressed all the problems I know about. inputElement needed to be able to handle labels who's rows had been moved around by javascript.

-- TWiki:Main.ByronDarrah - 13 Jun 2007

Great work. Thanks a lot smile

I have a few small things still but I will create new bug items as they are not release blocking and this bug item should get closed now.

The list of EditTablePlugin bugs is getting very long. So if you have time and energy then many will be happy if we get some of the bugs fixed. See EditTablePlugin (yes this link) for the list.

-- TWiki:Main.KennethLavrsen - 14 Jun 2007

The fix code changes have broken "Add Row": Item4806.

-- TWiki:Main.ArthurClemens - 13 Oct 2007

I have fixed that bug.

-- TWiki:Main.ArthurClemens - 16 Oct 2007

Summary EditTablePlugin: THEAD breaks javascript functions, also deleting+adding rows restores old content
ReportedBy TWiki:Main.PeterThoeny
Codebase ~twiki4
SVN Range TWiki-4.1.2, Thu, 03 May 2007, build 13616
AppliesTo Extension
Component EditTablePlugin
Priority Urgent
CurrentState Closed

Checkins TWikirev:14093 TWikirev:14101 TWikirev:14104 TWikirev:14106 TWikirev:14107 TWikirev:14108 TWikirev:14113
TargetRelease minor
ReleasedIn 4.2.0
Edit | Attach | Watch | Print version | History: r31 < r30 < r29 < r28 < r27 | Backlinks | Raw View |  Raw edit | More topic actions
Topic revision: r31 - 2007-10-16 - ArthurClemens
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback