Tags:
create new tag
view all tags

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

TWiki version: TWikiAlphaRelease
TWiki plugins: DefaultPlugin, EmptyPlugin, InterwikiPlugin
Server OS: Linux
Web server: Apache
Perl version: N/A
Client OS: N/A
Web Browser: N/A

-- 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 frown 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

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r4 - 2003-11-23 - PeterThoeny
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.