Bug 17274: Display the place where the memcached is picked
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 8 Sep 2016 09:26:34 +0000 (10:26 +0100)
committerKyle M Hall <kyle@bywatersolutions.com>
Wed, 2 Nov 2016 10:55:54 +0000 (10:55 +0000)
The memcached config can be read from ENV or koha-conf.xml
In order to remove any ambiguity, let's inform the user which config is
used.

Test plan:
1/ Define the memcached config in ENV and $KOHA_CONF
=> Go on about page, you should get a warning
2/ Define the memcached config in ENV and not in $KOHA_CONF
=> Go on about page, you should get a warning
3/ Do not defined the memcached config in ENV or $KOHA_CONF
=> Go on about page, you should get a warning
4/ Define the memcached config in $KOHA_CONF and not in ENV
=> Go on about page, you should not get a warning, this is the expected
config

Followed test plan, works as expected.
Signed-off-by: Marc <veron@veron.ch>

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

about.pl
koha-tmpl/intranet-tmpl/prog/en/modules/about.tt

index 3e1240b..fc16079 100755 (executable)
--- a/about.pl
+++ b/about.pl
@@ -81,12 +81,22 @@ my $effective_caching_method = ref($cache->cache);
 # FIXME What are the consequences of that??
 my $is_memcached_still_active = $cache->set_in_cache('test_for_about_page', "just a simple value");
 
+my $where_is_memcached_config = 'nowhere';
+if ( $ENV{MEMCACHED_SERVERS} and C4::Context->config('memcached_servers') ) {
+    $where_is_memcached_config = 'both';
+} elsif ( $ENV{MEMCACHED_SERVERS} and not C4::Context->config('memcached_servers') ) {
+    $where_is_memcached_config = 'ENV_only';
+} elsif ( C4::Context->config('memcached_servers') ) {
+    $where_is_memcached_config = 'config_only';
+}
+
 $template->param(
     effective_caching_method => $effective_caching_method,
     memcached_servers   => $memcached_servers,
     memcached_namespace => $memcached_namespace,
     is_memcached_still_active => $is_memcached_still_active,
-    memcached_running   => Koha::Caches->get_instance->memcached_cache
+    where_is_memcached_config => $where_is_memcached_config,
+    memcached_running   => Koha::Caches->get_instance->memcached_cache,
 );
 
 # Additional system information for warnings
index 37bc82e..251af5a 100644 (file)
                                 [% END %]
                             [% ELSE %]
                                 <span>unknown</span>
-                            [% END %]
+                            [% END %] |
+                    Config read from:
+                    [% SWITCH where_is_memcached_config %]
+                        [% CASE 'config_only' %]
+                            <span class="status_ok">koha-conf.xml</span>
+                        [% CASE 'ENV_only' %]
+                            <span class="status_warn">ENV</span> Note that the right place to define the memcached config is in your $KOHA_CONF file
+                        [% CASE 'both' %]
+                            <span class="status_warn">ENV and koha-conf.xml</span> Note that the right place to define the memcached config is in your $KOHA_CONF file. To avoid any misunderstanding you whould not export the memcached config from ENV.
+                        [% CASE # nowhere %]
+                            <span class="status_warn">Nowhere</span> Note that the right place to define the memcached config is in your $KOHA_CONF file. Currently you do not have a valid memcached configuration defined.
+                    [% END %]
                   [% IF effective_caching_method != 'Cache::Memcached::Fast' %]
                     | Effective caching method: [% effective_caching_method %]
                   [% END %]