WhippingOOFoswikiIntoShape

Work needed to get Foswiki 3.0 stable

This is a ToDo / Brainstorming list for the OO Foswiki - Item13897 branch - stable enough for to consider it releasable. Backwards compatibility is intentionally omitted. That will need a topic of it's own.

UI issues / idiosyncrasies

Fixed Issue
DONE
Screens display " Unsafe shell variable PATH is used, consider setting SafeEnvPath configuration parameter. " at top. This should be a configure error, not broadcast.
edit
DONE
Login screen shows " RENDERZONE{0} RENDERZONE{1} " at top
edit

Unit test issues

Fixed Issue
Same on master
AccessControlTests::test_login_redirect_preserves_anchor - unexpected pass
edit
Same on master
AdminOnlyAccessControlTests::test_login_redirect_preserves_anchor - unexpected pass (same reason as above, I guess)
edit
DONE
FormattingTests::test_ampersand_querystring - unexpected pass
edit
 
TestCaseAmISane - attachment upload test fails.
It is supposed to update an existing attachment with a different file. But instead creates a new attachment with the new name.
edit
 
SeleniumConfigTest – requires somebody with seleinum knowelege
This has not been functional for a very long time. I'd say it should be disabled for now -- GeorgeClark
edit
 
RobustnessTests - test_filterTopicName
edit
 
UIFnCompileTests – there are discrepancies between expected statuses and those actually returned. Not sure which are more correct as there are different interpretations are possible.
edit

Performance issues

Fixed Issue

Operational issues

Fixed Issue
DONE
Bootstrap on Apache CGI failing with several issues. Foswik.spec appears to not assign any $foswiki::cfg defaults, and also seeing Can't locate object method "secure" via package "Foswiki::Engine::CGI" at /var/www/foswiki/distro/core/lib/Foswiki/Config.pm line 659. CGI engine is broken and there is no reason to support it in this branch. It shall be replaced with Plack::Handler::CGI (Vadim)
edit
 
LocalLib.cfg no longer used. enable ASSERT or MONITOR in the env. Currently requires Apache env statement. Also no way to set libpath. See notes below
edit
DONE (maybe)
Occasionally logging out results in internal error due to undefined _cgisession. ( /LoginManager.pm line 850.) Becomes more severe when {Sessions}{EnableGuestSessions} is disabled. It appears that _has_cgisession always returns true.
edit
DONE (cannot be reproduced)
Logging out from admin but left bar shows stale info as an admin user! Appears to be a cached page issue. Maybe issues creating the variation key?
edit
 
With apache proxy (used with plack-up), BOOTSTRAP uses the proxy host instead of the requested url. Also gets the script name wrong.
edit
DONE
Attempt to create an existing topic using Sandbox WebHome. Fails with Missing required arguments: app at (eval 714) line 37.  at (eval 716) line 75
edit
DONE
SERVERINFORMATION macro asserts in Macros.pm line 478: $stackTop !~ /Foswiki::Macr/  "Foswiki::Macros for $tag" Macro expands with Foswiki::Macros in the text.
edit
 
Use of require locale; must be dropped. Locales must be implemented in a different way.
edit
 
Get rid of all Store implementation code.
edit
 
Check for tainting.
edit

LocalLib.cfg

Depending on community decision with regard to new extensions this approach could be replaced with something different. As long as we keep in mind that a lot of users are not Perl programmers and might be confused with Perlish statements in a config file a more human-readable format shall be considered instead. Proposals are welcome. Though simple .ini would serve the best because it is wide spread, easy to read and well-known to almost everybody in the IT world.

As soon as setting libpath is considered a part of this matter it is proposed either to rely on PERL5LIB environment variable; or where it is not possible to use it make setting of the libpath an application function. The latter case implies that the application must use necessary modules at run time rather than rely on use statement.

Comments

Regarding LocalLib.cfg, we do need some way to set ENV variables, and modify the lib paths, etc. on servers where the installer has no access to shell, or traditional Apache configuration. On my own system where I use mod_suexec to run the foswiki CGI scripts under my local login, I can no longer set FOSWIKI_ASSERTS. (mod_suexec "sanitizes" the ENV before passing control to the CGI script.)

-- GeorgeClark - 20 Oct 2016

We lack a way to bind comments to a subject within topic...

Regarding selenium – if I understand its purpose then I would fit better into PlackTestCase framework.

-- VadimBelman - 02 Nov 2016

Concerning the {SafeEnvPath}, issue the following commands: which bash which diff For shared hosting environments, one could use the attached lamp.pl (renamed to lamp.txt) file. Put it in the cgi-bin directory of your shared hosting and navigate to yourdomain.ext/cgi-bin/lamp.pl to see the results. Maybe someone could make this perl script more generic

-- StijnBousard - 11 Apr 2017
 
I Attachment Action Size Date Who Comment
lamp.pl.txttxt lamp.pl.txt manage 1 K 11 Apr 2017 - 09:46 StijnBousard check Foswiki Installation Requirements
Topic revision: r21 - 11 Apr 2017, StijnBousard
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy