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