Extension talk:TableEdit

This page is for bugs, requests, and questions about Extension:TableEdit. Please add your item at the end of the page, and include your MediaWiki signature (" ~ ") at the end of your post.

Row Data spacing
I've noticed that when I save data in a cell, the way it applies to the page puts  tags around that data. The end effect causes the data to have extra spacing between rows. Example :  test It would appear this is caused by the way data is saved in wiki format from the editor. test
 * - bgcolor=#F7F9FA

Is it possible to force it to add the data to the same line as the start of the cell? Like this.. Thereby removing the  tag. test Using Version 0.8 --Bandophahita 19:06, 17 September 2008 (UTC)
 * - bgcolor=#F7F9FA
 * test

More Styling Information
Is there more styling information you can include? Like adding attributes to the other cells besides the header, add a border around the whole table? Or refer to a style class?

Rational for off page data
I was just wondering what the rational was for storing data off page. In a case like this it would seem that data entered would not be accessible to the standard wiki search. Is this true? --Dtsig 02:59, 21 April 2007 (UTC)
 * the text gets stored in the wiki as if it was a regular table. There are two reasons for storing it in the external database.  The first has to do with asynchronous data mining of the table content. The idea is that middleware can be written to work on the external db without interfering with the wiki's db or having to go through the MW interfaces.  I'm working on that kind of middleware right now, but it's in Perl, not PHP.  The second is laziness/lack of imagination/coding skill on my part in terms of how to implement it if it was just saved in the wiki.  In hindsight, I probably could have spent more time adapting whatever the parser already does with tables.  -- JimHu 03:15, 21 April 2007 (UTC)
 * Is it possible to simply switch off the external storage? Possibly a variable set so the external db is not required.? --Dtsig 17:22, 24 April 2007 (UTC)
 * not yet. The table loads from the database, not from the wiki page.  That could change in the future, especially with contributions from other coders (hint, hint) JimHu 23:59, 24 April 2007 (UTC)

Bulk load from a CVS or XML file
It would be great if you add the capability to read in a CVS or XML file

New TableEdit feature/enhancement --Dtsig 14:39, 6 August 2007 (UTC)
There should be a way to wrap it and have it create a table definition 2) If a user messes with the data or worse screws with the tag then we are really hosed For those who don't need the data in a DB for other use, wouldn't it be possible for the routine to parse out a generic table and process just as if it came from the db? I think this would be a great enhancement.  So a simple tage   Does anyone Know how to fix this or hide the "edit table" link when a user is not logged on?

Question about lines showing in the table
This was addressed somewhat (above), but I am seeking more clarification. When I click the "edit table" link, it displays the borders no problem. But when the table is saved/viewed on the portal, no borders are displayed. Is there a way to make the borders visible? Above, it references modifying CSS properties, but I am lost as to where/how to do that. Is that modification made in the portal code itself, after the table is generated? If so, what and where do I insert in the code to make the borders appear (and does it have to be done for each and every table)?

In addition, another comment relates to using the PrettyTable template. On my wiki (MediaWiki), when I edit the page containing the table, it uses the PrettyTable template, but it does not exist on my wiki (IE, when I click on it's link there is no content/page is not created).

Other than this minor visual issue, we love this table product and use it extensively on our intranets.

If anyone could assist us with this, we would appreciate it. Thank you very much!

Examples?
I could only find this page on your wiki where it's used in a template on a page (at the very top) and it's broken. This page has one example (in German, but it's something).

This extension looks very cool, but I can't get my head around it on my first look, and would like to see where it has been used. -- Chriswaterguy 08:35, 11 June 2008 (UTC)


 * you could always snoop around the EcoloiWiki table templates Category:Table_templates  --Russell Smithies

Installation: beware of «update_schema.php»
update_schema.php (from «TableEdit.0.8») is useless, because:
 * Works only under Linux (it use PHP function «getopt», it use some UNIX utilities, ...);
 * «ENGINE=MyISAM» and «DEFAULT CHARSET=latin1» are hardcoded in SQL texts.
 * TableEdit_tables.sql contains some syntax errors (L18, L33, ...).

Instead of running «update_schema.php», users must critically review TableEdit_tables.sql, fix errors and parameters («ENGINE», «DEFAULT CHARSET») and run it manually. --StasFomin 12:37, 28 July 2008 (UTC)
 * Note added to the installation instructions to note problems with update schema. We let the schema SQL docs and the installer get out of sync, since we're trying to reproduce schema adjustments we made manually, and I screwed up in manually editing the SQL (left out some commas). We're working on a new version of update schema, but it's not there yet (because I made some additional modifications - adding a timestamp to the metadata). We can try to make it more platform independent if you can give us some help; it was actually tested on Macs, not Linux --JimHu 15:30, 28 July 2008 (UTC)

Installation error;
mediawiki 1.12 php5  phpmyadmin

I just can't run the file "TableEdit_tables.sql", I kept receive this error message.

KEY `page_name` (`page_name`) ) ENGINE=MyISAM DE' at line 13
 * 1) 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'KEY `template` (`template`),
 * working on a new release to fix this. In the meantime, here is a dump of the structure of those tables from EcoliWiki, where it's running live - note that this is already slightly changed from the 0.8 release; but it should be compatible and will prepare you for the 0.81 release:

-- phpMyAdmin SQL Dump -- version 2.10.2 -- http://www.phpmyadmin.net -- -- Host: trimer.local:3306 -- Generation Time: Jul 30, 2008 at 05:14 PM -- Server version: 5.0.41 -- PHP Version: 5.2.4

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

-- -- Database: `colipedia` --

--

-- -- Table structure for table `ext_TableEdit_box` --

DROP TABLE IF EXISTS `ext_TableEdit_box`; CREATE TABLE IF NOT EXISTS `ext_TableEdit_box` ( `box_id` int(10) unsigned NOT NULL auto_increment,  `template` varchar(255) NOT NULL,  `page_name` varchar(255) NOT NULL,  `page_uid` varchar(255) NOT NULL,  `box_uid` varchar(255) NOT NULL,  `type` varchar(255) NOT NULL,  `headings` varchar(255) NOT NULL,  `heading_style` varchar(255) NOT NULL,  `box_style` varchar(255) NOT NULL,  `timestamp` int(11) NOT NULL,  PRIMARY KEY  (`box_id`),  KEY `template` (`template`),  KEY `page_name` (`page_name`),  KEY `page_uid` (`page_uid`),  KEY `box_uid` (`box_uid`) ) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

--

-- -- Table structure for table `ext_TableEdit_box_metadata` --

DROP TABLE IF EXISTS `ext_TableEdit_box_metadata`; CREATE TABLE IF NOT EXISTS `ext_TableEdit_box_metadata` ( `box_metadata_id` int(10) unsigned NOT NULL auto_increment,  `box_id` int(10) unsigned NOT NULL default '0',  `box_metadata` varchar(255) NOT NULL default '',  `timestamp` int(10) NOT NULL,  PRIMARY KEY  (`box_metadata_id`),  KEY `box_id` (`box_id`) ) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

--

-- -- Table structure for table `ext_TableEdit_row` --

DROP TABLE IF EXISTS `ext_TableEdit_row`; CREATE TABLE IF NOT EXISTS `ext_TableEdit_row` ( `row_id` int(10) unsigned NOT NULL auto_increment,  `box_id` int(10) unsigned NOT NULL,  `owner_uid` int(10) default NULL,  `row_data` text NOT NULL,  `row_style` varchar(255) NOT NULL,  `row_sort_order` int(11) NOT NULL,  `timestamp` int(10) unsigned NOT NULL,  PRIMARY KEY  (`row_id`),  KEY `box_id` (`box_id`) ) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

--

-- -- Table structure for table `ext_TableEdit_row_metadata` --

DROP TABLE IF EXISTS `ext_TableEdit_row_metadata`; CREATE TABLE IF NOT EXISTS `ext_TableEdit_row_metadata` ( `row_metadata_id` int(10) unsigned NOT NULL auto_increment,  `row_id` int(10) unsigned NOT NULL default '0',  `row_metadata` varchar(255) NOT NULL default '',  `timestamp` int(10) NOT NULL,  PRIMARY KEY  (`row_metadata_id`),  KEY `row_id` (`row_id`),  KEY `row_metadata` (`row_metadata`) ) ENGINE=MyISAM  DEFAULT CHARSET=latin1;
 * hope this helps --JimHu 22:18, 30 July 2008 (UTC)


 * It really does help, thanks you very much.


 * Thank you, but how does one then install it properly if one is receiving this error? Do I copy the above text into the "TableEdit_table.sql" file and rerun the update php file.

Work with Extension:ParserFunctions?
What is the data structure? Is all the data store somewhere else within database? Can we retrive it on another page? On the other hand, can we do some calculation with those data?

For example:

I think Extension:WikiDB is an great idea but it's still very primitive.

Fix "Printable Version" page
I had a problem with the default skin of MediaWiki and TableEdit, when useing "Printable Version". In all of my tables the first column got way too wide, because MediaWiki displays "Edit Tanle" button with it's full URL.

I came up with a workaround: tr.sortbottom { font-size: 0px; display: none; }
 * 1) Edit file /path/to/mediawiki-root-dir/skins/common/commonPrint.css
 * 2) Add following to the end of file:

Done - the "Printable Version" page should now display without the "Edit Table" row at all. If you happen to wonder, "font-size: 0px;" is there to do the trick with some older browsers, in 99% of cases "display: none;" is all that is needed. Wyrmiyu 21:10, 14 October 2008 (UTC)

TableEdit stopped working
I had to migrate our wiki due to a server crash. Everything in the mediawiki seems fine except for the TableEdit. It won't allow me to create a new table nor edit an old table.

werd

Sending variables to the template?
Is it possible to send variables to the template in a similar way you do with a 'normal' template? eg. I'd like to be able to do something like this:   or this Template:Gene_data|gene=FABP3 or      </newTableEdit>

</tt>

thanx, Russell Smithies

Newest version
On http://ecoliwiki.net/ the version listed is 0.99 but the version publicly available is 0.8. Is 0.99 available somewhere?

First-time Installation problem with REL-0.99
update_schema.php expects the five SQL files for the table structure to have the .sql extension, but in the version of the package linked in this page ( trimer.tamu.edu/jh/TableEdit-v0.99.tar.gz ), the files in the sql directory do not have that suffix. DEinspanjer 19:37, 25 August 2009 (UTC)

Same here, .sql extensions missing --sandb 01:31, 15 October 2009

Other than the .sql extenstions missing from the filenames, the sql commands also fail to take into account databases with prefixes in their tables. table prefixes also needs to be added to SpecialTableEdit.body.php sql table calls. -- 218.186.13.227 08:38, 19 October 2009 (UTC)

Support for newer MediaWiki versions
The file INSTALL talks about AdminSettings.php, which disappeared in recent MediaWiki versions.

Is it possible to use TableEdit with MediaWiki versions 1.13 and newer? If so, is this documented anywhere?

(Note: prev. person didn't sign anything.)

It should be possible by editing the update_schema.php file:

if (is_file("$wikipath/AdminSettings.php")) {

require_once ("$wikipath/AdminSettings.php");

} elseif (is_file("$wikipath/LocalSettings.php")) {

require_once ("$wikipath/LocalSettings.php");

} else { die("Can't find AdminSettings.php in $wikipath\n");

}

That will go in order to check Admin*, then Local*. Now, I haven't been able to do this yet, due to an libldab.so.2 error, buuut I don't see why it wouldn't work. XtinaS 04:24, 18 January 2010 (UTC)

TableEdit-v2.0 coming...
I've been working with TableEdit a lot at work (EcoliWiki.net) and have produced a refined version. This project/extension was never meant to handle all the things we've added to it over the years, and I felt a major rewrite was in order. I have read all the above problems/concerns/fixes and am trying to address each this time. Check back later, and be glad...I'm writing documentation!!!

--Bluecurio 02:02, 25 March 2010 (UTC)

Hello Bluecurio. Any luck finishing up a new version of this extension. I can't get the existing one to install because of an error related to update_schema.php when I try to install. Any help? Thnx so much for all the hard work! jlewis04 at syr dot edu.

Table-Prefix in Mediawiki
We have a prefix on all our tables in mediawiki. E.g. the table pages is named "wikipages", users "wikiusers" and so on.

When creating a new table, TableEdit complains:

Syntax error: function „wikiBox::save_to_db“. SQL-Error „1146: Table 'wikidb.wikiext_TableEdit_box' doesn't exist“.

First I changed the names with phpmyadmin to wikiext_...

And then I had to change class.wikiBox.php and had to patch this table-prefix to the select conditions in function query_relations_table

--212.80.243.66 10:30, 25 March 2010 (UTC)

When table is changed and saved, it is not saved back to the orginal page in the wiki
Hello

Some 2 years ago I installed TableEdit in a wiki (running mediawiki-1.9.3) I think the TableEdit version is 0.75. For that version a different database was needed and took the default wikibox_db.

I have not used TableEdit for a long time and had recently a hard disk crash. I was able to recover the wiki via the corresponding mysql db and I think I also recovered successfully the db for TableEdit, although I am not sure about the corresponding user and his/her password.

However everyting seems to work save one problem. When I edit the table and add an entry (in the public area) then save the table back to the wiki the page is not save in the right place.

Say the orginal table is in

http://localhost/wiki/index.php/Miembros_CADEDIF then after editing, adding and saving the new table is in http://localhost/wiki/index.php/Table of course I could edit that page and copy its content into http://localhost/wiki/index.php/Miembros_CADEDIF but I don't remember that is was this cumbersome. Any suggestion is strongly appreciated. Thanks Oub 18:05, 16 September 2010 (UTC):

render cell as link?
EcoliWiki has some tables (example: galF:Gene_Product(s)) that have plain text in a cell that is rendered on the page as a live link (such as the "GO ID" column of the "Gene Ontology" table) - how is this done?

It appears to use Template:GO_table_product though I can't see how that causes the entries to render as links.

It doesn't appear to be the CSS that's doing it... Some sort of DB lookup?

Any clues?

Thanks!

TableEdit and InternetExplorer
I tried TableEdit with IE 7 and the table isn't sortable anymore, seems like the TH style is not applied. Anyone know a solution for this ? Thanks. (it works just fine with Firefox...)


 * Mediawiki 1.16
 * TableEdit 1.0.5

--Dyntheos 08:30, 13 December 2010 (UTC)

$(document).ready in init_datatables.js does not get called with IE 7, because of some javascript errors. "Errors" in the sens of IE, not Firefox. IE does not like the leading comas : var base_options = { 'bFilter': false, 'bInfo': false, 'bSort': true, 'bPaginate': false, 'oLanguage': { 'sSearch': 'Filter Rows:', 'sZeroRecords': 'No Rows in Table', 'sInfoEmpty': 'No entries to show', }, }; So, basically, you have to correct the init_datatables.js and get rid of all the leading comas.
 * 'sInfoEmpty': 'No entries to show',
 * },

--Dyntheos 14:32, 15 December 2010 (UTC)

Column Styles
I am looking to designate specific column widths for my table, for example 50% for the first column, 20% for the second, and 15% for the third and fourth. In standard MediaWiki this is possible by declaring the format for the column prior to the column name itself. However, this doesn't seem to be the case with TableEdit. I don't see any ways to change column widths or, for that matter, to perform any sort of formatting of columns.

68.108.150.103 15:55, 9 February 2011 (UTC)

Partial workaround... you can specify width/style for all columns except the first one, in which case such styles end up as part of the header. This seems a parsing bug. Although when adding a new row to the table, the style codes show up in that dialogue. Ugly but acceptable workaround until this can be fixed.

68.108.150.103 16:56, 9 February 2011 (UTC)

No timestamp on first entry
Seems the timestamp only works after editing an existing row, rather than upon first entering one.

I've forced a timestamp to appear by editing SpecialTableEdit.body.php's processing of the timestamp column: Maybe not the best workaround but works for me!

--68.108.150.103 17:01, 9 February 2011 (UTC)

Secial Characters and Umlauts
This refers to MediaWiki 1.16.0 and TableEdit 1.05:

Seemingly TableEdit doesn'l like umlauts like "ö", "ä" and "ü". If I edit or add a row and use a umlaut, it get's screwed up. For example: "Lötbedarf" becomes "LÃ¶tbedarf". However if I use HTML-encodiung like "&ouml ;" inside the TableEdit form, everything is fine. It's very unlikely to be caused by my database or webserver settings, as anywhere else outside TableEdit umlauts work perfectly fine. Does anyone know what may cause this behaviour? 213.144.1.62 12:27, 17 March 2011 (UTC).


 * Does this happen with other accented characters, like "í", "à", "ã", "ñ", "ç", "ô", etc? --Lance E Sloan 16:35, 17 March 2011 (UTC)

Auto user addtion to table field
Hello,

Is it possible to add to the table field the name of user that created the row in automatic manner but not typing yourself [User:usernames|username] ? I mean the column (e.g. 'created author') have to contain only the username of primary author, but not the username of users that will edit the table in future. I have tried the following: Are there any other ways to do that I want? Thank you in advance. 95.84.190.156 16:24, 21 March 2011 (UTC)
 * filling the 'created author' as in template leads to rows conflict each time that table are upgraded.
 * adding variable to table template is not working
 * sql query "SELECT user_name FROM wikidb.username WHERE user_name="" from table template (case 'lookup') results in 'permission denied' error message in editing box.

Error when removing column headings
The following error appears when I try to edit a four column table to remove one of the columns:

Warning: preg_match [function.preg-match]: Unknown modifier '{' in ... /html/extensions/TableEdit/modules/TableMarkerUpper.php on line 48

64.134.238.215 22:34, 6 April 2011 (UTC)

tableedit installation
I am trying to install tableedit extension for my wiki. I have installed Apache, mysql,myphpadmin,mediawiki succesfully which are working fine. I am new to mediawiki and php as well. Can anyone please explain me how to install tableedit extension given on the link Extension:TableEdit

I have downloaded the extension and extracted into the extension folder of mediawiki. After that I am not getting what I have to do.I am using Windows Xp. many Thanks.--146.162.240.242 08:56, 17 August 2011 (UTC)

Parse error: parse error, unexpected T_NEW
on TableEdit-v1.0.5/install.php on line 63 I'm using PHP 4.4. Could this be the cause?

Upgrade document blank?!
UPGRADE INSTRUCTIONS 1. #
 * 1) tar -zxf TableEdit-v1.0.5.tar.gz
 * 2) cd TableEdit-v1.0.5/
 * 3) cat UPGRADE

Anyone know where to find upgrading instructions? The UPGRADE file in the latest version has no instructions.

Installation error?
Hello everyone. I am trying to install the TableEdit extension. I am running:
 * Windows Server 2008 R2
 * IIS 7.5
 * PHP 5.3.9
 * MySQL 5.5.20
 * MediaWiki 1.18.1

I have already installed the ProtectSection extension and I have verified it works as expected.

When I run php install.php -w c:\inetpub\wwwroot\mediawiki I get the error: No superuser credentials could be found. Please provide the details of a user with appropriate permissions to update the database. See the documentation.

I've double-checked my LocalSettings.php file, and I made an AdminSettings.php file with the necessary settings. I can run phpMyAdmin with the superuser credentials specified with no problem.

I've also tried the command line: php install.php ../.. and I get the same error.

Any help would be appreciated.

Update: I created the tables using phpMyAdmin, from the \SQL folder.

Thanks, Steve

PHP error
I can't create a table, and the index.php specialpages link is broken as well, looking in my logs, I have the following error :

PHP Fatal error: Call to a member function addMessages on a non-object in /wiki/extensions/TableEdit/SpecialTableEdit.body.php on line 1346, referer: http:// /wiki/index.php?title=Time_Line&action=edit

any ideas on how to fix?

I get the same error. Fatal error: Call to a member function addMessages on a non-object in / /extensions/TableEdit/SpecialTableEdit.body.php on line 1346

Fatal error: Call to a member function insert_row on a non-object
Reporting a similar, probably related error as the above user(s)... and a fix!

I had a working installation and had been using the extension for some time. I moved servers and the extension "broke". The only difference appears to be in PHP versions (the latest stable release on each machine). The "working" server had PHP 5.3.3-7+squeeze3 with Suhosin-Patch (cli) The new server has PHP 5.3.3-1ubuntu9.10 with Suhosin-Patch (cli)

On editing a row I get: Fatal error: Call to a member function get_serialized on a non-object in / /extensions/tableEdit/SpecialTableEdit.body.php on line 522 On adding a row to an existing table I get: Fatal error: Call to a member function insert_row on a non-object in / /extensions/tableEdit/SpecialTableEdit.body.php on line 528

These, and the symptoms noted above may be secondary symptoms related to the primary problem, also indicated above: on the page resulting from clicking the "Edit this page" link, the sidebar Special pages link fails with an error regarding memcache; it's possible this error is losing the "box" information that is needed by the above routines. The error associated with that special pages link is: Fatal error: Undefined class constant 'COMPRESSION_SAVINGS' in / /includes/memcached-client.php on line 967

Looking at line 967, the guilty constant is referred to as: self::COMPRESSION_SAVINGS On line 96 of the same file, it's defined as const COMPRESSION_SAVINGS = 0.20;

I am not enough of a php expert to know why that constant declaration isn't understood later on in the file, but substituting 0.20 in place of self::COMPRESSION_SAVINGS solved the other issues. I'll leave it to smarter minds to comment on here with an appropriate permanent fix.

Edit: Found another similar error/fix: Fatal error: Undefined class constant 'COMPRESSED' in / /includes/memcached-client.php on line 975 Replacing self::COMPRESSED with 2 here, and elsewhere in the file near line 899, and everything looks like it works. I also, preventatively, changed self::SERIALIZED to 1 in the memcached-client.php file, which may fix any other issues I haven't yet encountered.

Anyone know why self:: isn't referring to the constants at the top of the file?

184.7.78.185 23:13, 16 March 2012 (UTC)

Edit #2: According to http://stackoverflow.com/questions/151969/php-self-vs-this apparently changing self:: to static:: is the correct solution.

184.7.78.185 00:06, 17 March 2012 (UTC)

Edit #3: Reported the bug at https://bugzilla.wikimedia.org/show_bug.cgi?id=35274

184.7.78.185 00:28, 17 March 2012 (UTC)