internal package Foswiki::Configure::Pluggable
A Pluggable is a code module that generates items for a hard-coded block
in a configuration, marked by NAME
in the .spec.
Pluggables are used for blocks in the configuration that cannot be handled
by the configuration abstraction, for example blocks used for
downloading extensions, managing plugins, and managing languages.
A pluggable block will normally inject programatically
generated configuration entries (subclasses of Foswiki::Configure::Item
the configuration, usually by appending to the $open configuration item
(which will normally be a Foswiki::Configure::Section
Pluggable implementations are loaded by the parser by calling the
static method in this class. The implementations are packages
, and must provide at least the following
StaticMethod construct( \@settings, $file, $line )
Implemented by subclasses to create the pluggable. Pluggables are
created in-place, by generating and adding Foswiki::Configure::Item
objects and adding them to the settings array.
\@settings - ref to the top level array of settings
$line - file and line in the .spec that triggered the pluggable
Note that there is no need for constructors to worry about the hierarchical
structure of .spec. The structure is only generated after all items have
been generated, by analysis of section markers placed in the settings array.
So items should be added by simply pushing them into @$settings. However,
should a pluggable require a structure within the containing section, it is
OK to push new
objects to @$settings and
populate them using
Note also that values added by pluggables should NOT
set. The presence of this field is used to indicate whether a field was
defined explicitly, or in a pluggable.
Loads a pluggable section from
Will die if there's a problem.
Returns the result from the Pluggable class's