The TWiki
configure
script tries to start with very few assumptions, yet for an PSGI environment they are invalid. Fixing all of that in the monolith in a compatible way is either too much effort or too much risk, therefore PSGI will get its own
configure
script, cloning the original and then modifying where necessary. PSGI configuration should, of course, use the
lib/Configure
infrastructure wherever possible. If this need changes which are with neglegible risk, they should go into the next release. This is the item to collect these changes:
- The CSS elements and (one of two) JavaScript snippets in
configure
pages appear only for one request. Good enough for non-persistent CGI, but not good enough for persistent environments like PSGI. The reason is that they are directly returned from the <DATA>
file handle, which has already reached eof for the second and all subsequent calls. The fix is trivial: read once and store in a static variable. The variables have already been declared, but haven't been used so far.
- The tiny image
warning.gif
is served by re-entering the configure
script again - with an assumption that the image can be found below the directory of "the current program". This assumption is invalid if the current program is a web server written in Perl. An easy solution is to inline the image.
- There are two TWiki logos in this directory as well, but they are only accessed directly from
configure
itself. The performance overhead of compiling and running configure
four times for one screen is irrelevant, but from an architectural point of view this is pretty insane. The PSGI variant of configure
will have all the images inlined, and the module created for inlining warning.gif
will provide URLs for all images.
- Side note: It passed unnoticed for ten years that the smaller of the logos, advertised as
T-logo34x26-t.gif
, is actually a PNG image
--
TWiki:Main/HaraldJoerg
- 2015-04-05
I missed a file in MANIFEST for the 6.0 branch. Therefore, unfortunately, PSGI doesn't work out of the box in 6.02

I'm adding it now, for the next patch.
--
TWiki:Main.HaraldJoerg
- 2015-12-22