Item723: t.o plugins that use Sandbox calls may not work out-of-the-box (e.g. LatexModePlugin)
Priority: Normal
Current State: Confirmed
Released In: 1.0.1
Target Release: patch
background process execution using the Sandbox, and backwards compatibility
Description of the problem
The Sandbox functions changed between Foswiki and TWiki, preventing out-of-the-box backwards compatibility using
TWikiCompatibilityPlugin.
The TWiki::Sandbox declared an object, whereas the Foswiki::Sandbox is static.
This affects all TWiki plugins that process data using external background programs.
Examples
In the LatexModePlugin from t.o, in
Render.pm
:
my $sandbox = $TWiki::sharedSandbox || $TWiki::sandbox ;
In the BibtexPlugin from t.o, in BibtexPlugin.pm:
$sandbox = new TWiki::Sandbox();
Workaround
Change the locations where the sandbox is declared to use
use Foswiki::Sandbox;
my $sandbox = $Foswiki::sharedSandbox || $Foswiki::sandbox || 'Foswiki::Sandbox';
Then the static
sysCommand
method of "Foswiki::Sandbox" gets called.
Note: Check SVN for a Foswiki version of the above plugins. They are in the process of being ported. In particular, the LatexModePlugin should be released shortly. -- ScottHoge - 10 Jan 2009
We'll need to look into adding a more correct
TWiki::Sandbox
in T*Compat - shouldn't be too hard to do really.
I see this as a bug in
TWikiCompatibilityPlugin - and advice for rebranders
--
SvenDowideit - 10 Jan 2009