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
script, cloning the original and then modifying where necessary. PSGI configuration should, of course, use the
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:
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
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.