Name

AccumulateCode — fetch Interchange code on-demand from CodeRepository instead of starting up with everything

SYNOPSIS

No | Yes

DESCRIPTION

The directive instructs Interchange to fetch code blocks "on-demand" from the CodeRepository instead of starting up with everything. It helps speed up Interchange startup time and reduce memory footprint.

So, at runtime, when particular functionality is needed but is not yet present in the running Interchange installation, it is copied from CodeRepository to $Global::TagDir/Accumulated/ and automatically activated. Later, when you restart Interchange the next time, these code blocks will be found in the accumulated directory and loaded normally (there will be no need to fetch them from CodeRepository again).

Over time, as you access pages and routines, a full set of tags used by a catalog will be copied to the accumulated directory, and you will then be able to turn AccumulateCode off. (In fact, AccumulateCode is recommended for development and should really be turned off in production systems).

DIRECTIVE TYPE AND DEFAULT VALUE

Global directive

EXAMPLES

Example: Enabling AccumulateCode

Put the following in interchange.cfg:

AccumulateCode Yes

NOTES

See CodeRepository for a complete discussion.

AVAILABILITY

AccumulateCode is available in Interchange versions:

4.6.0-5.9.0 (git-head)

SOURCE

Interchange 5.9.0:

Source: lib/Vend/Config.pm
Line 432

['AccumulateCode',   'yesno',            'No'],

Source: lib/Vend/Config.pm
Line 5434 (context shows lines 5434-5446)

sub parse_yesno {
my($var, $value) = @_;
$_ = $value;
if (m/^y/i || m/^t/i || m/^1/ || m/^on/i) {
  return 1;
}
elsif (m/^n/i || m/^f/i || m/^0/ || m/^of/i) {
  return 0;
}
else {
  config_error("Use 'yes' or 'no' for the $var directive\n");
}
}

AUTHORS

Mike Heins

SEE ALSO

CodeRepository(7ic)

DocBook! Interchange!