Bug: Plugin Execution Order is Broken
The latest Plugin handler does not honour anymore the INSTALLEDPLUGINS execution order in
TWikiPreferences:
Currently activated Plugins at TWiki.org is reported as:
ChartPlugin,
DefaultPlugin,
EditTablePlugin,
EmptyPlugin,
GaugePlugin,
InterwikiPlugin,
LocalCityTimePlugin,
PerlDocPlugin,
SlideShowPlugin,
SmiliesPlugin,
SpreadSheetPlugin,
TWikiDrawPlugin,
TablePlugin
This list should start with:
DefaultPlugin,
SpreadSheetPlugin, ...
Test case
Look at the broken gauges in the
CairoRelease topic. This is because the
SpreadSheetPlugin is executed too late.
Environment
--
PeterThoeny - 28 Sep 2003
Follow up
This is cause by the early Plugin initialization funtion that has been added recently. It tries to get the INSTALLEDPLUGINS setting before the preferences handler is initialized.
This bug should be fixed before we create a new
TWikiBetaRelease.
--
PeterThoeny - 16 Oct 2003
Oops

my apologies. Unfortunately, I'm not going to be around for the next couple of weeks. I'm off to Arizona.
--
JohnTalintyre - 16 Oct 2003
Fix record
This is now fixed, in
TWikiAlphaRelease and TWiki.org. Currently activated Plugins reports now:
SpreadSheetPlugin,
AutoSectionsPlugin,
BackupRestorePlugin,
BlackListPlugin,
CalendarPlugin,
ChartPlugin,
ColorPickerPlugin,
CommentPlugin,
DatePickerPlugin,
EditTablePlugin,
GaugePlugin,
GeoLookupPlugin,
HeadlinesPlugin,
IfThenActionPlugin,
InterwikiPlugin,
JQueryPlugin,
LocalCityTimePlugin,
PercentCompletePlugin,
PerlDocPlugin,
PreferencesPlugin,
QRCodePlugin,
RecentVisitorPlugin,
RenderListPlugin,
SetGetPlugin,
ShareMePlugin,
SlideShowPlugin,
SmiliesPlugin,
SyntaxHighlightingPlugin,
TWikiDrawPlugin,
TWikiOrgPlugin,
TWikiSheetPlugin,
TablePlugin,
TagMePlugin,
TinyMCEPlugin,
TwistyPlugin,
VarCachePlugin,
WatchlistPlugin,
WysiwygPlugin
The trick was to split up the preferences initialization into two parts, one for site and web level, the other for user level. That way, the Plugins initialize can be done in between, solving the chicken and egg problem (Plugin init needs prefs, prefs init needs user from Plugin init)
I fixed also another bug that got introduced with the recent change: The TWiki::Plugins::initialize1 got topic and web parameters before their adjustment, e.g. the init got incorrect web/topic in case it was supplied by a URL param.
After some doc work we are ready for the next Beta.
--
PeterThoeny - 23 Nov 2003