This issue has already been discussed on IRC and been reported on TWiki:Plugins/TablePluginDev
on 27 Oct 2006. So here's the bug item now.
During recent changes to the TablePlugin
table attributes are added to the local
of a table, paralleling the html attrs that are generated already. This prevents skins to theme tables properly. The situation before (no local
) was also broken in a way because any skin theme would prevent user settings in a
to have no effect.
Remember the priority of html and css:
- low prio: html attrs (e.g.
<td bgcolor="..." >)
- medium prio: skin css (e.g. in
- high prio: local css (e.g.
- very hight prio: skin css marked important (e.g. in
- ultimate prio: local css marked important (e.g.
The solution is to distinguish site preferences in
from explicit user settings given in
- 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
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
to generate local css
and distinguish this from explicit user settings in a
. Skin themes kick in in between.
It would be useful to start with a static html page with the necessary code: at least 2 tables, and local css.
Why? I think I've been clear above. This is a plain perl job in the TablePlugin
core to add a flag that prevents inline styles in the markup under certain
That would be easy to test and hack up. But make sure the tests pass visually (TestCaseTablePlugin
Can we please use CSS classes instead? The explicit styles are a complete and utter PITA to other plugins (such as EditRowPlugin
I fixed that by implementing the following precedence:
- the TABLEATTRIBUTE settings can be overridden by a skin's css
- the TABLE tag overrides any skin's css
now also pass using NatSkin
- 23 May 2007