You are here: Foswiki>Tasks Web>Item12392 (05 Jul 2015, GeorgeClark)Edit Attach

Item12392: Add a "preload" plugin handler to the Foswiki plugin API.

Priority: Enhancement
Current State: Closed
Released In: 2.0.0
Target Release: major
Applies To: Engine
Branches: trunk
Reported By: CrawfordCurrie
Waiting For:
Last Change By: GeorgeClark
Sometimes a decision can be made very early whether to allow a request to proceed or not; for example, on the basis of server resources, or information from the request. At the moment the earliest a decision can be made by a plugin is in the earlyInitHandler, which isn't early at al. By the time is is called the Store, the Prefs and the logged-in user are all set up - pointless, if a simple check is going to reject or shortcut the request in some way.

By splitting up some code in the I was able to divide the plugin initialisation process so that plugins can be initiated very very early. This allows the addition of a new handler - I called it preload - that can perform this sort of check.

All other functionality is identical, and code performance is not impacted measurably.

I propose to check this in for 1.2.0

See Development.AddEarlyPluginHandler for feature proposal.

If you want to try it, there's an implementation in the patch file attached.

-- CrawfordCurrie - 13 Feb 2013

Some fixing in Item12440.

-- MichaelDaum - 18 Mar 2013

Correction to cure test failures

-- CrawfordCurrie - 23 Mar 2013

ItemTemplate edit

Summary Add a "preload" plugin handler to the Foswiki plugin API.
ReportedBy CrawfordCurrie
SVN Range
AppliesTo Engine
Priority Enhancement
CurrentState Closed
Checkins distro:87a95d329bf0 distro:88ddfd950239
TargetRelease major
ReleasedIn 2.0.0
CheckinsOnBranches trunk
trunkCheckins distro:87a95d329bf0 distro:88ddfd950239
Topic attachments
I Attachment Action Size Date Who Comment
Item12392.diffdiff Item12392.diff manage 11 K 13 Feb 2013 - 16:49 CrawfordCurrie Inplementation of preload handler
Topic revision: r11 - 05 Jul 2015, GeorgeClark - This page was cached on 22 Oct 2021 - 09:55.

The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy