Fixed Bug #547
[koha.git] / doc / kohadoc.sgml
1 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
2 <book>
3
4 <!-- Header -->
5  <!-- High Availability info -->
6  <!-- Wiki-ize this? -->
7  <bookheader>
8   <title>Koha Manual</title>
9   <author>
10      <firstname>Koha</firstname>
11      <surname>DocTeam</surname>
12      <affiliation>
13         <address>
14            <email>info@koha.org</email>
15         </address>
16      </affiliation>
17   </author>
18     <revhistory>
19       <revision>
20          <revnumber>0.01</revnumber>
21          <date>2002-05-23</date>
22           <revremark> Started Document  </revremark>
23       </revision>
24       <revision>
25                 <revnumber>0.02</revnumber>
26                   <date>2002-12-17</date>
27           <revremark> Attempted to cover 1.2, 1.3(devel) Koha versions.  Updates to MARC information, other major enhancements to Koha also noted.  </revremark>
28       </revision>
29             <revision>
30                         <revnumber>0.03</revnumber>
31                           <date>2003-01-09</date>
32                           <authorinitials>nsr</authorinitials>
33                     <revremark> Still attempting to cover 1.2, 1.3(devel, specifically recent 1.3.3 release) Koha versions.  Proofing, CREDITS, MySQL bias, other corrections. </revremark>
34       </revision>
35       <!-- Additional (*earlier*) revision histories go here -->
36    </revhistory>
37
38   <abstract>
39     <indexterm>
40       <primary>Koha</primary>
41     </indexterm>
42      <para>
43      This is the full documentation set for the Koha Library application suite.  All of the information found in subsets of the documentation (ie the INSTALL file) are contained in this file.  It is conveniently grouped into 3 major sections, plus appendices, intended for the three broad classes of reader the developers and documenters anticipate.  Happy Cataloging!
44     </para>
45 <para><emphasis>*** Editor's note:  This is the third edition of the manual, covering the Koha version 2.0.X release series.  ***</emphasis></para>
46
47   </abstract>
48
49  </bookheader>
50 <!-- Section1: intro -->
51
52  <sect1 id="intro">
53    <title>Introduction</title>
54
55    <indexterm>
56     <primary>disk!introduction</primary>
57    </indexterm>
58
59   <para>
60    Koha is a library cataloging application, originally created for the Horowhenua Library Trust by Katipo, a small company in New Zealand.  It has always been under the Gnu Public License, and today is installed as a production system in at least 4 countries indexing thousands of individual library items, and currently supports users in 2 languages.  New features and support are handled by a variety of international volunteers.
61   </para>
62
63
64   <sect2 id="copyright">
65    <title>Copyright Information</title>
66
67    <para>
68     This document is copyrighted (c) 2002 The Koha Project and is distributed under the same terms as the Linux Documentation Project (LDP) license, stated below.
69    </para>
70
71    <para>
72     Unless otherwise stated, Koha documents are copyrighted by their respective authors. Koha related documents may
73     be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions.  Please check your local laws on copyright.
74    </para>
75
76    <para>
77     If you have any questions about the documentation, please contact
78     <email>info@koha.org</email>.
79     If you have any questions about Koha releases, please contact
80     <email>info@koha.org</email>.
81    </para>
82   </sect2>
83   <!-- Section2: disclaimer -->
84
85   <sect2 id="disclaimer">
86    <title>Disclaimer</title>
87
88    <para>
89     No liability for the contents of this documents can be accepted. Use the concepts, examples and other content at your own risk. As this is a new edition of this document, there may be errors and inaccuracies, that may of course be damaging to your system. Proceed with caution, and although damage is highly unlikely, the author(s) do not take any responsibility for that, or anything else that occurs.
90    </para>
91
92    <para>
93     All copyrights are held by their by their respective owners, unless specifically noted otherwise.  Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark.
94    </para>
95
96    <para>
97     Naming of particular products or brands should not be seen as endorsements.
98    </para>
99
100    <para>
101     You are strongly recommended to take a backup of your system before major installation and backups at regular intervals.
102    </para>
103   </sect2>
104
105 <!-- Section2: newversions-->
106
107   <sect2 id="newversions">
108    <title>New Versions</title>
109
110     <indexterm>
111      <primary>(your index root)!news on</primary>
112     </indexterm>
113
114
115    <para>
116     This is the third release.
117    </para>
118
119    <para>
120         This document's home page is www.koha.org.
121    </para>
122
123
124    <para>
125     The latest version number of this document can be
126     obtained from www.koha.org.
127    </para>
128
129    <para>
130     This HOWTO will always be made available on
131     the koha website, and will eventually have a variety of formats:
132    </para>
133
134    <para>
135    <itemizedlist>
136     <listitem>
137      <para>
138       <ulink url="http://www.koha.org/manual">HTML</ulink>.
139      </para>
140     </listitem>
141
142     <listitem>
143      <para>
144        <ulink URL="http://www.koha.org/manual">plain text</ulink>.
145      </para>
146     </listitem>
147
148     <listitem>
149      <para>
150       <ulink url="http://www.koha.org/manual">compressed
151        postscript (US letter format)</ulink>.
152      </para>
153     </listitem>
154
155     <listitem>
156      <para>
157       <ulink url="http://www.koha.org/manual">SGML source</ulink>.
158      </para>
159     </listitem>
160    </itemizedlist>
161    </para>
162
163    <para>
164     Since paper sizes vary in the world, this documentation is available in
165     <emphasis>universal format</emphasis> (8.27x11in; 210x279mm).  More or less :0.
166    </para>
167   </sect2>
168
169 <!-- Section2: credits -->
170
171   <sect2 id="credits">
172    <title>Credits</title>
173
174    <para>
175     In this version I have the pleasure of acknowledging:
176    </para>
177
178    <para>Mike Mylonas, Rachel Hamilton-Williams, Pat Eyler, and Jo Ransom in particular for either their specific contributions to the manual, or their support for the editing.  Rosalie Blake is the true, peerless guru of proofreading, and saved you the reader, and I from numerous ugly sentences and errors.  Naturally, I (and the entire community) are also indebted to all of the Koha contributors collectively.-- Nick, The Sometime Documeister, Koha
179    </para>
180
181    <para>
182     The entire project is indebted to <emphasis>Katipo</emphasis> and <emphasis>HLT</emphasis>
183     for opening the source in the first place.
184    </para>
185   </sect2>
186
187 <!-- Section2: feedback -->
188
189   <sect2 id="feedback">
190    <title>Feedback</title>
191
192    <para>
193     Feedback is most certainly welcome for this document. Without
194     your submissions and input, this document wouldn't exist. Please
195     send your additions, comments and criticisms to the following
196     email address : <email>info AT koha.org</email>.
197    </para>
198    </sect2>
199
200 <!-- Section2: translations -->
201
202   <sect2 id="translations">
203    <title>Translations </title>
204
205         <para>Translations are or should soon be available in the following languages:</para>
206    <para>
207     <itemizedlist>
208
209       <listitem>
210        <para>
211          <ulink url="NEEDLINK">Bengali/Bangla Translation</ulink>
212          by <email>someone (at) somewhere.in</email>
213        </para>
214       </listitem>
215
216       <listitem>
217         <para>
218                 <ulink url="NEEDLINK">Portuguese Translation</ulink>
219          by <email>someone (at) somewhere.portugal</email>
220        </para>
221        </listitem>
222
223
224       <listitem>
225        <para>
226          <ulink url="NEEDLINK">Catalan Translation</ulink>
227          by <email>someone (at) somewhere.catalonia</email>
228       </para>
229       </listitem>
230
231       <listitem>
232        <para>
233          <ulink url="http://fr.koha.org/manual/book1.html">French Translation / Traduction Française</ulink>
234          by <email>morinn (at) free.fr</email>
235        </para>
236       </listitem>
237
238       <listitem>
239        <para>
240          <ulink url="NEEDLINK">Hindi Translation</ulink>
241          by <email>someone (at) somewhere.in</email>
242        </para>
243       </listitem>
244
245       <listitem>
246        <para>
247          <ulink url="NEEDLINK">Italian Translation</ulink>
248          by <email>someone (at) somewhere.it</email>
249        </para>
250       </listitem>
251
252       <listitem>
253        <para>
254          <ulink url="NEEDLINK">Maori Translation</ulink>
255          by <email>someone (at) somewhere.nz</email>
256        </para>
257       </listitem>
258
259      <listitem>
260       <para>
261         <ulink url="http://www.koha.org">Polish Translation</ulink>
262         by <email>Benedict (at) somewhere.po</email>
263       </para>
264      </listitem>
265
266      <listitem>
267       <para>
268         <ulink url="http://es.koha.org/">Spanish Translation</ulink>
269         by <email>someone (at) somewhere.es</email>
270       </para>
271      </listitem>
272     </itemizedlist>
273    </para>
274    </sect2>
275
276  </sect1>
277
278 <!-- Section1: intro: END -->
279
280  <sect1 id="Koha_Welcome">
281   <title>Welcome to Koha</title>
282   <para>
283   Dear User,</para>
284   <para>Hello, and welcome to Koha.  The manual you're reading and the software that it documents are the fruits of a lot of volunteer labor, hard work by the staff of Katipo Communications, and donations by Horowhenua Library Trust and other libraries.</para>
285
286 <para> Koha was initially developed in 1999 and the first library went live in January of 2000.  Koha's code has been in production since then and is continuing to move towards higher levels of functionality and standards compliance, including embracing the international records and cataloging standards MARC and Z39.50.  Our development community has also grown and now includes contributors on four continents and ports in several languages.</para>
287
288 <para>This is one of the beauties of Free Software -- all of the people involved have reasons to work on a Library System, by working together they've been able to create something far more useful than anything they could have done on their own, while enjoying the benefits of all the work done before.</para>
289
290 <para>Why is all this feel good philosophy here?  Isn't this a 'Welcome to Koha' letter, you ask?  Well, this stuff <emphasis>is</emphasis> part of our welcome.  We're proud of the work that we've done so far.  We're also excited about the improvements and additions that are just over the horizon.  We want you to get comfortable with Koha, to make it your own.  In fact, we want you to be so comfortable with it that you're ready to make changes in it, and we want you to feel at home enough to contribute them back to the community.</para>
291
292 <para>We're a friendly bunch, we've got a users mailing list where you should feel free to ask questions.  You can subscribe by filling out the form at http://koha.org/mailing_list.html .  If you'd rather ask questions in real time, you can use irc and meet with us on the #Koha-Support channel at irc.katipo.co.nz, port 6667. </para>
293
294 <para>I hope I've convinced you to join the project, but even if I haven't I hope that you'll enjoy the time you spend with our software.</para>
295
296   <para>
297   Happy cataloging!
298   </para>
299   <para><emphasis>Pat Eyler<emphasis></para>
300   <para>Kaitiaki, Koha</para>
301 </sect1>
302
303
304  <sect1 id="How_To_Use_this_Manual">
305   <title>How To Use This Manual</title>
306    <sect2 id="UseTop">
307    <title>As always...<title>
308   <para>
309    <emphasis>As always, the usual Disclaimer applies: <emphasis> This manual, like much of everything on the Web, is continually under construction.
310   </para>
311    </sect2>
312    <sect2 id="Formats">
313    <title>Formats</title>
314
315    <para>As a convention, blocks of code or screen capture are formatted like the below:</para>
316    <para><screen>[bookish@server]$ command</screen></para>
317
318    <para>  Additionally, email addresses are formatted for antispam purposes, eg:</para>
319    <para> info AT koha.org </para>
320    <para> info AT koha DOT org </para>
321    </sect2>
322
323 </sect1>
324
325 <!-- Section1: Library IT Support  -->
326  <sect1 id="Book1_Library_IT_Support">
327   <title>Book 1:  For the Library IT Support Staff</title>
328
329
330   <para>"What is written without effort is, in general, read without pleasure."</para>
331 <para><emphasis>  -Samuel Johnson</emphasis></para>
332
333 <!-- ALL THIS NEEDS AN ASSESSMENT -->
334
335   <sect2 id="To_Start">
336            <title>To Start</title>
337
338    <para>
339     The usual pattern for a Koha installation is the setup of a dedicated server in the library to support the installation of a server grade operating system and the necessary support software.  Koha was originally designed to run with Apache running on Linux.  Most sites have continued this trend.    Koha should run with little or no adjustment necessary on most versions of Unix.  Similarly, there are no Apache specific areas in the code, however we have little feedback on how the application will run with other HTTP daemons.  Any feedback is most appreciated.
340    </para>
341    <!-- <para><emphasis>It is possible to run Koha on Microsoft's Windows server platform with appropriate ports of support tools.  A mail list devoted to windows related koha issues has been started at, please see the FAQ section for more information and the links for downloads. </emphasis></para> -->
342    <para>NB: All the Koha system administrators are firm believers in backing up the database on a regular schedule, especially before upgrades to existing Koha installations.</para>
343    </sect2>
344
345    <sect2 id="Installer.pl">
346            <title>Option 1: Automated Configuration</title>
347   <para>The preferred method of Koha installation for anyone running a Unix operating system and a machine explicity for Koha is to run the installation script:</para>
348    <para> <screen> perl -Imodules installer.pl</screen>
349    </para>
350    <para> which can be found with the tarball. </para>
351 </sect2>
352
353 <sect2 id="Install_Manual">
354  <Title>Option 2: Manual Koha Installation</Title>
355 <para> It is possible to install Koha manually, however this procedure is recommended for very experienced admins only.</para>  
356 <para>To do so:</para>
357         <itemizedlist>
358         <listitem><para>    Make directory in tmp called Koha ( mkdir /tmp/Koha )       </para></listitem>
359         <listitem><para>    Make sure to install the following packages:  libexpect-perl </para></listitem>
360         <listitem><para>Download the following files, from the following locations:     </para>
361                                 <para><itemizedlist>
362                                 <listitem><para> Bundle-KohaSupport-0.08.tar.gz  from <ulink url="http://www.cpan.org">http://www.cpan.org/</ulink>, Locate by searching for Koha </para></listitem>
363         <listitem><para> yaz-2.0.tar.gz from <ulink url="http://www.indexdata.dk/yaz/">http://www.indexdata.dk/yaz/</ulink>
364     (Specific instructions: right-hand menu/download/sources)
365         </para></listitem>
366         <listitem><para>Koha-2.0 from www.koha.org, Specific instructions: <ulink url="http://sourceforge.net/project/showfiles.php?group_id=16466"http://sourceforge.net/project/showfiles.php?group_id=16466/>
367         </para></listitem>      
368         <listitem><para>Unpack all sources into reasonably named directories.</para></listitem>
369         </listitem> 
370         <listitem><para>  Install yaz:  Go into yaz-2.0, until you see the file README.  Installation instructions:
371                 <programlisting>
372           $ ./configure
373           $ make
374           $ su
375           PASSWORD: XXXX
376           # make install
377           # exit
378           $
379                 </programlisting>
380     
381         </para></listitem>
382         <listitem><para>
383     Install the Koha Bundle
384         <programlisting>
385                $ cd /tmp/Koha/Bundle-KohaSupport-0.08
386                $ perl Makefile.PL
387                $ make
388                $ su
389                PASSWORD: XXXX
390                # make install
391                # exit
392                $
393                 </programlisting>
394     
395         </para></listitem>
396         <listitem><para>
397     Get your MySQL server running - check the MySQL website for more assistance.
398         </para></listitem>
399         <listitem><para>
400     Get your Apache server running - chances are that your distribution of Linux includes this and has it running already.
401         </para></listitem>
402 <!--  <section>         <title>    Start the Koha Install       </title>
403         <itemizedlist>
404         
405 <para>
406     Start the installer
407         <programlisting>
408        perl -Imodules installer.pl
409                 </programlisting>
410     
411         </para></listitem>
412         <para>
413      <emphasis>or</emphasis> 
414         </para> 
415     Install manually [for advanced users] 
416         </para></listitem>
417         <listitem><para> 
418 -->
419         <listitem><para>Start the Koha Install: [note, this is a rough outline of the steps necessary!] </para>
420         <itemizedlist>
421         <listitem>
422         <para>Things to know: </para>
423         <itemizedlist>
424                 <listitem><para>    server's domain name and system configuration directory (normally /etc - This should be an absolute path; a trailing / is not required.) </para></listitem>
425                 <listitem><para>
426                         Make sure that a koha.conf file exits at /etc/koha.conf.  An example koha.conf file is shown below.
427         <programlisting>
428         database=Koha
429         hostname=localhost
430         user=kohaadmin
431         pass=kohaadmin
432         includes=/usr/local/koha/opac/htdocs/includes
433         intranetdir=/usr/local/koha/intranet
434         opacdir=/usr/local/koha/opac
435         kohalogdir=/usr/local/koha/log
436         kohaversion=2.0.0pre1
437         httpduser=apache
438         intrahtdocs=/usr/local/koha/intranet/htdocs/intranet-tmpl
439         opachtdocs=/usr/local/koha/opac/htdocs/opac-tmpl
440                 </programlisting>
441                 </para></listitem>
442                 <!--<listitem><para>    Setup apache                    </para></listitem> -->
443                 <listitem><para>
444     Select a virtual server name, port for the OPAC (catalog), and port for the intranet (librarian's interface)
445                 </para></listitem></listitem>
446                 <listitem><para>
447     add the appropriate entries to the Apache Virtual Host setup. (see enclosed)
448         <programlisting>
449     &lt;VirtualHost _default_:*>
450         ServerAdmin webmaster@dummy-opac
451         DocumentRoot /usr/www/opac/htdocs
452         ScriptAlias  /cgi-bin/ /usr/www/opac/cgi-bin/
453         ServerName opac
454         ErrorLog logs/opac-error_log
455         CustomLog logs/opac-access_log common
456     &lt;/VirtualHost>
457                         </programlisting>
458     
459                 </para></listitem>
460                 <listitem><para>
461     set Serveradmin, Servername, DocumentRoot, ScriptAlias with associated (below) info in httpd.conf
462         <programlisting>
463     &lt;Directory "PATHofSOMEsort">
464         AllowOverride None
465         Options None
466         Order allow,deny
467         Allow from all
468     &lt;/Directory>
469                         </programlisting>
470     
471                 </para></listitem>
472                 <listitem><para>
473     Place the appropriate koha files in the appropriate directories (/usr/local/koha usually, with subdirs OPAC and INTRANET)
474                 </para></listitem>
475                 <listitem><para>
476     Load the MySQL configuration [PAT FIXME:  what's the command/file for this now???] NOTE:  koha.conf must exist by this point.
477                 </para></listitem>
478                 <listitem><para>
479     Restart apache.
480                 </para></listitem>
481                 </itemizedlist>
482                 </listitem>
483     
484     </sect2>
485
486 <sect2 id="Windows_Install">
487 <Title>Windows Installation</Title>
488         <para>--</para>
489 </sect2>
490
491
492 <!-- FIXME:REASSESS **EVERYTHING** here -->
493     <sect2 id="Exceptions_To_Install">
494            <title>Installation Alternative Options</title>
495                <sect3 id="Rootless">
496                    <title>Installing without Root</title>
497                 <para>To install Koha without access to superuser/root/sysadmin level privileges, ask your system administrator to arrange for a user called opac and then set the user in the OPAC virtual host.  This will permit all of the cgi scripts to be executed as 'user' opac.  The Virtualhost then may suexec to the user installing Koha, and koha.conf can then be written by that user, avoiding the need for the chown command, which is restricted to a superuser.  It is then extremely important to set PERL5LIB environment variable to point at the libraries you have installed: </para>
498                 </para> <screen> SetEnv PERL5LIB /some/path/to/modules </screen></para>
499                 </sect3>
500                  <sect3 id="NoVirt">
501                  <title>Installation without Virtual Hosts</title>
502
503                         <para>Koha is designed to be installed as two separate services - each having a unique web address and folder structure (two virtual web hosts). Both services access a single SQL database which may be hosted on the same server or on a remote server. Following the steps below reconfigure koha (the intranet and opac) to run on a single, non-virual server.</para>
504
505                         <para>NB: In the examples below, pathto = /usr/local/www</para>
506
507                         Create new /etc/koha.conf</para>
508                         <para><screen>
509                         database=kohadb
510                         hostname=localhost
511                         user=kohadbuser
512                         pass=xxxxxxxx
513                         includes=/pathto/html/koha/includes
514                         </screen></para>
515
516                         <para><emphasis>Create a general purpose web site:</emphasis></para>
517
518                         <para>/pathto/html</para>
519                         <para>/pathto/cgi-bin</para>
520
521
522                         <para><emphasis>Create koha web installations folders:</emphasis></para>
523
524                         <para>/pathto/html/koha/includes</para>
525                         <para>/pathto/html/koha/oadmin</para>
526                         <para>/pathto/html/koha/opac</para>
527
528
529                         <para><emphasis>Create koha cgi-bin folders:</emphasis></para>
530
531                         <para>/pathto/cgi-bin/opac</para>
532                         <para>/pathto/cgi-bin/koha</para>
533                         <para>/pathto/cgi-bin/koha/C4</para>
534
535                         <para>Copy koha distro opac-html\* into /pathto/koha/opac/*</para>
536                         <para>Copy koha distro intranet-html\* into /pathto/koha/oadmin/*</para>
537
538                         <para>koha distro koha\* into /pathto/cgi-bin/oadmin <emphasis>(including C4 directory and its contents)</emphasis>.</para>
539
540                         <para>Copy member.pl + seach.pl into /pathto/cgi-bin/opac</para>
541
542                         <para>Move /pathto/koha/opac/images/* into /pathto/images/opac/*</para>
543                         <para>Move /pathto/koha/oadmin/images/* into /pathto/images/oadmin/*</para>
544
545                         <para>Rename opac *.inc files so that they all have opac-* prefix ie</para>
546                         <para> rename "join-top.inc" to "opac-join-top.inc"</para>
547                         <para><emphasis>and</emphasis> rename "members-top.inc" to "opac-members-top.inc"</para>
548
549                         <para>Move <emphasis>ALL</emphasis> includes from koha distro into /pathto/koha/includes
550                         [(It is preferable that any new includes for opac should be named using the "opac-" prefix convention (or similar)].</para>
551
552
553                         <para>Example excerpts from apache httpd.conf:</para>
554                         <para><screen>
555                         ServerName library.example.org
556                         ServerPath /usr/local/www
557                         DocumentRoot /usr/local/www/html
558                         #
559                         Alias /images/ "/usr/local/www/html/images/"
560                         SetEnv PERL5LIB "/usr/local/www/cgi-bin/koha"
561
562                         &lt;Directory /var/www/html >
563                         # This is the root of general purpose website
564                         # NO server side includes!
565                         AllowOverride None
566                         Options -Includes -FollowSymlinks -Indexes
567                         Order Deny,Allow
568                         Allow From All
569                         &lt;/Directory>
570
571                         # ======== Use Server Side Includes Here =======
572                         &lt;Directory /usr/local/www/html/koha/opac>
573                         AllowOverride None
574                         Options +Includes -FollowSymlinks -Indexes
575                         AddHandler server-parsed .html
576                         &lt;/Directory>
577                         #
578                         &lt;Directory "/usr/local/www/html/koha/oadmin">
579                         #
580                         AllowOverride None
581                         #
582                         # First, you must enable +Includes or +IncludesNoExec
583                         # in "Options"...
584                         Options +Includes -FollowSymlinks -Indexes
585                         #
586                         # Allow server-parsed content (SSI) for files
587                         AddHandler server-parsed .html
588                         #
589                         # Optional simple server based authentication....
590                         # Authtype Basic
591                         # AuthName Koha-Online-Admin
592                         # AuthUserFile /usr/local/www/ok_users/koha-users
593                         # AuthGroupFile /usr/local/www/ok_groups/koha-groups
594                         # &lt;Limit GET POST PUT DELETE>
595                         # require user koha-admin group lib-admins
596                         # &lt;/Limit>
597                         &lt;/Directory>
598                         &lt;/VirtualHost>
599                 </screen></para>
600
601                 <para> Note:  You will also need to change the include files to reflect the new "root" directory -- if you don't do this, everything will work until you click on a section button at the top of a page.</para>
602                 </sect3>
603
604
605    </sect2>
606
607    </sect1>
608 <!-- Section1: Librarian  -->
609  <sect1 id="Book_2_Librarian">
610   <title>Book 2:  For the Librarian</title>
611 <!-- Ideally, I'd like caricature style images of these "people"  -->
612  <sect2 id="Lib_Home_Page">
613   <title>The Home Page</title>
614 <para>The home page offers links to these sections of Koha:</para>
615    <para>
616     <itemizedlist>
617              <listitem>
618       <para>Catalogue Search: This will search on any word/words in the title, subtitle, series title or subject fields (?abstract, web URL?). It will search on truncated strings. For a more specific search, click on the advanced search link below the box.
619       </para>
620      </listitem>
621              <listitem>
622       <para>Member search: will search on a member's barcode number, or on any part of the member's name (including truncated names).
623       </para>
624      </listitem>
625              <listitem>
626       <para>Acquisitions: Koha has two acquisitions processes. The full acquisitions is a sophisticated system for keeping track of spending on books and other materials in multiple budgets. The simple version is a much quicker method of adding data if budget tracking is not required.
627       </para>
628      </listitem>
629              <listitem>
630       <para>
631         Accounts and Reports
632         </para>
633      </listitem>
634              <listitem>
635       <para>
636         Circulation: Koha has two Circulation processes. This link takes you to the web-based circulation system. The alternate text-only system is intended for faster access over a slow comms link. Talk to your system administrator if you need this version.
637         </para>
638      </listitem>
639     </itemizedlist>
640    </para>
641 </sect2>
642 <sect2 id="Catalog_sec">
643 <title>Catalog</title>
644 <para>The Catalog is the heart of Koha, and the search system for it the principal tool for most users.</para>
645   <sect3 id="CatalogSearch">
646   <title>Catalogue Search:</title>
647
648 <mediaobject>
649 <imageobject>
650 <imagedata fileref="image002" scale="40">
651 </imageobject>
652 <textobject>
653 <phrase>
654 screenshot
655 </phrase>
656 </mediaobject>
657
658   <para>The Catalogue search is the first step to identify a particular item or material on a particular subject. It offers the option of an item barcode search (the barcode can be scanned or typed), or single or combined specific searches, which can be customized for individual sites. The Horowhenua Library Trust searches (above) offer Keyword and Title and/or Author and/or Dewey (i.e.class number) and/or Class (i.e. item type), and/or Subject search. Other fields such as Publisher, Abstract, web site etc. are also possible.  Searches can be constructed using more than one field e.g. to find a video of Les Miserables: a search for Title Miserables and Class Video, will bring up a listing for the video, but not the book with the same title. Searching over more than one field will slow the search down.</para>
659
660 <para>The title search offers the alternative of an exact title search, (by clicking on the exact button). This is useful for short titles consisting only of very common words eg Time, War</para>
661
662 <sect3 id="CatalogRecord">
663   <title>Catalogue Record:</title>
664
665 <para>The full cataloguing record is stored in three sections: Biblio, Group, and Item records. </para>
666
667 <sect4 id="TheBibliosection">
668   <title>The Biblio Section</title>
669 <para> The Biblio section contains the copyright information: author, title, series, copyright date and subject. Several printings of the same work can be attached to one Biblio record - paperback, hard back, large print, e-book.</para>
670 </sect4>
671
672 <sect4 id="TheGroupSection">
673   <title>The Group Section</title>
674
675 <para>The Group section contains bibliographic data for a particular publication of that work, such as ISBN number, physical description, imprint (publisher information), etc. A Group record can contain one or several items. It also specifies the item type (and associated borrowing parameters), and classification. You might have eg 2 copies of a title, one of which is to be Reference only, and the other a borrowing copy. You would make 2 group records, one for each copy. But if you later added another borrowing copy, you would add it to the group containing the first borrowing copy, since all the data in that Group record is true of both copies.</para>
676 </sect4>
677
678 <sect4 id="TheItemSection">
679   <title>The Item Section</title>
680 <para>Item section contains the information relating to one specific copy: barcode, purchasing information, branch attachment, lending record.</para>
681 </sect4>
682
683 </sect3>
684 <sect3 id="CatalogueMaintenance">
685   <title>Catalogue Maintenance</title>
686 <para>Simple changes, e.g. spelling/typing corrections can be made by using the Modify buttons on the Biblio Record display, the Group Record display and the Item (Barcode number) display. </para>
687
688 <para>Further catalogue maintenance is available by clicking on the Catalogue maintenance link (in the Help box). (Access to this section may be password protected). The Catalogue maintenance section lets a cataloguer correct some other errors that creep into the catalogue: subject and group maintenance, and retrieving a biblio that has been deleted by mistake.</para>
689 <mediaobject>
690 <imageobject>
691 <imagedata fileref="image004" scale="40">
692 </imageobject>
693 <textobject>
694 <phrase>
695 screenshot
696 </phrase>
697 </mediaobject>
698
699
700 <para>Subject Maintenance allows you to correct misspellings, or to change one subject to another, and have the change applied globally in your database. </para>
701
702 <mediaobject>
703 <imageobject>
704 <imagedata fileref="image006" scale="40">
705 </imageobject>
706 <textobject>
707 <phrase>
708 screenshot
709 </phrase>
710 </mediaobject>
711
712 <mediaobject>
713 <imageobject>
714 <imagedata fileref="image008" scale="40">
715 </imageobject>
716 <textobject>
717 <phrase>
718 screenshot
719 </phrase>
720 </mediaobject>
721
722 <para>The wrong subject can be corrected, and applied by clicking on the Modify button.</para>
723
724 <mediaobject>
725 <imageobject>
726 <imagedata fileref="image010" scale="40">
727 </imageobject>
728 <textobject>
729 <phrase>
730 screenshot
731 </phrase>
732 </mediaobject>
733
734
735 <para>Group Maintenance allows you to move a group from one biblio to another.
736 The third option in Catalogue maintenance also allows you to undelete a biblio that you have deleted by mistake, or restore the record of an item that was lost and then found.
737 </para>
738
739 <mediaobject>
740 <imageobject>
741 <imagedata fileref="image012" scale="40">
742 </imageobject>
743 <textobject>
744 <phrase>
745 screenshot
746 </phrase>
747 </mediaobject>
748
749
750 <mediaobject>
751 <imageobject>
752 <imagedata fileref="image014" scale="40">
753 </imageobject>
754 <textobject>
755 <phrase>
756 screenshot
757 </phrase>
758 </mediaobject>
759
760
761 <para>Clicking on the undelete link will restore the biblio record. </para>
762
763
764 </sect3>
765 </sect2>
766 <sect2 id="Acquisitions">
767   <title>Acquisitions</title>
768   <para>Koha has two acquisitions processes. The full acquisitions is a sophisticated system for keeping track of spending on books and other materials in multiple budgets. The simple version is a much quicker method of adding data if budget tracking is not required.</para>
769   <sect3 id="SimpleAcquisitions">
770     <title>Simple Acquisitions</title>
771     <para>http://intradev.katipo.co.nz/cgi-bin/koha/acqui.simple/addbooks.pl is the simple version.</para>
772
773 <mediaobject>
774 <imageobject>
775 <imagedata fileref="image016" scale="40">
776 </imageobject>
777 <textobject>
778 <phrase>
779 screenshot
780 </phrase>
781 </mediaobject>
782
783     <para>Start by typing any distinctive keyword from the title into the Keyword field, or typing or scanning the ISBN into the ISBN field.</para>
784
785         <para>If you find a biblio record that fits, clicking on it takes you to the additem.pl screen (see below) where you can add the item info.</para>
786
787
788 <mediaobject>
789 <imageobject>
790 <imagedata fileref="image018" scale="40">
791 </imageobject>
792 <textobject>
793 <phrase>
794 screenshot
795 </phrase>
796 </mediaobject>
797
798
799         <para>If the catalogue check for a matching record fails, you can add a new biblio by downloading a MARC record, if this has been set up for you (more in Koha v1.4.), or you can add items manually by clicking on Add New Biblio. </para>
800         <para>The first screen when adding a biblio is Section One, Copyright Information. The only mandatory field is the title.</para>
801
802
803 <mediaobject>
804 <imageobject>
805 <imagedata fileref="image020" scale="40">
806 </imageobject>
807 <textobject>
808 <phrase>
809 screenshot
810 </phrase>
811 </mediaobject>
812
813
814         <para>After submitting the screen, you reach the same additem.pl? screen as described above.
815 Section Two covers Group Information and Item information. You are asked first for the Item information: a barcode, the branch to which it is allocated (for multi-branch systems), the replacement price and any notes that apply to this copy only. Only the barcode and branch are mandatory. Then you have the option of adding to an existing group, or of creating a new group to add it to (see description under 1.2 Cataloguing Record.) </para>
816 <para>Adding a New Group requires you to specify the Format, or item type from a list you will have compiled with your installer. Standard cataloguing fields follow. Dewey subclass is used for filing letters, if you use them.  Volume, Number and Volume Description can be used to identify separate issues of a periodical, for issuing purposes. It is useful to standardize the Volume description -- so use Apr 2002, May 2002, or 2002/04, 2002/05 and stick to your standardized description every time.
817 </para>
818
819 </sect3>
820 <sect3 id="FullAcquisitions">
821     <title>Full Acquisitions</title>
822     <para>The full Acquisitions programme is designed so that items cannot be added to the data base without an explanation of where they have come from. If you want to add a lot of items without going through this process, or if you don't have to worry about keeping track of a budget, use the simplified Acquisitions process.</para>
823
824     <sect4 id="FullAcquisitionsSetup">
825             <title>Setup</title>
826             <para>--</para>
827         </sect4>
828          <sect4 id="FullAcquisitionsSuppliers">
829                     <title>Suppliers</title>
830                     <para>For regular suppliers, Koha lets you build a list of your regular suppliers on by typing in the Start, receive, modify any order.</para>
831
832 <mediaobject>
833 <imageobject>
834 <imagedata fileref="image022" scale="40">
835 </imageobject>
836 <textobject>
837 <phrase>
838 screenshot
839 </phrase>
840 </mediaobject>
841
842
843 <mediaobject>
844 <imageobject>
845 <imagedata fileref="image024" scale="40">
846 </imageobject>
847 <textobject>
848 <phrase>
849 screenshot
850 </phrase>
851 </mediaobject>
852
853                         <para>Click on Add New Supplier and fill in the fields in the left column. </para>
854
855 <mediaobject>
856 <imageobject>
857 <imagedata fileref="image026" scale="40">
858 </imageobject>
859 <textobject>
860 <phrase>
861 screenshot
862 </phrase>
863 </mediaobject>
864
865                         <para>The right hand column of Ordering Information works like this:</para>
866 <para>List prices and Invoice prices: you have the option of selecting the currency in which the price is quoted. If it is to be imported, Koha will do the calculation for the cost in your own currency by using the currency conversion table on:
867
868 <mediaobject>
869 <imageobject>
870 <imagedata fileref="image027" scale="40">
871 </imageobject>
872 <textobject>
873 <phrase>
874 screenshot
875 </phrase>
876 </mediaobject>
877
878                         <para>It does this separately for the List price for the amount that is committed at the time of ordering, and then corrects the amount if it is different at the time the invoice is paid, due to currency fluctuations.</para>
879                         <para>(GST is a local tax in New Zealand, similar to VAT in Britain. It is paid to the supplier as a separate item, but it can be reclaimed as an expense, so that book prices are effectively net, not including GST. This field could be used for a local Sales Tax in other countries if it is reclaimed. Ask your administrator to set the right percentage. If you don't pay any local taxes, and don't want to use this field for anything else, set all your suppliers to No. )</para>
880                         <para>The next three fields allow for a variety of invoice formats. Some suppliers list items by the full retail price, then deduct discount and add tax to the subtotals at the bottom of the invoice. Others deduct discount line by line and don't charge tax. Koha can accommodate all these variations in calculating the exact amount any one item costs. </para>
881         </sect4>
882         <sect4 id="ManualCalculations">
883                             <title>Manual Calculations</title>
884                     <para>Manual Calculations only is used for sundry purchases for which it's not worthwhile setting up a separate supplier profile. Save changes when you're done. You can update a supplier profile at any future date by clicking on the supplier link on /koha/acqui/order.pl.</para>
885         </sect4>
886         <sect4 id="ManualCalculations">
887                             <title>Bookfunds</title>
888                             <para>Bookfunds: Your installer will help you set up Bookfunds and the currencies you might be importing in. Get the exchange rates from your bank, enter them, and you're ready to go. </para>
889         </sect4>
890         <sect4 id="Placing_an_Order">
891                                 <title>Placing An Order</title>
892                                 <para>Enter a keyword for the supplier, and go to:</para>
893
894 <mediaobject>
895 <imageobject>
896 <imagedata fileref="image029" scale="40">
897 </imageobject>
898 <textobject>
899 <phrase>
900 screenshot
901 </phrase>
902 </mediaobject>
903
904                                 <para>Click the Order button. </para>
905
906 <mediaobject>
907 <imageobject>
908 <imagedata fileref="image031" scale="40">
909 </imageobject>
910 <textobject>
911 <phrase>
912 screenshot
913 </phrase>
914 </mediaobject>
915
916                                 <para>Do the catalogue search.</para>
917
918 <mediaobject>
919 <imageobject>
920 <imagedata fileref="image033" scale="40">
921 </imageobject>
922 <textobject>
923 <phrase>
924 screenshot
925 </phrase>
926 </mediaobject>
927
928                                 <para>If it's a new title, click on Add New Biblio and reach.</para>
929
930 <mediaobject>
931 <imageobject>
932 <imagedata fileref="image035" scale="40">
933 </imageobject>
934 <textobject>
935 <phrase>
936 screenshot
937 </phrase>
938 </mediaobject>
939
940                                 <para> (If you're adding an extra copy to an existing biblio, you'll reach this screen with some fields already filled in).</para>
941                                 <para>Fill in the catalogue information on the left, except for the barcode. On the right column, enter the number of copies, bookfund and supplier's list price. Tab down through the next 5 fields and Koha will enter the Replacement cost (usually the same as the List Price, but you can change it later if you need to), the budgeted cost, which is the list price less the discount expected, the GST (tax) if any, and the budgeted total. Then click on Add order.</para>
942
943                                 <para>The budget is updated. The budgeted amount is added to the committed total, and the same amount is deducted from the available total.</para>
944
945                                 <para>To add another title to the same order, start with a new Keyword search on http://test.library.org.nz/cgi-bin/koha/acqui/newbasket.pl?id=(supplier number). Use the same basket for all the books ordered at the same time. If you can't get them all entered in one session, you can reopen the basket and add more titles the next day.</para>
946         </sect4>
947         <sect4 id="Receiving_an_Order">
948                         <title>Receiving an Order</title>
949         <para>Start at /acquisitions/ with a supplier search. Click on Receive. Koha will ask for the Invoice number, the amount of GST on the Invoice, any freight charged and the number of items included on this invoice. </para>
950         <para>When you have entered this data, Koha takes you to a Receipt Summary screen. Identify the item you have received by ISBN or by title keyword, and return to the order screen you filled partially when placing the order.</para>
951         <para>Catalogue Detail: Fill in any new details in the Catalogue Detail column, and assign the item a barcode. Creating a branch called Processing, and receiving orders into it is a help in tracking down new arrivals. </para>
952         <para>Accounting Details: Fill in Quantity received, the actual cost and the Invoice number. </para>
953         <para>Carry on with the next item.</para>
954         <para>When you have finished receiving all the items on this invoice, Koha will have divided the Postage and Packing cost between the all the items received; totaled the GST and it will have calculated the correct net price for each item. Each item will have this price added to its Acquisition record as the Actual Price. This record is retrievable in future by clicking on the Accession link on the item detail page in Catalogue Inquiry. Koha will have updated the budget, moving the money from committed to Spent.</para>
955         </sect4>
956         <sect4 id="Donations">
957                         <title>Donations</title>
958         <para>Donations can be handled in the full Acquisitions programme by creating a virtual supplier called Donations. Koha will require you to enter all prices manually, and will show a warning each time that this is necessary.</para>
959         </sect4>
960         <sect4 id="SundrySuppliers">
961                         <title>Sundry Suppliers</title>
962         <para>Occasional suppliers from whom you expect to make only one purchase can be treated by shortcut. Choose the manual calculations option, and enter the name and address of the supplier in the notes field on the item record.</para>
963         </sect4>
964 </sect3>
965         </sect2>
966 <!-- MANUAL v 1.2 Regula's document -->
967
968 <!-- INTERNET -->
969
970 <sect2 id="OPAC-Internet">
971        <title>OPAC - Internet</title>
972 <para>
973 Cataloguing is done from two points of access, but starts always with a catalogue search which identifies whether the title is in the library or not.
974
975 After a catalogue search, if there is already a record, clicking on the title will allow to modify or to delete the biblio record in the next step, clicking on the item's barcode number will allow to update the group or item record.
976
977 If the title is not yet in the database, a new record must be entered through acquisitions where a record linked to a supplier must be created first. For further detail consult the acquisitions part of the manual.
978 </sect3>
979 <sect3 id="Catalogue search">
980        <title>Catalogue search</title>
981 <para>
982 Anyone who has access to the library's home page through the internet can search the Koha catalogue through the web-OPAC. Two search possibilities are available: a keyword search and a more detailed search.
983 </para>
984 <itemizedlist>
985 <listitem><para>
986 Keyword search:
987 On the library's homepage typing one or more words in the Search the catalogue field results in a keyword search on the catalogue.</para>
988 <!-- *screenshot* -->
989 <para>
990 A keyword search leads to a list of all records that contain the keyword in title, subtitle, series or subject fields. From the list it's possible to look at the detailed information attached to the biblio record: i.e. what kind of items exist, and their whereabouts. From the details, it is possible to place a reservation on an item if you are a member of the library.</para>
991 <para>
992 Getting the search-result is really quick for a very specific search, e.g. Silmarillion, but can take a moment if the search term is general and appears in many titles, e.g. New Zealand.</para>
993 </listitem>
994 <listitem><para>Advanced search:
995 Search the catalogue by Title, Author, Keyword or Class (choice from a list). It's possible to search in only one of these options or to make it a combined search, the latter takes longer to be executed.</para>
996 <para>Search by List of Subjects: A two-stage search which first searches the databse for a term in the list of all the subjects, then searches for bibliots containing the selected subject.</para>
997 </listitem>
998 <listitem><para>Search by Specific Item: Using the item number (barcode) allows to access the information of the specified item.</para>
999 </listitem>
1000 </itemizedlist>
1001 </sect3>
1002
1003 <sect3 id="Member login">
1004        <title>Member login</title>
1005
1006 <para>Any member signed up by the library, and thus having received a member number and a password can access the member's record and the library catalogue through the web-OPAC.</para>
1007
1008 <!-- *screenshot* -->
1009
1010 <para>
1011 After having logged in with a member number and password, members can look up their own reading record, their account which includes the fees due or paid, and their address details. A member can notify a change of address directly from here.The actual change of address in the database has to be approved and taken care of - as any other change of record details - by the library staff.</para>
1012 <para>
1013 Furthermore, the member login allows an online-renewal of books as well as placing a reservation to a borrowed item. See these sections for further information.</para>
1014 </sect3>
1015 </sect2>
1016
1017 <sect2 id="Intranet">
1018        <title>Intranet</title>
1019 <sect3 id="Members">
1020        <title>Members</title>
1021 <para>
1022 To sign in new members, for maintenance of existing records, new password attribution and deleting members, as well as renewal of loans. In certain libraries, a borrower type can be linked to another type and their data will be linked and taken over automatically. For example: a child in a library needs a guarantor to use that library.</para>
1023 <para>Any member can ask for and be given a system generated password to use the online services of the library: catalogue search, requests, looking up member data and modifying their own address information.</para>
1024
1025
1026 <sect4 id="Sign in new member">
1027           <title>Sign in new member</title>
1028
1029 <!-- *screenshot memb-1* -->
1030
1031 <para>Always search by the member name first to check if he or she already has a member account.</para>
1032 <para>
1033
1034 <!-- *screenshot memb-2* -->
1035
1036 <para>If not: Add a new member and check Person or Organization accordingly + fill in the details and save.</para>
1037
1038 <para>
1039 <para>The Personal member screen offers the opportunity to collect details which may be useful for borrower analysis.</para>
1040
1041 <!-- *screenshot* -->
1042 <para>
1043 The mandatory fields are marked with an asterisk: card number, gender, given name, surname, membership category, postal address, town, alternate contact and relationship. Depending on the member category date of birth may be mandatory (see below for guarantee). After having filled in all fields required by your library, click on Save changes, check that all data is correct on the Confirm record screen, and click on Submit to save the record. (Note that the record is not saved until the Submit button has been clicked).</para>
1044 <para>
1045 <para>The Organization option leads to a screen which does not ask for date of birth, gender and other fields which are not relevant to an organization.</para>
1046 <!-- *screenshot* -->
1047
1048 <para>Mandatory fields here are card number, address fields and contact name.
1049 </para>
1050
1051 <para>If there is already a member account, make sure it's not the same person before signing in the new member or modify the data of the existing account if necessary.</para>
1052
1053 </sect4>
1054
1055 <sect4 id="Member information">
1056             <title>Member information</title?
1057 <para>
1058 The right side of the Member's screen displays Fines and Charges, items currently on issue, Items Requested and the Reading record.</para>
1059
1060 <!-- *screenshot* -->
1061 <para>Fines and charges:
1062 (See also under Circulation - Payment of fees).
1063 Fines and charges are calculated automatically by Koha according to the set up.
1064 A complete account history with each charge showing as a separate line can be viewed by clicking on View Account./<para>
1065
1066 <!-- *screenshot* -->
1067
1068 <para>The Account screen of a member also offers the options of creating manual invoices and manual credit notes. Manual invoices are useful when a member returns an item which is damaged, or if the library wishes to record any other money owing (e.g. for photocopying or printing) against a member's record. Credit notes can also be used when someone wants to pay only part of a charge. Note that the amount field accepts only numbers - so write 2.50, not $2.50.</para>
1069
1070 <para>Fine regimes are set up by parameters.</para>
1071 </sect4>
1072 <sect4 id="Modify member data">
1073         <title>Modify member data</title>
1074 <para>
1075 On the member screen, search by member name or enter the borrower name. On the list of names, click on the name to update + enter.</para>
1076
1077 <!-- *screenshot* -->
1078
1079 <para>Member record on screen, click on modify, change the data and save.</para>
1080 </sect4>
1081 <sect4 id="Delete member">
1082         <title>Delete member</title>
1083 <para>
1084 Any member can be deleted if necessary as long as they don't have items on issue, don't owe money or are not a guarantor with guarantees still linked.</para>
1085 <!-- *screenshot* -->
1086
1087 <para>Check the member to be deleted, check that there are no items on issue, that there is no money due and that the member is not a guarantor. If all is clear, click on <delete>.
1088 If items are still on issue, or money is owing, or guarantees are still attached, Koha will display an error message, and refuse the deletion.</para>
1089
1090 </sect4>
1091 <sect4 id="Password">
1092         <title>Password</title>
1093
1094 <para>
1095 A password is needed for the borrower to log into the online OPAC screen and place a request or check his/her member data. The password is generated by the system on request.</para>
1096 <para>
1097 To create a new password, go to Member screen, search for the member, and show the member details on the screen first. Press the button password and the system shows an automatically generated password on the next screen, where the borrower can change it.</para>
1098
1099 <!-- *screenshot* -->
1100 <para>
1101 A forgotten password cannot be retrieved, simply make the system create a new one.</para>
1102
1103 </sect4>
1104 <sect4 id="Guarantor - guarantee">
1105         <title>Guarantor - guarantee</title>
1106
1107 <para>
1108 In HLT a child needs a guarantor, mostly a parent, to use the library and thus children cannot join on their own account, but only guaranteed by an adult member. This guarantor takes over the responsibility of the books borrowed by the child.</para>
1109
1110 <para>To add a child, i.e. a guarantee, first bring up (or join) the adult, i.e. the guarantor, then click on the Guarantee button at the top of the Membership Record column, and Koha shows the member screen for the guarantee with all the parent's address data copied by the system into the child's data. The child's record asks only for the information which is distinctive for the child.
1111 Up to three children can be registered on the same screen before clicking on Save Change, then Submit to save the record. The number of children registered will now display as links on the guarantor's record, and the users are thus linked.</para>
1112 <para>
1113 A guarantor can only be deleted if all linked guarantees have already been deleted. The guarantee still receives his/her own borrower card and can use the library on its own - but may have other use conditions (e.g. guarantees can borrow less items)</para>
1114
1115 <sect4 id="Renewals">
1116         <title>Renewals</title>
1117
1118 <para>Items currently on issue are displayed in the Items currently on issue box on the Members screen (see above for screenshot). They may be renewed from here (as well as in the Circulation area of both intranet or telnet interfaces). The number of times an item can be renewed, the number of days and wheter a requested item can or not be renewed depends on the parameter's value set up for your library.</para>
1119
1120
1121 <sect4 id="Reading record">
1122         <title>Reading record</title>
1123 <para>
1124 In public libraries, a reading record that keeps track of what a reader has borrowed, has been found to be very helpful, e.g. with housebound readers.
1125 Koha keeps a record of all the items a member borrows if the parameter is set accordingly. If this option is active, the reading record is accessible only for a logged in member, or for consultation by staff.</para>
1126 <para>
1127 The reading record can display the most recent 50 items or the complete list (click on Full Output), and it can be sorted by date, author or title (click on the link at the top of the column).</para>
1128 </sect4>
1129 </sect3>
1130
1131
1132
1133 <sect3 id="Circulation">
1134         <title>Circulation</title>
1135
1136
1137 <sect4 id="Issues">
1138         <title>Issues</title>
1139
1140 <para>
1141 To issue items to a member of the library</para>
1142
1143 <!-- *screenshot circ-2* -->
1144
1145 <para>On the circulation screen, read or enter the borrower's card number or enter the first part of the member's surname.</para>
1146
1147 <!-- *screenshot circ-3* -->
1148
1149 <para>After having typed part of the member's name, choose the right entry from the "Select a borrower" pop-up list and Submit query.</para>
1150
1151 <!-- *screenshot circ-4* -->
1152
1153 <para>On the issues screen, read or enter the barcode number. To issue another book to the same borrower, enter simply another barcode number, to end lending to one borrower and to print the due dates slip, press enter./<para>
1154
1155
1156 <para>It is also possible to adjust the default date of issue, by changing the date before the item is issued. If more than one item is to be issued to the altered date due, check the sticky due date button.</para>
1157
1158 </sect4>
1159
1160 <sect4 id="Returns">
1161         <title>Returns</title>
1162 <para>
1163 To return books in the system when back in the library
1164 >From any screen in circulation, the box returns leads to the returns screen.</para>
1165
1166 <!-- *screenshot circ-10-ret1* -->
1167
1168 <para>Return books in the system by reading or entering the barcode number. You can read in an unlimited number of books to return them one after the other. The system will show the last item returned with information on overdue dates or payments involved. Also, the last ten items returned are shown. </para>
1169
1170 <para>If a book is reserved, a window pops up to ask confirmation of the reservation. A click on yes prints the reserve slip. In case that there are any overdue charges, the date on the returned items list will show up in red and the overdue charges will show up beside the book. They can be "paid" in the system immediately if wished. Note that the change displayed is the total amount owing, not just the charge for this one book.</para>
1171 </para>
1172 If a item hasn't been issued, a special message will indicate this<para>
1173
1174
1175 </sect4>
1176
1177 <sect4 id="Payment of fees">
1178         <title>Payment of fees</title>
1179
1180 <para>
1181 Fine regimes are set up by parameters.</para>
1182 <para>If an item can cause a fee to be charged to a member, the system keeps track of these fees. They can be left unpaid, marked off as paid or written off (should be used only according to the library policy).</para>
1183
1184 <para>Looking up and treating fees of a certain member is possible from the circulation and the members section of koha. The first is the direct way when a member card is used, the latter when the name is to be searched. In practice, fee payments occur most often during circulation, the access through issues is thus shown here. For the options from the members section, see above under Member - Fines.</para>
1185
1186 <!-- *screenshot circ-7* -->
1187
1188 <para>To access payment options click on the Payment link in the Patron Information box.</para>
1189
1190
1191 <!-- *screenshot circ-6-pay* -->
1192
1193 <para>Any fee paid must be checked off as such. To signal a paid fee, check the box Paid.</para>
1194
1195 <para>Depending on the parameters set for each user category, a certain amount of unpaid fees can result in blocking the member for any further borrowing. As long as the member hasn't paid up, the system doesn't allow borrowing any more items and will tell you so.</para>
1196
1197 <!-- *screenshot* -->
1198
1199 <para>Manual invoices and credit notes can be entered by clicking on the buttons so marked. Note that the amount entered does not required a $ or any other currency symbol. Any amount can be booked in, independent of the actual fees due. If a borrower's account goes into credit, the sum owing will show up as a negative sum.</para>
1200
1201 <!-- *screenshot* -->
1202
1203 <para>In Koha, there exists an elegant way of dealing with lost (= very overdue) books. The borrower is charged with the cost of the book, which effectively blocks further borrowing. The book's status is changed to Lost (very overdue), and the item is removed from OPAC displays, but remains on the intranet displays. If the book is returned later, the value of the book is credited to the borrower, and only the fine remains. So, if the borrower says that he or she can't find the book and pays for it, and if they eventually find it, they still can get their money back. And all is accounted for in Koha.</para>
1204
1205
1206 </sect4>
1207
1208 <sect4 id="Reserves">
1209         <title>Reserves</title>
1210 <para>
1211 Reserves result from requests on borrowed items. On return, a requested item, will ask if a reserve slip should be printed or not. Confirm if needed</para>
1212
1213 <!-- *screenshot* -->
1214
1215
1216 </sect4>
1217
1218 <sect4 id="Transfers">
1219         <title>Transfers</title>
1220 <para>
1221 To change the branch of an item.</para>
1222 <para>In practice, it's common to define some additional "virtual" branches, like processing or mending to indicate other whereabouts of an item.</para>
1223 <para>On the transfer screen, choose a new branch and read or enter the item number + enter
1224
1225 <!-- *screenshot* -->
1226
1227 </sect4>
1228 </sect3>
1229
1230 <sect3 id="Accounts and Reports">
1231         <title>Accounts and Reports</title>
1232
1233 <para>Some default reports are offered by Koha. All sort of other reports can be generated with an SQL report writer. Koha will work with most reporting tools. It also has its own reporting tool which is undergoing constant improvement. But this documentation does not take into account this part of Koha.</para>
1234
1235 <sect4 id="Actual reports">
1236         <title>Actual reports</title>
1237 <para>
1238 Two reports on till reconciliation, one of the current day and the other of the day before which allow a detailed analysis of the fees.</para>
1239 </sect4>
1240 </sect3>
1241
1242 <sect3 id="Parameters">
1243         <title>Parameters</title>
1244 <para><itemizedlist>
1245 <listitem><para>setup</para><listitem>
1246 <listitem><para>description of parameters</para></listitem>
1247 <listitem><para>adding new "thing" e.g. a new item-type and modification of a basic parameter (how to)</para></listitem>
1248 </itemizedlist>
1249
1250 <sect4 id="Setup">
1251         <title>Setup</title>
1252 <para>
1253 At installation, Koha comes with a set of default values for the parameters. Each library will edit these values according to their need. In order to prepare a first configuration and to give a general idea of which parameters can take what values, a description of the parameters follows. This list is not exhaustive and will undergo some changes with each new release. Right now it must be considered, even for the actual releases, as "very much under construction" yet.</para>
1254
1255 <para>The actual editing of the parameters is done from the Koha admin page. Clicking on the link of any parameter leads to its admin page, where it is possible to add a new category to a parameter, to edit existing ones or to delete an outdated one.</para>
1256
1257 <para>The values of systempreferences influence which features Koha is going to support. It is the section of parameters which each library should take care of first. The default values are listed below as well as their options.</para
1258
1259 </sect4>
1260 <sect4 id="Description of parameters">
1261         <title>Description of parameters</title>
1262 <table>
1263 <title>Library branches</title>
1264 <tgroup cols="2">
1265 <thead>
1266 <row>
1267 <entry>Library branches</entry>
1268 <entry>the different branches you manage with this Koha server</entry>
1269 <tgroup cols="2">
1270 <thead>
1271 <row>
1272 <entry>Library branches</entry>
1273 <entry>the different branches you manage withh this Koha server</entry>
1274 </row>
1275 </thead>
1276 <tbody>
1277 <row>
1278 <entryBranch code</entry>
1279 <entry>Code of 4 characters</entry>
1280 </row>
1281 </row>
1282 </thead>
1283 <tbody>
1284 <row>
1285 <entryBranch code</entry>
1286 <entry>Code of 4 characters</entry>
1287 </row>
1288 <row>
1289 <entry>Name</entry>
1290 <entryFull name of the branch </entry>
1291 </row>
1292 <row>
1293 <entryIssuing</entry>
1294 <entry>Check box if the branch can issue documents</entry>
1295 </row>
1296 <row>
1297 <entry> Permanent</entry>
1298 <entry>Check box if an item of this branch must be returned at the Home branch</entry>
1299 </row>
1300 <entry> Home</entry>
1301 <entry>Check box to set as Home branch</entry>
1302 </row>
1303 <row>
1304 <entry>Current</entry>
1305 <entry>Check box to set as Current branch</entry>
1306 </row>
1307 <row>
1308 <entry>Address</entry>
1309 <entry>3 lines for the mail address of the branch</entry>
1310 </row>
1311 <row>
1312 <entry>Phone</entry>
1313 <entry>Phone number of the branch</entry>
1314 </row>
1315 <row>
1316 <entry>Fax</entry>
1317 <entry>Fax number of the branch</entry>
1318 </row>
1319 <row>
1320 <entry>E-mail</entry>
1321 <entry>E-mail address of the branch or the responsible person</entry>
1322 </row>
1323 </tbody>
1324 </tgroup>
1325 </table>
1326
1327 <table>
1328 <title>Budget</title>
1329 <tgroup cols="2">
1330 <thead>
1331 <row>
1332 <entry>Budget</entry>
1333 <entry>the budgets allowed to different book funds</entry>
1334 </row>
1335 </thead>
1336 <tbody>
1337 <row>
1338 <entry>Book fund</entry>
1339 <entry>Choose a book fund from the proposed list</entry>
1340 </row>
1341 <row>
1342 <entry>Start date</entry>
1343 <entry>Start date of the financial period of the budget in format yyyy-mm-dd</entry>
1344 </row>
1345 <row>
1346 <entry>End date</entry>
1347 <entry>End date of the financial period for the budget in format yyyy-mm-dd</entry>
1348 </row>
1349 <row>
1350 <entry>Budget amount</entry>
1351 <entry>Amount for the above mentioned financial period
1352 </entry>
1353 </row>
1354 </tbody>
1355 </tgroup>
1356 </table>
1357
1358 <table>
1359 <title>Book funds</title>
1360 <tgroup cols="2">
1361 <thead>
1362 <row>
1363 <entry>Book funds </entry>
1364 <entry>the different book funds</entry>
1365 </row>
1366 </thead>
1367 <tbody>
1368 <row>
1369 <entry>Book fund</entry>
1370 <entry>Code of max. 5 characters</entry>
1371 </row>
1372 <row>
1373 <entry>Name</entry>
1374 <entry>Full name of the coded book fund/entry>
1375 </row>
1376 <row>
1377 <entry>Group</entry>
1378 <entry>Code of max. 5 characters</entry>
1379 </row>
1380 </tbody>
1381 </tgroup>
1382 </table>
1383
1384 <table>
1385 <title>Categories</title>
1386 <tgroup cols="2">
1387 <thead>
1388 <row>
1389 <entry>Categories</entry>
1390 <entry>the different types of borrowers</entry>
1391 </row>
1392 </thead>
1393 <tbody>
1394 <row>
1395 <entry>Category</entry>
1396 <entry>Code of max. 2 letters (at HLT one letter describes an area code, and one an age category, they are actually two different fields)</entry>
1397 </row>
1398 <row>
1399 <entry>Description</entry>
1400 <entry>Full text explanation of the category type</entry>
1401 </row>
1402 <row>
1403 <entry>Enrollment</entry>
1404 <entry>Period during which a member of the category is allowed to use the library</entry>
1405 </row>
1406 <row>
1407 <entry>Age max</entry>
1408 <entry>Maximum age of how long a member can stay in a category, e.g. a child is a child-member up to the age of 16</entry>
1409 </row>
1410 <row>
1411 <entry>Birth needed
1412 1 for birth date in format dd/mm/yyyy if it must be a required field</entry>
1413 </row>
1414 <row>
1415 <entry></entry>
1416 <entry>0 for not a required field</entry>
1417 </row>
1418 <row>
1419 <entry>Fine</entry>
1420 <entry>Type of fine charged to this category of members - 1 letter code</entry>
1421 </row>
1422 <row>
1423 <entry>Bulk</entry>
1424 <entry>... Ignore it</entry>
1425 </row>
1426 <row>
1427 <entry>Fee</entry>
1428 <entry>Any other value than 0.00, leads to an enrolment fee charged to a user signed in under this category</entry>
1429 </row>
1430 <row>
1431 <entry>Over-due</entry>
1432 <entry>1 for having a overdue notice for this category of members</entry>
1433 </row>
1434 <row>
1435 <entry></entry>
1436 <entry>0 no overdue notice</entry>
1437 </row>
1438 <row>
1439 <entry>Issue limit</entry>
1440 <entry>Max. number of items allowed per borrower</entry>
1441 </row>
1442 <row>
1443 <entry>Reserve</entry>
1444 <entry>Any other value than 0.00 leads to a fee upon a reserve made by a member of this category</entry>
1445 </row>
1446 </tbody>
1447 </tgroup>
1448 </table>
1449
1450 <table>
1451 <title>Item types</title>
1452 <tgroup cols="2">
1453 <thead>
1454 <row>
1455 <entry>Item types</entry>
1456 <entry>the supports of an item</entry>
1457 </row>
1458 </thead>
1459 <tbody>
1460 <row>
1461 <entry>Code</entry>
1462 <entry>Code with max. 4 characters</entry>
1463 </row>
1464 <row>
1465 <entry>Description</entry>
1466 <entry>Full description of the item type</entry>
1467 </row>
1468 <row>
1469 <entry>Loan length</entry>
1470 <entry>Number of days this item-type can be borrowed, with 0 days for no loan</entry>
1471 </row>
1472 <row>
1473 <entry>Renewals allowed</entry>
1474 <entry>Check if renewals are allowed</entry>
1475 </row>
1476 <row>
1477 <entry>Rental charge</entry>
1478 <entry>Default value is 0.00. Any other amount induces a rental charge for this item-type
1479 </entry>
1480 </row>
1481 </tbody>
1482 </tgroup>
1483 </table>
1484
1485 <table>
1486 <title>Currencies</title>
1487 <tgroup cols="2">
1488 <thead>
1489 <row>
1490 <entry>Currencies</entry>
1491 <entry<Currencies of the booksellers</entry>
1492 </row>
1493 </thead>
1494 <tbody>
1495 <row>
1496 <entry>Currency</entry>
1497 <entry>Abbreviation of the currency</entry>
1498 </row>
1499 <row>
1500 <entry>Rate</entry>
1501 <entry>Actual exchange rate</entry>
1502 </entry>
1503 </row>
1504 </tbody>
1505 </tgroup>
1506 </table>
1507
1508 <table>
1509 <title>Printers</title>
1510 <tgroup cols="2">
1511 <thead>
1512 <row>
1513 <entry>Printers</entry>
1514 <entry>Printers (UNIX paths).</entry>
1515 </row>
1516 </thead>
1517 <tbody>
1518 <row>
1519 <entry>Name</entry>
1520 <entry>Full text name of the printer</entry>
1521 </row>
1522 <row>
1523 <entry>Queue</entry>
1524 <entry>UNIX name of the printer</entry>
1525 </row>
1526 <row>
1527 <entry>Type</entry>
1528 <entry>Type of printer</entry>
1529 </row>
1530 </tbody>
1531 </tgroup>
1532 </table>
1533
1534 <table>
1535 <title>Stopwords</title>
1536 </title>
1537 <tgroup cols="2">
1538 <thead>
1539 <row>
1540 <entry>Stopwords</entry>
1541 <entry>Words deleted during searches</entry>
1542 </row>
1543 </thead>
1544 <tbody>
1545 <row>
1546 <entry>Word</entry>
1547 <entry>A word contained in this list will not be searched.
1548 Used for very frequent words e.g. articles ("the" "a"), or others like "and", "co" etc. Add or delete an entry of this list.</entry>
1549 </row>
1550 </tbody>
1551 </tgroup>
1552 </table>
1553
1554 <table>
1555 <title>System Preferences</title>
1556 <tgroup cols="3">
1557 <thead>
1558 <row>
1559 <entry>Systempreferences</entry>
1560 <entry>System preferences -2 variables are useful in this table</entry>
1561 <entry></entry>
1562 </thead>
1563 <tbody>
1564 <row>
1565 <entry>acquisitions</entry>
1566 <entry>simple</entry>
1567 <entry>simple = version</entry>
1568 </row>
1569 <row>
1570 <entry></entry>
1571 <entry></entry>
1572 <entry>full = complex version with budget tracking, supplier list etc.</entry>
1573 </row>
1574 <row>
1575 <entry>autoBarcode</entry>
1576 <entry>1</entry>
1577 <entry>1 for automatic barcode creation</entry>
1578 </row>
1579 <row>
1580 <entry></entry>
1581 <entry></entry>
1582 <entry>0 for no barcode creation</entry>
1583 </row>
1584 <row>
1585 <entry>autoMemberNum</entry>
1586 <entry>1</entry>
1587 <entry>1 for automatic member numbers</entry>
1588 </row>
1589 <row>
1590 <entry></entry>
1591 <entry></entry>
1592 <entry>0 for manual member number creation</entry>
1593 </row>
1594 <row>
1595 <entry>dateformat</entry>
1596 <entry>metric</entry>
1597 <entry>default value: metric = dd/mm/yyyy</entry>
1598 </row>
1599 <row>
1600 <entry>KohaAdminEmailAddress</entry>
1601 <entry>name AT server</entry>
1602 <entry>e-mail of the person responsible for the parameter administration of the present koha server</entry>
1603 </row>
1604 <row>
1605 <entry>opaclanguages</entry>
1606 <entry>en fr</entry>
1607 <entry>the languages in which KOHA is available (currently en - English; fr - Francais)</entry>
1608 </row>
1609 <row>
1610 <entry>opacthemes</entry>
1611 <entry>hlt default<entry>
1612 choice of OPAC (Versions of OPAC themes)</entry>
1613 </row>
1614 <row>
1615 <entry>template</entry>
1616 <entry>default</entry>
1617 <entry>choice of templates to be used (which set of templates is used for the chosen Koha version)</entry>
1618 </row>
1619 <row>
1620 <entry>hlt</entry>
1621 <entry> The Horowhenua Library Trust - the first KOHA OPAC</entry>
1622 </row>
1623 <row>
1624 <entry>Aqbooksellers</entry>
1625 <entry>Book sellers</entry>
1626 </row>
1627 </tbody>
1628 </tgroup>
1629 </table>
1630
1631 <table>
1632 <title>Search Results</title>
1633 <tgroup cols="2">
1634 <thead>
1635 <row>
1636 <entry></entry>
1637 <entry></entry>
1638 </thead>
1639 <tbody>
1640 <row>
1641 <entry>List of fields searched</entry>
1642
1643 <entry>Check each box to have the possibility to search in the fields below as well as in the Keywords and in the Subject field. There is a different setup possible for the web-OPAC (OPAC) and the Intranet Catalogue search (Intranet). The admin page lists the default values if no other choices are made and the choice of the fields for the Intranet Catalogue search can be previewed, after having submitted a choice.</entry>
1644 </row>
1645 <row>
1646 <entry>Author</entry>
1647 <entry>Author (Surname Given-Name)</entry>
1648 </row>
1649 <row>
1650 <entry>Title</entry>
1651 <entry>Title</entry>
1652 </row>
1653 <row>
1654 <entry>Subject</entry>
1655 <entry>Subject</entry>
1656 </row>
1657 <row>
1658 <entry>Dewey</entry>
1659 <entry>Dewey number</entry>
1660 </row>
1661 <row>
1662 <entry>Class</entry>
1663 <entry>Item class (offers a pop-up list to choose from)</entry>
1664 </row>
1665 <row>
1666 <entry>Item Number (Barcode)</entry>
1667 <entry>Item number</entry>
1668 </row>
1669 <row>
1670 <entry>Illustrator</entry>
1671 <entry>Illustrator (Surname Given-Name)</entry>
1672 </row>
1673 <row>
1674 <entry>Copyright Date</entry>
1675 <entry>Date of the copyright of the item</entry>
1676 </row>
1677 <row>
1678 <entry>Serial</entry>
1679 <entry>Serial title</entry>
1680 </row>
1681 <row>
1682 <entry>Item Type</entry>
1683 <entry>Item type (used to limit a search to e.g. CDs or books only)</entry>
1684 </row>
1685 <row>
1686 <entry>Publisher</entry>
1687 <entry>Name of the publisher</entry>
1688 </row>
1689 <row>
1690 <entry>ISBN</entry>
1691 <entry>ISBN number without hyphens or spaces</entry>
1692 </row>
1693 <row>
1694 <entry>Publication Date</entry>
1695 <entry>Publication date other than Copyright</entry>
1696 </row>
1697 <row>
1698 <entry>Pages</entry>
1699 <entry>Number of pages</entry>
1700 </row>
1701 <row>
1702 <entry>Illustrators</entry>
1703 <entry>Name of illustrators</entry>
1704 </row>
1705 <row>
1706 <entry>Volume</entry>
1707 <entry>Volume number for a serial item or a part of a multi-volume document</entry>
1708 </row>
1709 <row>
1710 <entry>Size</entry>
1711 <entry>Height of the document</entry>
1712 </row>
1713 <row>
1714 <entry>Branch</entry>
1715 <entry>Name of the branch (used to limit a search to the documents in one particular branch only)</entry>
1716 </row>
1717 <row>
1718 <entry>Lost</entry>
1719 <entry>To limit a search for lost items (box to check)</entry>
1720 </row>
1721 <row>
1722 <entry>Cancelled</entry>
1723 <entry>To limit a search for cancelled items (box to check)</entry>
1724 </row>
1725 </body>
1726 </group>
1727 </table>
1728
1729 </sect4>
1730 <sect4 id="Add a new category / Modification">
1731       <title>Add a new category / Modification</title>
1732 <para>
1733 To add a new category under each parameter, double-check whether it exists or not. If it does exist, editing or deleting can be done with the links on the far left of same line. Please keep in mind that editing or deleting a category from the parameter's list will affect the database and change all the data linked to that particular category. Deleting is possible only if no data-record is linked.</para>
1734 <para>
1735 <para>If no category is found click on the Add category box and create a new category. Fill in the necessary data for each property of a new category and save.</para>
1736 <para>Each parameter has its own properties and some of them are required to be filled in. The fields that are required are marked in each add-form.</para>
1737 </sect4>
1738 </sect3>
1739 </sect2>
1740 </sect1>
1741
1742
1743
1744 <!-- Section1: Developer  -->
1745  <sect1 id="Book_3_For_the_Developer">
1746   <title>Book 3:  For the Developer</title>
1747 <!-- Ideally, I'd like caricature style images of these "people"  -->
1748   <para> For humans, honesty is a matter of degree. Engineers are always honest in matters of technology and human relationships. That's why it's a good idea to keep engineers away from customers, romantic interests, and other people who can't handle the truth.</para>
1749 <para><emphasis>- Scott Adams, The Dilbert Principle</emphasis> </para>
1750
1751 <para><emphasis>Real World, The (n.)</emphasis>: Where a computer science student goes after graduation; used pejoratively ("Poor slob, he got his degree and had to go out into the REAL WORLD."). Among programmers, discussing someone in residence there is not unlike talking about a deceased person.</para>
1752
1753
1754  <sect2 id="Basic_Rules_of_Thumb">
1755  <title> Basic Rules of Thumb</title>
1756  <para>When writing perl code for Koha ...</para>
1757  <para>All DBI calls should be checked for errors.</para>
1758  <para>All scripts or modules should have "use strict" and preferably "use warnings".</para>
1759  <para><emphasis> Editor's Note:  This was true until just recently... we are currently in the midst of sorting out how to handle modules and -w / use warnings in addition to some questions about which Perl version to use as a baseline for installs.  If you're deeply interested, ask the collective mind of the developer list, and they'll fill you in on the current status of the discussion. </emphasis></para>
1760  <para>Subroutines should NOT open and close the database every time. The DBI handle (usually $dbh) should be passed as a parameter from the main script running. Opening the DB every time will impose a performance and overhead penalty for large or busy installations, limiting Koha's ability to scale.</para>
1761  </sect2>
1762  <sect2 id="Unit_Testing">
1763   <title>Unit Testing</title>
1764 <para><emphasis>What is unit testing?</emphasis></para>
1765 <para>Unit testing is a method for verifying that you software does what it is supposed to. The idea is that you have a testing framework (Test::Harness in our case) that will automatically run your tests for you, reporting any failures. You'll then write a series of tests to exercise every function of every module in your program. Instead of boring you with details, let's start with an example.  For the Koha project, it is a key part of our effort to have production grade, reliable code.</para>
1766
1767 <para><emphasis>How do I do it?</emphasis></para>
1768 <para>I'll start with the Koha.pm module. It contains four functions: </para>
1769 <para><itemizedlist>
1770 <listitem><para>slashifyDate</para></listitem>
1771 <listitem><para>fixEthnicity</para></listitem>
1772 <listitem><para>borrowercategories</para></listitem>
1773 <listitem><para>ethnicitycategories</para></listitem>
1774 </itemizedlist></para>
1775 <para>All of our tests should go into the t/ directory, and should be put into a file showing which module we're testing. In this case, we'll create a file t/koha.t to hold our tests. Tests start with a bit of magic to make them work:</para>
1776
1777 <para><programlisting role="perl">
1778 BEGIN { $| = 1; print "1..1\n"; }
1779 END {print "not ok 1\n" unless $loaded;}
1780 use C4::Koha;
1781 $loaded = 1;
1782 print "ok 1\n";
1783 </programlisting>
1784 </para>
1785 <para>This sets up the test, tells the harness that it will be running one test (the 'print "1..1\n"' bit), and ensures that the test can load the module (that would be the first test).</para>
1786
1787 <para>If we run the test now, we'll get:</para>
1788 <para><screen>
1789 [pate@gnupate t]$ perl koha.t
1790 1..1
1791 ok 1
1792 [pate@gnupate t]$
1793 </screen></para>
1794 <para>or:</para>
1795 <para><screen>
1796 [pate@gnupate koha]$ ./testKoha.pl
1797 t/koha..............ok
1798 All tests successful.
1799 Files=1, Tests=1, 1 wallclock secs ( 0.25 cusr + 0.11 csys = 0.36 CPU)
1800 [pate@gnupate koha]$
1801 </screen></para>
1802 <para>
1803 slashifyDate takes a string representing a (MySQL style) date,
1804 replaces '-'s with '/'s and returns it in European style date. We can
1805 test it like this:
1806 </para>
1807 <para><screen>
1808 $date = "02/01/2002";
1809 $newdate = &amp;slashifyDate("2002-01-02");
1810
1811 if ($date eq $newdate) {
1812 print "ok 2\n";
1813 } else {
1814 print "not ok 2\n";
1815 }
1816 </screen></para>
1817 <para>We'll also need to let the harness know that we've added a test, so let's change the first line to look like this:</para>
1818
1819 <para><screen>
1820 BEGIN { $| = 1; print "1..2\n"; }
1821 </screen></para>
1822
1823 <para>Now, running the tests looks like this:</para>
1824 <para><screen>
1825 [pate@gnupate koha]$ ./testKoha.pl
1826 t/koha..............ok
1827 All tests successful.
1828 Files=1, Tests=2, 1 wallclock secs ( 0.23 cusr + 0.09 csys = 0.32 CPU)
1829 [pate@gnupate koha]$
1830 </screen></para>
1831 <para>Then, we can go on and add tests until we end up with something like:</para>
1832 <para><screen>
1833 [pate@gnupate koha]$ ./testKoha.pl
1834 t/format............ok
1835 t/koha..............ok
1836 t/output............ok
1837 t/require...........ok
1838 All tests successful.
1839 Files=4, Tests=40, 1 wallclock secs ( 1.25 cusr + 0.11 csys = 1.36 CPU)
1840 </screen></para>
1841
1842 <para><emphasis>What needs to be tested?</emphasis></para>
1843 <para>You don't need to test everything, just the things that can fail.</para>
1844
1845 <para>Ok, so maybe this is overkill. But we really should (and try to) test aggresively. Not only should we write tests for expected input, but also for fringe cases that should produce failures.</para>
1846
1847 <para>Additionally, anytime we fix a bug, we should try to represent it in one (or more) unit tests. That way we can feel comfortable that no one accidentally reintroduces the bug later on.</para>
1848
1849 <para><emphasis>Who writes the tests?</emphasis></para>
1850 <para>We do. In fact, it is best if the programmer who sits down to write new code would do well to write some tests first. This way, he (or she) will know they got the code right. It's a tremendously liberating way to write code.</para>
1851
1852
1853 <para><emphasis>When do I run the tests?</emphasis></para>
1854 <para>Please, run the tests every time you're ready to check code in! Then fix any errors before you check in. Right now, the tests all pass on the rel_1_2 branch. Let's keep it that way ;)</para>
1855 </sect2>
1856  <sect2 id="Using_CVS">
1857  <Title>Using CVS at Sourceforge</Title>
1858 <sect3 id="AnonCVS">
1859  <Title>Anonymous CVS Access</Title>
1860 <para>The Koha CVS repository can be checked out anonymously (via pserver) with the following commands. You must specify a modulename. When prompted for a password for anonymous, simply press the Enter key.
1861 <emphasis>This is recommended only for those willing to deal with Alpha and Beta versions of Koha.  Do Not use this software on production
1862 hardware.</emphasis></para>
1863 <para><screen>
1864 cvs -d:pserver:anonymous@cvs.koha.sourceforge.net:/cvsroot/koha login
1865
1866 cvs -z3 -d:pserver:anonymous@cvs.koha.sourceforge.net:/cvsroot/koha co modulename
1867 </screen></para>
1868
1869 <para>Updating from within the directory of the module avoids the -d parameter requirement.
1870 </sect3>
1871 <sect3 id="DevelCVS">
1872 <Title>Developer CVS Access via SSH </Title>
1873
1874 <para><emphasis>Only</emphasis> project developers can access the CVS tree via this method. SSH1 must be installed on your client machine. Substitute modulename and developername with the proper values. Enter your site password when prompted.</para>
1875 <para><screen>
1876 export CVS_RSH=ssh
1877
1878 cvs -z3 -d:ext:developername@cvs.koha.sourceforge.net:/cvsroot/koha co modulename
1879 </screen></para>
1880 </sect3>
1881  </sect2>
1882
1883  <sect2 id="Bug_Reporting">
1884  <Title>Bug Reporting and Tracking</Title>
1885   <para>Currently, we are in the process of setting up Bugzilla for bug tracking.  More on this later.</para>
1886  </sect2>
1887
1888
1889  <sect2 id="Translating">
1890   <Title>Making Koha Available in Your Language</Title>
1891    <para>Koha has a dedicated group of people who translate both the application and it's documentation.  You are invited to join them on the koha-translate list(see "Mailings Lists", in the Developer's sections of the documentation), and sign up as a volunteer on the wiki [http://www.saas.nsw.edu.au/wiki/index.php?page=TranslationTeams].  We ask that, if you are interested in fully supporting koha, you find at least two people willing to participate, including yourself.  We prefer at least one person have conversation-grade or better English and translation expertise, and all translation volunteers to be members of the koha-translate list.</para>
1892    <para>There is an automated tool we expect to be used for submission of translationed documents, see: http://www.haz.cmsd.bc.ca/cgi-bin/kohadoc/upload for more information.  Information on submitting translations for the templating system can be found in the <emphasis>Templating</emphasis> section below.</para>
1893    <para>Additionally, Katipo makes a user-friendly tool called Kea for creating versions of the koha.org site available, if you are interested.  We'll be using Kea (eventually) to make translation easier.</para>
1894  </sect2>
1895
1896
1897  <sect2 id="Documentation">
1898    <Title>Documentation</Title>
1899     <para>Like many open source applications, Koha uses the DocBook SGML system for creating formal documentation.  This manual is the product of the db2<emphasis>format</emphasis> tool suite.  Translations of the manual are done of the SGML edition of the manual, not of the generated HTML.  </para>
1900         <para>To create the online edition the SGML is run through db2html, and the resulting output (html files) is run through htmltidy -- currently this is run automagically, and the results sent to CVS, by Steve Tonnesen's CMSD hosted uploader. </para>
1901  </sect2>
1902
1903  <sect2 id="emaillists">
1904    <Title>E-Mail Lists</Title>
1905     <para>The Koha project team, users, and translators use a variety of mail lists to facilitate communications:</para>
1906         <para>The Sourceforge project page for koha (http://sourceforge.net/mail/?group_id=16466) has instructions for the primary lists for developers and translators:  </para>
1907         <para><emphasis>For Developers</emphasis><para>
1908         <para>* Koha-devel, the primary contributors list for Koha,</para>
1909         <para>* Koha-win32, for those interested in or developing the windows port of Koha,</para>
1910         <para>* Koha-cvs, for those who contribute code to the CVS repository hosted at sourceforge.</para>
1911         <para>For discussion of advanced features and long range goals, and potential library system proposals (ie, if you're interested in Koha as a possible solution for a state or county system) investigate the koha2010 list at http://www.kohalabs.com/projects/koha2010/mail.html.
1912
1913
1914         <para><emphasis>For Translators</emphasis></para>
1915         <para>* Koha-translate, the primary list for work on and about documentation and translation efforts.</para>
1916
1917         <para>In addition, a number <emphasis>Specialty lists</emphasis> are hosted at other sites.  These include:</para>
1918         <para>* Koha-fr, the French language and translators list,</para>
1919         <para>* Koha-de, the German language and translators list,</para>
1920         <para>* Koha-biz, for those interested in doing commercial support for Koha,</para>
1921         <para>* Koha-presents, for those who do Koha related presentations/pitches. </para>
1922         <para>Subscriptions to and archives of these lists are available by sending email to koha-subscribe AT fr.koha.org,koha-subscribe AT de.koha.org,kohabiz-subscribe@eylerfamily.org, kohapresents-request AT world.std.com, respectively.</para>
1923
1924         <para>For <emphasis>general users</emphasis>, there is the original Koha list (info: http://koha.org/mailing).
1925
1926         <para><emphasis>For those interested in Koha's general progress,</emphasis> Koha-announce is used for bare-minimum updates on the status of the project, including new version notices, the semiweekly newsletter, and major announcements.</para>
1927
1928  </sect2>
1929
1930
1931 <sect2 id="Templating">
1932 <Title>Themes and Templating</Title>
1933 <para> The koha project uses the terms themes and templating to refer to a set of functions that permit easy porting of koha to other languages and customization of the appearance of Koha's front end.
1934
1935 <para><emphasis>How does it work?</emphasis></para>
1936 <para>Every page served up by koha comes from two files: </para>
1937 <para> * A perl script that makes database searchs and handles requests etc. The script loads a template and defines some template-parameters that are displayed in the template.</para>
1938 <para> * A template that provides the HTML design. Data generated by the script is substituted into the template where you enter special template-parameter tags. </para>
1939 <para>Koha uses templates to handle internationalization and appearance customization.</para></para>
1940
1941 <para><emphasis>About Templates</emphasis></para>
1942 <para>Templates are principally a means of separating presentation and style from the data. This simplifies the data processing code while providing enhanced opportunities to customise the look and feel of the interface. Koha uses HTML::Template to export information from the underlying perl scripts. This information is combined with code contained in the template themselves. This results in the display of an apparently normal web page.</para>
1943
1944 <para>Template files are composed of mostly standard HTML code which is viewed by the end user via a standard Web browser. The template file also contain some special HTML-like tags which allow information passd from the perl scrips to appear as if they were embedded in the HTML template document itself. This is a similar principle (but not the same) employed by Koha Server Side Includes (SSI).</para>
1945
1946 <para><emphasis>How to use it?</emphasis></para>
1947 The systempreferences table in the database holds the settings that control how Koha chooses templates.
1948
1949 <para>To configure themes (currently) you have to set a variable</para>
1950
1951 <para>At present there are two places for settings:  the koha.conf file (/etc/koha.conf), and the systempreferences table in the database.</para>
1952
1953 <para>In the systempreferences table, there is a block of options responsible for theme/template issues:</para>
1954 <para><screen>
1955 Name=opacthemes
1956 Value=theme1 theme2 theme3 ...
1957 </screen></para>
1958 <para><empahsis>Note: You have to specify at least one theme.<emphasis></para>
1959
1960 <para><emphasis>Go try it out!</emphasis></para>
1961 So you can play around with the various settings, and look at some of the templates that have already been contributed, we have set up koha specially for you.
1962 opac-templates.koha.org &lt;http://opac-templates.koha.org> is the publically accessible part of koha. You can access the user pages using the login.....
1963 intranet-templates.koha.org &lt;http://intranet-templates.koha.org> is the librarians access into koha. In particular you can navigate through the "parameters" page to system preferences to try setting the themes and languages.
1964
1965 <para><emphasis>Can I Contribute My Templates?</emphasis></para>
1966 Of course. We welcome contributions from simple bug fixes to full multi-language theme suites!
1967 Templates can be uploaded into and edited on test koha sites mentioned above using the Kea content management system. You will need to register and learn a little about how to use kea. However it is very easy :-)
1968 Please read the instructions &lt;contribute.html> on how to register and access content mangement system. Also we have collect some documents on how it all works and style/code guidelines etc.
1969
1970 <para><emphasis>So.....</emphasis></para>
1971 <para>Currently, to make a template to make koha available in a particular language, you need to do a CVS checkout of the latest source, and copy /koha-tmpl/intranet-tmpl/default/en into /koha-tmpl/intranet-tmpl/default/XX, where XX is the two letter abbreviation appropriate for the language you are translating to (for help with getting an appropriate code, email the developer list).  After that you can simply translate strings within the files.  You also need to take care of the image URLs, as most templates make use of our "old" images, which live in SERVERROOT/images.  Those specific to your language template should be placed in SERVERROOT/default/XX/images (only for your default theme, of course).  Imagines specific to a theme (ie, a different look and feel for koha, not a language template) shoudl be in SERVERROOT/default/all/images.  You may wish to substitute the default/XX bit with &lt;TMPL_VAR NAME = "themelang">. </para>
1972 You also need to to add "opaclanguages / XX en" and "opacthemes / default" into the systempreferences file.  If added, koha will use the translated templates when the exist, and the english one otherwise. If you don't do this, Koha will only the english templates.</para>
1973 <para>If you're interested in creating just a new look-and-feel configuration for Koha, please get in touch!</para.
1974
1975 <para>As the above is a fairly complicated list of things to do and keep track of, efforts are underway to use a tool provided by Katipo called Kea (a brief introduction to which is included in the appendices) for more user-friendly templating access.</para>
1976
1977 <para><emphasis>If You're 'Theming', Please Remember:</emphasis></para>
1978
1979 <para> * All templates should live in koha-tmpl, along with there associated includes and images (style sheets, javascripts, etc)</para>
1980
1981 <para> * The associated cvs branch will eventually replace the koha-html tree all together.</para>
1982
1983 <para> * Under koha-tmpl there are two subtrees: intranet-tmpl/ and opac-tmpl/, which correspond to what should go into the &lt;serverroot>/intranet/htdocs/ and &lt;serverroot>/opac/htdocs/ directories on the live sites.</para>
1984
1985 <para> * Under each of these are /&lt;theme>/&lt;lang>/ directories. Each theme can have different language settings. At present I have been working only on
1986 the /default/en/ templates.</para>
1987
1988 <para> * To do theme, language selection: In the scripts there should be the lines:</para>
1989 <para><screen>
1990 use C4::Output;
1991 my $template = gettemplate("opac-search.tmpl", "opac");
1992
1993 The gettemplate subroutine looks for the theme and language settings,
1994 looks for a template, loads the template and sets the &lt;themelang> tag for
1995 use in all the includes etc. I.e.
1996
1997 src="&lt;TMPL_VAR NAME='themelang'>/images/search-button.gif"
1998 </screen></para>
1999  </sect2>
2000 <sect2 id="MARC">
2001 <Title>MARC Information</Title>
2002 <para>In the 1.3/2.0 releases of Koha, the exciting new function is marc compliance.  As koha is an international project, every marc flavour is supported <emphasis>(at least, that's what we hope...)</emphasis> and as some users don't want to see marc in their ILS, the old-db style is supported as well.  Thus, an important work is to define the parameters tables for the marc you want to manage.  As this function is still being tested and ajdusted, documentation is currently available at http://www.saas.nsw.edu.au/wiki/index.php?page=UserDoc which covers the various parameters, and more technical information about the plugin is available at http://www.saas.nsw.edu.au/wiki/index.php?page=PlugInDoc .</para>
2003  </sect2>
2004 </sect1>
2005
2006 <sect1 id="References">
2007 <title>References</title>
2008 <para>Temporary example - Koha OPAC theme using templates + css &lt;http://www.library.nsw.org.au/> </para>
2009 <para>Main Link to Koha Templating http://koha.org/contribute/templating/ </para>
2010 <para>HTML::Template http://www.perldoc.com/cpan/HTML/Template.html </para>
2011 <para>Web Design Group http://www.htmlhelp.com/ </para>
2012 <para>Recommended by Katipo http://www.richinstyle.com/ </para>
2013 <para>Docbook Publishing Brockmeier and Pritchard, Primatech's linux series</para>
2014 <para>Extreme programming (see list)</para>
2015 <para>O'Reilly published Perl Series</para>
2016 </sect1>
2017
2018
2019 <sect1 id="Appendix_A_Frequently_Asked_Questions">
2020 <title>Appendix A: Frequently Asked Questions</title>
2021 <para>About the Project</para>
2022 <para>
2023 <variablelist>
2024 <varlistentry><term><emphasis>What is Koha*?/What can Koha do?</emphasis></term>
2025 <listitem>
2026 <para>
2027 Koha is intended to be:
2028    a library catalogue front end/OPAC
2029    a library system intranet
2030    a circulation tracking system
2031    an acquisitions/budgeting system
2032 </para>
2033 </listitem>
2034 </varlistentry>
2035
2036 <varlistentry><term><emphasis>Where did Koha come from?</emphasis></term>
2037 <listitem>
2038 <para>
2039 The name comes from the Maori word for a gift or donation. The programme was written by Katipo Communications for the Horowhenua Library Trust, in response to a need for a library programme that would run at branch libraries connected to the central library by ordinary phone lines. See http://www.library.org.nz/koha.htm (Or Appendix 2) for the full story.
2040 </para>
2041 </listitem>
2042 </varlistentry></para>
2043 </variablelist>
2044
2045
2046 <varlistentry><term><emphasis>Who is this Kaitiaki person?</emphasis></term>
2047 <listitem>
2048 <para>
2049 Kaitiaki is the Maori word for Guardian.  When the Koha user and developer community realized some sort of combination Benevolent Dictator/Juggler might be a good idea, they chose a name that would reflect what they felt his/her role would be.  The Kaitiaki is currently elected from among the membership of the developer's list -- this includes the Katipo staff as well as representatives of several of the libraries and the far flung contributors of code, documentation, and kibitzing.  This person is also responsible, with the advice and consent of the community, for trying to decide target dates for things like releases and features scheduling... and trying to help bring some order from the chaos ;). He also helps coordinate efforts and agendas, particularly through the mechanism of the every-few-weeks IRC meetings. Traditionally, the Kaitiaki also handles things like release announcements to sites like OSS4lib.
2050 </para>
2051 </listitem>
2052 </varlistentry></para>
2053 </variablelist>
2054
2055 <varlistentry><term><emphasis>Who or what is Katipo?</emphasis></term>
2056 <listitem>
2057 <para>
2058 Katipo is a company. See
2059    http://www.katipo.co.nz/
2060 for more information. It is named after a small native spider.
2061 The Katipo spider is a dune-dweller and New Zealand's only poisonous native creature.
2062 </para>
2063 </listitem>
2064 </varlistentry>
2065
2066 <varlistentry><term><emphasis>What language are the words Koha, Horowhenua and Katipo in?</emphasis></term>
2067 <listitem>
2068 <para>
2069 They are in the Maori language, the language of the people native to New Zealand.
2070 </para>
2071 </listitem>
2072 </varlistentry>
2073
2074 <varlistentry><term><emphasis>Where is Horowhenua?</emphasis></term>
2075 <listitem>
2076 <para>
2077 It's a small district on the west coast of the North Island of New Zealand, wedged between the Tararua mountains and the Tasman Sea. It's about an hour's drive north of the city of Wellington, and has population of 30,000. The name means erosion or landslide in Maori.
2078 </para>
2079 </listitem>
2080 </varlistentry></para>
2081 <varlistentry><term><emphasis>How are the words Koha*, Horowhenua and Katipo pronounced?</emphasis></term>
2082 <listitem>
2083 <para>
2084 For vowel sounds, think French: a as in far; e as in egg; i as the
2085 e in me; o as the a in paw; u as the oo in moon, dipthong ai as y in sky
2086
2087 For consonants, wh is pronounced variously as h, w and f; we use the
2088 f pronunciation in Horowhenua. Other consonants as you would expect, with
2089 the p a little softer and less explosive than in English.
2090 The stress is always on the first syllable, with a secondary stress
2091 on the third syllable in Horowhenua. So:
2092    <para>koha (kaw_ha)</para>
2093    <para>horowhenua (haw_raw_fen_oo_a)</para>
2094    <para>katipo (kah_tee_paw)</para>
2095    <para>kaitiaki (ky tee a kee)</para>
2096 *If you are serving a community where Spanish is spoken, you may want to use a different name to refer to the software. The reason for this is that the Maori word "Koha" (gift) sounds like the Spanish word "coja" (cripple).
2097 </para>
2098 </listitem>
2099 </varlistentry></para>
2100 </variablelist>
2101
2102
2103 <para><emphasis>On Choosing the Software...</emphasis></para>
2104
2105 <para>
2106 <variablelist>
2107 <varlistentry><term><emphasis>How scalable is Koha?/(as in) How big a library system can it support?</emphasis></term>
2108 <listitem>
2109 <para>
2110 Good question. :)
2111 The Koha developers think this is most likely a database(ie MySql) issue, primarily. Big server, lots of RAM is better for heavier use.  It comes down to what an acceptable number of seconds is for any given lookup to complete. Our guess is that it would be most important for circulation side of things. Librarians generally don't want to wait for more than a second to complete a return, for example. This would require some benchmarking with real data. The next question would provide a rough guideline, although we're pretty confident that Koha could be scaled to libraries larger than CMSD and HTL. To date, no speed complaints have been received.
2112 </para>
2113 </listitem>
2114 </varlistentry></para>
2115 <varlistentry><term><emphasis>Who is using Koha? On what hardware/operating system?</emphasis></term>
2116 <listitem>
2117 <para>
2118    As far as hardware and operating system:
2119 <screen>
2120 HLT   (3 branches, 80,000 books, 25,000 patrons)
2121 Dual Intel Pentium III 1 Gigahertz processor
2122 1Gb of RAM
2123 mirrored Maxtor 20Gb 7200rpm disks
2124 Debian Linux "woody" (the testing distribution)
2125
2126 <emphasis>Administrator comment: "The above appears to be somewhat overpowered."</emphasis>
2127
2128 CMSD (8 branches, 2,000 to 8,000 books per site, 1,000 patrons)
2129 Pentium 200 MHz to 300 MHz machines (1 per site)
2130 64 MB of ram
2131
2132 <emphasis>Respectively:
2133        HLT - Horowhenua Library Trust, New Zealand
2134        CMSC - Coast Mountain School District, British Columbia, Canada </emphasis>
2135 </screen>
2136 </para>
2137 </listitem>
2138 </varlistentry>
2139
2140 <varlistentry><term><emphasis>Do I have to pay to use Koha?</emphasis></term>
2141 <listitem>
2142 <para>
2143    Nope.
2144 </para>
2145 </listitem>
2146 </varlistentry>
2147
2148 <varlistentry><term><emphasis>Do you have any recommendations about servers and configuration?</emphasis></term>
2149 <listitem>
2150 <para>
2151 [The following is a comment from Simon Blake (simon AT katipo.co.nz) on the subject]</para>
2152 <para> Were I specifying a new box for Koha, given current prices I'd put as much RAM as I could into the machine - 1.5Gb of RAM costs (I assume) around US$100-150 at the moment, and with that much RAM in the box, most of the Koha database will be in memory rather than on disk, and this does brilliant things for the performance of MySQL. So, lots of RAM is crucial, and then as much CPU and disk performance as you can afford.  Bear in mind that Koha will work fine on a low spec machine (say, a Pentium 150 with 32Mb RAM), it'll just be slow, and the slowness will increase as usage increases. So you can run it on almost any machine that can run MySQL and Apache, and see how it goes, and if it's too slow then you can throw money at the problem until you get the performance you want.  You'll need to tune MySQL to use all that RAM, here's what Chris has in the MySQL config at the moment:</para><para>
2153 <screen>
2154 set-variable   = key_buffer=256M
2155 set-variable   = max_allowed_packet=1M
2156 set-variable   = table_cache=256
2157 set-variable   = sort_buffer=1M
2158 set-variable   = record_buffer=1M
2159 set-variable   = myisam_sort_buffer_size=64M
2160 set-variable   = thread_cache=8
2161 </screen>
2162 </para><para>
2163 Make sure, also, that your disks are setup correctly, with the highest possible DMA support - hdparm is your friend. I'd observe, also, that long term Koha should get faster, and thus need less in the way of resources to run it - there are some fairly inefficient table structures in Koha, a hangover from the previous system HLT ran, and as these get ironed out and removed, I'd expect Koha to get quicker.
2164 </para>
2165 </listitem>
2166 </varlistentry>
2167
2168 <para>
2169 <variablelist>
2170 <varlistentry><term><emphasis>Can you give a brief explanation of koha/opac/site-search differences for a non-librarian?</emphasis></term>
2171 <listitem>
2172 <para>
2173 KOHA : This is the name for the "product" the library system as a whole.
2174 The same as say "ExLibris" or "BookPlus".
2175 There are two main access points into Koha, the Librarians "view" which we talk about as "The Intranet" and the Publics "view" which we talk about as "The Opac". Opac seems to be a fairly meaningful library term which stands for "Online Public Access Catalogue".  Because all of the functionality of Koha is delivered via a web-browser those seemed to be terms that made sense to us.  I'm not sure where you got "site search" from in the context of Koha (there isn't one as part of koha). Usually that's a term used for a search engine that indexes and searches the parts of a libraries website that *are not* the catalogue. So basically it searches the parts of a library website that are the library hours, membership information, supplementary info about the collections etc etc.  On our sites (library and non library) we use htdig as a generic site search.
2176 Koha does not by default have a generic library site "attached" to it, although there is no reason why you couldn't add more HTML pages to it if you wanted to.
2177 I'm not sure what work is duplicated in the various products (koha vs. opac) and what's unique in each.
2178 The Intranet and The OPAC are two sides of the same coin - the OPAC has more limited information displayed, because we assume you wouldn't want the public/members able to edit library information etc, and that they wouldn't want to see as much of the information held about a book (like the 3 or 4 "prices" for example).
2179 </para>
2180 </listitem>
2181 </varlistentry>
2182
2183
2184 <varlistentry><term><emphasis>Where can I find information about this MAchine Readable Cataloging (MARC) that everyone keeps talking about?</emphasis></term>
2185 <listitem>
2186 <para>
2187 Information about MAchine Readable Cataloging (MARC) dhttp://www.oasis-open.org/cover/marc.html/para>
2188 </para>
2189 </listitem>
2190 </varlistentry>
2191
2192 <varlistentry><term><emphasis>Can I get Koha for Windows?</emphasis></term>
2193 <listitem>
2194 <para>
2195 Yes!
2196 There is a version of Koha ported to Windows available at:
2197 http://www.kohalabs.com/resources/Win32/
2198 It is highly recommended you join the koha-windows mailing list (see under 'Mail Lists' in the developer's section of the manual for assistance).  The Win32 version is usually a little behind (testing, version etc wise) of the Unix based version.
2199 </para>
2200 </listitem>
2201 </varlistentry>
2202
2203
2204 <varlistentry><term><emphasis>Can I get Koha in my own language?</emphasis></term>
2205 <listitem>
2206 <para>
2207 The Polish package that exists at the Sourceforge site (see under "Where can I get Koha?"), but is not reflective of the current version -- it is a legacy item, as we now use templates instead of distinct versions of the code to provide multiple language availability.   We're very open to new languages being added.  We currently have additional language development in the discussion/development stage stage, including French, Spanish, and German.  For more information, join the Koha-translate list (see under "Mailing Lists", in the developer's section) and ask about adding yourself to the list of people interested.  A running list of people who have expressed interest is at:  http://www.saas.nsw.edu.au/wiki/index.php?page=TranslationTeams .
2208 </para>
2209 </listitem>
2210 </varlistentry>
2211
2212
2213 <para><emphasis>On Operating the Software...</emphasis></para>
2214
2215
2216 <varlistentry><term><emphasis>What is the breeding farm ?  How do I use it to get biblio items into the system? </emphasis></term>
2217 <listitem>
2218 <para>
2219
2220 </para>
2221 </listitem>
2222 </varlistentry>
2223
2224
2225 <varlistentry><term><emphasis>How do I enter a biblio in koha without acquiring it (I already have it) and without DB import ? It seems the only solution is to create a "false" supplier ?</emphasis></term>
2226 <listitem>
2227 <para>
2228 Yep, this is the case if you are using the full acquisitions system.
2229 In cvs there is a simple acquisitions system that you can use if you set the value in the systemprefences table to be simple.
2230 Using the full acquisitions system you might like to create a supplier
2231 called donation, or something like that, and use it to receive items.
2232 </para>
2233 </listitem>
2234 </varlistentry>
2235
2236 <varlistentry><term><emphasis>Acquisitions fail and I see httpd log errors like "DBD::mysql::st execute failed: Unknown column 'lccn' in 'field list' at /var/www/cgi-bin/koha/acqui.simple/addbooks.pl line 207." What's wrong?</emphasis></term>
2237 <listitem>
2238 <para>
2239 Your database tables are not up to date. From the command line, run the koha "updatedatabase" script like this: "perl updatedatabase -I /pathtoC4folder"</para>
2240 [Editor's note: if this errors, try: perl -I/pathtoC4 updatedatabase].
2241 </para>
2242 </listitem>
2243 </varlistentry>
2244
2245 <varlistentry><term><emphasis>What are valid library card numbers? I keep trying... We've worked out a spreadsheet that does the checkdigit subroutine inside C4::Input.pm and got the last digit to match the result.. and its still not valid.</emphasis></term>
2246 <listitem>
2247 <para>
2248 Library cards employ check digits. Check digits are numbers that are based on a mathematical formula devised to help detect typical data entry errors.
2249 Koha library cards employ a 9 character number, the first character is an alpha code, and the last "number" may be an X - Let's refer to the card number as (ALPHA)ABCDEFG(1..9 or X). </para>
2250 <para>To calculate the check digit:</para>
2251 <para>Calculate= (4xA) + (6xB) + (3xC) + (5xD) + (2xE) + F G is the remainder when divided by 11. If the remainder is 10, then use  "X".</para>
2252
2253 <para>The standard for Koha is a barcode standard. The library would get a batch of barcodes from the printer with checkdigits included. Here is an excel spreadsheet to generate koha compatible card numbers http://developer.koha.org/HLT2.xls</para>
2254
2255 <para>Brief history of cardnumbers and koha:</para>
2256 <para>Horowhenua Libraries get their cards with a barcode and a number on them. The number conforms to the checkdigit routine. So Koha didn't need to generate cardnumbers. It just needed to check that the number entered conformed to the checkdigit routine.</para>
2257 </listitem>
2258 </varlistentry></para>
2259 </variablelist>
2260 </para>
2261
2262 <varlistentry><term><emphasis>What is the easiest way to allocate new koha library card numbers?</emphasis></term>
2263 <listitem>
2264 <para>
2265 Go to your admin page, and set AutoMemberNum to 1 - that will get koha making its own card numbers. Otherwise, make a little routine that generates numbers that fits that checkdigit. But what is more pertinent I guess is how to change the checkdigit routine so it fits your existing numbering scheme. At the moment there is no easy way, apart from hacking at the perl.</para>
2266 </para>
2267 </listitem>
2268 </varlistentry>
2269
2270 <varlistentry><term><emphasis>Where's the code for using a barcode reader in Koha?</emphasis></term>
2271 <listitem>
2272 <para>
2273 Code to allow barcoder reader use with Koha is available at http://www.saas.nsw.edu.au/wiki/index.php?page=BarCode
2274 </para>
2275 </listitem>
2276 </varlistentry>
2277
2278
2279 <varlistentry><term><emphasis>How can I prevent users from accidentally deleting items and borrowers from the database?</emphasis></term>
2280 <listitem>
2281 <para>
2282 The undelete biblio option at the bottom of this page: http://hlt.katipo.co.nz/cgi-bin/koha/maint/catmaintain.pl .  It provides a quick way to undo a mistake - and it is tucked away in an admistration 'bit' of Koha. It would be pretty cool (and might eventually happen) to have an undelete borrowers option on a page somewhere which retrieves from the deleted borrowers table (as opposed to the borrowers table).
2283 </para>
2284 </listitem>
2285 </varlistentry>
2286
2287 <varlistentry><term><emphasis>Every once in awhile I find a hardcoded reference to a user=Rachel in some of the scripts.... Who is Rachel?  Is this like the General Failure that reads a harddrive without permission, or what?</emphasis></term>
2288 <listitem>
2289 <para>
2290 Rachel IS a general - the general who runs Katipo in New Zealand, Rachel Hamilton-Williams.  Those absolute parameters are legacies from the early work on Koha, and can be removed.
2291 </para>
2292 </listitem>
2293 </varlistentry>
2294
2295
2296 <varlistentry><term><emphasis>What is the license?</emphasis></term>
2297 <listitem>
2298 <para>
2299 Koha is distributed under the General Public License (GPL). More information on the GPL can be found at:
2300    http://www.gnu.org/licenses/licenses.html#GPL
2301 The gist of the license is that you are free to use, modify and distribute the program at no cost to yourself, provided that modifications you distribute are also released under the GPL. Obviously, we'd appreciate an email about it... and the chance to add anything we find useful to the primary Koha package.
2302 </para>
2303 </listitem>
2304 </varlistentry>
2305
2306 <varlistentry><term><emphasis>Why is Koha given away?</emphasis></term>
2307 <listitem>
2308 <para>
2309 Koha is open source software. In open source software, software developers give away the fruits of their labour in the hopes that others will help them develop the software.</para>
2310 </listitem>
2311 </varlistentry>
2312
2313
2314 <varlistentry><term><emphasis>How do I install Koha?</emphasis></term>
2315 <listitem>
2316 <para>
2317 See the INSTALL.pl and text files included in the distribution, or the manual["For the Library IT Staffer"].</para>
2318 </listitem>
2319 </varlistentry>
2320
2321 <varlistentry><term><emphasis>Where can I get Koha?</emphasis></term>
2322 <listitem>
2323 <para>
2324 If you're in New Zealand, a mirror is at http://www.koha.org/download/
2325 Otherwise, try
2326  http://sourceforge.net/project/showfiles.php?group_id=16466
2327 </listitem>
2328 </varlistentry>
2329
2330 <varlistentry><term><emphasis>How do I set up printer options?</emphasis></term>
2331 <listitem>
2332 <para>
2333 Insert into the printer table something like:
2334 insert into <emphasis>printer</emphasis>
2335  (printername,printqueue) values ('No Printer','nullip');
2336 And in the branch table try:
2337 insert into branches
2338  (branchcode,branchname) values ('T','Test');
2339 </para>
2340 </listitem>
2341 </varlistentry>
2342
2343
2344 <varlistentry><term><emphasis>How do we empty the database?</emphasis></term>
2345 <listitem>
2346 <para>Use these instructions with great care!  This assumes that you are running
2347 version 1.2 of Koha...</para>
2348 <para><screen>
2349 Connect to your koha database
2350
2351 mysql Koha -pROOTPASSWORD
2352
2353 or use the "user" and "password" settings from /etc/koha.conf with:
2354
2355 mysql Koha -uUSER -pPASSWORD
2356
2357 then run:
2358
2359 delete from items;
2360 delete from biblioitems;
2361 delete from bibliosubject;
2362 delete from bibliosubtitle;
2363 delete from additionalauthors;
2364 delete from biblio;
2365 delete from issues;
2366 </screen></para>
2367 </listitem>
2368 </varlistentry>
2369
2370 <varlistentry><term><emphasis>How do I diagnose problems with Koha?</emphasis></term>
2371 <listitem>
2372 <para>
2373 The Koha troubleshooting section (in the appendices), and this FAQ section,  covers the some of the common procedures a member of the Koha team will ask you to try if you have a problem.
2374 </para>
2375 </listitem>
2376 </varlistentry>
2377
2378 <varlistentry><term><emphasis>What is the "user" table used for... and where is it used?</emphasis></term>
2379 <listitem>
2380 <para>
2381 We use the users table for doing authentication with Apache::AuthDBI, so it contains the users and passwords for valid users to connect to the librarian part of koha.
2382 </para>
2383 </listitem>
2384 </varlistentry>
2385
2386 <varlistentry><term><emphasis>Is there a config guide or menu for what to put into the SQL tables for preferences, etc for a new blank installation?</emphasis></term>
2387 <listitem>
2388 <para>
2389 Nope.  We at Koha are sorely lacking that. What you need in the systempreferences table is to use the simple acquisitions module.  That is: </para>
2390 <para>Insert into systempreferences (variable,value) the values ('acquisitions','simple'); Then, from the index page of the intranet page (eg your equivalent of http://hlt.katipo.co.nz/ ) clicking on acquisitions will take you to the simple acqui screen and you should be able to start loading in data from there.</para>
2391 </para>
2392 </listitem>
2393 </varlistentry>
2394
2395 <varlistentry><term><emphasis>What other software do I need to run Koha?</emphasis></term>
2396 <listitem>
2397 <para>
2398 See the Install section in Book 1.  The -very- short answer is, you can get by with most free versions of Unix(GNU/Linux, etc), Apache, Perl (and some additional modules - which you can get by running: perl -MCPAN -e 'install Bundle::KohaSupport'), and MySQL.
2399 </para>
2400 </listitem>
2401 </varlistentry>
2402
2403 <para><emphasis>For help </emphasis>
2404 <varlistentry><term><emphasis>Where can I get help with Koha?/Where can I get support?</emphasis></term>
2405 <listitem>
2406 <para>
2407 Katipo, the company that built the original Koha, makes a mailing list available to Koha users, who (as is customary with Open Source software) help each other out with questions. Usually most of the development team monitors and comments on this list as well. See:
2408 http://lists.katipo.co.nz/mailman/listinfo/koha
2409 </para>
2410 </listitem>
2411 </varlistentry>
2412 <varlistentry><term><emphasis>Where can I get help with databases?</emphasis></term>
2413 <listitem>
2414 <para>
2415 Best bet at the moment is to ask the list (above).
2416 </para>
2417 </listitem>
2418 </varlistentry>
2419
2420 <varlistentry><term><emphasis>Who maintains Koha?</emphasis></term>
2421 <listitem>
2422 <para>
2423 Koha is currently maintained by a team of volunteer developers spread across New Zealand, France, Canada, and the United States. There is a sourceforge mailing list for the development team.  If you're interested in joining please email info AT koha.org.
2424 Additionally, we have had assistance and contributions from Pawel in Poland, who gave us a neat translation script and has helped with installs in Poland.
2425 </para>
2426 </listitem>
2427 </varlistentry>
2428
2429
2430
2431 <varlistentry><term><emphasis>Can I pay for support? (If so, who?)</emphasis></term>
2432 <listitem>
2433 <para> Please see the SUPPORT page off the Koha website to get in touch with Koha contributors willing to do contracting work.
2434 </para>
2435 </listitem>
2436 </varlistentry>
2437
2438
2439 <varlistentry><term><emphasis>I see people are working on feature X. Can you tell me when a release with feature X will ship?</emphasis></term>
2440 <listitem>
2441 <para>
2442 The Kaitiaki's weekly messages to the Koha user list are your best bet for information on features intended for the upcoming release, as well as target dates.
2443 The Koha Roadmap is a working outline of where development is headed, longer term.  Please contact info @ koha.org for a pointer to the current version of the Roadmap.
2444 </para>
2445 </listitem>
2446 </varlistentry>
2447
2448 <varlistentry><term><emphasis>Can I pay for feature additions? (If so, who?)</emphasis></term>
2449 <listitem>
2450 <para>
2451 Try the Support page on the koha.org site -- Koha contributors willing to do contracting work are listed there.  Please contact the development team (info AT koha.org) if you wish to become a contractor-contributor.
2452 </para>
2453 </listitem>
2454 </varlistentry></para>
2455 <varlistentry><term><emphasis>How can I contribute to Koha?</emphasis></term>
2456 <listitem>
2457 <para>
2458 Check with a member of the development team:  info AT Koha.org for information about our current assistance needs, etc.
2459 </para>
2460 </listitem>
2461 </varlistentry>
2462
2463 <varlistentry><term><emphasis>I heard about you through OpenBook/LearningAccess ILS  -- what exactly is your relationship to that project?</emphasis></term>
2464 <listitem>
2465 <para>
2466 OpenBook was inspired by Koha, and is now called the LearningAccess ILS. Originally they were associated Waitt Family Foundation funded Technology Resource Foundation (formerly at http://www.trfoundation.org/). Under the terms of the Open Source license, "forks" such as this are entirely acceptable.  OpenBook, like Koha, is released under the GPL.  Currently it is installaed at some Washington state (US) local libraries.
2467
2468 <para>OpenBook is now available as a Beta download: http://resources.centralmanclc.com/openbook/ </para>
2469 <para>Information is available at: http://www.learningaccess.org/ </para>
2470 </para>
2471 </listitem>
2472 </varlistentry>
2473
2474 <varlistentry><term><emphasis>Who has been involved with Koha's creation and development?/The Credits</emphasis></term>
2475 <listitem>
2476 <para><screen>
2477 Koha Credits
2478
2479 Horowhenua Library Trust
2480 Rosalie Blake, Head of Libraries
2481 Jo Ransom
2482
2483 Katipo Communications
2484 Rachel Hamilton-Williams, General Manager (Webmistress)
2485 Simon Blake, Technical Manager, Server Administrator
2486 Amanda Atkins, Operations Manager
2487 Chris Cormack, 1.2 release guru
2488 Olwen Williams
2489
2490 Finlay Thompson
2491 Gynn Lomax
2492 Richard Anderson
2493 Jeremy Blake, Katipo Koha Project Manager
2494 Rebecca Holden, New Koha.org page
2495
2496 Olive T. Canine, Crate Testing and Kiwi Stress Relief
2497
2498 Steve Tonnesen, early MARC work, Virtual Bookshelves concept, KohaCD
2499 Pawel Skuza, Polish Language porter
2500 Benedykt P. Barszcz
2501 Glen Stewart
2502 Paul Poulain, 1.4 release manager
2503 Pat Eyler, Kaitiaki
2504 Roger Buck
2505 Adam Thick
2506 Florian Bischof
2507 Dorian Meid
2508 Sebastiaan Durand
2509 Kip DeGraaf
2510 Andrew Hooper
2511 Daniel Holth
2512 Mike Mylonas
2513 Joshua Ferraro
2514 Ed Summers
2515 Mike Johnson
2516 Ron Wickersham
2517 Brig C. McCoy
2518 Mike Hansen
2519 Nicolas Morin, French Translation/Traduction Française of the Documentation
2520 Henri-Damien Laurent
2521 David Strainchamps
2522 Md. Aftabuddin
2523 Marco Gaiarin
2524 Francisco M. Marzoa Alonso
2525 Andrew Arensburger
2526 Michaes Herman
2527 Regula Sebastiao
2528 Nicholas Rosasco, Documentation Compiler
2529 </screen>
2530 </para>
2531 </listitem>
2532 </varlistentry></para>
2533 </variablelist>
2534 </para>
2535 </sect1>
2536
2537 <sect1 id="Appendix_B_An_Interview_About_Koha">
2538 <title>Appendix B: An Interview on Koha</title>
2539
2540 <para>Welcome to the worlds first Free Open Source Library System. Made in New Zealand by the Horowhenua Library Trust and Katipo Communications Ltd theKoha system is a full catalogue, opac, circulation and acquisitions system. </para>
2541
2542 <para>The Koha story so far......</para>
2543
2544 <para>Koha : Free Library Software</para>
2545
2546 <para>by Rosalie Blake, Head of Libraries, Horowhenua Library Trust, Levin and Rachel Hamilton-Williams, General Manager and Webmistress, Katipo Communications, Wellington.</para>
2547
2548 <para><emphasis>Rosalie:</emphasis>
2549 The first thing I remember learning about computers, back in the early eighties, was "Never buy the hardware and then try to make the software fit". This worthy precept was followed fairly quickly by "Never buy programme that someone promises to write for you".</para>
2550
2551 <para>Why then, in 1999, the year that INCIS hit the headlines, and with the memory of NDIS still lingering, was I contemplating a course of action that defied both precepts?</para>
2552
2553 <para>I found myself in 1999 with a system we'd had and loved for 12 years. It was simple to operate and ran fast at our branch libraries over an ordinary dial up modem. But it was looking tired, and we suspected our networking system wasn't going to stand the challenge of 2000.</para>
2554
2555 <para>I started the time-honoured procedure of searching for a new system. As I read through the 25cm high pile of paper that resulted from a (very selective) RFP, I got more and more depressed. It wasn't just that the new offerings were expensive to purchase, the real killer was in the running costs. The support charges were a steep increase, but added to that was huge 500% increase in telecommunication costs every year, stretching relentlessly into the future. That pretty Windows interface was going to be hideously expensive to implement.</para>
2556
2557 <para>Now, along with every other red-blooded kiwi, I resent sacrificing a huge chunk of my hard-won budget to a telco. What to do? 1-1-2000 was approaching much too fast for comfort.</para>
2558
2559 <para><emphasis>Rachel</emphasis>
2560 Katipo have worked with the Library for many years, training staff and supporting the network. We watched the RFP process with interest - read it and thought "you could do this using the Internet, and that would at least take care of the telco costs". We'd already done an OPAC for Wellington City Library and lots of database work, and somewhat naively thought "How hard can it be?"</para>
2561
2562 <para>So we got together a plan: as long as the library could tell us how library worked, we could do the rest. As it turned out, figuring out how a library worked really was the hard bit. </para>
2563
2564 <para>Our Mission was to have a new system running in the library for the first day of business in 2000. The requirements: At the branches it should issue and return at least at the same speed as the incumbent system, It should run on the libraries existing equipment, a motley collection of 486 and pentium hardware, It must still be nice and easy for the public and librarians to use. </para>
2565
2566 <para>With the lofty goals in place it was time for the hard grind. It would have two interfaces - a web browser for most of the system, but a simple fast Telnet interface for issues and returns. We quickly choose the systems we would use, free and fast all the way. Linux server OS, MySQL database, Perl programming for the web and telnet interfaces - hmm all we were missing was a report writer, but one would turn up.</para>
2567
2568 <para>What followed was 16 weeks of incredibly close work with the library. Drop dead dates came and went - amazingly without us dropping dead. </para>
2569
2570 <para><emphasis>Rosalie:</emphasis>
2571 The new system started to take shape, and it looked good. When you change to a new system it has to look good - people are more sympathetic to something that looks nice, and there are all those members of the public to win over. </para>
2572
2573 <para>What colour should the screens be? And what shall we call it? Hard experience teaches you never to let a committee near decisions like these.But we were wedded to democratic processes, and we finally found solutions everyone could live with. The colours were a compromise, and the name chosen was Koha. Why Koha? Because it's free. Because it's our gift.</para>
2574
2575 <para><emphasis>Rachel:</emphasis>
2576 We recommended to the library that they release the software as "OpenSource". That means that anyone else can download the software and run itup on their machine without paying either us or Horowhenua Library Trust a cent. </para>
2577
2578 <para>I can see the colour draining from your faces from here. Really a free system? But why? </para>
2579
2580 <para><emphasis>Rosalie:</emphasis>
2581 Not just for the glory (though this is a world first)! </para>
2582
2583 <para>Katipo convinced us this was a good idea for several reasons. One was to give the library some surety. Katipo is a small business, and it's important that the library be future-proofed against anything happening to that company. Another was because neither the Library Trust nor Katipo saw themselves as in the business of marketing and supporting a new library system. With an open-source system, that's not a problem. Word of mouth markets it, and the users support each other. The more libraries and programmers using and working on a system, the better it becomes.</para>
2584
2585 <para><emphasis>Rachel:</emphasis>
2586 We tested on the librarians who were fantastic, coming in over the holidays to throw us the curve balls. We had Christmas day off, and then started installing in the library. The last days on the old system were between Christmas and New Year. On the third of January 2000 Koha met the public, for real, for the first time.  </para>
2587
2588 <para>By lunch time we still hadn't switched back to the old system. The OPACs were in use, and issues and returns, while a bit flakey, were happening. Neither the librarians nor the patrons had stormed out in protest. We'd done it! </para>
2589
2590 <para>Since then the pace has eased a little, and we've fine-tuned and even rewritten some of the code that went by as a blur before Christmas. We won two awards for Koha in September 2000 - the 3M Award for Innovation in Libraries 2000 and the ANZ Interactive Award, Community/Not for Profit category 2000. </para>
2591
2592 <para>We have big plans for stage two. That's when the online features for members get added in, and some sexier bits to make the library staff's lives easier.</para>
2593
2594 <para><emphasis>Both of us:</emphasis>
2595 We'd like to see other libraries take it on. If you're a small to medium-sized library, with or without satellite sites, or a mobile library (yes you could run this from a laptop and cell phone!) Koha could be just what you're looking for. But don't just take our word for it. Have a look. www.koha.org </para><para>
2596 Or email either of us: rosalie AT library.org.nz and rachel AT katipo.co.nz </para>
2597 <para>
2598 If you're interested in the project please join our mailing list. </para>
2599 </sect1>
2600
2601
2602 <sect1 id="Migration">
2603 <title>Appendix C: Migrating to Koha</title>
2604 <sect2>
2605 <title>Migrating to Koha from the Alexandria Library Sysytem</title>
2606 <para>Migrating data from an Alexandria library system to Koha, courtesy the Coast Mountains School District and Steve Tonnesen</para>
2607
2608 <para><emphasis>Export MARC data from Alexandria system</emphasis></para>
2609 <para>
2610 <itemizedlist>
2611 <listitem><para>Edit bulkmarcimport.pl to set the $branchname variable if your branch code is other than 'MAIN' </para></listitem>
2612 <listitem><para>Run bulkmarcimport.pl on this file, redirecting stdout and stderr to files</para></listitem>
2613 <listitem><para>bulkmarcimport.pl kksexport.mrc >import.out 2>import.err </para></listitem>
2614 <listitem><para>You may need to run this script several times before you get the import all figured out. Each time you run it, use the instructions at the bottom of this page to clear out the old bibliographic data from your Koha database. </para></listitem>
2615 <listitem><para>The standard output of bulkmarcimport.pl will be a human readable version of the MARC data. </para></listitem>
2616 <listitem><para>Decide how the existing data is going to map to Koha's item types</para></listitem>
2617 <listitem><para>Koha uses itemtypes to differentiate things like Fiction, Non-Fiction, CDs, CDROMs, Large Print, etc.
2618 <listitem><para>In my data, the 245 h marc subfield contained info like [book], [magazines], [cd], [computer disks], [puzzle] etc. so this was a good place to grab some itemtype info. </para></listitem>
2619 <listitem><para>I also used the 008 fixed length data elements field to grab Literary Form (0 for non-fiction, 1 for fiction, etc.), target audience (b for primary, j for juvenile etc.) </para></listitem>
2620 <listitem><para>Modify bulkmarcimport.pl to generate appropriate item types --
2621 This can be tricky if you are not familiar with perl </para></listitem>
2622 <listitem><para><emphasis>The developer team may eventually add some templates to bulkmarcimport.pl to assist in this task, as well as a way that bulkmarcimport.pl could step through each record and show what would be done before actually committing changes to the database.</emphasis></para></listitem>
2623 <listitem><para>You may also need to edit your itemtypes to add or remove itemtypes according to your needs.</para></listitem>
2624 <listitem><para>From the intranet interface, click on the "Parameters" graphic and then click on the Item types link.
2625 </para></listitem>
2626 </itemizedlist>
2627 </para>
2628
2629
2630 <para><emphasis>Borrowers</emphasis></para>
2631
2632
2633 <para>In the case of CMSC, the borrowers database is populated from the same user database that is used on the school servers with a a custom script that runs nightly that updates the Koha borrower database automatically </para>
2634
2635
2636
2637 <para><emphasis>Clearing all bibliographic data out of Koha between import attempts </emphasis></para>
2638 <para><emphasis>WARNING!! These instructions are dangerous!! You should only do this on a clean Koha system where you are testing importing of MARC records from another library system. Do _NOT_ do this on a system which already has data stored in it. These instructions will delete _ALL_ bibliographic and holdings data from the Koha database.</emphasis></para>
2639
2640 <para><screen>
2641 Connect to your Koha database
2642 mysql Koha -ukohaadmin -pmypassword
2643 (get your koha userid and password from the /etc/koha.conf file)
2644 Delete all of the bibliographic data <-- warning, very dangerous!
2645 delete from biblio;
2646 delete from bibliosubtitle;
2647 delete from bibliosubject;
2648 delete from biblioitems;
2649 delete from items;
2650 </screen></para>
2651 </sect2>
2652 </sect1>
2653
2654
2655
2656 <sect1 id="Troubleshooting">
2657 <title>Appendix D: Troubleshooting Koha</title>
2658 <para><emphasis>Item/Concern/Usual diagnostic procedure</emphasis></para>
2659 <para>Recommendations wanted</para>
2660 </sect1>
2661
2662 <sect1 id="KeaSection">
2663 <!-- NEEDLINK NEED The Picture and link here!! -->
2664 <title>Appendix E: Using Kea</title>
2665 <para><emphasis>This section is derived from documentation (c) Katipo.  Kea is itself (c) Katipo.  Used with permission.</emphasis></para>
2666 <para><emphasis>BEFORE STARTING</emphasis></para>
2667 <para>To create a new language template, you need to contact one of the following people, who will arrange for an area for your language to be created in the Kea system.  </para>
2668
2669 <para><emphasis>System Requirements</emphasis></para>
2670 <para>Minimum Requirements are:</para>
2671 <para>A Computer Connected to the Internet,</para>
2672 <para>Internet Explorer 5.0 or newer or a Mozilla browser such as Netscape 6,</para>
2673 <para>- NB: Kea is affected on the speed of your internet connection and to a smaller degree by the power of your machine. A faster internet connection will make Kea easier to use.</para>
2674
2675 <para><emphasis>Things You Need To Ask Someone Else To Do</emphasis></para>
2676 <para>Restore pages from backup,</para>
2677 <para>Roll back a website to a previous state, </para>
2678 <para>Undelete files marked for deletion.</para>
2679
2680 <para><emphasis>Logging Into The Kea File Manager</emphasis></para>
2681 <para>In order to login to File Manager you will need 3 things:</para>
2682 <para>Your Kea user name,</para>
2683 <para>Your Kea password,</para>
2684 <para>The URL of the File Manager on the edit site.</para>
2685
2686 <para><emphasis>Differences Between The File Manager And Edit Content</emphasis></para>
2687
2688 <para>The File Manager is the tool where you preform actions on files such as finding files to edit, or preview, deleting moving and triggering files. In order to edit a page, you will first need to find it in the File Manager.</para>
2689 <para>Edit Content: Once you have found the file you wish to edit in the file manager, click on "Edit Content" to launch the content editor. You make your changes in the yellow box and then Submit them to the page, click "Ok" to stay on that page, or "Exit" to return to the file manager.</para>
2690
2691
2692 <para><emphasis>Navigating In File Manager</emphasis></para>
2693 <para>To Navigate around our edit site in File Manager, it is best to think of the File Manager Screen in 3 sections.</para>
2694 <para>Breadcrumbs: Breadcrumbs show you the path to where you are now, and enable you to retrace your steps. The first element in the path is the home or root folder for the website. All the names in this path are links, click on any name in the breadcrumbs to jump back to that folder.</para>
2695 <para>Folders: This is a listing of all the folders within the folder you are currently in. If you click on the name of a folder, you will be taken to the File Manager screen for that folder. Clicking on subfolders is how you go forward in a site. You can only move forward one folder at a time (just the same as in the Windows File Manager - -Explorer).</para>
2696 <para>File Listing: This is a listing of all the files in the current folder. If you click on the file name, you will get a preview of the page.</para>
2697
2698 <para><emphasis>The File Manager Screen Explained</emphasis></para>
2699 <para>Below is an example of a File Manager Screen for a user with full privileges. Note that some of the Screen options are not availble to all users.
2700
2701 <para>1. You Are Here: These are "breadcrumbs", showing the path through the folders you have taken. They show which folder you are working in at the moment. You can use these for navigation. Click on any of the links in the breadcrumbs to take you back to that folder.</para>
2702 <para>2. Checked Out Files: This is a listing of all the files that are Checked Out to you. Once you have finished working on a file, make sure that it has been released so that others can work on it. To release the file so that others may edit it, click the file name next to "Checked Out Files".</para>
2703 <para>3. Create Folder: Used to make a new folder with the name given in the field next to it. Only letters, hyphens,underscores, full stops and numbers are acceptable characters in the folder name. Spaces are unacceptable. We strongly recommend you use lower case letters in your file and folder names.</para>
2704 <para>4. Folders: Listing of sub folders below the current folder. Use these for navigation. Click on a folder name to access the files in that folder.</para>
2705 <para>5. Upload File: Use this to locate the file you wish to upload locally from your own drive. Clicking Browse will bring up a window from which you can select your file. Click Ok to select the file you want and the name will appear in the field to the left of the browse button. Click Upload to copy the file into the current folder. Note: Files over 1Mb will not be uploaded.</para>
2706 <para>6. Create New File: Used to Create A New Page on the Website (you probably will not need this feature, as you should only be changing copies of the existing files).</para>
2707 <para>7. Check Boxes: Click a box to select a file so you can trigger/notify, move or delete it. Click multiple boxes to preform the same action on multiple files at once (again, not something you should need for a translation). </para>
2708 <para>8. Edit Content: Clicking on the Edit Content link will launch the Kea Editor on this page. </para>
2709 <para>9. Filename: Click on the file name to preview the page.</para>
2710 <para>10. Column Headings: Click on a Column heading to reorder the files.</para>
2711 <para>11. Edit Info: This page contains information about the page such as the page title (appears in the status bar of the browser and breadcrumbs) meta data used by search engines to search your page, who "owns" the page , and when it was published.</para>
2712 <para>12. Edit Source: Opens up the source editor. Only enabled for the webmaster or people with advanced HTML skills.</para>
2713 <para>13. Last Modified: Shows when page was last modified.</para>
2714 <para>14. Modified By: Gives the username of the last person, usually an email address to edit this page. Clicking the username will bring up a history of all the users who have edited this page. </para>
2715 <para>15. Trigger: Copies the page across to the live site. This option is only available to site administrators or those with Trigger privileges.</para>
2716 <para>16. Delete: Deletes the page from the File Manager listing. Note that all deleted files go into a "Trash Can" that is normally deleted weekly. If you have deleted a file by accident contact your website administrator to get the file reinstated. </para>
2717 <para>17. Notify: Appears in place of the Trigger button for most users. This option will send an email to your site administrator, notifying them that changes have been made and requesting that they trigger the page live.</para>
2718 <para>18. Move: Moves the selected file to another folder within the site. Note that it pays to check files after they have been moved to fix links etc. Move also allows users to rename a file. (Again, not something you should need for Koha work.)</para>
2719 <para>19. Select All: Selects all the files in the folder.</para>
2720
2721 <para><emphasis>Launching The Kea Content Editor</emphasis></para>
2722 <para>Log on to File Manager</para>
2723 <para>Use the folder listings and breadcrumbs to locate the folder in which your page resides.</para>
2724 <para>Once you are in the correct folder, click the folder name eg index.html, to preview the page in your web browser. Check that this is the correct page that you want to edit. Use the browser back button to go from the preview back to the File Manager screen.</para>
2725 <para>In File Manager, click "Edit Content" to the right of the file name you wish to edit.</para>
2726 <para>You will be taken to a view of the page where the editable text is highlighted yellow. Note that there may also be some text highlighted purple, changes to this text may appear on other pages. </para>
2727
2728 <para><emphasis>Making Changes</emphasis></para>
2729 <para>Clicking on an area of yellow highlighted text, will open up the Kea window. It is in the Kea window that you edit a block of text.</para>
2730 <para>Different parts of the page are separated into kea blocks. For example, the page heading is normally in a different Kea block to the main body text.</para>
2731 <para>You can now change the text as you would do normally in Word. Try adding some text. eg "Adding some text".</para>
2732 <para>Kea will recognise line breaks (carriage returns) and paragraph breaks. Hit enter once for a line break. Hit enter twice for a paragraph. Note: Kea will only recognise one paragraph break at a time. If you try to enter several paragraph breaks between paragraphs, kea will ignore all but the first one.</para>
2733 <para>To commit your changes to the page, press Submit.</para>
2734 <para>The Kea box will close and be replaced by a smaller one as per below:</para>
2735 <para>To continue editing the page press Ok, to exit the Kea editor and return to the File Manager screen click exit.  We want to continue editing the page so click Ok.</para>
2736 <para>You should now be able to see the change you have made to the page. Click the text you have just changed again to open the Kea window.</para>
2737 <para>Now we are going to look at the other buttons on the Kea window.</para>
2738 <para>In the top right corner of the kea window there are 3 buttons. The horizontal line (-) minimises the kea window. The question mark (?) opens the Kea help pages (Note this function is currently disabled). The cross closes (X) the Kea window. You will loose any changes you have made. In the bottom left of the screen there is the Submit button we used before to commit changes and the Cancel button. Make a change to the page and then press Cancel. You will get a little box that comes up "Loose Changes". Click OK. Your changes will be lost and the Kea window closed.</para>
2739 </sect1>
2740
2741 </book>