Edit Table Plugin
This plugin allows you to edit TWiki tables using edit fields and drop down boxes. Tables have an
[ Edit table ] button if preceeded by an
%EDITTABLE{...}%
variable. Each column can be a text field, a drop down box or a row number. Multiple tables per topic can be editable, but only one at a time canbe edited.
EditTablePlugin Global Settings
Plugin settings are stored as preferences variables. To reference
a plugin setting write
%<plugin>_<setting>%
, for example,
%INTERWIKIPLUGIN_SHORTDESCRIPTION%
- One line description, shown in the TextFormattingRules topic:
- Set SHORTDESCRIPTION = Edit TWiki tables using edit fields and drop down boxes.
- Set DEBUG to 1 to get debug messages in
data/debug.txt
. Default: 0
Per Table Settings
Add a
%EDITTABLE{...}%
variable just before an existing table to make it editable, or add the variable anywhere in a topic to start a new table. Parameters:
Parameter | Comment | Default |
header | Enable static header if "on" , e.g. disable editing of the first row; Else specify the header format of a new table like "|*Food*|*Drink*|" . | (no header) |
format | The format of one row when editing the table. A cell can be a text input field, a drop down box, a fixed label, or a row number. Cell definitions: -Text input field (1 line): | | text, <size>, <initial value> | | -Textarea input field: | | textarea, <rows>x<columns>, <initial value> | | - Drop down box: | | select, <size>, <option 1>, <option 2>, etc | | - Fixed label: | | label, 0, <label text> | | - Row number: | | row, <offset> | | - Date: | | date, <sizet> | | | "text, 16" for all cells |
changerows | Rows can be added and removed if "on" ; Rows can be added but not removed if "add" | "on" |
include | Other topic defining the EDITTABLE parameters. The first %EDITTABLE% in the topic is used. This is useful if you have many topics with the same table format and you want to update the format in one place. | (none) |
helptopic | Topic name containing help text shown below the table when editing a table. The %STARTINCLUDE% and %STOPINCLUDE% variables can be used in the topic to specify what is shown. | (no help text) |
Note: By default, variables in
<initial value>
(of text input field) and
<label text>
(of fixed label) get expanded when a new row is added. This can be used for example to add a timestamp to a label. You can escape characters if you do not want that:
Text: | To Escape: |
$quot | Double quote (" ). Alternatively write \" to escape it |
$percnt | Percent sign (% ) |
$dollar | Dollar sign ($ ) |
$nop or $nop() | Is a "no operation" |
Examples
Line before table:
%EDITTABLE{ header="|*Nr*|*Text field sandbox*|*Drop down sandbox*|*Timestamp*|" format="| row, -1 | text, 20, init | select, 1, one, two, three, four | label, 0, %SERVERTIME{"$day $mon $year $hour:$min"}% |" changerows="on" }%
If this plugin is installed you will see an
[ Edit table ] button above; when you click on it you get this form:
Limitations and Known Issues
- This Plugin does not support TWiki table formatting like Multi-span cells (e.g.
| ... ||
) and cell justification (e.g. | centered | right |
).
- There is a performance issue when editing a large table, say, with more then 50 rows.
- The Plugin fails if the table is at the very end of the topic
(without a new line) Always ensure there is a newline after the table
- Variables like
%ATTACHURL%
get expanded unless they are in a label.
- Warning: This plugin uses undocumented functions to read, save and lock a topic. The plugin will likely break in a future TWiki release.
- You cannot put two %EDITTABLE% statements on the same line
in the source.
- You can include %-vars now in select values, by quoting them with
<nop>, as in %<nop>X% for , say for instance:
select,1,%<nop>X%,%<nop>Y%
-
date
field type for the format
parameter adds a button popping a javascript
calendar to choose the date
on browsers supporting it.
It uses the nice Mishoo DHTML calendar at http://dynarch.com/mishoo/calendar.epl,
that should be included in Cairo release, or see TWiki:Codev/JavaScriptDatePickerForForm
for installing it on Beijing Release
Plugin Installation Instructions
- Download the ZIP file from the Plugin web (see below)
- Unzip
EditTablePlugin.zip
in your twiki installation directory. Content:
File: | Description: |
data/TWiki/EditTablePlugin.txt | Plugin topic |
data/TWiki/EditTablePlugin.txt,v | Plugin topic repository |
lib/TWiki/Plugins/EditTablePlugin.pm | Plugin Perl module |
- The plugin depends on the
viewauth
script to authenticate the user. As described in TWikiAccessControl, copy the view
script to viewauth
(or better, create a symbolic link) and add viewauth
to the list of authenticated scripts in the .htaccess
file.
- Test if the plugin is correctly installed:
- Check above example if there is an [ Edit table ] button below the table in above example
- Click on [ Edit table ], make changes and save the table
Plugin Info
Plugin Author: | PeterThoeny |
Plugin Version: | 16 Oct 2003 |
Change History: | |
16 Oct 2003: | small typo fixed (garbled if ---+ header on top) |
15 Oct 2003: | new date field type with javascript calendar - CN |
14 Oct 2003: | docfix: the documentation page was an old one - CN |
13 Oct 2003: | bugfix: %-vars in select were resetted to first on add/del row - CN |
18 Sep 2003: | incompatibility: changed default of changerows to =on= support for %-vars, Quietsave for saving without notification, all other fixes in Dev topic integrated - CN |
08 Nov 2002: | Prevent variable expansion in label text; added escape characters |
27 Jun 2002: | New helptopic parameter |
26 Jun 2002: | Support for variables in included EDITTABLE parameters; fixed problem with HTML in cells |
21 May 2002: | Added fixed label format; new changerows="add" parameter |
27 Apr 2002: | Fixed bug where text after a double quote in a cell disappeared |
18 Apr 2002: | Fixed bug where table was breaking when pasting multiple lines into an edit field using Netscape on Unix |
08 Apr 2002: | Check for change permission and edit lock of topic |
05 Apr 2002: | Initial version |
CPAN Dependencies: | none |
Other Dependencies: | none |
Perl Version: | 5.0 |
Plugin Home: | http://TWiki.org/cgi-bin/view/Plugins/EditTablePlugin |
Feedback: | http://TWiki.org/cgi-bin/view/Plugins/EditTablePluginDev |
Related Topics: TWikiPreferences,
TWikiPlugins
--
PeterThoeny - 08 Nov 2002