Item13387: Only first topic published gets TablePlugin default styles
Current State: Closed
Released In: n/a
Target Release: n/a
When publishing a web with PublishPlugin
, the first topic published contains the TablePlugin
default styles. All other topics do not. This is relevant because these default styles affect the presentation of exported tables. For example: these styles provide the alternating background colours for table rows; without these styles, table rows are all the same colour.
The presence (or absence) of these default styles is easy to detect. The default styles are followed by the following marker text:
When the default styles are not present, the "specific" styles are followed by this marker text:
<!--TABLEPLUGIN_specific: requires= missing ids: TABLEPLUGIN_default-->
The problem appears to be that TablePlugin
is not re-initialised between topics.
is cleared in initPlugin, and set in
. The default styles are only added the first time that _addDefaultStyles is called after initPlugin.
Some possible fixes:
$Foswiki::Plugins::TablePlugin::writtenToHead back to zero after publishing each topic. This is a hack. However, it works (this is how I worked around the issue on my own wiki).
- Make PublishPlugin call TablePlugin's
initialiseWhenRender and make that function also reset
writtenToHead. However, that might result in the default styles being added twice when CompareRevisionsAddOn is used to compare things. I haven't tried this.
- Provide a new option for PublishPlugin that lists plugins that should be re-initialised between topics, and put TablePlugin in the default value for that option. I haven't tried this.
- 29 Apr 2015
Moved the checkin posted here over to Item13378
. Didn't attempt to fix the checkin itself.
- 11 May 2015
Should be OK now
- 20 Apr 2017 - 17:57