View | Details | Raw Unified | Return to bug 32562
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt (-891 / +1156 lines)
Lines 29-946 Link Here
29
29
30
            <h1>About Koha</h1>
30
            <h1>About Koha</h1>
31
31
32
    <div id="abouttabs" class="toptabs numbered">
32
            <div id="abouttabs" class="toptabs numbered">
33
        <ul class="nav nav-tabs" role="tablist">
33
                <ul class="nav nav-tabs" role="tablist">
34
            <li role="presentation" class="active"><a href="#about" aria-controls="about" role="tab" data-toggle="tab">Server information</a></li>
34
                    <li role="presentation" class="active">
35
            <li role="presentation"><a href="#perl" aria-controls="perl" role="tab" data-toggle="tab">Perl modules</a></li>
35
                        <a href="#about" aria-controls="about" role="tab" data-toggle="tab">Server information</a>
36
            <li role="presentation"><a href="#sysinfo" aria-controls="sysinfo" role="tab" data-toggle="tab">System information</a></li>
36
                    </li>
37
            <li role="presentation"><a href="#team" aria-controls="team" role="tab" data-toggle="tab">Koha team</a></li>
37
                    <li role="presentation">
38
            <li role="presentation"><a href="#licenses" aria-controls="licenses" role="tab" data-toggle="tab">Licenses</a></li>
38
                        <a href="#perl" aria-controls="perl" role="tab" data-toggle="tab">Perl modules</a>
39
            <li role="presentation"><a href="#translations" aria-controls="translations" role="tab" data-toggle="tab">Translations</a></li>
39
                    </li>
40
            <li role="presentation"><a href="#history" aria-controls="history" role="tab" data-toggle="tab">Timeline</a></li>
40
                    <li role="presentation">
41
            <li role="presentation"><a href="#dedications" aria-controls="dedications" role="tab" data-toggle="tab">Dedications</a></li>
41
                        <a href="#sysinfo" aria-controls="sysinfo" role="tab" data-toggle="tab">System information</a>
42
        </ul>
42
                    </li>
43
43
                    <li role="presentation">
44
        <div class="tab-content">
44
                        <a href="#team" aria-controls="team" role="tab" data-toggle="tab">Koha team</a>
45
        <div role="tabpanel" class="tab-pane active" id="about">
45
                    </li>
46
46
                    <li role="presentation">
47
        <table>
47
                        <a href="#licenses" aria-controls="licenses" role="tab" data-toggle="tab">Licenses</a>
48
            <caption>Server information</caption>
48
                    </li>
49
            <tr><th scope="row">Koha version: </th><td>[% kohaVersion | html %][% IF kohaCodename %] <strong>[% kohaCodename | html %]</strong>[% END %]</td></tr>
49
                    <li role="presentation">
50
            <tr><th scope="row">OS version ('uname -a'): </th><td>[% osVersion | html %]</td></tr>
50
                        <a href="#translations" aria-controls="translations" role="tab" data-toggle="tab">Translations</a>
51
            <tr><th scope="row">Perl interpreter: </th><td>[% perlPath | html %]</td></tr>
51
                    </li>
52
            <tr><th scope="row">Perl version: </th><td>[% perlVersion | html %]</td></tr>
52
                    <li role="presentation">
53
            <tr><th scope="row">Perl @INC: </th><td>
53
                        <a href="#history" aria-controls="history" role="tab" data-toggle="tab">Timeline</a>
54
                [% FOREACH perlIncPat IN perlIncPath %]
54
                    </li>
55
                    [% perlIncPat.perlinc | html %] <br />
55
                    <li role="presentation">
56
                [% END %]
56
                        <a href="#dedications" aria-controls="dedications" role="tab" data-toggle="tab">Dedications</a>
57
            </td></tr>
57
                    </li>
58
            <tr><th scope="row">MySQL version: </th><td>[% mysqlVersion | html %]</td></tr>
58
                </ul>
59
            <tr><th scope="row">Apache version: </th><td>[% apacheVersion | html %]</td></tr>
59
60
          [% IF (is_psgi) %]
60
                <div class="tab-content">
61
            <tr><th scope="row">PSGI: </th><td>[% psgi_server | html %]</td></tr>
61
                    <div role="tabpanel" class="tab-pane active" id="about">
62
          [% END %]
62
63
          [% IF Koha.Preference('SearchEngine') == 'Elasticsearch' %]
63
                        <table>
64
            <tr>
64
                            <caption>Server information</caption>
65
                <th scope="row">Elasticsearch: </th>
65
                            <tr>
66
            [% IF elasticsearch_fatal_config_error %]
66
                                <th scope="row">Koha version: </th>
67
                <td><span class="bg-warning">[% elasticsearch_fatal_config_error | html %]</span></td>
67
                                <td>[% kohaVersion | html %][% IF kohaCodename %] <strong>[% kohaCodename | html %]</strong>[% END %]</td>
68
            [% ELSE %]
68
                            </tr>
69
                [% IF elasticsearch_status.running %]
69
                            <tr>
70
                    <td class="bg-success">
70
                                <th scope="row">OS version ('uname -a'): </th>
71
                [% ELSE %]
71
                                <td>[% osVersion | html %]</td>
72
                    <td>
72
                            </tr>
73
                [% END %]
73
                            <tr>
74
                    Version:
74
                                <th scope="row">Perl interpreter: </th>
75
                    <span>[% elasticsearch_status.version | html %]</span>
75
                                <td>[% perlPath | html %]</td>
76
                    |
76
                            </tr>
77
                    Nodes:
77
                            <tr>
78
                    <span>[% elasticsearch_status.nodes.join(' / ') | html %]</span>
78
                                <th scope="row">Perl version: </th>
79
                    |
79
                                <td>[% perlVersion | html %]</td>
80
                    Status:
80
                            </tr>
81
                [% IF elasticsearch_status.running %]
81
                            <tr>
82
                    <span>running</span>
82
                                <th scope="row">Perl @INC: </th>
83
                    |
83
                                <td>
84
                    Indices:
84
                                    [% FOREACH perlIncPat IN perlIncPath %]
85
                  [% FOREACH index IN elasticsearch_status.indexes %]
85
                                        [% perlIncPat.perlinc | html %] <br />
86
                      [% index.index_name | html %] (count: <emph>[% index.index_count | html %]</emph>)[% UNLESS loop.last %], [% END %]
86
                                    [% END %]
87
                  [% END %]
87
                                </td>
88
                [% ELSE %]
88
                            </tr>
89
                    <span class="bg-warning">not running</span>
89
                            <tr>
90
                [% END %]
90
                                <th scope="row">MySQL version: </th>
91
                </td>
91
                                <td>[% mysqlVersion | html %]</td>
92
            [% END %]
92
                            </tr>
93
            </tr>
93
                            <tr>
94
          [% END %]
94
                                <th scope="row">Apache version: </th>
95
            <tr><th scope="row">Memcached: </th>
95
                                <td>[% apacheVersion | html %]</td>
96
                [% IF memcached_running AND is_memcached_still_active AND where_is_memcached_config == 'config_only' %]
96
                            </tr>
97
                    <td class="bg-success">
97
                            [% IF (is_psgi) %]
98
                [% ELSE %]
98
                                <tr>
99
                    <td>
99
                                    <th scope="row">PSGI: </th>
100
                [% END %]
100
                                    <td>[% psgi_server | html %]</td>
101
                    Servers: [% IF memcached_servers %]<span>[% memcached_servers | html %]</span>
101
                                </tr>
102
                             [% ELSE %]<span>undefined</span>[% END %] |
102
                            [% END %]
103
                    Namespace: [% IF memcached_namespace %]<span>[% memcached_namespace | html %]</span>
103
                            [% IF Koha.Preference('SearchEngine') == 'Elasticsearch' %]
104
                               [% ELSE %]<span>undefined</span>[% END %] |
104
                                <tr>
105
                    Status: [% IF memcached_servers %]
105
                                    <th scope="row">Elasticsearch: </th>
106
                                [% IF memcached_running and is_memcached_still_active %]
106
                                    [% IF elasticsearch_fatal_config_error %]
107
                                    <span class="bg-success">running</span>.
107
                                        <td><span class="bg-warning">[% elasticsearch_fatal_config_error | html %]</span></td>
108
                                    [% ELSE %]
109
                                        [% IF elasticsearch_status.running %]
110
                                            <td class="bg-success">
111
                                        [% ELSE %]
112
                                            <td>
113
                                        [% END %]
114
                                                Version:
115
                                                <span>[% elasticsearch_status.version | html %]</span>
116
                                                |
117
                                                Nodes:
118
                                                <span>[% elasticsearch_status.nodes.join(' / ') | html %]</span>
119
                                                |
120
                                                Status:
121
                                            [% IF elasticsearch_status.running %]
122
                                                <span>running</span>
123
                                                |
124
                                                Indices:
125
                                                [% FOREACH index IN elasticsearch_status.indexes %]
126
                                                    [% index.index_name | html %] (count: <emph>[% index.index_count | html %]</emph>)[% UNLESS loop.last %], [% END %]
127
                                                [% END %]
128
                                            [% ELSE %]
129
                                                <span class="bg-warning">not running</span>
130
                                            [% END %]
131
                                            </td>
132
                                    [% END %]
133
                                </tr>
134
                            [% END %]
135
                            <tr>
136
                                <th scope="row">Memcached: </th>
137
                                [% IF memcached_running AND is_memcached_still_active AND where_is_memcached_config == 'config_only' %]
138
                                    <td class="bg-success">
108
                                [% ELSE %]
139
                                [% ELSE %]
109
                                    <span class="bg-warning">not running</span>.
140
                                    <td>
110
                                    [% IF is_psgi %]
141
                                [% END %]
111
                                        <span>Remember memcached needs to be started before Plack.</span>
142
                                        Servers:
143
                                        [% IF memcached_servers %]
144
                                            <span>[% memcached_servers | html %]</span>
145
                                        [% ELSE %]
146
                                            <span>undefined</span>
147
                                        [% END %] |
148
                                        Namespace:
149
                                        [% IF memcached_namespace %]
150
                                            <span>[% memcached_namespace | html %]</span>
151
                                        [% ELSE %]
152
                                            <span>undefined</span>
153
                                        [% END %] |
154
                                        Status:
155
                                        [% IF memcached_servers %]
156
                                            [% IF memcached_running and is_memcached_still_active %]
157
                                                <span class="bg-success">running</span>.
158
                                            [% ELSE %]
159
                                                <span class="bg-warning">not running</span>.
160
                                                [% IF is_psgi %]
161
                                                    <span>Remember memcached needs to be started before Plack.</span>
162
                                                [% END %]
163
                                            [% END %]
164
                                        [% ELSE %]
165
                                            <span>unknown</span>
166
                                        [% END %] |
167
                                        Config read from:
168
                                        [% SWITCH where_is_memcached_config %]
169
                                            [% CASE 'config_only' %]
170
                                                <span class="bg-success">koha-conf.xml</span>
171
                                            [% CASE 'ENV_only' %]
172
                                                <span class="bg-warning">ENV</span> Note that the right place to define the memcached config is in your $KOHA_CONF file
173
                                            [% CASE 'both' %]
174
                                                <span class="bg-warning">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 should not export the memcached config from ENV.
175
                                            [% CASE # nowhere %]
176
                                                <span class="bg-warning">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.
177
                                        [% END %]
178
                                    [% IF effective_caching_method != 'Cache::Memcached::Fast::Safe' %]
179
                                        | Effective caching method: [% effective_caching_method | html %]
112
                                    [% END %]
180
                                    [% END %]
181
                                </td>
182
                            </tr>
183
                            <tr>
184
                                <th scope="row">Zebra version: </th>
185
                                <td>[% zebraVersion | html %]</td>
186
                            </tr>
187
                            <tr>
188
                                <th scope="row">Zebra status: </th>
189
                                [% IF (errZebraConnection == 10000) %]
190
                                    <td class="bg-danger"><strong>Zebra server seems not to be available. Is it started?</strong></td>
191
                                [% ELSIF (errZebraConnection) %]
192
                                    <td class="bg-warning"><strong>Error message from Zebra: [% ( errZebraConnection ) | html %]</strong></td>
193
                                [% ELSE %]
194
                                    <td class="bg-success">Running</td>
113
                                [% END %]
195
                                [% END %]
114
                            [% ELSE %]
196
                            </tr>
115
                                <span>unknown</span>
197
                            <tr>
116
                            [% END %] |
198
                                <th scope="row">Message broker: </th>
117
                    Config read from:
199
                                [% IF warnConnectBroker %]
118
                    [% SWITCH where_is_memcached_config %]
200
                                    <td class="bg-warning"><strong>Using SQL polling</strong></td>
119
                        [% CASE 'config_only' %]
201
                                [% ELSE %]
120
                            <span class="bg-success">koha-conf.xml</span>
202
                                    <td class="bg-success">Using RabbitMQ</td>
121
                        [% CASE 'ENV_only' %]
203
                                [% END %]
122
                            <span class="bg-warning">ENV</span> Note that the right place to define the memcached config is in your $KOHA_CONF file
204
                            </tr>
123
                        [% CASE 'both' %]
205
                            <tr>
124
                            <span class="bg-warning">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 should not export the memcached config from ENV.
206
                                <th scope="row">Date and time: </th>
125
                        [% CASE # nowhere %]
207
                                <td>[% current_date_and_time | $KohaDates  with_hours => 1 %]</td>
126
                            <span class="bg-warning">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.
208
                            </tr>
127
                    [% END %]
209
                            <tr>
128
                  [% IF effective_caching_method != 'Cache::Memcached::Fast::Safe' %]
210
                                [% timezone_config_class = (time_zone.config_invalid) ? 'bg-warning' : '' %]
129
                    | Effective caching method: [% effective_caching_method | html %]
211
                                [% timezone_env_class    = (time_zone.env_invalid)    ? 'bg-warning' : '' %]
130
                  [% END %]
212
                                <th scope="row">Time zone: </th>
131
                </td>
213
                                <td>Used: <span>[% time_zone.actual | html %]</span>
132
            </tr>
214
                                    [% IF time_zone.actual_bad_tz_fallback %]
133
            <tr><th scope="row">Zebra version: </th><td>[% zebraVersion | html %]</td></tr>
215
                                        <span>(This is a fallback value due to a bad configuration)</span>
134
            <tr><th scope="row">Zebra status: </th>
216
                                    [% END %]
135
            [% IF (errZebraConnection == 10000) %]
217
                                    |
136
            <td class="bg-danger"><strong>Zebra server seems not to be available. Is it started?</strong></td>
218
                                    Config:
137
            [% ELSIF (errZebraConnection) %]
219
                                    [% IF time_zone.config != '' %]
138
            <td class="bg-warning"><strong>Error message from Zebra: [% ( errZebraConnection ) | html %]</strong></td>
220
                                        <span class="[% timezone_config_class | html %]">[% time_zone.config | html %]</span>
139
            [% ELSE %]
221
                                    [% ELSE %]
140
            <td class="bg-success">Running</td>
222
                                        <span>Undefined</span>
141
            [% END %]
223
                                    [% END %] |
142
            </tr>
224
                                    Environment (TZ):
143
            <tr>
225
                                    [% IF time_zone.environment != '' %]
144
                <th scope="row">Message broker: </th>
226
                                        <span class="[% timezone_env_class | html %]">[% time_zone.environment | html %]</span>
145
                [% IF warnConnectBroker %]
227
                                    [% ELSE %]
146
                <td class="bg-warning"><strong>Using SQL polling</strong></td>
228
                                        <span>Undefined</span>
147
                [% ELSE %]
229
                                    [% END %]
148
                <td class="bg-success">Using RabbitMQ</td>
230
                                </td>
149
                [% END %]
231
                            </tr>
150
            </tr>
232
                        </table>
151
            <tr>
152
              <th scope="row">Date and time: </th>
153
              <td>[% current_date_and_time | $KohaDates  with_hours => 1 %]</td>
154
            </tr>
155
            <tr>
156
              [% timezone_config_class = (time_zone.config_invalid) ? 'bg-warning' : '' %]
157
              [% timezone_env_class    = (time_zone.env_invalid)    ? 'bg-warning' : '' %]
158
              <th scope="row">Time zone: </th>
159
              <td>Used: <span>[% time_zone.actual | html %]</span>
160
                          [% IF time_zone.actual_bad_tz_fallback %]
161
                             <span>(This is a fallback value due to a bad configuration)</span>
162
                          [% END %]
163
                           |
164
                  Config: [% IF time_zone.config != '' %]
165
                            <span class="[% timezone_config_class | html %]">[% time_zone.config | html %]</span>
166
                          [% ELSE %]
167
                            <span>Undefined</span>
168
                          [% END %] |
169
                  Environment (TZ):  [% IF time_zone.environment != '' %]
170
                          <span class="[% timezone_env_class | html %]">[% time_zone.environment | html %]</span>
171
                        [% ELSE %]
172
                          <span>Undefined</span>
173
                        [% END %]
174
              </td>
175
            </tr>
176
        </table>
177
        </div>
178
        <div role="tabpanel" class="tab-pane" id="perl">
179
            <table style="cursor:pointer">
180
                <caption>Perl modules</caption>
181
                [% FOREACH tabl IN table %]
182
                <tr>
183
                    [% FOREACH ro IN tabl.row %]
184
                    [% IF ( ro.current ) %]
185
                    [% IF ( ro.require ) %]
186
                    <th scope="row" style="font-weight:bold;" title="Module current">
187
                    [% ELSE %]
188
                    <th scope="row" style="font-weight:normal" title="Module current">
189
                    [% END %]
190
                    [% ELSIF ( ro.upgrade ) %]
191
                    [% IF ( ro.require ) %]
192
                    <th scope="row" style="background-color:#FFCB2F;font-weight:bold;" title="Module upgrade needed">
193
                    [% ELSE %]
194
                    <th scope="row" style="background-color:#FFCB2F;font-weight:normal" title="Module upgrade needed">
195
                    [% END %]
196
                    [% ELSE %]
197
                    [% IF ( ro.name == '' ) %]
198
                    <th>
199
                    [% ELSIF ( ro.require ) %]
200
                    <th scope="row" style="background-color:#FF8A8A;font-weight:bold;" title="Required module missing">
201
                    [% ELSE %]
202
                    <th scope="row" style="background-color:#FF8A8A;font-weight:normal" title="Optional module missing">
203
                    [% END %]
204
                    [% END %]
205
                    [% IF ( ro.name ) %]
206
                    [% ro.name | html %] <span style="font-weight:normal; font-size:smaller"> ([% ro.reqversion | html %][% IF ro.maxversion %] - [% ro.maxversion | html %][% END %][% IF ro.excversion %][% FOR v IN ro.excversion %], ![% v | html %][% END %][% END %])</span>
207
                    [% END %]
208
                    </th>
209
                    [% IF ( ro.name == '' ) %]
210
                    <td>
211
                    [% ELSIF ( ro.version ) %]
212
                    <td>[% ro.version | html %]
213
                    [% ELSE %]
214
                    <td style="font-weight:bold">Not Installed [% END %]</td>
215
                    [% END %]
216
                </tr>
217
                [% END %]
218
            </table>
219
        </div>
220
221
        <div role="tabpanel" class="tab-pane" id="sysinfo">
222
    [% IF warnRequireChoosingExistingAuthority || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatronOPACPrivacy || warnPrefAnonymousPatronAnonSuggestions || warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist || warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist || warnPrefKohaAdminEmailAddress || warnPrefOpacHiddenItems || invalid_yesno.count || warnNoActiveCurrency || warnIsRootUser || xml_config_warnings.size || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || has_ai_issues || oauth2_missing_deps || bad_yaml_prefs || warnRelationships || log4perl_errors || config_bcrypt_settings_no_set || warnHiddenBiblionumbers.size || warnConnectBroker || elasticsearch_has_missing %]
223
        [% IF (warnIsRootUser) %]
224
            <h2>Warning regarding current user</h2>
225
            <p>You are logged in as the database administrative user. This is not recommended because some parts of Koha will not function as expected when using this account.</p>
226
            <p>Please log in instead with a regular staff account. To create a staff account, create a library, a patron category 'Staff' and add a new patron. Then give this patron permissions from 'More' in the toolbar.</p>
227
        [% END %]
228
229
        [% IF has_ai_issues %]
230
            <h2>Data problems</h2>
231
            <p>Some of your tables have problems with their auto_increment values which may lead to data loss.</p>
232
            <p><strong>You should not ignore this warning.</strong></p>
233
            <p>The problem is that InnoDB does not keep auto_increment across SQL server restarts (it is only set in memory). So on server startup the auto_increment values are set to max(table.id)+1.</p>
234
            <p>To know how to avoid this problem see the related wiki page:
235
            <a href="https://wiki.koha-community.org/wiki/DBMS_auto_increment_fix">DBMS auto increment fix</a>
236
            </p>
237
238
            <h3>Problems found</h3>
239
            [% IF ai_patrons %]
240
                <h4>Patrons</h4>
241
                <p>The following ids exist in both tables [% "borrowers" | $HtmlTags tag="strong" %] and [% "deletedborrowers" | $HtmlTags tag="strong" %]:</p>
242
                <p>[% FOR p IN ai_patrons %][% p.borrowernumber | html %][% UNLESS loop.last %], [% END %][% END %]</p>
243
            [% END %]
244
            [% IF ai_biblios %]
245
                <h4>Bibliographic records</h4>
246
                <p>The following ids exist in both tables [% "biblio" | $HtmlTags tag="strong" %] and [% "deletedbiblio" | $HtmlTags tag="strong" %]:</p>
247
                <p>[% FOR b IN ai_biblios %][% b.biblionumber | html %][% UNLESS loop.last %], [% END %][% END %]</p>
248
            [% END %]
249
            [% IF ai_items %]
250
                <h4>Items</h4>
251
                <p>The following ids exist in both tables [% "items" | $HtmlTags tag="strong" %] and [% "deleteditems" | $HtmlTags tag="strong" %]:</p>
252
                <p>[% FOR i IN ai_items %][% i.itemnumber | html %][% UNLESS loop.last %], [% END %][% END %]</p>
253
            [% END %]
254
            [% IF ai_checkouts %]
255
                <h4>Checkouts</h4>
256
                <p>The following ids exist in both tables [% "issues" | $HtmlTags tag="strong" %] and [% "old_issues" | $HtmlTags tag="strong" %]:</p>
257
                <p>[% FOR c IN ai_checkouts %][% c.issue_id | html %][% UNLESS loop.last %], [% END %][% END %]</p>
258
            [% END %]
259
            [% IF ai_holds %]
260
                <h4>Holds</h4>
261
                <p>The following ids exist in both tables [% "reserves" | $HtmlTags tag="strong" %] and [% "old_reserves" | $HtmlTags tag="strong" %]:</p>
262
                <p>[% FOR h IN ai_holds %][% h.reserve_id | html %][% UNLESS loop.last %], [% END %][% END %]</p>
263
            [% END %]
264
            <br/>
265
        [% END %]
266
267
        [% IF warnRelationships %]
268
            <h2>Patron relationship problems</h2>
269
            [% IF bad_relationships_count %]
270
                <p>Your database contained guarantee/guarantor pairs with no defined relationship. They have been set the value '_bad_data' in the [% "borrowers.relationship" | $HtmlTags tag="strong" %] and/or [% "borrower_relationships.relationship" | $HtmlTags tag="strong" %] columns. Fix them manually by recreating those relationships, or have your system's administrator correct the values.</p>
271
            [% END %]
272
273
            [% IF wrong_relationships %]
274
                <p>The following values have been used for guarantee/guarantor relationships, but do not exist in the 'borrowerRelationship' system preference:</p>
275
                <ul>
276
                    [% FOR rel IN wrong_relationships %]
277
                        <li>[% rel.0 | html %]</li>
278
                    [% END %]
279
                </ul>
280
                <p>If the relationship is one you want, please add it to the 'borrowerRelationship' system preference, otherwise have your system's administrator correct the values in [% "borrowers.relationship" | $HtmlTags tag="strong" %] and/or [% "borrower_relationships.relationship" | $HtmlTags tag="strong" %] in the database.</p>
281
            [% END %]
282
        [% END %]
283
284
        [% IF log4perl_errors %]
285
            <h2>Logging system does not behave correctly</h2>
286
            [% FOR e IN log4perl_errors %]
287
                [% SWITCH e %]
288
                    [% CASE 'missing_config_entry' %]<span>There is no 'log4perl_conf' entry in the config file.</span>
289
                    [% CASE 'cannot_read_config_file' %]<span>The log4perl config file cannot be opened.</span>
290
                    [% CASE 'logfile_not_writable' %]<span>One of the logfiles listed in the config file is not writable.</span>
291
                    [% CASE 'cannot_init_module' %]<span>The Koha::Logger module cannot be initiated correctly (check the log file).</span>
292
                    [% CASE %]<span>Unknown error '[% e | html %]'.</span>
293
                [% END %]
294
            [% END %]
295
        [% END %]
296
297
        [% IF warnConnectBroker %]
298
            <h2>Impossible to connect to the message broker</h2>
299
            There is an error when trying to connect to the message broker (RabbitMQ), check the Koha log files.
300
            <br/>
301
            Maybe it is not installed and configured correctly?
302
            <br/>
303
            Contact your system administrator.
304
        [% END %]
305
306
        [% IF warnPrefRequireChoosingExistingAuthority || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatronOPACPrivacy || warnPrefAnonymousPatronAnonSuggestions || warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist || warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist || warnPrefKohaAdminEmailAddress || warnPrefOpacHiddenItems || invalid_yesno.count || warnNoActiveCurrency || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || warnXSLT || oauth2_missing_deps || bad_yaml_prefs || warnIssuingRules || config_bcrypt_settings_no_set || warnHiddenBiblionumbers.size %]
307
            <h2>Warnings regarding the system configuration</h2>
308
            <table>
309
                <caption>Preferences and parameters</caption>
310
                [% IF (warnPrefRequireChoosingExistingAuthority) %]
311
                <tr><th scope="row"><strong>Warning</strong> </th><td>System preference 'RequireChoosingExistingAuthority' is disabled, but needs 'AutoCreateAuthorites' enabled. Otherwise catalogers can add headings that will not be linked to authorities.</td></tr>
312
                [% END %]
313
                [% IF (warnPrefEasyAnalyticalRecords) %]
314
                <tr><th scope="row"><strong>Warning</strong> </th><td>System preference 'EasyAnalyticalRecords' set, but UseControlNumber preference is set to 'Use'. Set it to 'Don't use' or else the 'Show analytics' links in the staff interface and the OPAC will be broken.</td></tr>
315
                [% END %]
316
                [% IF warnPrefAnonymousPatronOPACPrivacy %]
317
                    <tr><th scope="row"><strong class="error">Error</strong> </th><td>System preference 'OPACPrivacy' set, but AnonymousPatron preference is set to '0'. Set it to a valid borrower number or checkins for these patrons will fail.</td></tr>
318
                [% END %]
319
                [% IF warnPrefAnonymousPatronAnonSuggestions %]
320
                    <tr><th scope="row"><strong>Warning</strong> </th><td>System preference 'AnonSuggestions' set, but AnonymousPatron preference is set to '0'. Set it to a valid borrower number if you want that this feature works correctly.</td></tr>
321
                [% END %]
322
                [% IF warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist %]
323
                    <tr><th scope="row"><strong class="error">Error</strong> </th><td>Some patrons have requested a privacy on returning item but the AnonymousPatron pref is not set correctly. Set it to a valid borrower number or checkins for these patrons will fail.</td></tr>
324
                [% END %]
325
                [% IF warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist %]
326
                    <tr><th scope="row"><strong>Warning</strong> </th><td>System preference 'AnonSuggestions' set, but AnonymousPatron preference is not set correctly. Set it to a valid borrower number if you want that this feature works correctly.</td></tr>
327
                [% END %]
328
                [% IF warnPrefKohaAdminEmailAddress %]
329
                    <tr><th scope="row"><strong>Warning</strong> </th><td>System preference 'KohaAdminEmailAddress' does not contain a valid email address. Emails will not be sent.</td></tr>
330
                [% END %]
331
                [% IF warnPrefOpacHiddenItems %]
332
                    <tr><th scope="row"><strong>Warning</strong> </th><td>System preference 'OpacHiddenItems' generates a warning and will produce unexpected behaviors: [% warnPrefOpacHiddenItems | html %]</th></tr>
333
                [% END %]
334
                [% IF warnXSLT %]
335
                    [% FOR p IN warnXSLT %]
336
                        <tr><th scope="row"><strong>Warning</strong> </th><td>System preference '[% p.syspref | html %]' is '[% p.value | html %]', but the file '[% p.filename | html %]' does not exist.</th></tr>
337
                    [% END %]
338
                [% END %]
339
                [% IF invalid_yesno.count %]
340
                    [% FOR p IN invalid_yesno %]
341
                        <tr><th scope="row"><strong>Warning</strong> </th><td>System preference '[% p.variable | html %]' must be '0' or '1', but is [% IF p.value.defined %]'[% p.value | html%]'[% ELSE %]NULL[% END %].</td></tr>
342
                    [% END %]
343
                [% END %]
344
                [% IF warnNoActiveCurrency %]
345
                    <tr><th scope="row"><strong>Warning</strong> </th><td>No active currency is defined. Please go to <a href="/cgi-bin/koha/admin/currency.pl">Administration &gt; Currencies and exchange rates</a> and mark one currency as active.</td></tr>
346
                [% END %]
347
                [% IF warnStatisticsFieldsError %]
348
                    <tr><th scope="row"><strong>Warning</strong> </th><td>System preference 'StatisticsFields' contains field names not belonging to the items database table: [% warnStatisticsFieldsError | html %] </td></tr>
349
                [% END %]
350
                [% IF AutoSelfCheckPatronDoesNotHaveSelfCheckPerm %]
351
                    <tr><th scope="row"><strong>Warning</strong> </th><td>
352
                    The patron used for the self checkout module at the OPAC does not have the self_check => self_checkout_module permission.
353
                    </td></tr>
354
                [% END %]
355
                [% IF AutoSelfCheckPatronHasTooManyPerm %]
356
                    <tr><th scope="row"><strong>Warning</strong> </th><td>
357
                    The patron used for the self checkout module at the OPAC has too many permissions. They should only have self_check => self_checkout_module.
358
                    </td></tr>
359
                [% END %]
360
                [% IF warnNoTemplateCaching %]
361
                    <tr><th scope="row"><strong>Warning</strong> </th><td>
362
                    You are missing the &lt;template_cache_dir&gt; entry in your koha-conf.xml file.
363
                    That will bring a performance boost to enable it.
364
                    </td></tr>
365
                [% END %]
366
                [% IF warnILLConfiguration %]
367
                  [% IF no_ill_backends %]
368
                    <tr><th scope="row"><strong>Warning</strong> </th><td>
369
                    The ILL module is enabled, but there are no backends available.
370
                    </td></tr>
371
                  [% END %]
372
                  [% IF ill_partner_code_not_defined %]
373
                    <tr><th scope="row"><strong>Warning</strong> </th><td>
374
                    The ILL module is enabled, but no 'partner_code' defined in koha-conf.xml. Falling back to the hardcoded 'ILLLIBS'.
375
                    </td></tr>
376
                  [%END %]
377
                  [% IF ill_branch_not_defined %]
378
                    <tr><th scope="row"><strong>Warning</strong> </th><td>
379
                    The ILL module is enabled, but no 'branch' block is defined in koha-conf.xml. You must define this block before use.
380
                    </td></tr>
381
                  [%END %]
382
                  [% IF ill_partner_code_doesnt_exist %]
383
                    <tr><th scope="row"><strong>Warning</strong> </th><td>
384
                    The ILL module is enabled, but the configured 'partner_code' ([% ill_partner_code_doesnt_exist | html %]) is not defined on the system.
385
                    </td></tr>
386
                  [% END %]
387
                [% END %]
388
                [% IF oauth2_missing_deps %]
389
                    <tr><th scope="row"><strong>Warning</strong> </th><td>
390
                    System preference 'RESTOAuth2ClientCredentials' is set, but the required Net::OAuth2::AuthorizationServer dependency is missing. The feature is disabled.
391
                    </td></tr>
392
                [% END %]
393
                [% IF bad_yaml_prefs %]
394
                    <tr><th scope="row"><strong>Warning</strong> </th><td>
395
                    Some system preferences have badly formatted YAML content: [% bad_yaml_prefs.join(', ') | html %]
396
                    </td></tr>
397
                [% END %]
398
                [% IF config_bcrypt_settings_no_set %]
399
                    <tr><th scope="row"><strong>Warning</strong> </th><td>
400
                    System preference 'Pseudonymization' is set, but there is not 'bcrypt_settings' entry defined in the $KOHA_CONF file.
401
                    </td></tr>
402
                [% END %]
403
                [% IF warnHiddenBiblionumbers.size %]
404
                    <tr><th scope="row"><strong>Warning</strong> </th><td>
405
                    [% FOR w IN warnHiddenBiblionumbers %]
406
                        Biblio framework "[% w.frameworkcode | html %]" has the biblionumber field hidden at the interface [% w.interface | html %]<br/>
407
                    [% END %]
408
                    </td></tr>
409
                [% END %]
410
                [% IF Koha.Preference('SearchEngine') == 'Elasticsearch' && elasticsearch_status.version.substr(0,1) < 6 %]
411
                    <tr><th scope="row"><strong>Deprecation warning</strong></th><td>
412
                            Elasticsearch version 5.x is not supported in Koha 20.11 and greater. Please upgrade your Elasticsearch cluster
413
                    </td></tr>
414
                [% END %]
415
416
            </table>
417
        [% END %]
418
419
        [% IF xml_config_warnings.size %]
420
            <table>
421
                <caption>XML configuration file</caption>
422
            [% FOREACH config_entry IN xml_config_warnings %]
423
                [% IF config_entry.error == 'zebra_bib_index_mode_is_grs1' %]
424
                <tr>
425
                    <th scope="row"><strong>Warning</strong></th>
426
                    <td>The &lt;zebra_bib_index_mode&gt; entry set to 'grs1', which is no longer supported.
427
                        Please use DOM instead. To switch follow this page of wiki:
428
                        <a href="https://wiki.koha-community.org/wiki/Switching_to_dom_indexing">Switching to dom indexing</a>
429
                    </td>
430
                </tr>
431
                [% ELSIF config_entry.error == 'zebra_auth_index_mode_is_grs1' %]
432
                <tr>
433
                    <th scope="row"><strong>Warning</strong></th>
434
                    <td>The &lt;zebra_auth_index_mode&gt; entry set to 'grs1', which is no longer supported.
435
                        Please use DOM instead. To switch follow this page of wiki:
436
                        <a href="https://wiki.koha-community.org/wiki/Switching_to_dom_indexing">Switching to dom indexing</a>
437
                    </td>
438
                </tr>
439
                [% ELSIF config_entry.error == 'use_zebra_facets_entry_missing' %]
440
                <tr>
441
                    <th scope="row"><strong>Warning</strong></th>
442
                    <td>The &lt;use_zebra_facets&gt; entry is missing in your configuration file. Falling back
443
                        to legacy facet calculation.
444
                    </td>
445
                </tr>
446
                [% ELSIF config_entry.error == 'log4perl_entry_missing' %]
447
                <tr>
448
                    <th scope="row"><strong>Warning</strong></th>
449
                    <td>You are missing the &lt;log4perl_conf&gt; entry in your koha-conf.xml file. Please
450
                        add it, pointing to the log4perl.conf file for your Koha instance.
451
                    </td>
452
                </tr>
453
                [% ELSIF config_entry.error == 'lockdir_entry_missing' %]
454
                <tr>
455
                    <th scope="row"><strong>Warning</strong></th>
456
                    <td>You are missing the &lt;lockdir&gt; entry in your koha-conf.xml file. Please
457
                        add it, pointing to your Koha instance's lock dir.
458
                    </td>
459
                </tr>
460
                [% ELSIF config_entry.error == 'lockdir_not_writable' %]
461
                <tr>
462
                    <th scope="row"><strong>Warning</strong></th>
463
                    <td>The configured &lt;lockdir&gt; entry in your koha-conf.xml file points to a
464
                        non-writable directory ([% config_entry.lockdir | html %]).
465
                    </td>
466
                </tr>
467
                [% ELSIF config_entry.error == 'uploadpath_entry_missing' %]
468
                <tr>
469
                    <th scope="row"><strong>Warning</strong></th>
470
                    <td>You are missing the &lt;upload_path&gt; entry in your koha-conf.xml file. Please
471
                        add it, pointing to the configured file upload directory for your Koha instance.
472
                    </td>
473
                </tr>
474
                [% ELSIF config_entry.error == 'uploadpath_and_opacbaseurl_entry_missing' %]
475
                <tr>
476
                    <th scope="row"><strong>Warning</strong></th>
477
                    <td>You are missing the &lt;upload_path&gt; entry in your koha-conf.xml file. Please
478
                        add it, pointing to the configured file upload directory for your Koha instance.
479
                        Also note that you need to properly set the OPACBaseURL preference for the file upload plugin to work.
480
                    </td>
481
                </tr>
482
                [% ELSIF config_entry.error == 'tmp_path_missing' %]
483
                <tr>
484
                    <th scope="row"><strong>Warning</strong></th>
485
                    <td>You are missing the &lt;tmp_path&gt; entry in your koha-conf.xml file. Please
486
                        add it, pointing to the configured temporary directory for your Koha instance.
487
                        The effective temporary directory is '[% config_entry.effective_tmp_dir | html %]'.
488
                    </td>
489
                </tr>
490
                [% ELSIF config_entry.error == 'encryption_key_missing' %]
491
                <tr>
492
                    <th scope="row"><strong>Warning</strong></th>
493
                    <td>You are missing the &lt;encryption_key&gt; entry in your koha-conf.xml file.
494
                        Please generate a key. We recommend one of at least 32 bytes. (You might use 'pwgen 32' to do so.)
495
                    </td>
496
                </tr>
497
                [% END %]
498
            [% END %]
499
            </table>
500
        [% END %]
501
502
        [% IF warnIssuingRules %]
503
            <table>
504
                <caption>Issuing rules</caption>
505
                [% FOREACH unit IN ir_units %]
506
                <tr>
507
                    <th scope="row"><strong>Warning</strong></th>
508
                    <td>The [% unit.branchcode || 'branchcode=default' | html %], [% unit.categorycode || 'categorycode=default' | html %], [% unit.itemtype || 'itemtype=default' | html %]
509
                        issuingrule will fallback to 'days' for 'lengthunit' as it is incorrectly defined as
510
                        [% unit.rule_value | html %].
511
                    </td>
512
                </tr>
513
                [% END %]
514
            </table>
515
        [% END %]
516
517
        [% IF elasticsearch_has_missing %]
518
            <table>
519
                <caption>Records are not indexed in Elasticsearch</caption>
520
                [% FOREACH index IN elasticsearch_status.indexes %]
521
                    [% IF index.missing_count %]
522
                    <tr>
523
                        <th scope="row"><strong>Warning</strong></th>
524
                        <td>
525
                            [% index.missing_count | html %] record(s) missing on a total of [% index.index_count | html %] in index [% index.index_name | html %].
526
                        </td>
527
                    </tr>
528
                    [% END %]
529
                [% END %]
530
            </table>
531
        [% END %]
532
533
    [% ELSE %]
534
        <p>No warnings.</p>
535
    [% END %]
536
        </div>
537
538
        <div role="tabpanel" class="tab-pane" id="team">
539
            <h2>Special thanks to the following organizations</h2>
540
            <ul>
541
                <li><a href="http://library.org.nz">Horowhenua Library Trust</a>, New Zealand, and Rosalie Blake, Head of Libraries, (Koha 1.0)</li>
542
                <li>The <a href="http://www.myacpl.org/">Athens County Public Libraries</a>, Ohio, USA (MARC sponsorship, documentation, template maintenance)</li>
543
                <li><a href="http://www.emn.fr">EMN (Ecole des Mines de Nantes)</a>, France (Suggestions, Stats wizards and improved LDAP sponsorship)</li>
544
                <li><a href="http://www.mines-paristech.fr">Mines Paristech (previously Ecole Nationale Supérieure des Mines de Paris)</a>, France (biblio frameworks, MARC authorities, OPAC basket, Serials sponsorship)</li>
545
                <li><a href="http://www.mediathequeouestprovence.fr/">SAN-Ouest Provence</a>, France (Koha 3.0 enhancements to patrons and holds modules)</li>
546
                <li>The <a href="http://ccfls.org">Crawford County Federated Library System</a>, PA, USA (Koha 3.0 Zebra Integration sponsorship)</li>
547
                <li>The <a href="http://www.geauga.lib.oh.us/">Geauga County Public Library</a>, OH, USA (Koha 3.0 beta testing)</li>
548
                <li>The <a href="http://library.neu.edu.tr">Near East University</a>, Cyprus</li>
549
                <li>OPUS International Consultants, Wellington, New Zealand (Corporate Serials sponsorship)</li>
550
                <li><a href="http://www.famfamfam.com/">famfamfam.com</a> Birmingham (UK) based developer Mark James for the famfamfam Silk iconset.</li>
551
                <li><a href="http://www.ashs.school.nz/">Albany Senior High School</a>, Auckland, New Zealand (OPAC 'star-ratings' sponsorship)</li>
552
            </ul>
553
554
            <h2>Koha release teams</h2>
555
            [% IF maintenance_team %]
556
                <div class="row">
557
                    <div class="col-md-6">
558
                        <h3>Koha [% short_version | html %][% IF kohaCodename %] ([% kohaCodename | html %])[% END %] release team</h3>
559
                        [% IF development_version %]
560
                            <p>You are running a development version of Koha</p>
561
                        [% ELSE %]
562
                            [% INCLUDE team t=release_team v='release' %]
563
                        [% END %]
564
                    </div>
233
                    </div>
565
234
566
                    <div class="col-md-6">
235
                    <div role="tabpanel" class="tab-pane" id="perl">
567
                        <h3>Current maintenance team</h3>
236
                        <table style="cursor:pointer">
568
                        [% INCLUDE team t=maintenance_team v=short_version %]
237
                            <caption>Perl modules</caption>
238
                            [% FOREACH tabl IN table %]
239
                                <tr>
240
                                    [% FOREACH ro IN tabl.row %]
241
                                        [% IF ( ro.current ) %]
242
                                            [% IF ( ro.require ) %]
243
                                                <th scope="row" style="font-weight:bold;" title="Module current">
244
                                            [% ELSE %]
245
                                                <th scope="row" style="font-weight:normal" title="Module current">
246
                                            [% END %]
247
                                        [% ELSIF ( ro.upgrade ) %]
248
                                            [% IF ( ro.require ) %]
249
                                                <th scope="row" style="background-color:#FFCB2F;font-weight:bold;" title="Module upgrade needed">
250
                                            [% ELSE %]
251
                                                <th scope="row" style="background-color:#FFCB2F;font-weight:normal" title="Module upgrade needed">
252
                                            [% END %]
253
                                        [% ELSE %]
254
                                            [% IF ( ro.name == '' ) %]
255
                                                <th>
256
                                            [% ELSIF ( ro.require ) %]
257
                                                <th scope="row" style="background-color:#FF8A8A;font-weight:bold;" title="Required module missing">
258
                                            [% ELSE %]
259
                                                <th scope="row" style="background-color:#FF8A8A;font-weight:normal" title="Optional module missing">
260
                                            [% END %]
261
                                        [% END %]
262
                                        [% IF ( ro.name ) %]
263
                                            [% ro.name | html %]
264
                                            <span style="font-weight:normal; font-size:smaller">
265
                                                ([% ro.reqversion | html %]
266
                                                [% IF ro.maxversion %] - [% ro.maxversion | html %][% END %]
267
                                                [% IF ro.excversion %][% FOR v IN ro.excversion %], ![% v | html %][% END %][% END %])
268
                                            </span>
269
                                        [% END %]
270
                                        </th>
271
                                        [% IF ( ro.name == '' ) %]
272
                                            <td>
273
                                        [% ELSIF ( ro.version ) %]
274
                                            <td>[% ro.version | html %]
275
                                        [% ELSE %]
276
                                            <td style="font-weight:bold">Not Installed
277
                                        [% END %]
278
                                            </td>
279
                                    [% END %]
280
                                </tr>
281
                            [% END %]
282
                        </table>
569
                    </div>
283
                    </div>
570
                </div>
571
            [% ELSE %]
572
                <div class="dialog alert">
573
                    Could not read the teams.yaml file. Please make sure &lt;docdir&gt; is correctly defined in koha-conf.xml.
574
                </div>
575
            [% END %]
576
577
            <h2>Koha development team</h2>
578
            [% IF contributors.size %]
579
                <ul class="columns-4">
580
                    [% FOREACH contributor IN contributors %]
581
                    <li>[% INCLUDE person p=contributor %][% INCLUDE contributions p=contributor %]</li>
582
                    [% END %]
583
                </ul>
584
            [% ELSE %]
585
                <div class="dialog alert">
586
                    Could not read the contributors.yaml file. Please make sure &lt;docdir&gt; is correctly defined in koha-conf.xml.
587
                </div>
588
            [% END %]
589
            <hr>
590
591
            <h2>Contributing companies and institutions</h2>
592
            <ul class="columns-4">
593
                <li>Allen Ginsberg Library, USA</li>
594
                <li>Alingsås Public Library, Sweden</li>
595
                <li>American Numismatic Society, USA</li>
596
                <li>Arcadia Public Library, USA</li>
597
                <li>Athens County Public Libraries, USA</li>
598
                <li>BdP de la Meuse, France</li>
599
                <li>BibLibre, France</li>
600
                <li>Biblioteca Provincial Fr. Mamerto Esquiú (Provincia Franciscana de la Asunción), Argentina</li>
601
                <li>Bibliotheksservice-Zentrum Baden-Württemberg (BSZ), Germany</li>
602
                <li>Briar Cliff University, USA</li>
603
                <li>Brimbank City Council, Australia</li>
604
                <li>Brooklyn Law School Library, USA</li>
605
                <li>Bibliothèque Universitaire des Langues et Civilisations (<a href="https://www.bulac.fr">BULAC</a>), France</li>
606
                <li>ByWater Solutions, USA</li>
607
                <li>California College of the Arts, USA</li>
608
                <li>Camden County, USA</li>
609
                <li>Carnegie Stout Library, USA</li>
610
                <li>Calyx, Australia</li>
611
                <li>Catalyst IT, New Zealand</li>
612
                <li>Central Kansas Library System (CKLS), USA</li>
613
                <li>Centre collégial des services regroupés (CCSR), Canada</li>
614
                <li>Cheshire Libraries, United Kingdom</li>
615
                <li>Coeur d'Alene Public Library, USA</li>
616
                <li>Corpus Christi Public Libraries, USA</li>
617
                <li>C &amp; P Bibliography Services, USA</li>
618
                <li>Dataly Tech, Greece</li>
619
                <li>Devinim, Turkey</li>
620
                <li>Do Space, USA</li>
621
                <li>DoverNet, USA</li>
622
                <li>doXulting</li>
623
                <li>Duchesne County Library, USA</li>
624
                <li>Escuela de Orientacion Lacaniana, Argentina</li>
625
                <li>Fenway Library Organization, USA</li>
626
                <li>Fargo Public Library, USA</li>
627
                <li>Farmington Public Library, USA</li>
628
                <li>FIT</li>
629
                <li>Foundations Bible College &amp; Seminary, USA</li>
630
                <li>Goethe-Institut, Germany</li>
631
                <li>Gothenburg University Library, Sweden</li>
632
                <li>Halland County Library, Sweden</li>
633
                <li>Harrison Carmel Public Library, USA</li>
634
                <li>Hauraki District Libraries, New Zealand</li>
635
                <li>Higher Education Libraries of Massachusetts, USA</li>
636
                <li>Hochschule für Gesundheit (hsg), Germany</li>
637
                <li>Hotchkiss School, USA</li>
638
                <li>Katipo Communications, New Zealand</li>
639
                <li>KEEP SOLUTIONS, Portugal</li>
640
                <li>KohaAloha, New Zealand</li>
641
                <li>Koha-Suomi Oy, Finland</li>
642
                <li>LibLime, USA</li>
643
                <li>Library of the Józef Piłsudski Institute of America, USA</li>
644
                <li>Libriotech, Norway</li>
645
                <li>Los Gatos Public Library, USA</li>
646
                <li>Lund University Library, Sweden</li>
647
                <li>MassCat, USA</li>
648
                <li>Middletown Township Public Library, USA</li>
649
                <li>National Library of Finland, Finland</li>
650
                <li>Newcastle City Council, United Kingdom</li>
651
                <li>New Zealand Central Agencies Library, New Zealand</li>
652
                <li>New Zealand Ministry of Education Library, New Zealand</li>
653
                <li>North Central Regional Library (NCRL), USA</li>
654
                <li>Northeast Kansas Library System (NEKLS), USA</li>
655
                <li>OPUS</li>
656
                <li>Orex Digital, Spain</li>
657
                <li>Oslo Public Library, Norway</li>
658
                <li>Plano Independent School, USA</li>
659
                <li>Plant and Food Research Limited, New Zealand</li>
660
                <li>Prosentient Systems, Australia</li>
661
                <li>PTFS, Maryland, USA</li>
662
                <li>PTFS Europe Ltd, United Kingdom</li>
663
                <li>Rijksmuseum, Amsterdam, The Netherlands</li>
664
                <li>Rolling Hills Consolidated Libraries, USA</li>
665
                <li>Round Rock Public Library, USA</li>
666
                <li>SAN-Ouest Provence, France</li>
667
                <li>Sefton Council, United Kingdom</li>
668
                <li>software.coop, United Kingdom</li>
669
                <li>South-East Kansas Library System (SEKLS), USA</li>
670
                <li>South Taranaki District Council, New Zealand</li>
671
                <li>Stockholm University Library, Sweden</li>
672
                <li>SWITCH Library Consortium, USA</li>
673
                <li>Talking Tech, Global</li>
674
                <li>Tamil, France</li>
675
                <li>Theke Solutions, Argentina</li>
676
                <li>Tulong Aklatan, Philippines</li>
677
                <li>Uintah Library System, USA</li>
678
                <li>Universidad de El Salvador, El Salvador</li>
679
                <li>Universidad Empresarial Siglo 21, Argentina</li>
680
                <li>Universidad Nacional de Córdoba, Argentina</li>
681
                <li>Universidad ORT Uruguay</li>
682
                <li>Université d'Aix-Marseille, France</li>
683
                <li>Université de Lyon 3, France</li>
684
                <li>Université de Rennes 2, France</li>
685
                <li>Université de St Etienne, France</li>
686
                <li>University of the Arts London, United Kingdom</li>
687
                <li>Vaara-kirjastot, Finland</li>
688
                <li>Vanier College, Canada</li>
689
                <li>Vermont Organization of Koha Automated Libraries (VOKAL), USA</li>
690
                <li>Ville de Victoriaville, Canada</li>
691
                <li>Virginia Tech, USA</li>
692
                <li>Washoe County Library System, USA</li>
693
                <li>Xercode, Spain</li>
694
            </ul>
695
696
            <h2>Additional thanks to...</h2>
697
            <ul>
698
                <li>Irma Birchall</li>
699
                <li>Rachel Hamilton-Williams (Kaitiaki from 2004 to present)</li>
700
                <li>Stephen Hedges (early Documentation Manager)</li>
701
                <li>Brooke Johnson</li>
702
                <li>Jo Ransom</li>
703
                <li>Nicholas Rosasco (Documentation Compiler)</li>
704
                <li>Regula Sebastiao</li>
705
            </ul>
706
        </div>
707
708
        <div role="tabpanel" class="tab-pane" id="licenses">
709
            <h2>Koha</h2>
710
            <p>
711
            <a href="http://www.gnu.org/licenses/gpl-3.0.html">Koha 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 3 of the License, or (at your option) any later version.</a>
712
            </p>
713
            <h2>jQuery and jQueryUI</h2>
714
            <p><a href="http://jquery.com/">jQuery</a> and <a href="http://jqueryui.com/">jQueryUI</a> are licensed under the <a href="http://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt">MIT license</a></p>
715
716
            <h2>Bootstrap</h2>
717
            <p><a href="https://getbootstrap.com/">Bootstrap</a> code and <a href="http://glyphicons.com">Glyphicons Free</a> licensed under the <a href="https://github.com/twbs/bootstrap/blob/master/LICENSE">MIT license</a>.</p>
718
719
            <h2>Bootstrap Icons</h2>
720
            <p><a href="https://icons.getbootstrap.com/">Bootstrap Icons</a> licensed under the <a href="https://github.com/twbs/icons/blob/main/LICENSE.md">MIT license</a>.</p>
721
722
            <h2>Famfamfam iconset</h2>
723
              <ul>
724
                <li><a href="http://www.famfamfam.com/lab/icons/silk/">FamFamFam Site</a></li>
725
                <li><a href="http://creativecommons.org/licenses/by/2.5/">Creative Commons Attribution 2.5 License</a></li>
726
              </ul>
727
            <h2>The Bridge Material Type Icon Set</h2>
728
              <ul>
729
                <li><a href="http://apps.carleton.edu/campus/library/bridge_icons/">Bridge Material Type Icons Project</a></li>
730
                <li>The Bridge Material Type Icon Set is licensed under a
731
                  <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>
732
                  by the Bridge Consortium of Carleton College and St. Olaf College.</li>
733
              </ul>
734
735
            <h2>jQuery Bar Rating Plugin</h2>
736
              <p>jQuery Bar Rating Plugin v1.22 by <a href="http://antenna.io/demo/jquery-bar-rating/examples/">Antenna.io</a> is licensed under the <a href="http://en.wikipedia.org/wiki/MIT_License">MIT License</a>.</p>
737
738
            <p>Copyright &copy; 2012-2016 <a href="http://antenna.io">Kazik Pietruszewski</a></p>
739
740
            <h2>jQuery insertAtCaret Plugin</h2>
741
            <p>jQuery insertAtCaret Plugin v1.0 by the phpMyAdmin devel team is licensed under the <a href="http://www.gnu.org/licenses/gpl.html">GPL License</a>.</p>
742
743
            <p>Copyright &copy; 2003-2010 phpMyAdmin devel team</p>
744
745
            <h2>jQuery treetable Plugin</h2>
746
747
            <p>The <a href="http://ludo.cubicphuse.nl/jquery-treetable/">jQuery treetable Plugin 3.1.0</a> is released under MIT license by Ludo van den Boom.</p>
748
749
            <h2>OpenJS Keyboard Shortcuts Library</h2>
750
751
            <p>The <a href="http://www.openjs.com/scripts/events/keyboard_shortcuts/">OpenJS keyboard shortcuts library</a>
752
               by Binny V A is licensed under the BSD license.</p>
753
754
            <h2>jquery.dataTables.grouping.js</h2>
755
            <p>The <a href="https://code.google.com/p/jquery-datatables-row-grouping/">jquery.dataTables.grouping.js</a>
756
               plugin by Jovan Popovic is licensed under the BSD and GPL v2 license.</p>
757
758
            <h2>jQuery Colvis plugin</h2>
759
            <p>The <a href="http://datatables.net/extensions/colvis/">controls for column visiblity in DataTables</a>
760
                by Allan Jardine is licensed under the BSD 3 and GPL v2 license.</p>
761
762
            <h2>jquery.multiple.select.js</h2>
763
            <p>The <a href="http://wenzhixin.net.cn/p/multiple-select/">jQuery multiple select plugin</a>
764
               by Zhixin Wen is licensed under the MIT license.</p>
765
766
            <h2>Javascript Diff Algorithm</h2>
767
            <p>The <a href="http://ejohn.org/projects/javascript-diff-algorithm/">Javascript Diff Algorithm</a> plugin by John Resig is licensed under the <a href="http://opensource.org/licenses/mit-license.php">MIT License</a>.</p>
768
769
            <h2>jQuery Validation Plugin</h2>
770
            <p>The <a href="http://jqueryvalidation.org/">jQuery Validation Plugin</a> written and maintained by Jörn Zaefferer is licensed under the <a href="http://opensource.org/licenses/mit-license.php">MIT License</a>.</p>
771
772
            <h2>TinyMCE WYSIWYG editor</h2>
773
            <p>The <a href="https://www.tiny.cloud/">TinyMCE WYSIWYG editor v5.9.2 </a> by Tiny Technologies, Inc. is licensed under the <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt">LGPL v2.1</a>.</p>
774
775
            <h2>Font Awesome</h2>
776
            <p><a href="http://fontawesome.com/v4/">Font Awesome 4.7.0</a> by Dave Gandy is licensed under the <a href="http://scripts.sil.org/OFL">SIL OFL 1.1</a> and the <a href="http://opensource.org/licenses/mit-license.html">MIT License</a>.</p>
777
778
            <h2>CodeMirror editing library</h2>
779
            <p>The <a href="http://codemirror.net/">CodeMirror editing library</a> by Marijn Haverbeke is licensed under an <a href="http://codemirror.net/LICENSE">MIT license</a>.</p>
780
781
            <h2>FileSaver library</h2>
782
            <p>The <a href="https://github.com/eligrey/FileSaver.js/">FileSaver library</a> by Eli Grey is licensed under an <a href="https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md">MIT license</a>.</p>
783
784
            <h2>Require.js JS module system</h2>
785
            <p>The <a href="http://requirejs.org/">Require.js JS module system</a> by The Dojo Foundation is licensed under an <a href="https://github.com/jrburke/requirejs/blob/master/LICENSE">MIT license</a>.</p>
786
787
            <h2>OAI xslt stylesheet</h2>
788
            <p>The included OAI.xslt file by the <a href="http://dspace.org/">DSpace project</a> is licensed under a <a href="http://www.dspace.org/license/">BSD License</a>.</p>
789
790
            <h2>OpenAPI 2.0 schema</h2>
791
            <p>The included <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v2.0/schema.json">api/swagger-v2-schema.json</a> file is licensed under the <a href="https://github.com/OAI/OpenAPI-Specification/tree/master/schemas/v2.0">Apache License, Version 2.0</a>, by the <a href="https://www.openapis.org/about">OpenAPI Initiative (OAI)</a>.</p>
792
793
            <h2>Select2</h2>
794
            <p>The <a href="http://select2.github.io/select2/">Select2</a> library is licensed under <a href="https://github.com/select2/select2/blob/stable/3.5/LICENSE">the Apache License, Version 2.0 (the "Apache License") or the GNU General Public License version 2 (the "GPL License")</a>.</p>
795
796
            <h2>jquery.tablednd.js</h2>
797
            <p>The <a href="https://github.com/isocra/TableDnD">TableDnD plug-in for jQuery</a> by Denis Howlett is licensed under the <a href="http://opensource.org/licenses/mit-license.php">MIT License</a>.</p>
798
799
            <h2>Leaflet</h2>
800
            <p>The <a href="http://leafletjs.com">Leaflet</a> JavaScript library by Vladimir Agafonkinis licensed under the <a href="https://github.com/Leaflet/Leaflet/blob/master/LICENSE">BSD License</a>.</p>
801
802
            <h2>jquery.emojiarea.js</h2>
803
            <p>The <a href="https://github.com/diy/jquery-emojiarea">Emojiarea plug-in for jQuery</a> by DIY Co is licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">the Apache License, Version 2.0</a>.</p>
804
805
            <h2>JSZip</h2>
806
            <p>The <a href="https://stuk.github.io/jszip/">JSZip</a> JavaScript library is licensed under both the <a href="https://github.com/Stuk/jszip/blob/master/LICENSE.markdown">MIT and GPLv3 Licenses</a>.</p>
807
808
            <h2>D3.js</h2>
809
            <p><a href="https://d3js.org/">D3.js v3.5.17</a> is a JavaScript library for manipulating documents based on data. It is under the <a href="https://github.com/d3/d3/blob/master/LICENSE">BSD 3-clause Licence</a></p>
810
811
            <h2>C3.js</h2>
812
            <p><a href="http://c3js.org/">C3.js v0.4.11</a> is a D3-based reusable chart library under the <a href="https://opensource.org/licenses/mit-license.php">MIT licence</a></p>
813
814
            <h2>Font Face Observer</h2>
815
            <p><a href="https://github.com/bramstein/fontfaceobserver">Font Face Observer</a> is a JavaScript library by Bram Stein licensed under the <a href="https://github.com/bramstein/fontfaceobserver/blob/master/LICENSE">BSD License</a>.</p>
816
284
817
            <h2>Noto fonts</h2>
285
                    <div role="tabpanel" class="tab-pane" id="sysinfo">
818
            <p><a href="https://github.com/googlei18n/noto-fonts">Noto</a> by Google is a family of fonts licensed under the <a href="http://scripts.sil.org/OFL">SIL Open Font License (OFL) v1.1</a>.</p>
286
                        [% IF warnRequireChoosingExistingAuthority || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatronOPACPrivacy || warnPrefAnonymousPatronAnonSuggestions || warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist || warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist || warnPrefKohaAdminEmailAddress || warnPrefOpacHiddenItems || invalid_yesno.count || warnNoActiveCurrency || warnIsRootUser || xml_config_warnings.size || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || has_ai_issues || oauth2_missing_deps || bad_yaml_prefs || warnRelationships || log4perl_errors || config_bcrypt_settings_no_set || warnHiddenBiblionumbers.size || warnConnectBroker || elasticsearch_has_missing %]
287
                            [% IF (warnIsRootUser) %]
288
                                <h2>Warning regarding current user</h2>
289
                                <p>You are logged in as the database administrative user. This is not recommended because some parts of Koha will not function as expected when using this account.</p>
290
                                <p>Please log in instead with a regular staff account. To create a staff account, create a library, a patron category 'Staff' and add a new patron. Then give this patron permissions from 'More' in the toolbar.</p>
291
                            [% END %]
292
293
                            [% IF has_ai_issues %]
294
                                <h2>Data problems</h2>
295
                                <p>
296
                                    Some of your tables have problems with their auto_increment values which may lead to data loss.
297
                                </p>
298
                                <p>
299
                                    <strong>You should not ignore this warning.</strong>
300
                                </p>
301
                                <p>
302
                                    The problem is that InnoDB does not keep auto_increment across SQL server restarts (it is only set in memory). So on server startup the auto_increment values are set to max(table.id)+1.
303
                                </p>
304
                                <p>To know how to avoid this problem see the related wiki page:
305
                                    <a href="https://wiki.koha-community.org/wiki/DBMS_auto_increment_fix">DBMS auto increment fix</a>
306
                                </p>
307
308
                                <h3>Problems found</h3>
309
                                [% IF ai_patrons %]
310
                                    <h4>Patrons</h4>
311
                                    <p>The following ids exist in both tables [% "borrowers" | $HtmlTags tag="strong" %] and [% "deletedborrowers" | $HtmlTags tag="strong" %]:</p>
312
                                    <p>
313
                                        [% FOR p IN ai_patrons %]
314
                                            [% p.borrowernumber | html %]
315
                                            [% UNLESS loop.last %], [% END %]
316
                                        [% END %]
317
                                    </p>
318
                                [% END %]
319
                                [% IF ai_biblios %]
320
                                    <h4>Bibliographic records</h4>
321
                                    <p>The following ids exist in both tables [% "biblio" | $HtmlTags tag="strong" %] and [% "deletedbiblio" | $HtmlTags tag="strong" %]:</p>
322
                                    <p>
323
                                        [% FOR b IN ai_biblios %]
324
                                            [% b.biblionumber | html %]
325
                                            [% UNLESS loop.last %], [% END %]
326
                                        [% END %]
327
                                    </p>
328
                                [% END %]
329
                                [% IF ai_items %]
330
                                    <h4>Items</h4>
331
                                    <p>The following ids exist in both tables [% "items" | $HtmlTags tag="strong" %] and [% "deleteditems" | $HtmlTags tag="strong" %]:</p>
332
                                    <p>
333
                                        [% FOR i IN ai_items %]
334
                                            [% i.itemnumber | html %]
335
                                            [% UNLESS loop.last %], [% END %]
336
                                        [% END %]
337
                                    </p>
338
                                [% END %]
339
                                [% IF ai_checkouts %]
340
                                    <h4>Checkouts</h4>
341
                                    <p>The following ids exist in both tables [% "issues" | $HtmlTags tag="strong" %] and [% "old_issues" | $HtmlTags tag="strong" %]:</p>
342
                                    <p>
343
                                        [% FOR c IN ai_checkouts %]
344
                                            [% c.issue_id | html %]
345
                                            [% UNLESS loop.last %], [% END %]
346
                                        [% END %]
347
                                    </p>
348
                                [% END %]
349
                                [% IF ai_holds %]
350
                                    <h4>Holds</h4>
351
                                    <p>The following ids exist in both tables [% "reserves" | $HtmlTags tag="strong" %] and [% "old_reserves" | $HtmlTags tag="strong" %]:</p>
352
                                    <p>
353
                                        [% FOR h IN ai_holds %]
354
                                            [% h.reserve_id | html %]
355
                                            [% UNLESS loop.last %], [% END %]
356
                                        [% END %]
357
                                    </p>
358
                                [% END %]
359
                                <br/>
360
                            [% END %]
819
361
820
            <h2>HC Sticky</h2>
362
                            [% IF warnRelationships %]
821
            <p><a href="http://somewebmedia.com/hc-sticky/">HC Sticky</a> by Some Web Media is a JavaScript library that makes any element on your page visible while you scroll, licensed under the <a href="https://github.com/somewebmedia/hc-sticky/blob/master/LICENSE">MIT license</a>.</p>
363
                                <h2>Patron relationship problems</h2>
364
                                [% IF bad_relationships_count %]
365
                                    <p>Your database contained guarantee/guarantor pairs with no defined relationship. They have been set the value '_bad_data' in the [% "borrowers.relationship" | $HtmlTags tag="strong" %] and/or [% "borrower_relationships.relationship" | $HtmlTags tag="strong" %] columns. Fix them manually by recreating those relationships, or have your system's administrator correct the values.</p>
366
                                [% END %]
822
367
823
            <h2>kjua</h2>
368
                                [% IF wrong_relationships %]
824
            <p><a href="https://larsjung.de/kjua/">kjua</a> by Lars Jung is a JavaScript library that generates QR codes, licensed under the <a href="https://github.com/lrsjng/kjua/blob/master/README.md">MIT license</a>.</p>
369
                                    <p>The following values have been used for guarantee/guarantor relationships, but do not exist in the 'borrowerRelationship' system preference:</p>
370
                                    <ul>
371
                                        [% FOR rel IN wrong_relationships %]
372
                                            <li>[% rel.0 | html %]</li>
373
                                        [% END %]
374
                                    </ul>
375
                                    <p>If the relationship is one you want, please add it to the 'borrowerRelationship' system preference, otherwise have your system's administrator correct the values in [% "borrowers.relationship" | $HtmlTags tag="strong" %] and/or [% "borrower_relationships.relationship" | $HtmlTags tag="strong" %] in the database.</p>
376
                                [% END %]
377
                            [% END %]
378
379
                            [% IF log4perl_errors %]
380
                                <h2>Logging system does not behave correctly</h2>
381
                                [% FOR e IN log4perl_errors %]
382
                                    [% SWITCH e %]
383
                                        [% CASE 'missing_config_entry' %]<span>There is no 'log4perl_conf' entry in the config file.</span>
384
                                        [% CASE 'cannot_read_config_file' %]<span>The log4perl config file cannot be opened.</span>
385
                                        [% CASE 'logfile_not_writable' %]<span>One of the logfiles listed in the config file is not writable.</span>
386
                                        [% CASE 'cannot_init_module' %]<span>The Koha::Logger module cannot be initiated correctly (check the log file).</span>
387
                                        [% CASE %]<span>Unknown error '[% e | html %]'.</span>
388
                                    [% END %]
389
                                [% END %]
390
                            [% END %]
391
392
                            [% IF warnConnectBroker %]
393
                                <h2>Impossible to connect to the message broker</h2>
394
                                There is an error when trying to connect to the message broker (RabbitMQ), check the Koha log files.
395
                                <br/>
396
                                Maybe it is not installed and configured correctly?
397
                                <br/>
398
                                Contact your system administrator.
399
                            [% END %]
400
401
                            [% IF warnPrefRequireChoosingExistingAuthority || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatronOPACPrivacy || warnPrefAnonymousPatronAnonSuggestions || warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist || warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist || warnPrefKohaAdminEmailAddress || warnPrefOpacHiddenItems || invalid_yesno.count || warnNoActiveCurrency || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || warnXSLT || oauth2_missing_deps || bad_yaml_prefs || warnIssuingRules || config_bcrypt_settings_no_set || warnHiddenBiblionumbers.size %]
402
                                <h2>Warnings regarding the system configuration</h2>
403
                                <table>
404
                                    <caption>Preferences and parameters</caption>
405
                                    [% IF (warnPrefRequireChoosingExistingAuthority) %]
406
                                        <tr>
407
                                            <th scope="row"><strong>Warning</strong> </th>
408
                                            <td>System preference 'RequireChoosingExistingAuthority' is disabled, but needs 'AutoCreateAuthorites' enabled. Otherwise catalogers can add headings that will not be linked to authorities.</td>
409
                                        </tr>
410
                                    [% END %]
411
                                    [% IF (warnPrefEasyAnalyticalRecords) %]
412
                                        <tr>
413
                                            <th scope="row"><strong>Warning</strong> </th>
414
                                            <td>System preference 'EasyAnalyticalRecords' set, but UseControlNumber preference is set to 'Use'. Set it to 'Don't use' or else the 'Show analytics' links in the staff interface and the OPAC will be broken.</td>
415
                                        </tr>
416
                                    [% END %]
417
                                    [% IF warnPrefAnonymousPatronOPACPrivacy %]
418
                                        <tr>
419
                                            <th scope="row"><strong class="error">Error</strong> </th>
420
                                            <td>System preference 'OPACPrivacy' set, but AnonymousPatron preference is set to '0'. Set it to a valid borrower number or checkins for these patrons will fail.</td>
421
                                        </tr>
422
                                    [% END %]
423
                                    [% IF warnPrefAnonymousPatronAnonSuggestions %]
424
                                        <tr>
425
                                            <th scope="row"><strong>Warning</strong> </th>
426
                                            <td>System preference 'AnonSuggestions' set, but AnonymousPatron preference is set to '0'. Set it to a valid borrower number if you want that this feature works correctly.</td>
427
                                        </tr>
428
                                    [% END %]
429
                                    [% IF warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist %]
430
                                        <tr>
431
                                            <th scope="row"><strong class="error">Error</strong> </th>
432
                                            <td>Some patrons have requested a privacy on returning item but the AnonymousPatron pref is not set correctly. Set it to a valid borrower number or checkins for these patrons will fail.</td>
433
                                        </tr>
434
                                    [% END %]
435
                                    [% IF warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist %]
436
                                        <tr>
437
                                            <th scope="row"><strong>Warning</strong> </th>
438
                                            <td>System preference 'AnonSuggestions' set, but AnonymousPatron preference is not set correctly. Set it to a valid borrower number if you want that this feature works correctly.</td>
439
                                        </tr>
440
                                    [% END %]
441
                                    [% IF warnPrefKohaAdminEmailAddress %]
442
                                        <tr>
443
                                            <th scope="row"><strong>Warning</strong> </th>
444
                                            <td>System preference 'KohaAdminEmailAddress' does not contain a valid email address. Emails will not be sent.</td>
445
                                        </tr>
446
                                    [% END %]
447
                                    [% IF warnPrefOpacHiddenItems %]
448
                                        <tr>
449
                                            <th scope="row"><strong>Warning</strong> </th>
450
                                            <td>System preference 'OpacHiddenItems' generates a warning and will produce unexpected behaviors: [% warnPrefOpacHiddenItems | html %]</th></tr>
451
                                    [% END %]
452
                                    [% IF warnXSLT %]
453
                                        [% FOR p IN warnXSLT %]
454
                                            <tr>
455
                                                <th scope="row"><strong>Warning</strong> </th>
456
                                                <td>System preference '[% p.syspref | html %]' is '[% p.value | html %]', but the file '[% p.filename | html %]' does not exist.</th></tr>
457
                                        [% END %]
458
                                    [% END %]
459
                                    [% IF invalid_yesno.count %]
460
                                        [% FOR p IN invalid_yesno %]
461
                                            <tr>
462
                                                <th scope="row"><strong>Warning</strong> </th>
463
                                                <td>System preference '[% p.variable | html %]' must be '0' or '1', but is [% IF p.value.defined %]'[% p.value | html%]'[% ELSE %]NULL[% END %].</td>
464
                                            </tr>
465
                                        [% END %]
466
                                    [% END %]
467
                                    [% IF warnNoActiveCurrency %]
468
                                        <tr>
469
                                            <th scope="row"><strong>Warning</strong> </th>
470
                                            <td>No active currency is defined. Please go to <a href="/cgi-bin/koha/admin/currency.pl">Administration &gt; Currencies and exchange rates</a> and mark one currency as active.</td>
471
                                        </tr>
472
                                    [% END %]
473
                                    [% IF warnStatisticsFieldsError %]
474
                                        <tr>
475
                                            <th scope="row"><strong>Warning</strong> </th>
476
                                            <td>System preference 'StatisticsFields' contains field names not belonging to the items database table: [% warnStatisticsFieldsError | html %] </td>
477
                                        </tr>
478
                                    [% END %]
479
                                    [% IF AutoSelfCheckPatronDoesNotHaveSelfCheckPerm %]
480
                                        <tr>
481
                                            <th scope="row"><strong>Warning</strong> </th>
482
                                            <td>
483
                                                The patron used for the self checkout module at the OPAC does not have the self_check => self_checkout_module permission.
484
                                            </td>
485
                                        </tr>
486
                                    [% END %]
487
                                    [% IF AutoSelfCheckPatronHasTooManyPerm %]
488
                                        <tr>
489
                                            <th scope="row"><strong>Warning</strong> </th>
490
                                            <td>
491
                                                The patron used for the self checkout module at the OPAC has too many permissions. They should only have self_check => self_checkout_module.
492
                                            </td>
493
                                        </tr>
494
                                    [% END %]
495
                                    [% IF warnNoTemplateCaching %]
496
                                        <tr>
497
                                            <th scope="row"><strong>Warning</strong> </th>
498
                                            <td>
499
                                                You are missing the &lt;template_cache_dir&gt; entry in your koha-conf.xml file.
500
                                                That will bring a performance boost to enable it.
501
                                            </td>
502
                                        </tr>
503
                                    [% END %]
504
                                    [% IF warnILLConfiguration %]
505
                                        [% IF no_ill_backends %]
506
                                            <tr>
507
                                                <th scope="row"><strong>Warning</strong> </th>
508
                                                <td>
509
                                                    The ILL module is enabled, but there are no backends available.
510
                                                </td>
511
                                            </tr>
512
                                        [% END %]
513
                                        [% IF ill_partner_code_not_defined %]
514
                                            <tr>
515
                                                <th scope="row"><strong>Warning</strong> </th>
516
                                                <td>
517
                                                    The ILL module is enabled, but no 'partner_code' defined in koha-conf.xml. Falling back to the hardcoded 'ILLLIBS'.
518
                                                </td>
519
                                            </tr>
520
                                        [% END %]
521
                                        [% IF ill_branch_not_defined %]
522
                                            <tr>
523
                                                <th scope="row"><strong>Warning</strong> </th>
524
                                                <td>
525
                                                    The ILL module is enabled, but no 'branch' block is defined in koha-conf.xml. You must define this block before use.
526
                                                </td>
527
                                            </tr>
528
                                        [% END %]
529
                                        [% IF ill_partner_code_doesnt_exist %]
530
                                            <tr>
531
                                                <th scope="row"><strong>Warning</strong> </th>
532
                                                <td>
533
                                                    The ILL module is enabled, but the configured 'partner_code' ([% ill_partner_code_doesnt_exist | html %]) is not defined on the system.
534
                                                </td>
535
                                            </tr>
536
                                        [% END %]
537
                                    [% END %]
825
538
826
            <h2>Verovio</h2>
539
                                    [% IF oauth2_missing_deps %]
827
            <p><a href="https://www.verovio.org/index.xhtml">Verovio</a> is developed by the Swiss RISM Office with the support of the Swiss National Science Foundation, licensed under the <a href="http://www.gnu.org/licenses/lgpl-3.0.html">LGPL v3.0</a>.</p>
540
                                        <tr>
541
                                            <th scope="row"><strong>Warning</strong> </th>
542
                                            <td>
543
                                                System preference 'RESTOAuth2ClientCredentials' is set, but the required Net::OAuth2::AuthorizationServer dependency is missing. The feature is disabled.
544
                                            </td>
545
                                        </tr>
546
                                    [% END %]
547
                                    [% IF bad_yaml_prefs %]
548
                                        <tr>
549
                                            <th scope="row"><strong>Warning</strong> </th>
550
                                            <td>
551
                                                Some system preferences have badly formatted YAML content: [% bad_yaml_prefs.join(', ') | html %]
552
                                            </td>
553
                                        </tr>
554
                                    [% END %]
555
                                    [% IF config_bcrypt_settings_no_set %]
556
                                        <tr>
557
                                            <th scope="row"><strong>Warning</strong> </th>
558
                                            <td>
559
                                                System preference 'Pseudonymization' is set, but there is not 'bcrypt_settings' entry defined in the $KOHA_CONF file.
560
                                            </td>
561
                                        </tr>
562
                                    [% END %]
563
                                    [% IF warnHiddenBiblionumbers.size %]
564
                                        <tr>
565
                                            <th scope="row"><strong>Warning</strong> </th>
566
                                            <td>
567
                                                [% FOR w IN warnHiddenBiblionumbers %]
568
                                                    Biblio framework "[% w.frameworkcode | html %]" has the biblionumber field hidden at the interface [% w.interface | html %]<br/>
569
                                                [% END %]
570
                                            </td>
571
                                        </tr>
572
                                    [% END %]
573
                                    [% IF Koha.Preference('SearchEngine') == 'Elasticsearch' && elasticsearch_status.version.substr(0,1) < 6 %]
574
                                        <tr>
575
                                            <th scope="row"><strong>Deprecation warning</strong></th>
576
                                            <td>
577
                                                Elasticsearch version 5.x is not supported in Koha 20.11 and greater. Please upgrade your Elasticsearch cluster
578
                                            </td>
579
                                        </tr>
580
                                    [% END %]
581
                                </table>
582
                            [% END %]
583
584
                            [% IF xml_config_warnings.size %]
585
                                <table>
586
                                    <caption>XML configuration file</caption>
587
                                    [% FOREACH config_entry IN xml_config_warnings %]
588
                                        [% IF config_entry.error == 'zebra_bib_index_mode_is_grs1' %]
589
                                            <tr>
590
                                                <th scope="row"><strong>Warning</strong></th>
591
                                                <td>
592
                                                    The &lt;zebra_bib_index_mode&gt; entry set to 'grs1', which is no longer supported.
593
                                                    Please use DOM instead. To switch follow this page of wiki:
594
                                                    <a href="https://wiki.koha-community.org/wiki/Switching_to_dom_indexing">Switching to dom indexing</a>
595
                                                </td>
596
                                            </tr>
597
                                        [% ELSIF config_entry.error == 'zebra_auth_index_mode_is_grs1' %]
598
                                            <tr>
599
                                                <th scope="row"><strong>Warning</strong></th>
600
                                                <td>
601
                                                    The &lt;zebra_auth_index_mode&gt; entry set to 'grs1', which is no longer supported.
602
                                                    Please use DOM instead. To switch follow this page of wiki:
603
                                                    <a href="https://wiki.koha-community.org/wiki/Switching_to_dom_indexing">Switching to dom indexing</a>
604
                                                </td>
605
                                            </tr>
606
                                        [% ELSIF config_entry.error == 'use_zebra_facets_entry_missing' %]
607
                                            <tr>
608
                                                <th scope="row"><strong>Warning</strong></th>
609
                                                <td>
610
                                                    The &lt;use_zebra_facets&gt; entry is missing in your configuration file. Falling back
611
                                                    to legacy facet calculation.
612
                                                </td>
613
                                            </tr>
614
                                        [% ELSIF config_entry.error == 'log4perl_entry_missing' %]
615
                                            <tr>
616
                                                <th scope="row"><strong>Warning</strong></th>
617
                                                <td>
618
                                                    You are missing the &lt;log4perl_conf&gt; entry in your koha-conf.xml file. Please
619
                                                    add it, pointing to the log4perl.conf file for your Koha instance.
620
                                                </td>
621
                                            </tr>
622
                                        [% ELSIF config_entry.error == 'lockdir_entry_missing' %]
623
                                            <tr>
624
                                                <th scope="row"><strong>Warning</strong></th>
625
                                                <td>
626
                                                    You are missing the &lt;lockdir&gt; entry in your koha-conf.xml file. Please
627
                                                    add it, pointing to your Koha instance's lock dir.
628
                                                </td>
629
                                            </tr>
630
                                        [% ELSIF config_entry.error == 'lockdir_not_writable' %]
631
                                            <tr>
632
                                                <th scope="row"><strong>Warning</strong></th>
633
                                                <td>
634
                                                    The configured &lt;lockdir&gt; entry in your koha-conf.xml file points to a
635
                                                    non-writable directory ([% config_entry.lockdir | html %]).
636
                                                </td>
637
                                            </tr>
638
                                        [% ELSIF config_entry.error == 'uploadpath_entry_missing' %]
639
                                            <tr>
640
                                                <th scope="row"><strong>Warning</strong></th>
641
                                                <td>
642
                                                    You are missing the &lt;upload_path&gt; entry in your koha-conf.xml file. Please
643
                                                    add it, pointing to the configured file upload directory for your Koha instance.
644
                                                </td>
645
                                            </tr>
646
                                        [% ELSIF config_entry.error == 'uploadpath_and_opacbaseurl_entry_missing' %]
647
                                            <tr>
648
                                                <th scope="row"><strong>Warning</strong></th>
649
                                                <td>
650
                                                    You are missing the &lt;upload_path&gt; entry in your koha-conf.xml file. Please
651
                                                    add it, pointing to the configured file upload directory for your Koha instance.
652
                                                    Also note that you need to properly set the OPACBaseURL preference for the file upload plugin to work.
653
                                                </td>
654
                                            </tr>
655
                                        [% ELSIF config_entry.error == 'tmp_path_missing' %]
656
                                            <tr>
657
                                                <th scope="row"><strong>Warning</strong></th>
658
                                                <td>
659
                                                    You are missing the &lt;tmp_path&gt; entry in your koha-conf.xml file. Please
660
                                                    add it, pointing to the configured temporary directory for your Koha instance.
661
                                                    The effective temporary directory is '[% config_entry.effective_tmp_dir | html %]'.
662
                                                </td>
663
                                            </tr>
664
                                        [% ELSIF config_entry.error == 'encryption_key_missing' %]
665
                                            <tr>
666
                                                <th scope="row"><strong>Warning</strong></th>
667
                                                <td>
668
                                                    You are missing the &lt;encryption_key&gt; entry in your koha-conf.xml file.
669
                                                    Please generate a key. We recommend one of at least 32 bytes. (You might use 'pwgen 32' to do so.)
670
                                                </td>
671
                                            </tr>
672
                                        [% END %]
673
                                    [% END %]
674
                                </table>
675
                            [% END %]
676
677
                            [% IF warnIssuingRules %]
678
                                <table>
679
                                    <caption>Issuing rules</caption>
680
                                    [% FOREACH unit IN ir_units %]
681
                                        <tr>
682
                                            <th scope="row"><strong>Warning</strong></th>
683
                                            <td>
684
                                                The [% unit.branchcode || 'branchcode=default' | html %], [% unit.categorycode || 'categorycode=default' | html %], [% unit.itemtype || 'itemtype=default' | html %]issuingrule will fallback to 'days' for 'lengthunit' as it is incorrectly defined as [% unit.rule_value | html %].
685
                                            </td>
686
                                        </tr>
687
                                    [% END %]
688
                                </table>
689
                            [% END %]
690
691
                            [% IF elasticsearch_has_missing %]
692
                                <table>
693
                                    <caption>Records are not indexed in Elasticsearch</caption>
694
                                    [% FOREACH index IN elasticsearch_status.indexes %]
695
                                        [% IF index.missing_count %]
696
                                            <tr>
697
                                                <th scope="row"><strong>Warning</strong></th>
698
                                                <td>
699
                                                    [% index.missing_count | html %] record(s) missing on a total of [% index.index_count | html %] in index [% index.index_name | html %].
700
                                                </td>
701
                                            </tr>
702
                                        [% END %]
703
                                    [% END %]
704
                                </table>
705
                            [% END %]
828
706
829
            <h2>JavaScript Cookie</h2>
707
                        [% ELSE %]
830
            <p><a href="https://github.com/js-cookie/js-cookie">JavaScript Cookie</a> is a "simple, lightweight JavaScript API for handling cookies," licensed under the <a href="https://github.com/js-cookie/js-cookie/blob/master/LICENSE">MIT license</a>.</p>
708
                            <p>No warnings.</p>
709
                        [% END %]
710
                    </div>
831
711
832
            <h2>Moment.js</h2>
712
                    <div role="tabpanel" class="tab-pane" id="team">
833
            <p><a href="https://momentjs.com/">Moment.js</a> licensed under the <a href="https://github.com/moment/moment/blob/develop/LICENSE">MIT license</a>.</p>
713
                        <h2>Special thanks to the following organizations</h2>
714
                        <ul>
715
                            <li>
716
                                <a href="http://library.org.nz">Horowhenua Library Trust</a>, New Zealand, and Rosalie Blake, Head of Libraries, (Koha 1.0)
717
                            </li>
718
                            <li>
719
                                The <a href="http://www.myacpl.org/">Athens County Public Libraries</a>, Ohio, USA (MARC sponsorship, documentation, template maintenance)</li>
720
                            <li>
721
                                <a href="http://www.emn.fr">EMN (Ecole des Mines de Nantes)</a>, France (Suggestions, Stats wizards and improved LDAP sponsorship)
722
                            </li>
723
                            <li>
724
                                <a href="http://www.mines-paristech.fr">Mines Paristech (previously Ecole Nationale Supérieure des Mines de Paris)</a>, France (biblio frameworks, MARC authorities, OPAC basket, Serials sponsorship)
725
                            </li>
726
                            <li>
727
                                <a href="http://www.mediathequeouestprovence.fr/">SAN-Ouest Provence</a>, France (Koha 3.0 enhancements to patrons and holds modules)
728
                            </li>
729
                            <li>
730
                                The <a href="http://ccfls.org">Crawford County Federated Library System</a>, PA, USA (Koha 3.0 Zebra Integration sponsorship)</li>
731
                            <li>
732
                                The <a href="http://www.geauga.lib.oh.us/">Geauga County Public Library</a>, OH, USA (Koha 3.0 beta testing)</li>
733
                            <li>
734
                                The <a href="http://library.neu.edu.tr">Near East University</a>, Cyprus</li>
735
                            <li>
736
                                OPUS International Consultants, Wellington, New Zealand (Corporate Serials sponsorship)</li>
737
                            <li>
738
                                <a href="http://www.famfamfam.com/">famfamfam.com</a> Birmingham (UK) based developer Mark James for the famfamfam Silk iconset.
739
                            </li>
740
                            <li>
741
                                <a href="http://www.ashs.school.nz/">Albany Senior High School</a>, Auckland, New Zealand (OPAC 'star-ratings' sponsorship)
742
                            </li>
743
                        </ul>
744
745
                        <h2>Koha release teams</h2>
746
                        [% IF maintenance_team %]
747
                            <div class="row">
748
                                <div class="col-md-6">
749
                                    <h3>Koha [% short_version | html %][% IF kohaCodename %] ([% kohaCodename | html %])[% END %] release team</h3>
750
                                    [% IF development_version %]
751
                                        <p>You are running a development version of Koha</p>
752
                                    [% ELSE %]
753
                                        [% INCLUDE team t=release_team v='release' %]
754
                                    [% END %]
755
                                </div>
834
756
835
            <h2>Day.js</h2>
757
                                <div class="col-md-6">
836
            <p><a href="https://day.js.org/">Day.js</a> licensed under the <a href="https://github.com/iamkun/dayjs/blob/dev/LICENSE">MIT license</a>.</p>
758
                                    <h3>Current maintenance team</h3>
759
                                    [% INCLUDE team t=maintenance_team v=short_version %]
760
                                </div>
761
                            </div>
762
                        [% ELSE %]
763
                            <div class="dialog alert">
764
                                Could not read the teams.yaml file. Please make sure &lt;docdir&gt; is correctly defined in koha-conf.xml.
765
                            </div>
766
                        [% END %]
837
767
838
            <h2>Chocolat.js</h2>
768
                        <h2>Koha development team</h2>
839
            <p><a href="http://chocolat.insipi.de">Chocolat.js</a> licensed under the <a href="https://github.com/nicolas-t/Chocolat/blob/master/LICENSE">GPL v3 license</a>.</p>
769
                        [% IF contributors.size %]
770
                            <ul class="columns-4">
771
                                [% FOREACH contributor IN contributors %]
772
                                    <li>[% INCLUDE person p=contributor %][% INCLUDE contributions p=contributor %]</li>
773
                                [% END %]
774
                            </ul>
775
                        [% ELSE %]
776
                            <div class="dialog alert">
777
                                Could not read the contributors.yaml file. Please make sure &lt;docdir&gt; is correctly defined in koha-conf.xml.
778
                            </div>
779
                        [% END %]
780
                        <hr>
781
782
                        <h2>Contributing companies and institutions</h2>
783
                        <ul class="columns-4">
784
                            <li>Allen Ginsberg Library, USA</li>
785
                            <li>Alingsås Public Library, Sweden</li>
786
                            <li>American Numismatic Society, USA</li>
787
                            <li>Arcadia Public Library, USA</li>
788
                            <li>Athens County Public Libraries, USA</li>
789
                            <li>BdP de la Meuse, France</li>
790
                            <li>BibLibre, France</li>
791
                            <li>Biblioteca Provincial Fr. Mamerto Esquiú (Provincia Franciscana de la Asunción), Argentina</li>
792
                            <li>Bibliotheksservice-Zentrum Baden-Württemberg (BSZ), Germany</li>
793
                            <li>Briar Cliff University, USA</li>
794
                            <li>Brimbank City Council, Australia</li>
795
                            <li>Brooklyn Law School Library, USA</li>
796
                            <li>Bibliothèque Universitaire des Langues et Civilisations (<a href="https://www.bulac.fr">BULAC</a>), France</li>
797
                            <li>ByWater Solutions, USA</li>
798
                            <li>California College of the Arts, USA</li>
799
                            <li>Camden County, USA</li>
800
                            <li>Carnegie Stout Library, USA</li>
801
                            <li>Calyx, Australia</li>
802
                            <li>Catalyst IT, New Zealand</li>
803
                            <li>Central Kansas Library System (CKLS), USA</li>
804
                            <li>Centre collégial des services regroupés (CCSR), Canada</li>
805
                            <li>Cheshire Libraries, United Kingdom</li>
806
                            <li>Coeur d'Alene Public Library, USA</li>
807
                            <li>Corpus Christi Public Libraries, USA</li>
808
                            <li>C &amp; P Bibliography Services, USA</li>
809
                            <li>Dataly Tech, Greece</li>
810
                            <li>Devinim, Turkey</li>
811
                            <li>Do Space, USA</li>
812
                            <li>DoverNet, USA</li>
813
                            <li>doXulting</li>
814
                            <li>Duchesne County Library, USA</li>
815
                            <li>Escuela de Orientacion Lacaniana, Argentina</li>
816
                            <li>Fenway Library Organization, USA</li>
817
                            <li>Fargo Public Library, USA</li>
818
                            <li>Farmington Public Library, USA</li>
819
                            <li>FIT</li>
820
                            <li>Foundations Bible College &amp; Seminary, USA</li>
821
                            <li>Goethe-Institut, Germany</li>
822
                            <li>Gothenburg University Library, Sweden</li>
823
                            <li>Halland County Library, Sweden</li>
824
                            <li>Harrison Carmel Public Library, USA</li>
825
                            <li>Hauraki District Libraries, New Zealand</li>
826
                            <li>Higher Education Libraries of Massachusetts, USA</li>
827
                            <li>Hochschule für Gesundheit (hsg), Germany</li>
828
                            <li>Hotchkiss School, USA</li>
829
                            <li>Katipo Communications, New Zealand</li>
830
                            <li>KEEP SOLUTIONS, Portugal</li>
831
                            <li>KohaAloha, New Zealand</li>
832
                            <li>Koha-Suomi Oy, Finland</li>
833
                            <li>LibLime, USA</li>
834
                            <li>Library of the Józef Piłsudski Institute of America, USA</li>
835
                            <li>Libriotech, Norway</li>
836
                            <li>Los Gatos Public Library, USA</li>
837
                            <li>Lund University Library, Sweden</li>
838
                            <li>MassCat, USA</li>
839
                            <li>Middletown Township Public Library, USA</li>
840
                            <li>National Library of Finland, Finland</li>
841
                            <li>Newcastle City Council, United Kingdom</li>
842
                            <li>New Zealand Central Agencies Library, New Zealand</li>
843
                            <li>New Zealand Ministry of Education Library, New Zealand</li>
844
                            <li>North Central Regional Library (NCRL), USA</li>
845
                            <li>Northeast Kansas Library System (NEKLS), USA</li>
846
                            <li>OPUS</li>
847
                            <li>Orex Digital, Spain</li>
848
                            <li>Oslo Public Library, Norway</li>
849
                            <li>Plano Independent School, USA</li>
850
                            <li>Plant and Food Research Limited, New Zealand</li>
851
                            <li>Prosentient Systems, Australia</li>
852
                            <li>PTFS, Maryland, USA</li>
853
                            <li>PTFS Europe Ltd, United Kingdom</li>
854
                            <li>Rijksmuseum, Amsterdam, The Netherlands</li>
855
                            <li>Rolling Hills Consolidated Libraries, USA</li>
856
                            <li>Round Rock Public Library, USA</li>
857
                            <li>SAN-Ouest Provence, France</li>
858
                            <li>Sefton Council, United Kingdom</li>
859
                            <li>software.coop, United Kingdom</li>
860
                            <li>South-East Kansas Library System (SEKLS), USA</li>
861
                            <li>South Taranaki District Council, New Zealand</li>
862
                            <li>Stockholm University Library, Sweden</li>
863
                            <li>SWITCH Library Consortium, USA</li>
864
                            <li>Talking Tech, Global</li>
865
                            <li>Tamil, France</li>
866
                            <li>Theke Solutions, Argentina</li>
867
                            <li>Tulong Aklatan, Philippines</li>
868
                            <li>Uintah Library System, USA</li>
869
                            <li>Universidad de El Salvador, El Salvador</li>
870
                            <li>Universidad Empresarial Siglo 21, Argentina</li>
871
                            <li>Universidad Nacional de Córdoba, Argentina</li>
872
                            <li>Universidad ORT Uruguay</li>
873
                            <li>Université d'Aix-Marseille, France</li>
874
                            <li>Université de Lyon 3, France</li>
875
                            <li>Université de Rennes 2, France</li>
876
                            <li>Université de St Etienne, France</li>
877
                            <li>University of the Arts London, United Kingdom</li>
878
                            <li>Vaara-kirjastot, Finland</li>
879
                            <li>Vanier College, Canada</li>
880
                            <li>Vermont Organization of Koha Automated Libraries (VOKAL), USA</li>
881
                            <li>Ville de Victoriaville, Canada</li>
882
                            <li>Virginia Tech, USA</li>
883
                            <li>Washoe County Library System, USA</li>
884
                            <li>Xercode, Spain</li>
885
                        </ul>
886
887
                        <h2>Additional thanks to...</h2>
888
                        <ul>
889
                            <li>Irma Birchall</li>
890
                            <li>Rachel Hamilton-Williams (Kaitiaki from 2004 to present)</li>
891
                            <li>Stephen Hedges (early Documentation Manager)</li>
892
                            <li>Brooke Johnson</li>
893
                            <li>Jo Ransom</li>
894
                            <li>Nicholas Rosasco (Documentation Compiler)</li>
895
                            <li>Regula Sebastiao</li>
896
                        </ul>
897
                    </div>
840
898
841
            <h2>Enquire.js</h2>
899
                    <div role="tabpanel" class="tab-pane" id="licenses">
842
            <p><a href="https://wicky.nillia.ms/enquire.js">Enquire.js</a> licensed under the <a href="https://github.com/WickyNilliams/enquire.js/blob/master/LICENSE">MIT license</a>.</p>
900
                        <h2>Koha</h2>
901
                        <p>
902
                            <a href="http://www.gnu.org/licenses/gpl-3.0.html">Koha 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 3 of the License, or (at your option) any later version.</a>
903
                        </p>
904
                        <h2>jQuery and jQueryUI</h2>
905
                        <p>
906
                            <a href="http://jquery.com/">jQuery</a> and <a href="http://jqueryui.com/">jQueryUI</a> are licensed under the <a href="http://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt">MIT license</a>
907
                        </p>
908
909
                        <h2>Bootstrap</h2>
910
                        <p>
911
                            <a href="https://getbootstrap.com/">Bootstrap</a> code and <a href="http://glyphicons.com">Glyphicons Free</a> licensed under the <a href="https://github.com/twbs/bootstrap/blob/master/LICENSE">MIT license</a>.
912
                        </p>
913
914
                        <h2>Bootstrap Icons</h2>
915
                        <p>
916
                            <a href="https://icons.getbootstrap.com/">Bootstrap Icons</a> licensed under the <a href="https://github.com/twbs/icons/blob/main/LICENSE.md">MIT license</a>.
917
                        </p>
918
919
                        <h2>Famfamfam iconset</h2>
920
                        <ul>
921
                            <li>
922
                                <a href="http://www.famfamfam.com/lab/icons/silk/">FamFamFam Site</a>
923
                            </li>
924
                            <li>
925
                                <a href="http://creativecommons.org/licenses/by/2.5/">Creative Commons Attribution 2.5 License</a>
926
                            </li>
927
                        </ul>
928
                        <h2>The Bridge Material Type Icon Set</h2>
929
                        <ul>
930
                            <li>
931
                                <a href="http://apps.carleton.edu/campus/library/bridge_icons/">Bridge Material Type Icons Project</a>
932
                            </li>
933
                            <li>The Bridge Material Type Icon Set is licensed under a
934
                            <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>
935
                            by the Bridge Consortium of Carleton College and St. Olaf College.</li>
936
                        </ul>
937
938
                        <h2>jQuery Bar Rating Plugin</h2>
939
                        <p>
940
                            jQuery Bar Rating Plugin v1.22 by <a href="http://antenna.io/demo/jquery-bar-rating/examples/">Antenna.io</a> is licensed under the <a href="http://en.wikipedia.org/wiki/MIT_License">MIT License</a>.
941
                        </p>
942
                        <p>
943
                            Copyright &copy; 2012-2016 <a href="http://antenna.io">Kazik Pietruszewski</a>
944
                        </p>
945
946
                        <h2>jQuery insertAtCaret Plugin</h2>
947
                        <p>
948
                            jQuery insertAtCaret Plugin v1.0 by the phpMyAdmin devel team is licensed under the <a href="http://www.gnu.org/licenses/gpl.html">GPL License</a>.
949
                        </p>
950
                        <p>
951
                            Copyright &copy; 2003-2010 phpMyAdmin devel team
952
                        </p>
953
954
                        <h2>jQuery treetable Plugin</h2>
955
                        <p>
956
                            The <a href="http://ludo.cubicphuse.nl/jquery-treetable/">jQuery treetable Plugin 3.1.0</a> is released under MIT license by Ludo van den Boom.
957
                        </p>
958
959
                        <h2>OpenJS Keyboard Shortcuts Library</h2>
960
                        <p>
961
                            The <a href="http://www.openjs.com/scripts/events/keyboard_shortcuts/">OpenJS keyboard shortcuts library</a> by Binny V A is licensed under the BSD license.
962
                        </p>
963
964
                        <h2>jquery.dataTables.grouping.js</h2>
965
                        <p>
966
                            The <a href="https://code.google.com/p/jquery-datatables-row-grouping/">jquery.dataTables.grouping.js</a> plugin by Jovan Popovic is licensed under the BSD and GPL v2 license.
967
                        </p>
968
969
                        <h2>jQuery Colvis plugin</h2>
970
                        <p>
971
                            The <a href="http://datatables.net/extensions/colvis/">controls for column visiblity in DataTables</a>
972
                            by Allan Jardine is licensed under the BSD 3 and GPL v2 license.
973
                        </p>
974
975
                        <h2>jquery.multiple.select.js</h2>
976
                        <p>
977
                            The <a href="http://wenzhixin.net.cn/p/multiple-select/">jQuery multiple select plugin</a> by Zhixin Wen is licensed under the MIT license.
978
                        </p>
979
980
                        <h2>Javascript Diff Algorithm</h2>
981
                        <p>
982
                            The <a href="http://ejohn.org/projects/javascript-diff-algorithm/">Javascript Diff Algorithm</a> plugin by John Resig is licensed under the <a href="http://opensource.org/licenses/mit-license.php">MIT License</a>.
983
                        </p>
984
985
                        <h2>jQuery Validation Plugin</h2>
986
                        <p>
987
                            The <a href="http://jqueryvalidation.org/">jQuery Validation Plugin</a> written and maintained by Jörn Zaefferer is licensed under the <a href="http://opensource.org/licenses/mit-license.php">MIT License</a>.
988
                        </p>
989
990
                        <h2>TinyMCE WYSIWYG editor</h2>
991
                        <p>
992
                            The <a href="https://www.tiny.cloud/">TinyMCE WYSIWYG editor v5.9.2 </a> by Tiny Technologies, Inc. is licensed under the <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt">LGPL v2.1</a>.
993
                        </p>
994
995
                        <h2>Font Awesome</h2>
996
                        <p>
997
                            <a href="http://fontawesome.com/v4/">Font Awesome 4.7.0</a> by Dave Gandy is licensed under the <a href="http://scripts.sil.org/OFL">SIL OFL 1.1</a> and the <a href="http://opensource.org/licenses/mit-license.html">MIT License</a>.
998
                        </p>
999
1000
                        <h2>CodeMirror editing library</h2>
1001
                        <p>
1002
                            The <a href="http://codemirror.net/">CodeMirror editing library</a> by Marijn Haverbeke is licensed under an <a href="http://codemirror.net/LICENSE">MIT license</a>.
1003
                        </p>
1004
1005
                        <h2>FileSaver library</h2>
1006
                        <p>
1007
                            The <a href="https://github.com/eligrey/FileSaver.js/">FileSaver library</a> by Eli Grey is licensed under an <a href="https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md">MIT license</a>.
1008
                        </p>
1009
1010
                        <h2>Require.js JS module system</h2>
1011
                        <p>
1012
                            The <a href="http://requirejs.org/">Require.js JS module system</a> by The Dojo Foundation is licensed under an <a href="https://github.com/jrburke/requirejs/blob/master/LICENSE">MIT license</a>.
1013
                        </p>
1014
1015
                        <h2>OAI xslt stylesheet</h2>
1016
                        <p>
1017
                            The included OAI.xslt file by the <a href="http://dspace.org/">DSpace project</a> is licensed under a <a href="http://www.dspace.org/license/">BSD License</a>.
1018
                        </p>
1019
1020
                        <h2>OpenAPI 2.0 schema</h2>
1021
                        <p>
1022
                            The included <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v2.0/schema.json">api/swagger-v2-schema.json</a> file is licensed under the <a href="https://github.com/OAI/OpenAPI-Specification/tree/master/schemas/v2.0">Apache License, Version 2.0</a>, by the <a href="https://www.openapis.org/about">OpenAPI Initiative (OAI)</a>.
1023
                        </p>
1024
1025
                        <h2>Select2</h2>
1026
                        <p>
1027
                            The <a href="http://select2.github.io/select2/">Select2</a> library is licensed under <a href="https://github.com/select2/select2/blob/stable/3.5/LICENSE">the Apache License, Version 2.0 (the "Apache License") or the GNU General Public License version 2 (the "GPL License")</a>.
1028
                        </p>
1029
1030
                        <h2>jquery.tablednd.js</h2>
1031
                        <p>
1032
                            The <a href="https://github.com/isocra/TableDnD">TableDnD plug-in for jQuery</a> by Denis Howlett is licensed under the <a href="http://opensource.org/licenses/mit-license.php">MIT License</a>.
1033
                        </p>
1034
1035
                        <h2>Leaflet</h2>
1036
                        <p>
1037
                            The <a href="http://leafletjs.com">Leaflet</a> JavaScript library by Vladimir Agafonkinis licensed under the <a href="https://github.com/Leaflet/Leaflet/blob/master/LICENSE">BSD License</a>.
1038
                        </p>
1039
1040
                        <h2>jquery.emojiarea.js</h2>
1041
                        <p>
1042
                            The <a href="https://github.com/diy/jquery-emojiarea">Emojiarea plug-in for jQuery</a> by DIY Co is licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">the Apache License, Version 2.0</a>.
1043
                        </p>
1044
1045
                        <h2>JSZip</h2>
1046
                        <p>
1047
                            The <a href="https://stuk.github.io/jszip/">JSZip</a> JavaScript library is licensed under both the <a href="https://github.com/Stuk/jszip/blob/master/LICENSE.markdown">MIT and GPLv3 Licenses</a>.
1048
                        </p>
1049
1050
                        <h2>D3.js</h2>
1051
                        <p>
1052
                            <a href="https://d3js.org/">D3.js v3.5.17</a> is a JavaScript library for manipulating documents based on data. It is under the <a href="https://github.com/d3/d3/blob/master/LICENSE">BSD 3-clause Licence</a>
1053
                        </p>
1054
1055
                        <h2>C3.js</h2>
1056
                        <p>
1057
                            <a href="http://c3js.org/">C3.js v0.4.11</a> is a D3-based reusable chart library under the <a href="https://opensource.org/licenses/mit-license.php">MIT licence</a>
1058
                        </p>
1059
1060
                        <h2>Font Face Observer</h2>
1061
                        <p>
1062
                            <a href="https://github.com/bramstein/fontfaceobserver">Font Face Observer</a> is a JavaScript library by Bram Stein licensed under the <a href="https://github.com/bramstein/fontfaceobserver/blob/master/LICENSE">BSD License</a>.
1063
                        </p>
1064
1065
                        <h2>Noto fonts</h2>
1066
                        <p>
1067
                            <a href="https://github.com/googlei18n/noto-fonts">Noto</a> by Google is a family of fonts licensed under the <a href="http://scripts.sil.org/OFL">SIL Open Font License (OFL) v1.1</a>.
1068
                        </p>
1069
1070
                        <h2>HC Sticky</h2>
1071
                        <p>
1072
                            <a href="http://somewebmedia.com/hc-sticky/">HC Sticky</a> by Some Web Media is a JavaScript library that makes any element on your page visible while you scroll, licensed under the <a href="https://github.com/somewebmedia/hc-sticky/blob/master/LICENSE">MIT license</a>.
1073
                        </p>
1074
1075
                        <h2>kjua</h2>
1076
                        <p>
1077
                            <a href="https://larsjung.de/kjua/">kjua</a> by Lars Jung is a JavaScript library that generates QR codes, licensed under the <a href="https://github.com/lrsjng/kjua/blob/master/README.md">MIT license</a>.
1078
                        </p>
1079
1080
                        <h2>Verovio</h2>
1081
                        <p>
1082
                            <a href="https://www.verovio.org/index.xhtml">Verovio</a> is developed by the Swiss RISM Office with the support of the Swiss National Science Foundation, licensed under the <a href="http://www.gnu.org/licenses/lgpl-3.0.html">LGPL v3.0</a>.
1083
                        </p>
1084
1085
                        <h2>JavaScript Cookie</h2>
1086
                        <p>
1087
                            <a href="https://github.com/js-cookie/js-cookie">JavaScript Cookie</a> is a "simple, lightweight JavaScript API for handling cookies," licensed under the <a href="https://github.com/js-cookie/js-cookie/blob/master/LICENSE">MIT license</a>.
1088
                        </p>
1089
1090
                        <h2>Moment.js</h2>
1091
                        <p>
1092
                            <a href="https://momentjs.com/">Moment.js</a> licensed under the <a href="https://github.com/moment/moment/blob/develop/LICENSE">MIT license</a>.
1093
                        </p>
1094
1095
                        <h2>Day.js</h2>
1096
                        <p>
1097
                            <a href="https://day.js.org/">Day.js</a> licensed under the <a href="https://github.com/iamkun/dayjs/blob/dev/LICENSE">MIT license</a>.
1098
                        </p>
1099
1100
                        <h2>Chocolat.js</h2>
1101
                        <p>
1102
                            <a href="http://chocolat.insipi.de">Chocolat.js</a> licensed under the <a href="https://github.com/nicolas-t/Chocolat/blob/master/LICENSE">GPL v3 license</a>.
1103
                        </p>
1104
1105
                        <h2>Enquire.js</h2>
1106
                        <p>
1107
                            <a href="https://wicky.nillia.ms/enquire.js">Enquire.js</a> licensed under the <a href="https://github.com/WickyNilliams/enquire.js/blob/master/LICENSE">MIT license</a>.
1108
                        </p>
843
1109
844
        </div>
1110
                    </div>
845
1111
846
        <div role="tabpanel" class="tab-pane" id="translations">
1112
                    <div role="tabpanel" class="tab-pane" id="translations">
847
            <h2>Translation</h2>
1113
                        <h2>Translation</h2>
848
            <ul>
1114
                        <ul>
849
<li>العربية (Arabic) Version 3.2 to 3.4, 3.16 & 3.18 by KnowledgeWare Technologies; Versions 3.6 to 3.14 by Arabic Koha support team: Karam Qubsi, Kouider Bounama, Sham Bajaa, Ghofran Alshami, Chrestian Aboud, Fatema Salem and Duaa Bazzazi.
1115
                            <li>العربية (Arabic) Version 3.2 to 3.4, 3.16 & 3.18 by KnowledgeWare Technologies; Versions 3.6 to 3.14 by Arabic Koha support team: Karam Qubsi, Kouider Bounama, Sham Bajaa, Ghofran Alshami, Chrestian Aboud, Fatema Salem and Duaa Bazzazi.
850
<li>&#4768;&#4635;&#4653;&#4763; (Amharic) Getway II Ethiopia Co. (Yohannes Mulugeta (Team Leader), Tegene Assefa, Abiyot Bayou)</li>
1116
                            <li>&#4768;&#4635;&#4653;&#4763; (Amharic) Getway II Ethiopia Co. (Yohannes Mulugeta (Team Leader), Tegene Assefa, Abiyot Bayou)</li>
851
<li>Armenian Tigran Zargaryan</li>
1117
                            <li>Armenian Tigran Zargaryan</li>
852
<li>&#1041;&#1098;&#1083;&#1075;&#1072;&#1088;&#1089;&#1082;&#1080; (Bulgarian) Radoslav Kolev</li>
1118
                            <li>&#1041;&#1098;&#1083;&#1075;&#1072;&#1088;&#1089;&#1082;&#1080; (Bulgarian) Radoslav Kolev</li>
853
<li>euskara (Basque) Fernando Berrizbeitia, the librarians of Eima Katalogoa, Tabakalera International Contemporary Culture Centre, and Nere Erkiaga</li>
1119
                            <li>euskara (Basque) Fernando Berrizbeitia, the librarians of Eima Katalogoa, Tabakalera International Contemporary Culture Centre, and Nere Erkiaga</li>
854
<li>&#2476;&#2494;&#2434;&#2482;&#2494; (Bengali) Parthasarathi Mukhopadhyay</li>
1120
                            <li>&#2476;&#2494;&#2434;&#2482;&#2494; (Bengali) Parthasarathi Mukhopadhyay</li>
855
<li>&#20013;&#25991; (Chinese)</li>
1121
                            <li>&#20013;&#25991; (Chinese)</li>
856
<li>Hrvatski (Croatian)</li>
1122
                            <li>Hrvatski (Croatian)</li>
857
<li>&#x010D;e&#353;tina (Czech)</li>
1123
                            <li>&#x010D;e&#353;tina (Czech)</li>
858
<li>D&aelig;nsk (Danish)</li>
1124
                            <li>D&aelig;nsk (Danish)</li>
859
<li>Nederlands-Nederland (Dutch-The Netherlands) Ronald Wijlens, Saxion University</li>
1125
                            <li>Nederlands-Nederland (Dutch-The Netherlands) Ronald Wijlens, Saxion University</li>
860
<li>Nederlands-Belgi&euml; (Dutch-Belgium)</li>
1126
                            <li>Nederlands-Belgi&euml; (Dutch-Belgium)</li>
861
<li>English</li>
1127
                            <li>English</li>
862
<li>suomi, suomen kieli (Finnish) Pasi Korkalo</li>
1128
                            <li>suomi, suomen kieli (Finnish) Pasi Korkalo</li>
863
<li>Fran&ccedil;ais (French) <a href="http://www.koha-fr.org/content/lassociation-kohala">Kohala</a>, Pascale Nalon (ENSMP), and many more </li>
1129
                            <li>Fran&ccedil;ais (French) <a href="http://www.koha-fr.org/content/lassociation-kohala">Kohala</a>, Pascale Nalon (ENSMP), and many more </li>
864
<li>Galego (Galician) Ignacio Javier</li>
1130
                            <li>Galego (Galician) Ignacio Javier</li>
865
<li>Deutsch (German) Friedrich zur Hellen, Robert Hillig, Katrin Fischer, Beda Szukics, Mirko Tietgen and Marc Véron</li>
1131
                            <li>Deutsch (German) Friedrich zur Hellen, Robert Hillig, Katrin Fischer, Beda Szukics, Mirko Tietgen and Marc Véron</li>
866
<li>&#949;&#955;&#955;&#951;&#957;&#953;&#954;&#940; (Greek, Modern [1453- ]) Koha Hellenic Users' Group (Georgia Katsarou, Dimitris Antonakis, Eugenios Papadopoulos), Theodoros Theodoropoulos, Panoraia Gaitanou and Kiriaki Roditi</li>
1132
                            <li>&#949;&#955;&#955;&#951;&#957;&#953;&#954;&#940; (Greek, Modern [1453- ]) Koha Hellenic Users' Group (Georgia Katsarou, Dimitris Antonakis, Eugenios Papadopoulos), Theodoros Theodoropoulos, Panoraia Gaitanou and Kiriaki Roditi</li>
867
<li>&#1506;&#1489;&#1512;&#1497;&#1514; (Hebrew)</li>
1133
                            <li>&#1506;&#1489;&#1512;&#1497;&#1514; (Hebrew)</li>
868
<li>&#2361;&#2367;&#2344;&#2381;&#2342;&#2368; (Hindi)</li>
1134
                            <li>&#2361;&#2367;&#2344;&#2381;&#2342;&#2368; (Hindi)</li>
869
<li>Magyar (Hungarian)Agnes Imecs</li>
1135
                            <li>Magyar (Hungarian)Agnes Imecs</li>
870
<li>Norsk Bokmål (Norwegian) Axel Bojer and Thomas Gramstad</li>
1136
                            <li>Norsk Bokmål (Norwegian) Axel Bojer and Thomas Gramstad</li>
871
<li>Norsk Nynorsk (Norwegian) Unni Knutsen and Marit Kristine Ådland</li>
1137
                            <li>Norsk Nynorsk (Norwegian) Unni Knutsen and Marit Kristine Ådland</li>
872
<li>(Indonesian)</li>
1138
                            <li>(Indonesian)</li>
873
<li>Italiano (Italian) for 3.2: Zeno Tajoli, Pietro Gozzetti and Paolo Pozzan; for 3.4 and more: Zeno Tajoli, Stefano Bargioni, Paolo Bizzarri</li>
1139
                            <li>Italiano (Italian) for 3.2: Zeno Tajoli, Pietro Gozzetti and Paolo Pozzan; for 3.4 and more: Zeno Tajoli, Stefano Bargioni, Paolo Bizzarri</li>
874
<li>&#26085;&#26412;&#35486; (Japanese)</li>
1140
                            <li>&#26085;&#26412;&#35486; (Japanese)</li>
875
<li>&#54620;&#44397;&#50612; (Korean)</li>
1141
                            <li>&#54620;&#44397;&#50612; (Korean)</li>
876
<li>&#3221;&#3240;&#3277;&#3240;&#3233; (kanna&#7693;a)</li>
1142
                            <li>&#3221;&#3240;&#3277;&#3240;&#3233; (kanna&#7693;a)</li>
877
<li>Latina (Latin)</li>
1143
                            <li>Latina (Latin)</li>
878
<li>Lao Anousak Anthony Souphavanh</li>
1144
                            <li>Lao Anousak Anthony Souphavanh</li>
879
<li>M&#257;ori</li>
1145
                            <li>M&#257;ori</li>
880
<li>&#3374;&#3378;&#3375;&#3390;&#3379;&#3330; (Malayalam)</li>
1146
                            <li>&#3374;&#3378;&#3375;&#3390;&#3379;&#3330; (Malayalam)</li>
881
<li>&#1601;&#1575;&#1585;&#1587;&#1609; (Persian)</li>
1147
                            <li>&#1601;&#1575;&#1585;&#1587;&#1609; (Persian)</li>
882
<li>&#2835;&#2908;&#2879;&#2822; (&#x014D;&#7771;iy&#257;)</li>
1148
                            <li>&#2835;&#2908;&#2879;&#2822; (&#x014D;&#7771;iy&#257;)</li>
883
<li>Polski (Polish)</li>
1149
                            <li>Polski (Polish)</li>
884
<li>Portugu&ecirc;s (Portuguese)</li>
1150
                            <li>Portugu&ecirc;s (Portuguese)</li>
885
<li>Rom&acirc;n&#259; (Romanian)</li>
1151
                            <li>Rom&acirc;n&#259; (Romanian)</li>
886
<li>&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081; (Russian) Victor Titarchuk and Serhij Dubyk</li>
1152
                            <li>&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081; (Russian) Victor Titarchuk and Serhij Dubyk</li>
887
<li>Espa&ntilde;ol (Spanish) Bernardo González Kriegel, Héctor Castro and Tomás Cohen Arazi, with the help of the koha-es community.</li>
1153
                            <li>Espa&ntilde;ol (Spanish) Bernardo González Kriegel, Héctor Castro and Tomás Cohen Arazi, with the help of the koha-es community.</li>
888
<li>Svenska (Swedish)</li>
1154
                            <li>Svenska (Swedish)</li>
889
<li>Tetun (Tetum) Karen Myers</li>
1155
                            <li>Tetun (Tetum) Karen Myers</li>
890
<li>&#3616;&#3634;&#3625;&#3634;&#3652;&#3607;&#3618; (Thai)</li>
1156
                            <li>&#3616;&#3634;&#3625;&#3634;&#3652;&#3607;&#3618; (Thai)</li>
891
<li>T&uuml;rk&ccedil;e (Turkish) pre-3.8: Selma Aslan; for 3.8+, Suleyman Demirel University (Ugur Bulgan, Onur Erdem, Kemal Caner Bayrakci, and Alper Tutunsatar)</li>
1157
                            <li>T&uuml;rk&ccedil;e (Turkish) pre-3.8: Selma Aslan; for 3.8+, Suleyman Demirel University (Ugur Bulgan, Onur Erdem, Kemal Caner Bayrakci, and Alper Tutunsatar)</li>
892
<li>&#1575;&#1585;&#1583;&#1608;(Urdu) Ata ur Rehman</li>
1158
                            <li>&#1575;&#1585;&#1583;&#1608;(Urdu) Ata ur Rehman</li>
893
<li>&#1059;&#1082;&#1088;&#1072;&#1111;&#1085;&#1089;&#1100;&#1082;&#1072; (Ukrainian) Victor Titarchuk and Serhij Dubyk</li>
1159
                            <li>&#1059;&#1082;&#1088;&#1072;&#1111;&#1085;&#1089;&#1100;&#1082;&#1072; (Ukrainian) Victor Titarchuk and Serhij Dubyk</li>
894
            </ul>
1160
                        </ul>
895
1161
896
        </div>
1162
                    </div>
897
1163
898
        <div role="tabpanel" class="tab-pane" id="history">
1164
                    <div role="tabpanel" class="tab-pane" id="history">
899
        <h2>Koha history timeline</h2>
1165
                        <h2>Koha history timeline</h2>
900
    [% IF ! timeline_read_error %]
1166
                        [% IF ! timeline_read_error %]
901
        <table style="cursor:pointer">
1167
                            <table style="cursor:pointer">
902
        <thead>
1168
                                <thead>
903
        <tr>
1169
                                    <tr>
904
            <td  style="font-weight:bold;" >Date</td>
1170
                                        <td  style="font-weight:bold;" >Date</td>
905
            <td  style="font-weight:bold;" >Description</td>
1171
                                        <td  style="font-weight:bold;" >Description</td>
906
        </tr>
1172
                                    </tr>
907
        </thead>
1173
                                </thead>
908
        [% FOREACH tabl IN table2 %]
1174
                                [% FOREACH tabl IN table2 %]
909
            <tr class="[% loop.parity | html %]">
1175
                                    <tr class="[% loop.parity | html %]">
910
                [% FOREACH ro IN tabl.row2 %]
1176
                                        [% FOREACH ro IN tabl.row2 %]
911
                     <td>[% ro.date | html %]</td>
1177
                                            <td>[% ro.date | html %]</td>
912
                     <td>[% ro.desc | html %]</td>
1178
                                            <td>[% ro.desc | html %]</td>
913
                [% END %]
1179
                                        [% END %]
914
            </tr>
1180
                                    </tr>
915
        [% END %]
1181
                                [% END %]
916
        </table>
1182
                            </table>
917
    [% ELSE %]
1183
                        [% ELSE %]
918
        <div class="dialog alert">
1184
                            <div class="dialog alert">
919
            Could not read the history.txt file. Please make sure &lt;docdir&gt; is correctly defined in koha-conf.xml.
1185
                                Could not read the history.txt file. Please make sure &lt;docdir&gt; is correctly defined in koha-conf.xml.
920
        </div>
1186
                            </div>
921
    [% END %]
1187
                        [% END %]
922
        </div>
1188
                    </div>
923
1189
924
        <div role="tabpanel" class="tab-pane" id="dedications">
1190
                    <div role="tabpanel" class="tab-pane" id="dedications">
925
            <h2>22.11</h2>
1191
                        <h2>22.11</h2>
926
            <p>
1192
                        <p>
927
                The Koha Community would like to dedicate the release of Koha 22.11 to Rosalie Blake.
1193
                            The Koha Community would like to dedicate the release of Koha 22.11 to Rosalie Blake.
928
            </p>
1194
                        </p>
929
            <p>
1195
                        <p>
930
                Rosalie was the Head Librarian at Horowhenua Library Trust when Koha was started and without her Koha
1196
                            Rosalie was the Head Librarian at Horowhenua Library Trust when Koha was started and without her Koha
931
                would not exist. She was an inspiring leader and innovator and took the risk of her career entrusting
1197
                            would not exist. She was an inspiring leader and innovator and took the risk of her career entrusting
932
                Chris, Joanne, Rachel and Simon to deliver the original project that became the international sensation
1198
                            Chris, Joanne, Rachel and Simon to deliver the original project that became the international sensation
933
                we all know and love.
1199
                            we all know and love.
934
            </p>
1200
                        </p>
935
            <p>
1201
                        <p>
936
                She was also a practicing Justice of the Peace, a stalwart of the Levin Pottery Club and much loved
1202
                            She was also a practicing Justice of the Peace, a stalwart of the Levin Pottery Club and much loved
937
                mother of Simon and Jeremy, and grandmother of Ben, Toby, Anna, Charlotte and Billy.
1203
                            mother of Simon and Jeremy, and grandmother of Ben, Toby, Anna, Charlotte and Billy.
938
            </p>
1204
                        </p>
1205
                    </div>
1206
                 </div>
1207
            </div>
939
        </div>
1208
        </div>
940
    </div>
1209
    </div>
941
</div>
942
</div>
943
</div>
944
1210
945
[% MACRO jsinclude BLOCK %]
1211
[% MACRO jsinclude BLOCK %]
946
    <script>
1212
    <script>
947
- 

Return to bug 32562