Bug 13404 - More System information about GRS1 vs DOM settings
authorMirko Tietgen <mirko@abunchofthings.net>
Sun, 7 Dec 2014 17:39:51 +0000 (18:39 +0100)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Mon, 9 Feb 2015 16:42:26 +0000 (13:42 -0300)
System information indicates missing <zebra_bib_index_mode> and <zebra_auth_index_mode> entries in koha-conf.xml.

This patch

- adds warnings about a possible mismatch between these settings and the actual setup
- adds info about the actual setup/what values to use for <zebra_bib_index_mode> and <zebra_auth_index_mode> if they are not set.

The assumption is that a path including 'zebra-*-dom.cfg' in the respective section indicates a DOM setup.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>

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

index 9fd1545..3ac9c11 100755 (executable)
--- a/about.pl
+++ b/about.pl
@@ -80,24 +80,70 @@ my $warnIsRootUser   = (! $loggedinuser);
 my $warnNoActiveCurrency = (! defined C4::Budgets->GetCurrency());
 my @xml_config_warnings;
 
+my $context = new C4::Context;
+
 if ( ! defined C4::Context->config('zebra_bib_index_mode') ) {
     push @xml_config_warnings, {
         error => 'zebra_bib_index_mode_warn'
     };
+    if ($context->{'server'}->{'biblioserver'}->{'config'} !=~ /zebra-biblios-dom.cfg/) {
+        push @xml_config_warnings, {
+            error => 'zebra_bib_mode_seems_grs1'
+        };
+    }
+    else {
+        push @xml_config_warnings, {
+            error => 'zebra_bib_mode_seems_dom'
+        };
+    }
 } else {
     push @xml_config_warnings, { error => 'zebra_bib_grs_warn' }
         if C4::Context->config('zebra_bib_index_mode') eq 'grs1';
 }
 
+if ( (C4::Context->config('zebra_bib_index_mode') eq 'dom') && ($context->{'server'}->{'biblioserver'}->{'config'} !=~ /zebra-biblios-dom.cfg/) ) {
+    push @xml_config_warnings, {
+        error => 'zebra_bib_index_mode_mismatch_warn'
+    };
+}
+
+if ( (C4::Context->config('zebra_auth_index_mode') eq 'grs1') && ($context->{'server'}->{'biblioserver'}->{'config'} =~ /zebra-biblios-dom.cfg/) ) {
+    push @xml_config_warnings, {
+        error => 'zebra_bib_index_mode_mismatch_warn'
+    };
+}
+
 if ( ! defined C4::Context->config('zebra_auth_index_mode') ) {
     push @xml_config_warnings, {
         error => 'zebra_auth_index_mode_warn'
     };
+    if ($context->{'server'}->{'authorityserver'}->{'config'} !=~ /zebra-authorities-dom.cfg/) {
+        push @xml_config_warnings, {
+            error => 'zebra_auth_mode_seems_grs1'
+        };
+    }
+    else {
+        push @xml_config_warnings, {
+            error => 'zebra_auth_mode_seems_dom'
+        };
+    }
 } else {
     push @xml_config_warnings, { error => 'zebra_auth_grs_warn' }
         if C4::Context->config('zebra_auth_index_mode') eq 'grs1';
 }
 
+if ( (C4::Context->config('zebra_auth_index_mode') eq 'dom') && ($context->{'server'}->{'authorityserver'}->{'config'} !=~ /zebra-authorities-dom.cfg/) ) {
+    push @xml_config_warnings, {
+        error => 'zebra_auth_index_mode_mismatch_warn'
+    };
+}
+
+if ( (C4::Context->config('zebra_auth_index_mode') eq 'grs1') && ($context->{'server'}->{'authorityserver'}->{'config'} =~ /zebra-authorities-dom.cfg/) ) {
+    push @xml_config_warnings, {
+        error => 'zebra_auth_index_mode_mismatch_warn'
+    };
+}
+
 # Test QueryParser configuration sanity
 if ( C4::Context->preference( 'UseQueryParser' ) ) {
     # Get the QueryParser configuration file name
index 340d808..e94316e 100644 (file)
                         It will default to <strong>dom</strong>.
                     </td>
                 </tr>
+                [% ELSIF config_entry.error == 'zebra_bib_mode_seems_grs1' %]
+                <tr>
+                    <th scope="row"><b>Info</b></th>
+                    <td>Your configuration file indicates that <strong>grs1</strong> is the correct setting
+                    for &lt;zebra_bib_index_mode&gt;.
+                    </td>
+                </tr>
+                [% ELSIF config_entry.error == 'zebra_bib_mode_seems_dom' %]
+                <tr>
+                    <th scope="row"><b>Info</b></th>
+                    <td>Your configuration file indicates that <strong>dom</strong> is the correct setting
+                    for &lt;zebra_bib_index_mode&gt;.
+                    </td>
+                </tr>
                 [% ELSIF config_entry.error == 'zebra_auth_index_mode_warn' %]
                 <tr>
                     <th scope="row"><b>Warning</b></th>
                         It will default to <strong>dom</strong>.
                     </td>
                 </tr>
+                [% ELSIF config_entry.error == 'zebra_auth_mode_seems_grs1' %]
+                <tr>
+                    <th scope="row"><b>Info</b></th>
+                    <td>Your configuration file indicates that <strong>grs1</strong> is the correct setting
+                    for &lt;zebra_auth_index_mode&gt;.
+                    </td>
+                </tr>
+                [% ELSIF config_entry.error == 'zebra_auth_mode_seems_dom' %]
+                <tr>
+                    <th scope="row"><b>Info</b></th>
+                    <td>Your configuration file indicates that <strong>dom</strong> is the correct setting
+                    for &lt;zebra_auth_index_mode&gt;.
+                    </td>
+                </tr>
                 [% ELSIF config_entry.error == 'zebra_bib_grs_warn' %]
                 <tr>
                     <th scope="row"><b>Warning</b></th>
                         <strong>dom</strong> (full reindex required).
                     </td>
                 </tr>
+                [% ELSIF config_entry.error == 'zebra_bib_index_mode_mismatch_warn' %]
+                <tr>
+                    <th scope="row"><b>Warning</b></th>
+                    <td>The &lt;zebra_bib_index_mode&gt; entry is set to <strong>dom</strong>, but your system appears to be set up for <strong>grs1</strong> indexing.
+                    It is safe to ignore this warning if biblio search is working.
+                    </td>
+                </tr>
                 [% ELSIF config_entry.error == 'zebra_auth_grs_warn' %]
                 <tr>
                     <th scope="row"><b>Warning</b></th>
                         <strong>dom</strong> (full reindex required).
                     </td>
                 </tr>
+                [% ELSIF config_entry.error == 'zebra_auth_index_mode_mismatch_warn' %]
+                <tr>
+                    <th scope="row"><b>Warning</b></th>
+                    <td>The &lt;zebra_auth_index_mode&gt; entry is set to <strong>dom</strong>, but your system appears to be set up for <strong>grs1</strong> indexing.
+                    It is safe to ignore this warning if authority search is working.
+                    </td>
+                </tr>
                 [% ELSIF config_entry.error == 'queryparser_entry_missing' %]
                 <tr>
                     <th scope="row"><b>Warning</b></th>