diff --git a/core/lib/Foswiki.spec b/core/lib/Foswiki.spec index 4f6e278c97..dbc752e45a 100644 --- a/core/lib/Foswiki.spec +++ b/core/lib/Foswiki.spec @@ -1561,7 +1561,7 @@ $Foswiki::cfg{Cache}{WebDependencies} = $Foswiki::cfg{Cache}{DependencyFilter} = '$Foswiki::cfg{SystemWebName}\..*|$Foswiki::cfg{TrashWebName}\..*|TWiki\..*'; -# **SELECTCLASS Foswiki::PageCache::DBI::* DISPLAY_IF {Cache}{Enabled}** +# **SELECTCLASS Foswiki::PageCache::DBI::* FEEDBACK=AUTO DISPLAY_IF {Cache}{Enabled}** # Select the cache implementation. The default page cache implementation # is based on DBI (http://dbi.perl.org) which requires a working DBI driver to # connect to a database. This database will hold all cached data as well as the diff --git a/core/lib/Foswiki/Configure/Checkers/Cache/Implementation.pm b/core/lib/Foswiki/Configure/Checkers/Cache/Implementation.pm new file mode 100755 index 0000000000..cae4bbfaeb --- /dev/null +++ b/core/lib/Foswiki/Configure/Checkers/Cache/Implementation.pm @@ -0,0 +1,54 @@ +# See bottom of file for license and copyright information +package Foswiki::Configure::Checkers::Cache::Implementation; + +use strict; +use warnings; + +use Foswiki::Configure::Checker (); +our @ISA = ('Foswiki::Configure::Checker'); + +use Foswiki::Configure::Dependency; + +sub check { + my $this = shift; + my $e = ''; + + my $implementation = $Foswiki::cfg{Cache}{Implementation} || ''; + my ($module) = $implementation =~ m/Foswiki::PageCache::(.*)/; + + return unless ( $module && ( $module ne 'DBI::Generic' ) ); + + $module =~ s/^DBI::/DBD::/; + + $e = + $this->checkPerlModule( $module, "Required to use $implementation.", 0 ); + + return ( ( $e =~ m/Not installed./ ) ? $this->ERROR($e) : $this->NOTE($e) ); +} + +1; +__END__ +Foswiki - The Free and Open Source Wiki, http://foswiki.org/ + +Copyright (C) 2013 Foswiki Contributors. Foswiki Contributors +are listed in the AUTHORS file in the root of this distribution. +NOTE: Please extend that file, not this notice. + +Additional copyrights apply to some or all of the code in this +file as follows: + +Copyright (C) 2000-2006 TWiki Contributors. All Rights Reserved. +TWiki Contributors are listed in the AUTHORS file in the root +of this distribution. NOTE: Please extend that file, not this notice. + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. For +more details read LICENSE in the root of this distribution. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +As per the GPL, removal of this notice is prohibited. diff --git a/core/lib/Foswiki/Contrib/core/MANIFEST b/core/lib/Foswiki/Contrib/core/MANIFEST index f540741b2b..eaec203a8b 100644 --- a/core/lib/Foswiki/Contrib/core/MANIFEST +++ b/core/lib/Foswiki/Contrib/core/MANIFEST @@ -507,6 +507,7 @@ lib/Foswiki/Configure/Checkers/ConfigureGUI/PATHINFO.pm 0444 lib/Foswiki/Configure/Checkers/ConfigureGUI/SMIME/InstallCert.pm 0444 lib/Foswiki/Configure/Checkers/Cache/Debug.pm 0444 lib/Foswiki/Configure/Checkers/Cache/DependencyFilter.pm 0444 +lib/Foswiki/Configure/Checkers/Cache/Implementation.pm 0444 lib/Foswiki/Configure/Checkers/Cache/RootDir.pm 0444 lib/Foswiki/Configure/Checkers/Certificate/ClientChecker.pm 0444 lib/Foswiki/Configure/Checkers/Certificate/ClientServerChecker.pm 0444