Bug 22893: Do not crash if contributors.yaml does not exist
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / about.tt
1 [% USE HtmlTags %]
2 [% USE Koha %]
3 [% USE KohaDates %]
4 [% SET footerjs = 1 %]
5 [% INCLUDE 'doc-head-open.inc' %]
6 <title>Koha &rsaquo; About Koha</title>
7 [% INCLUDE 'doc-head-close.inc' %]
8 </head>
9 <body id="about_about" class="about">
10 [% INCLUDE 'header.inc' %]
11
12 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; About Koha</div>
13
14
15 <div class="main container-fluid">
16     <div class="row">
17         <div class="col-md-12">
18
19             <h1>About Koha</h1>
20
21     <div id="abouttabs" class="toptabs numbered">
22         <ul>
23         <li><a href="#about">Server information</a></li>
24         <li><a href="#perl">Perl modules</a></li>
25         <li><a href="#sysinfo">System information</a></li>
26         <li><a href="#team">Koha team</a></li>
27         <li><a href="#licenses">Licenses</a></li>
28         <li><a href="#translations">Translations</a></li>
29         <li><a href="#history">Timeline</a></li>
30         </ul>
31
32         <div id="about">
33
34         <table>
35             <caption>Server information</caption>
36             <tr><th scope="row">Koha version: </th><td>[% kohaVersion | html %]</td></tr>
37             <tr><th scope="row">OS version ('uname -a'): </th><td>[% osVersion | html %]</td></tr>
38             <tr><th scope="row">Perl interpreter: </th><td>[% perlPath | html %]</td></tr>
39             <tr><th scope="row">Perl version: </th><td>[% perlVersion | html %]</td></tr>
40             <tr><th scope="row">Perl @INC: </th><td>
41                 [% FOREACH perlIncPat IN perlIncPath %]
42                     [% perlIncPat.perlinc | html %] <br />
43                 [% END %]
44             </td></tr>
45             <tr><th scope="row">MySQL version: </th><td>[% mysqlVersion | html %]</td></tr>
46             <tr><th scope="row">Apache version: </th><td>[% apacheVersion | html %]</td></tr>
47           [% IF (is_psgi) %]
48             <tr><th scope="row">PSGI: </th><td>[% psgi_server | html %]</td></tr>
49           [% END %]
50           [% IF Koha.Preference('SearchEngine') == 'Elasticsearch' %]
51             <tr>
52                 <th scope="row">Elasticsearch: </th>
53             [% IF elasticsearch_fatal_config_error %]
54                 <td><span class="status_warn">[% elasticsearch_fatal_config_error | html %]</span></td>
55             [% ELSE %]
56                 <td>
57                     Nodes:
58                     <span>[% elasticsearch_status.nodes.join(' / ') | html %]</span>
59                     |
60                     Status:
61                 [% IF elasticsearch_status.running %]
62                     <span class="status_ok">running</span>
63                     |
64                     Indices:
65                   [% FOREACH index IN elasticsearch_status.indexes %]
66                       [% index.index_name | html %] (count: <emph>[% index.count | html %]</emph>)[% UNLESS loop.last %], [% END %]
67                   [% END %]
68                 [% ELSE %]
69                     <span class="status_warn">not running</span>
70                 [% END %]
71                 </td>
72             [% END %]
73             </tr>
74           [% END %]
75             <tr><th scope="row">Memcached: </th>
76                 <td>
77                     Servers: [% IF memcached_servers %]<span>[% memcached_servers | html %]</span>
78                              [% ELSE %]<span>undefined</span>[% END %] |
79                     Namespace: [% IF memcached_namespace %]<span>[% memcached_namespace | html %]</span>
80                                [% ELSE %]<span>undefined</span>[% END %] |
81                     Status: [% IF memcached_servers %]
82                                 [% IF memcached_running and is_memcached_still_active %]
83                                     <span class="status_ok">running</span>.
84                                 [% ELSE %]
85                                     <span class="status_warn">not running</span>.
86                                     [% IF is_psgi %]
87                                         <span>Remember memcached needs to be started before Plack.</span>
88                                     [% END %]
89                                 [% END %]
90                             [% ELSE %]
91                                 <span>unknown</span>
92                             [% END %] |
93                     Config read from:
94                     [% SWITCH where_is_memcached_config %]
95                         [% CASE 'config_only' %]
96                             <span class="status_ok">koha-conf.xml</span>
97                         [% CASE 'ENV_only' %]
98                             <span class="status_warn">ENV</span> Note that the right place to define the memcached config is in your $KOHA_CONF file
99                         [% CASE 'both' %]
100                             <span class="status_warn">ENV and koha-conf.xml</span> Note that the right place to define the memcached config is in your $KOHA_CONF file. To avoid any misunderstanding you should not export the memcached config from ENV.
101                         [% CASE # nowhere %]
102                             <span class="status_warn">Nowhere</span> Note that the right place to define the memcached config is in your $KOHA_CONF file. Currently you do not have a valid memcached configuration defined.
103                     [% END %]
104                   [% IF effective_caching_method != 'Cache::Memcached::Fast' %]
105                     | Effective caching method: [% effective_caching_method | html %]
106                   [% END %]
107                 </td>
108             </tr>
109             <tr><th scope="row">Zebra version: </th><td>[% zebraVersion | html %]</td></tr>
110             [% IF (errZebraConnection == 10000) %]
111             <tr><th scope="row"><b>Error</b> </th><td>Zebra server seems not to be available. Is it started?</td></tr>
112             [% ELSIF (errZebraConnection) %]
113             <tr><th scope="row"><b>Warning</b> </th><td>Error message from Zebra: [% ( errZebraConnection ) | html %] </td></tr>
114             [% END %]
115             <tr>
116               <th scope="row">Date and time: </th>
117               <td>[% current_date_and_time | $KohaDates  with_hours => 1 %]</td>
118             </tr>
119             <tr>
120               [% timezone_config_class = (time_zone.config_invalid) ? 'status_warn' : '' %]
121               [% timezone_env_class    = (time_zone.env_invalid)    ? 'status_warn' : '' %]
122               <th scope="row">Time zone: </th>
123               <td>Used: <span>[% time_zone.actual | html %]</span>
124                           [% IF time_zone.actual_bad_tz_fallback %]
125                              <span>(This is a fallback value due to a bad configuration)</span>
126                           [% END %]
127                            |
128                   Config: [% IF time_zone.config != '' %]
129                             <span class="[% timezone_config_class | html %]">[% time_zone.config | html %]</span>
130                           [% ELSE %]
131                             <span>Undefined</span>
132                           [% END %] |
133                   Environment (TZ):  [% IF time_zone.environment != '' %]
134                           <span class="[% timezone_env_class | html %]">[% time_zone.environment | html %]</span>
135                         [% ELSE %]
136                           <span>Undefined</span>
137                         [% END %]
138               </td>
139             </tr>
140         </table>
141         </div>
142         <div id="perl">
143             <table style="cursor:pointer">
144                 <caption>Perl modules</caption>
145                 [% FOREACH tabl IN table %]
146                 <tr>
147                     [% FOREACH ro IN tabl.row %]
148                     [% IF ( ro.current ) %]
149                     [% IF ( ro.require ) %]
150                     <th scope="row" style="font-weight:bold;" title="Module current">
151                     [% ELSE %]
152                     <th scope="row" style="font-weight:normal" title="Module current">
153                     [% END %]
154                     [% ELSIF ( ro.upgrade ) %]
155                     [% IF ( ro.require ) %]
156                     <th scope="row" style="background-color:#FFCB2F;font-weight:bold;" title="Module upgrade needed">
157                     [% ELSE %]
158                     <th scope="row" style="background-color:#FFCB2F;font-weight:normal" title="Module upgrade needed">
159                     [% END %]
160                     [% ELSE %]
161                     [% IF ( ro.name == '' ) %]
162                     <th>
163                     [% ELSIF ( ro.require ) %]
164                     <th scope="row" style="background-color:#FF8A8A;font-weight:bold;" title="Required module missing">
165                     [% ELSE %]
166                     <th scope="row" style="background-color:#FF8A8A;font-weight:normal" title="Optional module missing">
167                     [% END %]
168                     [% END %]
169                     [% IF ( ro.name ) %]
170                     [% ro.name | html %] <span style="font-weight:normal; font-size:smaller"> ([% ro.reqversion | html %])</span>
171                     [% END %]
172                     </th>
173                     [% IF ( ro.name == '' ) %]
174                     <td>
175                     [% ELSIF ( ro.version ) %]
176                     <td>[% ro.version | html %]
177                     [% ELSE %]
178                     <td style="font-weight:bold">Not Installed [% END %]</td>
179                     [% END %]
180                 </tr>
181                 [% END %]
182             </table>
183         </div>
184
185         <div id="sysinfo">
186     [% IF warnPrefBiblioAddsAuthorities || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatron || warnPrefAnonymousPatron_PatronDoesNotExist || warnNoActiveCurrency || QueryParserError || warnIsRootUser || xml_config_warnings.size || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || has_ai_issues || oauth2_missing_deps || bad_yaml_prefs %]
187         [% IF (warnIsRootUser) %]
188             <h2>Warning regarding current user</h2>
189             <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>
190             <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>
191         [% END %]
192
193         [% IF has_ai_issues %]
194             <h2>Data problems</h2>
195             <p>Some of your tables have problems with their auto_increment values which may lead to data loss.</p>
196             <p><strong>You should not ignore this warning.</strong></p>
197             <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>
198             <p>To know how to avoid this problem see the related wiki page:
199             <a href="https://wiki.koha-community.org/wiki/DBMS_auto_increment_fix">DBMS auto increment fix</a>
200             </p>
201
202             <h3>Problems found</h3>
203             [% IF ai_patrons %]
204                 <h4>Patrons</h4>
205                 <p>The following ids exist in both tables [% "borrowers" | $HtmlTags tag="strong" %] and [% "deletedborrowers" | $HtmlTags tag="strong" %]:</p>
206                 <p>[% FOR p IN ai_patrons %][% p.borrowernumber | html %][% UNLESS loop.last %], [% END %][% END %]</p>
207             [% END %]
208             [% IF ai_biblios %]
209                 <h4>Bibliographic records</h4>
210                 <p>The following ids exist in both tables [% "biblio" | $HtmlTags tag="strong" %] and [% "deletedbiblio" | $HtmlTags tag="strong" %]:</p>
211                 <p>[% FOR b IN ai_biblios %][% b.biblionumber | html %][% UNLESS loop.last %], [% END %][% END %]</p>
212             [% END %]
213             [% IF ai_items %]
214                 <h4>Items</h4>
215                 <p>The following ids exist in both tables [% "items" | $HtmlTags tag="strong" %] and [% "deleteditems" | $HtmlTags tag="strong" %]:</p>
216                 <p>[% FOR i IN ai_items %][% i.itemnumber | html %][% UNLESS loop.last %], [% END %][% END %]</p>
217             [% END %]
218             [% IF ai_checkouts %]
219                 <h4>Checkouts</h4>
220                 <p>The following ids exist in both tables [% "issues" | $HtmlTags tag="strong" %] and [% "old_issues" | $HtmlTags tag="strong" %]:</p>
221                 <p>[% FOR c IN ai_checkouts %][% c.issue_id | html %][% UNLESS loop.last %], [% END %][% END %]</p>
222             [% END %]
223             [% IF ai_holds %]
224                 <h4>Holds</h4>
225                 <p>The following ids exist in both tables [% "reserves" | $HtmlTags tag="strong" %] and [% "old_reserves" | $HtmlTags tag="strong" %]:</p>
226                 <p>[% FOR h IN ai_holds %][% h.reserve_id | html %][% UNLESS loop.last %], [% END %][% END %]</p>
227             [% END %]
228             <br/>
229         [% END %]
230
231         [% IF warnPrefBiblioAddsAuthorities || warnPrefEasyAnalyticalRecords || warnPrefAnonymousPatron || warnPrefAnonymousPatron_PatronDoesNotExist || warnNoActiveCurrency || QueryParserError || AutoSelfCheckPatronDoesNotHaveSelfCheckPerm || AutoSelfCheckPatronHasTooManyPerm || warnStatisticsFieldsError || warnNoTemplateCaching || warnILLConfiguration || oauth2_missing_deps || bad_yaml_prefs %]
232             <h2>Warnings regarding the system configuration</h2>
233             <table>
234                 <caption>Preferences and parameters</caption>
235                 [% IF (warnPrefBiblioAddsAuthorities) %]
236                 <tr><th scope="row"><b>Warning</b> </th><td>System preference 'AutoCreateAuthorities' set, but needs 'BiblioAddsAuthorities' set as well.</td></tr>
237                 [% END %]
238                 [% IF (warnPrefEasyAnalyticalRecords) %]
239                 <tr><th scope="row"><b>Warning</b> </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 client and the OPAC will be broken.</td></tr>
240                 [% END %]
241                 [% IF warnPrefAnonymousPatron %]
242                     <tr><th scope="row"><b>Warning</b> </th><td>System preference 'OPACPrivacy' 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>
243                 [% END %]
244                 [% IF warnPrefAnonymousPatron_PatronDoesNotExist %]
245                     <tr><th scope="row"><b>Warning</b> </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 if you want that this feature works correctly.</td></tr>
246                 [% END %]
247                 [% IF warnNoActiveCurrency %]
248                     <tr><th scope="row"><b>Warning</b> </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>
249                 [% END %]
250                 [% IF warnStatisticsFieldsError %]
251                     <tr><th scope="row"><b>Warning</b> </th><td>System preference 'StatisticsFields' contains field names not belonging to the items database table: [% warnStatisticsFieldsError | html %] </td></tr>
252                 [% END %]
253                 [% IF QueryParserError %]
254                     <tr><th scope="row"><b>Warning</b> </th><td>
255                         You have set UseQueryParser but there was a problem inititializing QueryParser.
256                     [% IF QueryParserError.fallback %]
257                         The 'queryparser_config' entry is missing in your configuration file.
258                         The following configuration file was used without success: [% QueryParserError.file | html %].
259                     [% ELSE %]
260                         The following configuration file was used without success: [% QueryParserError.file | html %].
261                     [% END %]
262                         </td>
263                     </tr>
264                 [% END %]
265                 [% IF AutoSelfCheckPatronDoesNotHaveSelfCheckPerm %]
266                     <tr><th scope="row"><b>Warning</b> </th><td>
267                     The patron used for the self checkout module at the OPAC does not have the self_check => self_checkout_module permission.
268                     </td></tr>
269                 [% END %]
270                 [% IF AutoSelfCheckPatronHasTooManyPerm %]
271                     <tr><th scope="row"><b>Warning</b> </th><td>
272                     The patron used for the self checkout module at the OPAC has too many permissions. They should only have self_check => self_checkout_module.
273                     </td></tr>
274                 [% END %]
275                 [% IF warnNoTemplateCaching %]
276                     <tr><th scope="row"><b>Warning</b> </th><td>
277                     You are missing the &lt;template_cache_dir&gt; entry in your koha-conf.xml file.
278                     That will bring a performance boost to enable it.
279                     </td></tr>
280                 [% END %]
281                 [% IF warnILLConfiguration %]
282                   [% IF no_ill_backends %]
283                     <tr><th scope="row"><b>Warning</b> </th><td>
284                     The ILL module is enabled, but there are no backends available.
285                     </td></tr>
286                   [% END %]
287                   [% IF ill_partner_code_not_defined %]
288                     <tr><th scope="row"><b>Warning</b> </th><td>
289                     The ILL module is enabled, but no 'partner_code' defined in koha-conf.xml. Falling back to the hardcoded 'ILLLIBS'.
290                     </td></tr>
291                   [%END %]
292                   [% IF ill_branch_not_defined %]
293                     <tr><th scope="row"><b>Warning</b> </th><td>
294                     The ILL module is enabled, but no 'branch' block is defined in koha-conf.xml. You must define this block before use.
295                     </td></tr>
296                   [%END %]
297                   [% IF ill_partner_code_doesnt_exist %]
298                     <tr><th scope="row"><b>Warning</b> </th><td>
299                     The ILL module is enabled, but the configured 'partner_code' ([% ill_partner_code_doesnt_exist | html %]) is not defined on the system.
300                     </td></tr>
301                   [% END %]
302                 [% END %]
303                 [% IF oauth2_missing_deps %]
304                     <tr><th scope="row"><b>Warning</b> </th><td>
305                     System preference 'RESTOAuth2ClientCredentials' is set, but the required Net::OAuth2::AuthorizationServer dependency is missing. The feature is disabled.
306                     </td></tr>
307                 [% END %]
308                 [% IF bad_yaml_prefs %]
309                     <tr><th scope="row"><b>Warning</b> </th><td>
310                     Some system preferences have badly formatted YAML content: [% bad_yaml_prefs.join(', ') | html %]
311                     </td></tr>
312                 [% END %]
313             </table>
314         [% END %]
315
316         [% IF xml_config_warnings.size %]
317             <table>
318                 <caption>XML configuration file</caption>
319             [% FOREACH config_entry IN xml_config_warnings %]
320                 [% IF config_entry.error == 'zebra_bib_index_mode_is_grs1' %]
321                 <tr>
322                     <th scope="row"><b>Warning</b></th>
323                     <td>The &lt;zebra_bib_index_mode&gt; entry set to 'grs1', which is no longer supported.
324                         Please use DOM instead. To switch follow this page of wiki:
325                         <a href="https://wiki.koha-community.org/wiki/Switching_to_dom_indexing">Switching to dom indexing</a>
326                     </td>
327                 </tr>
328                 [% ELSIF config_entry.error == 'zebra_auth_index_mode_is_grs1' %]
329                 <tr>
330                     <th scope="row"><b>Warning</b></th>
331                     <td>The &lt;zebra_auth_index_mode&gt; entry set to 'grs1', which is no longer supported.
332                         Please use DOM instead. To switch follow this page of wiki:
333                         <a href="https://wiki.koha-community.org/wiki/Switching_to_dom_indexing">Switching to dom indexing</a>
334                     </td>
335                 </tr>
336                 [% ELSIF config_entry.error == 'queryparser_entry_missing' %]
337                 <tr>
338                     <th scope="row"><b>Warning</b></th>
339                     <td>You have set UseQueryParser but the 'queryparser_config' entry is missing in your configuration
340                         file. [% config_entry.file | html %] is used as a fallback.
341                     </td>
342                 </tr>
343                 [% ELSIF config_entry.error == 'use_zebra_facets_entry_missing' %]
344                 <tr>
345                     <th scope="row"><b>Warning</b></th>
346                     <td>The &lt;use_zebra_facets&gt; entry is missing in your configuration file. Falling back
347                         to legacy facet calculation.
348                     </td>
349                 </tr>
350                 [% ELSIF config_entry.error == 'log4perl_entry_missing' %]
351                 <tr>
352                     <th scope="row"><b>Warning</b></th>
353                     <td>You are missing the &lt;log4perl_conf&gt; entry in your koha-conf.xml file. Please
354                         add it, pointing to the log4perl.conf file for your Koha instance.
355                     </td>
356                 </tr>
357                 [% ELSIF config_entry.error == 'uploadpath_entry_missing' %]
358                 <tr>
359                     <th scope="row"><b>Warning</b></th>
360                     <td>You are missing the &lt;upload_path&gt; entry in your koha-conf.xml file. Please
361                         add it, pointing to the configured file upload directory for your Koha instance.
362                     </td>
363                 </tr>
364                 [% ELSIF config_entry.error == 'uploadpath_and_opacbaseurl_entry_missing' %]
365                 <tr>
366                     <th scope="row"><b>Warning</b></th>
367                     <td>You are missing the &lt;upload_path&gt; entry in your koha-conf.xml file. Please
368                         add it, pointing to the configured file upload directory for your Koha instance.
369                         Also note that you need to properly set the OPACBaseURL preference for the file upload plugin to work.
370                     </td>
371                 </tr>
372                 [% ELSIF config_entry.error == 'tmp_path_missing' %]
373                 <tr>
374                     <th scope="row"><b>Warning</b></th>
375                     <td>You are missing the &lt;tmp_path&gt; entry in your koha-conf.xml file. Please
376                         add it, pointing to the configured temporary directory for your Koha instance.
377                         The effective temporary directory is '[% config_entry.effective_tmp_dir | html %]'.
378                     </td>
379                 </tr>
380                 [% END %]
381             [% END %]
382             </table>
383         [% END %]
384
385     [% ELSE %]
386         <p>No warnings.</p>
387     [% END %]
388         </div>
389
390         <div id="team">
391             <h2>Special thanks to the following organizations</h2>
392             <ul>
393                 <li><a href="http://library.org.nz">Horowhenua Library Trust</a>, New Zealand, and Rosalie Blake, Head of Libraries, (Koha 1.0)</li>
394                 <li>The <a href="http://www.myacpl.org/">Athens County Public Libraries</a>, Ohio, USA (MARC sponsorship, documentation, template maintenance)</li>
395                 <li><a href="http://www.emn.fr">EMN (Ecole des Mines de Nantes)</a>, France (Suggestions, Stats wizards and improved LDAP sponsorship)</li>
396                 <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>
397                 <li><a href="http://www.mediathequeouestprovence.fr/">SAN-Ouest Provence</a>, France (Koha 3.0 enhancements to patrons and holds modules)</li>
398                 <li>The <a href="http://ccfls.org">Crawford County Federated Library System</a>, PA, USA (Koha 3.0 Zebra Integration sponsorship)</li>
399                 <li>The <a href="http://www.geauga.lib.oh.us/">Geauga County Public Library</a>, OH, USA (Koha 3.0 beta testing)</li>
400                 <li>The <a href="http://library.neu.edu.tr">Near East University</a>, Cyprus</li>
401                 <li>OPUS International Consultants, Wellington, New Zealand (Corporate Serials sponsorship)</li>
402                 <li><a href="http://www.famfamfam.com/">famfamfam.com</a> Birmingham (UK) based developer Mark James for the famfamfam Silk iconset.</li>
403                 <li><a href="http://www.ashs.school.nz/">Albany Senior High School</a>, Auckland, New Zealand (OPAC 'star-ratings' sponsorship)</li>
404             </ul>
405
406             <h2>Koha 18.11 release team</h2>
407             <ul>
408                 <li><strong>Release manager:</strong>
409                     <a href="https://www.openhub.net/p/koha/contributors/6620692886191">Nick Clemens</a>
410                 </li>
411                 <li><strong>Release manager assistants:</strong>
412                     <ul>
413                         <li><a href="https://www.openhub.net/p/koha/contributors/6618544730094">Tomás Cohen Arazi</a></li>
414                         <li><a href="https://www.openhub.net/p/koha/contributors/6618545125093">Jonathan Druart</a></li>
415                         <li><a href="https://www.openhub.net/p/koha/contributors/6618544661344">Brendan Gallagher</a></li>
416                         <li><a href="https://www.openhub.net/p/koha/contributors/6620692261494">Kyle Hall</a></li>
417                     </ul>
418                 </li>
419                 <li><strong>Documentation team:</strong>
420                     <ul>
421                         <li>Caroline Cyr La Rose</li>
422                         <li>Lee Jamison</li>
423                         <li>David Nind</li>
424                     </ul>
425                 </li>
426                 <li><strong>Translation manager:</strong>
427                     <a href="https://www.openhub.net/p/koha/contributors/6618544839606">Bernardo González Kriegel</a>
428                 </li>
429                 <li><strong>Quality assurance manager:</strong>
430                     <a href="https://www.openhub.net/p/koha/contributors/6618544670742">Katrin Fischer</a>
431                 </li>
432                 <li><strong>Quality assurance team:</strong>
433                     <ul>
434                         <li>Alex Arnaud</li>
435                         <li><a href="https://www.openhub.net/p/koha/contributors/6618544730094">Tomás Cohen Arazi</a></li>
436                         <li><a href="https://www.openhub.net/p/koha/contributors/6618544609030">Chris Cormack</a></li>
437                         <li><a href="https://www.openhub.net/p/koha/contributors/6618545125093">Jonathan Druart</a></li>
438                         <li><a href="https://www.openhub.net/p/koha/contributors/6620692261494">Kyle Hall</a></li>
439                         <li><a href="https://www.openhub.net/p/koha/contributors/6620692419690">Julian Maurice</a></li>
440                         <li>Josef Moravec</li>
441                         <li><a href="https://www.openhub.net/p/koha/contributors/6618544785220">Martin Renvoize</a></li>
442                         <li><a href="https://www.openhub.net/p/koha/contributors/6618544727712">Marcel de Rooy</a></li>
443                     </ul>
444                 </li>
445                 <li><strong>Release maintainers:</strong>
446                     <ul>
447                         <li><a href="https://www.openhub.net/p/koha/contributors/6618544785220">Martin Renvoize</a> (18.05)</li>
448                         <li><a href="https://www.openhub.net/p/koha/contributors/6618545418525">Fridolin Somers</a> (17.11)</li>
449                         <li><a href="https://www.openhub.net/p/koha/contributors/6618545418525">Fridolin Somers</a> (17.05)</li>
450                     </ul>
451                 </li>
452                 <li><strong>Packaging manager:</strong>
453                     <ul>
454                         <li><a href="https://www.openhub.net/p/koha/contributors/6620692605913">Mirko Tietgen</a></li>
455                         <li><a href="https://www.openhub.net/accounts/kohaaloha">Mason James</a> (Assistant)</li>
456                     </ul>
457                 </li>
458                 <li><strong>Jenkins maintainer:</strong>
459                     <a href="https://www.openhub.net/p/koha/contributors/6618544730094">Tomás Cohen Arazi</a>
460                 </li>
461                 <li><strong>Bug wranglers:</strong>
462                     <ul>
463                         <li>Indranil Das Gupta</li>
464                         <li>Claire Gravely</li>
465                         <li>Amit Gupta</li>
466                         <li>Jon Knight</li>
467                     </ul>
468                 </li>
469             </ul>
470
471             <h2>Koha development team</h2>
472             [% IF contributors.size %]
473                 <ul class="columns-4">
474                     [% FOREACH contributor IN contributors %]
475                     <li>[% INCLUDE person p=contributor %][% INCLUDE contributions p=contributor %]</li>
476                     [% END %]
477                 </ul>
478             [% ELSE %]
479                 <div class="dialog alert">
480                     Could not read the contributors.yaml file. Please make sure &lt;docdir&gt; is correctly defined in koha-conf.xml.
481                 </div>
482             [% END %]
483             <hr>
484
485             <h2>Contributing companies and institutions</h2>
486             <ul class="columns-4">
487                 <li>Allen Ginsberg Library, USA</li>
488                 <li>Alingsås Public Library, Sweden</li>
489                 <li>American Numismatic Society, USA</li>
490                 <li>Arcadia Public Library, USA</li>
491                 <li>Athens County Public Libraries, USA</li>
492                 <li>BdP de la Meuse, France</li>
493                 <li>BibLibre, France</li>
494                 <li>Bibliotheksservice-Zentrum Baden-Württemberg (BSZ), Germany</li>
495                 <li>Briar Cliff University, USA</li>
496                 <li>Brooklyn Law School Library, USA</li>
497                 <li>Bibliothèque universitaire des langues et civilisations (<a href="http://www.bulac.fr/">BULAC</a>), France</li>
498                 <li>ByWater Solutions, USA</li>
499                 <li>California College of the Arts, USA</li>
500                 <li>Camden County, USA</li>
501                 <li>Carnegie Stout Library, USA</li>
502                 <li>Calyx, Australia</li>
503                 <li>Catalyst IT, New Zealand</li>
504                 <li>Central Kansas Library System (CKLS), USA</li>
505                 <li>Centre collégial des services regroupés (CCSR), Canada</li>
506                 <li>Cheshire Libraries, United Kingdom</li>
507                 <li>Coeur d'Alene Public Library, USA</li>
508                 <li>Corpus Christi Public Libraries, USA</li>
509                 <li>C &amp; P Bibliography Services, USA</li>
510                 <li>Do Space, USA</li>
511                 <li>DoverNet, USA</li>
512                 <li>doXulting</li>
513                 <li>Escuela de Orientacion Lacaniana, Argentina</li>
514                 <li>Farmington Public Library, USA</li>
515                 <li>FIT</li>
516                 <li>Foundations Bible College &amp; Seminary, USA</li>
517                 <li>Goethe-Institut, Germany</li>
518                 <li>Gothenburg University Library, Sweden</li>
519                 <li>Halland County Library, Sweden</li>
520                 <li>Harrison Carmel Public Library, USA</li>
521                 <li>Hauraki District Libraries, New Zealand</li>
522                 <li>Hochschule für Gesundheit (hsg), Germany</li>
523                 <li>Hotchkiss School, USA</li>
524                 <li>Katipo Communications, New Zealand</li>
525                 <li>KEEP SOLUTIONS, Portugal</li>
526                 <li>KohaAloha, New Zealand</li>
527                 <li>LibLime, USA</li>
528                 <li>Library of the Józef Piłsudski Institute of America, USA</li>
529                 <li>Libriotech, Norway</li>
530                 <li>Los Gatos Public Library, USA</li>
531                 <li>MassCat, USA</li>
532                 <li>Middletown Township Public Library, USA</li>
533                 <li>New Zealand Central Agencies Library, New Zealand</li>
534                 <li>New Zealand Ministry of Education Library, New Zealand</li>
535                 <li>North Central Regional Library (NCRL), USA</li>
536                 <li>Northeast Kansas Library System (NEKLS), USA</li>
537                 <li>OPUS</li>
538                 <li>Orex Digital, Spain</li>
539                 <li>Oslo Public Library, Norway</li>
540                 <li>Plano Independent School, USA</li>
541                 <li>Prosentient Systems, Australia</li>
542                 <li>PTFS, Maryland, USA</li>
543                 <li>PTFS Europe Ltd, United Kingdom</li>
544                 <li>Rijksmuseum, Amsterdam, The Netherlands</li>
545                 <li>Rolling Hills Consolidated Libraries, USA</li>
546                 <li>Round Rock Public Library, USA</li>
547                 <li>SAN-Ouest Provence, France</li>
548                 <li>software.coop, United Kingdom</li>
549                 <li>South-East Kansas Library System (SEKLS), USA</li>
550                 <li>Stockholm University Library, Sweden</li>
551                 <li>SWITCH Library Consortium, USA</li>
552                 <li>Talking Tech, Global</li>
553                 <li>Tamil, France</li>
554                 <li>Tulong Aklatan, Philippines</li>
555                 <li>Universidad de El Salvador, El Salvador</li>
556                 <li>Universidad Empresarial Siglo 21, Argentina</li>
557                 <li>Universidad Nacional de Córdoba, Argentina</li>
558                 <li>Universidad ORT Uruguay</li>
559                 <li>Université d'Aix-Marseille, France</li>
560                 <li>Université de Lyon 3, France</li>
561                 <li>Université de Rennes 2, France</li>
562                 <li>Université de St Etienne, France</li>
563                 <li>University of the Arts London, United Kingdom</li>
564                 <li>Vaara-kirjastot, Finland</li>
565                 <li>Vanier College, Canada</li>
566                 <li>Ville de Victoriaville, Canada</li>
567                 <li>Vermont Organization of Koha Automated Libraries (VOKAL), USA</li>
568                 <li>Washoe County Library System, USA</li>
569                 <li>Xercode, Spain</li>
570             </ul>
571
572             <h2>Additional thanks to...</h2>
573             <ul>
574                 <li>Irma Birchall</li>
575                 <li>Rachel Hamilton-Williams (Kaitiaki from 2004 to present)</li>
576                 <li>Stephen Hedges (early Documentation Manager)</li>
577                 <li>Brooke Johnson</li>
578                 <li>Jo Ransom</li>
579                 <li>Nicholas Rosasco (Documentation Compiler)</li>
580                 <li>Regula Sebastiao</li>
581             </ul>
582         </div>
583
584         <div id="licenses">
585             <h2>Koha</h2>
586             <p>
587             <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>
588             </p>
589             <h2>jQuery and jQueryUI</h2>
590             <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>
591             <h2>Bootstrap</h2>
592             <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>
593             <h2>YUI</h2>
594             <p>
595             <a href="http://yuilibrary.com/license/">BSD License</a>
596             </p>
597             <h2>Famfamfam iconset</h2>
598               <ul>
599                 <li><a href="http://www.famfamfam.com/lab/icons/silk/">FamFamFam Site</a></li>
600                 <li><a href="http://creativecommons.org/licenses/by/2.5/">Creative Commons Attribution 2.5 License</a></li>
601               </ul>
602             <h2>The Bridge Material Type Icon Set</h2>
603               <ul>
604                 <li><a href="http://apps.carleton.edu/campus/library/bridge_icons/">Bridge Material Type Icons Project</a></li>
605                 <li>The Bridge Material Type Icon Set is licensed under a
606                   <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>
607                   by the Bridge Consortium of Carleton College and St. Olaf College.</li>
608               </ul>
609
610             <h2>The Noun Project icons</h2>
611                 <ul>
612                     <li>All images come from <a href="https://thenounproject.com/">The Noun Project</a> collection</li>
613                     <li>
614                         Circulation ("<a href="https://thenounproject.com/icon/743/">fair-trade</a>") symbol by Edward Boatman ; Patrons
615                         ("<a href="https://thenounproject.com/term/childrens-library/739/">children's library</a>") symbol by Edward Boatman, Saul Tannenbaum,
616                         Stephen Kennedy, Nikki Snow, Brooke Hamilton ; Search ("<a href="https://thenounproject.com/term/magnifying-glass/907/">magnifying
617                         glass</a>") symbol by Philipp Süß ; Lists ("<a href="https://thenounproject.com/term/folder/650/">folder</a>") symbol by Jack
618                         Biesek, Gladys Brenner, Margaret Faye, Healther Merrifield, Kate
619                         Keating, Wendy Olmstead, Todd Pierce, Jamie Cowgill, Jim Bolek ;
620                         Course reserves ("<a href="https://thenounproject.com/term/stack-of-books/11494/">stack of books</a>") symbol by Jeremy J. Bristol;
621                         Cataloging ("<a href="https://thenounproject.com/term/tag/888732/">price tag</a>") symbol by the Noun Project ; Authorities
622                         ("<a href="https://thenounproject.com/term/link/1690/">link</a>") symbol by Matthew Exton ; Serials ("<a href="https://thenounproject.com/term/newspaper/1233/">newspaper</a>") symbol by John
623                         Caserta ; Acquisitions ("<a href="https://thenounproject.com/term/gift/970853/">gift</a>") symbol by David Goodger ; Reports
624                         ("<a href="https://thenounproject.com/term/pie-chart/805/">pie chart</a>") symbol by Scott Lewis ; Administration ("<a href="https://thenounproject.com/term/gears/1063/">gears</a>") symbol by
625                         Jeremy Minnick ; Tools ("<a href="https://thenounproject.com/term/wrench/234/">wrench</a>") symbol by National Park Service ; Interlibrary loan ("<a href="https://thenounproject.com/term/exchange/1265396">exchange</a>") symbol by Iconstock.
626                     </li>
627                 </ul>
628
629             <h2>jQuery Bar Rating Plugin</h2>
630               <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>
631
632             <p>Copyright &copy; 2012-2016 <a href="http://antenna.io">Kazik Pietruszewski</a></p>
633
634             <h2>jQuery insertAtCaret Plugin</h2>
635             <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>
636
637             <p>Copyright &copy; 2003-2010 phpMyAdmin devel team</p>
638
639             <h2>jQuery treetable Plugin</h2>
640
641             <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>
642
643             <h2>OpenJS Keyboard Shortcuts Library</h2>
644
645             <p>The <a href="http://www.openjs.com/scripts/events/keyboard_shortcuts/">OpenJS keyboard shortcuts library</a>
646                by Binny V A is licensed under the BSD license.</p>
647
648             <h2>jquery.dataTables.grouping.js</h2>
649             <p>The <a href="https://code.google.com/p/jquery-datatables-row-grouping/">jquery.dataTables.grouping.js</a>
650                plugin by Jovan Popovic is licensed under the BSD and GPL v2 license.</p>
651
652             <h2>jQuery Colvis plugin</h2>
653             <p>The <a href="http://datatables.net/extensions/colvis/">controls for column visiblity in DataTables</a>
654                 by Allan Jardine is licensed under the BSD 3 and GPL v2 license.</p>
655
656             <h2>jquery.multiple.select.js</h2>
657             <p>The <a href="http://wenzhixin.net.cn/p/multiple-select/">jQuery multiple select plugin</a>
658                by Zhixin Wen is licensed under the MIT license.</p>
659
660             <h2>Javascript Diff Algorithm</h2>
661             <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>
662
663             <h2>jQuery Validation Plugin</h2>
664             <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>
665
666             <h2>TinyMCE WYSIWYG editor</h2>
667             <p>The <a href="http://www.tinymce.com/">TinyMCE WYSIWYG editor v3.5.8 </a> by Moxiecode (Ephox) is licensed under the <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt">LGPL v2.1</a>.</p>
668
669             <h2>Font Awesome</h2>
670             <p><a href="http://fontawesome.io">Font Awesome</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>
671
672             <h2>CodeMirror editing library</h2>
673             <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>
674
675             <h2>FileSaver library</h2>
676             <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>
677
678             <h2>Require.js JS module system</h2>
679             <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>
680
681             <h2>OAI xslt stylesheet</h2>
682             <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>
683
684             <h2>Select2</h2>
685             <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>
686
687             <h2>jquery.tablednd.js</h2>
688             <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>
689
690             <h2>Leaflet</h2>
691             <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>
692
693             <h2>jquery.emojiarea.js</h2>
694             <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>
695
696             <h2>JSZip</h2>
697             <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>
698
699             <h2>D3.js</h2>
700             <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>
701
702             <h2>C3.js</h2>
703             <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>
704
705             <h2>Font Face Observer</h2>
706             <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>
707
708             <h2>Noto fonts</h2>
709             <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>
710
711             <h2>HC Sticky</h2>
712             <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>
713         </div>
714
715         <div id="translations">
716             <h2>Translation</h2>
717             <ul>
718 <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.
719 <li>&#4768;&#4635;&#4653;&#4763; (Amharic) Getway II Ethiopia Co. (Yohannes Mulugeta (Team Leader), Tegene Assefa, Abiyot Bayou)</li>
720 <li>Armenian Tigran Zargaryan</li>
721 <li>&#1041;&#1098;&#1083;&#1075;&#1072;&#1088;&#1089;&#1082;&#1080; (Bulgarian) Radoslav Kolev</li>
722 <li>euskara (Basque) Fernando Berrizbeitia, the librarians of Eima Katalogoa, Tabakalera International Contemporary Culture Centre, and Nere Erkiaga</li>
723 <li>&#2476;&#2494;&#2434;&#2482;&#2494; (Bengali) Parthasarathi Mukhopadhyay</li>
724 <li>&#20013;&#25991; (Chinese)</li>
725 <li>Hrvatski (Croatian)</li>
726 <li>&#x010D;e&#353;tina (Czech)</li>
727 <li>D&aelig;nsk (Danish)</li>
728 <li>Nederlands-Nederland (Dutch-The Netherlands) Sponsored by Rijksmuseum</li>
729 <li>Nederlands-Belgi&euml; (Dutch-Belgium)</li>
730 <li>English</li>
731 <li>suomi, suomen kieli (Finnish) Pasi Korkalo</li>
732 <li>Fran&ccedil;ais (French) <a href="http://www.koha-fr.org/content/lassociation-kohala">Kohala</a>, Pascale Nalon (ENSMP), and many more </li>
733 <li>Galego (Galician) Ignacio Javier</li>
734 <li>Deutsch (German) Friedrich zur Hellen, Robert Hillig, Katrin Fischer, Beda Szukics, Mirko Tietgen and Marc Véron</li>
735 <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>
736 <li>&#1506;&#1489;&#1512;&#1497;&#1514; (Hebrew)</li>
737 <li>&#2361;&#2367;&#2344;&#2381;&#2342;&#2368; (Hindi)</li>
738 <li>Magyar (Hungarian)Agnes Imecs</li>
739 <li>Norsk Bokmål (Norwegian) Axel Bojer and Thomas Gramstad</li>
740 <li>Norsk Nynorsk (Norwegian) Unni Knutsen and Marit Kristine Ådland</li>
741 <li>(Indonesian)</li>
742 <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>
743 <li>&#26085;&#26412;&#35486; (Japanese)</li>
744 <li>&#54620;&#44397;&#50612; (Korean)</li>
745 <li>&#3221;&#3240;&#3277;&#3240;&#3233; (kanna&#7693;a)</li>
746 <li>Latina (Latin)</li>
747 <li>Lao Anousak Anthony Souphavanh</li>
748 <li>M&#257;ori</li>
749 <li>&#3374;&#3378;&#3375;&#3390;&#3379;&#3330; (Malayalam)</li>
750 <li>&#1601;&#1575;&#1585;&#1587;&#1609; (Persian)</li>
751 <li>&#2835;&#2908;&#2879;&#2822; (&#x014D;&#7771;iy&#257;)</li>
752 <li>Polski (Polish)</li>
753 <li>Portugu&ecirc;s (Portuguese)</li>
754 <li>Rom&acirc;n&#259; (Romanian)</li>
755 <li>&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081; (Russian) Victor Titarchuk and Serhij Dubyk</li>
756 <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>
757 <li>Svenska (Swedish)</li>
758 <li>Tetun (Tetum) Karen Myers</li>
759 <li>&#3616;&#3634;&#3625;&#3634;&#3652;&#3607;&#3618; (Thai)</li>
760 <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>
761 <li>&#1575;&#1585;&#1583;&#1608;(Urdu) Ata ur Rehman</li>
762 <li>&#1059;&#1082;&#1088;&#1072;&#1111;&#1085;&#1089;&#1100;&#1082;&#1072; (Ukrainian) Victor Titarchuk and Serhij Dubyk</li>
763             </ul>
764
765         </div>
766
767         <div id="history">
768         <h2>Koha history timeline</h2>
769     [% IF ! timeline_read_error %]
770         <table style="cursor:pointer">
771         <thead>
772         <tr>
773             <td  style="font-weight:bold;" >Date</td>
774             <td  style="font-weight:bold;" >Description</td>
775         </tr>
776         </thead>
777         [% FOREACH tabl IN table2 %]
778             <tr class="[% loop.parity | html %]">
779                 [% FOREACH ro IN tabl.row2 %]
780                      <td>[% ro.date | html %]</td>
781                      <td>[% ro.desc | html %]</td>
782                 [% END %]
783             </tr>
784         [% END %]
785         </table>
786     [% ELSE %]
787         <div class="dialog alert">
788             Could not read the history.txt file. Please make sure &lt;docdir&gt; is correctly defined in koha-conf.xml.
789         </div>
790     [% END %]
791         </div>
792
793     </div>
794 </div>
795 </div>
796
797 [% MACRO jsinclude BLOCK %]
798     <script type="text/javascript">
799          $(document).ready(function() {
800             $('#abouttabs').tabs();
801          });
802     </script>
803 [% END %]
804 <!-- the main div is closed in intranet-bottom.inc -->
805 [% INCLUDE 'intranet-bottom.inc' %]
806 <!-- roles for translation -->
807 [%- BLOCK role -%]
808   [%- SWITCH role.key -%]
809     [%- CASE 'manager'               -%]Release manager
810     [%- CASE 'manager_assistant'     -%]Release manager assistant
811     [%- CASE 'qa_manager'            -%]Quality assurance manager
812     [%- CASE 'qa'                    -%]Quality assurance team
813     [%- CASE 'documentation'         -%]Documentation manager
814     [%- CASE 'documentation_team'    -%]Documentation team
815     [%- CASE 'translation'           -%]Translation manager
816     [%- CASE 'translation_assistant' -%]Translation manager assistant
817     [%- CASE 'te'                    -%]Topic expert
818     [%- CASE 'bugwrangler'           -%]Bug wrangler
819     [%- CASE 'maintainer'            -%]Release maintainer
820     [%- CASE 'maintainer_assistant'  -%]Release maintainer assistant
821     [%- CASE 'wiki'                  -%]Wiki curator
822     [%- CASE 'ci'                    -%]Continuous integration manager
823     [%- CASE 'packaging'             -%]Packaging manager
824     [%- CASE 'packaging_assistant'   -%]Packaging manager assistant
825     [%- CASE 'chairperson'           -%]Meetings chairperson
826     [%- CASE 'newsletter'            -%]Newsletter editor
827     [%- CASE 'mm'                    -%]Module maintainer
828     [%- CASE 'vm'                    -%]Virtual machine maintainer
829     [%- CASE 'database'              -%]Documentation specialist
830     [%- CASE 'live_cd'               -%]Live CD maintainer
831   [%- END -%]
832 [%- END -%]
833 [%- BLOCK person -%]
834 [% IF p.openhub %]<a href="[% p.openhub | url %]">[% p.name | html %]</a>[% ELSE %][% p.name | html %][% END %]
835 [%- END -%]
836 [%- BLOCK contributions -%]
837 [%- IF p.roles || p.notes -%]
838 <ul>
839     [% FOREACH r IN p.roles %]<li>[% INCLUDE role role=r %] ([% r.value.join(', ') | html %])</li>[% END %]
840     [% IF p.notes %]<li>[% p.notes | html %]</li>[% END %]
841 </ul>
842 [%- END -%]
843 [%- END -%]