PythonQ 248-8XX User manual

Community Experience Distilled
Koha 3 Library Management
System
Install, configure, and maintain your Koha installation
with this easy -to- follow guide
Savitra Sirohi
Amit Gupta
open source
E
community experience distilled
PUBL ISHING
BIRMINGHAM - MUMBAI
`=
`SvPD.' SHROFF PUBLISHERS & DISTRIBUTORS PVT. LTD.
Mumóai
Bangaloe
Kolkata
New Delhi
Koha 3 Library Management System
Copyright © 2010 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the
case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information
presented. However, the information contained in this book is sold without warranty, either express
or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable
for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and
products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot
guarantee the accuracy of this information.
Originally published by Packt Publishing Ltd., 32 Lincoln Road, Olton, Birmingham, B27 6PA, UK.
Production Reference: 1091110 ISBN 978 -1- 849510 -82 -0 wwwpacktpub.corn
Cover Image by John M. Quick (john.m.quick @gmail.com)
Printing History:
First published: November 2010
Second Indian Reprint: September 2011
ISBN 13: 978 -93- 5023 -384 -9
For sale in the Indian Subcontinent (India, Pakistan, Bangladesh, Sri Lanka,
Nepal, Bhutan, Maldives) only. Illegal for sale outside of these countries.
Published by Shroff Publishers and Distributors Pvt. Ltd. C -103, MIDC, TTC Industrial
Area, Pawane, Navi Mumbai 400 705, Tel: (91 22) 4158 4158, Fax: (91 22) 4158 4141,
e -mail: spdorders @shroffpublishers.com. Printed at Jasmine Art Printers Pvt. Ltd., Navi Mumbai.
Credits
Authors
Savitra Sirohi
Amit Gupta
Reviewers
Kyle M Hall
Vimal Kumar V
Acquisition Editor
Steven Wilding
Development Editor
Wilson D'souza
Technical Editor
Kavita lyer
Indexer
Hemangini Bari
Editorial Team Leader
Akshara Aware
Project Team Leader
Priya Mukherji
Project Coordinator
Srimoyee Ghoshal
Proofreaders
Aaron Nash
Clyde Jenkins
Graphics
Nilesh Mohite
Production Coordinator
Adline Swetha Jesuthas
Cover Work
Adline Swetha Jesuthas
About the Authors
Savitra Sirohi heads Nucsoft OSS Labs (http: //www.osslabs biz) - a
Koha services provider. As part of his work, Savitra has lead several Koha
implementations and conducts regular Koha workshops in India. Savitra is an
Engineer and has an MBA from the Indian Institute of Management.
.
We would like to thank Kyle Hall, Vimal Kumar, and Nicole Engard
and other members of the Koha community who took the time to
review the chapter drafts. Their perspective and expertise helped
improve this book immeasurably.
Many thanks are due to Wilson, Kavita, Srimoyee, Steven, and others
at Packt for their expertise and hard work and also their patience
with these first time authors.
Amit Gupta is the lead Koha specialist at Nucsoft OSS Labs (http: / /www.
osslabs . biz), a Koha services provider. Amit has played a key role in several Koha
implementations, including the one at Delhi Public Library, one of India's biggest
Koha projects. Amit has a BSc and a Master's in Computer Applications.
About the Reviewers
Kyle M Hall is an IT specialist for the Meadville Public Library and the Crawford
County Federated Library System of Pennsylvania is a Free Open Source Software
advocate and software developer. His contributions to Koha include bugfixes and
new features, as well as the Koha Off -line Circulation system. In addition to his
work with Koha, he is also the author of a FOSS Kiosk Management System, Libk
(http: / /libki org), a cross -platform system for controlling access to computers
via logins and time limits.
.
Vimal Kumar is a library professional with genuine interest in Linux and open
source software. He is an active member of Koha community. He has a Master's
degree in Library and Information Science from University of Kerala. He has done
an evaluative study of open source library management system conducted in 2005
for the completion of MLISc degree project. During the past few years he has been
active as a resource person for Koha training programs. He has been working with
Mahatma Gandhi University Library and has also presented many papers in national
and international conferences.
Table of Contents
Preface
1
Chapter 1: Installing the Software Stack
7
An orientation to Koha's installation
Koha's architecture
What do we need to install?
Installation tools
Package manager
Make utility
CPAN shell
Git
Choosing between Linux Perl packages and CPAN modules
Choosing a Linux distribution
Getting help -Koha's community resources
Preparing for installation
Server prerequisites
Downloading Koha and switching to a branch
Cloning Koha
Checking out a branch
Preparing a list of installation packages
System packages
Perl modules
Debian /Ubuntu package lists
Setting up repositories or sources
Configuring the CPAN shell
Installing Koha's software stack
Installing packages using the package manager
Installing packages from the Linux prompt
Installing packages using shell scripts
7
8
8
8
9
9
9
9
10
10
10
11
11
11
11
12
12
13
13
14
14
15
16
16
16
16
Table of Contents
Installing packages using dselect
Installing Perl modules using CPAN
Troubleshooting CPAN installations
Setting up Koha's MySQL database
Configuring Koha's installation: Makefile.PL
Completing Koha's installation
Summary
Chapter 2: Configuring the Apache2 Web Server
Understanding Apache2 configuration
About Apache2
Apache2 virtual hosts
Name -based or IP -based virtual hosts
Apache2's configuration folder
Koha's default Apache2 file
Koha's virtual hosts
Virtual host configuration
Preparing for Apache2 configuration
Configuration plan
Two host names
Hostname with two ports
IP address with two ports
Two IP addresses
Standalone machine
Configuration prerequisites
Configuring Apache2 web server
Creating a symbolic link to koha -httpd.conf
Enabling Apache2's Rewrite module
Configuring the listener
Editing the OPAC virtual host
Editing the staff client virtual host
Enabling Koha's virtual hosts
Restarting Apache2
Troubleshooting configuration problems
Rewrite module not enabled
Incorrect or missing Directory directive
Unable to connect to MySQL
Listener not setup
Summary
17
17
18
19
20
21
21
23
23
23
24
24
25
26
26
27
27
27
28
28
29
30
30
31
31
31
32
32
32
33
33
33
35
36
36
36
37
38
Table of Contents
Chapter 3: Installing Koha's Zebra Search Engine
About Zebra
Koha's Zebra related components
Zebrasry -the Zebra query and retrieval server
Rebuild_zebra.pl -the Zebra index maintenance program
Installing Zebra
Installing Zebra packages
Installing Koha with Zebra
Testing Zebra
Testing zebrasry
The zebrasry command
Invoking zebrasry with Koha's configuration file
zebrasry daemon
Zebrasry daemon on Debian or Ubuntu
zebrasry daemon on openSuSE
Rebuilding Zebra
39
39
40
40
41
41
41
42
42
43
43
43
44
44
45
46
Creating or recreating indexes
48
Using Koha without Zebra
Summary
48
50
Chapter 4: Koha's Web Installer, Crontab, and Other Server
Configurations
Executing Koha's web installer
Understanding the web installer's functions
Understanding how to execute the web installer
Understanding optional data available for import
51
51
52
52
54
Settings for MARC frameworks
Other data
54
55
Executing the web installer
Launching Koha
56
57
58
58
58
59
59
59
59
60
60
60
Configuring the crontab
Editing the crontab
Setting up environment variables
Generating advance notices
Generating overdue notices
Sending e-mail messages
Calculating fines
Rebuilding Zebra indexes
More crontab examples
Ensuring Koha starts automatically on server reboot
Auto -starting Apache2
Auto -starting MySQL
Auto -starting Zebra server
61
61
61
Table of Contents
Configuring the correct SAX parser
Setting up environment variables for the Linux shell
Setting up KOHA_CONF environment variable
Setting up PERL5LIB environment variable
Setting up persistent environment variables
Summary
Chapter 5: Configuring the Cataloging Module
A first look at Koha's cataloging configuration tools
MARC frameworks
Authority Control
Authorized values
Preparing a configuration plan
Identifying Authority Control rules
Identifying frequently cataloged types of material
Identifying MARC field sets for each type of material
Identifying mandatory fields
Identifying Authority Control rules
Identifying fields to control using authorized values
Implementing our configuration plan
Configuring authorities system preferences
Configuring Authority Types
Configuring authorized values categories
Editing authorized values
Special authorized values
Library
Item Type
Configuring MARC frameworks
Editing MARC framework list
Creating a new framework
Editing fields and subfields
Editing labels of fields or subfields
Making a field or subfield mandatory
Advanced constraints
Hidden fields and subfields
Bringing fields or subfields under Authorized Value or Authority Control
Summary
Chapter 6: Configuring the Circulation Module
Patron categories
Identifying patron categories
Creating patron categories
62
63
63
64
64
65
67
68
68
69
71
73
73
74
74
75
76
76
77
78
79
80
80
81
82
82
83
83
84
85
88
88
88
88
88
89
91
91
92
93
Table of Contents
Item types
Identifying Item types
Creating Item types
Circulation and fine rules
Identifying circulation and fine rules
Creating circulation and fine rules
Configuring the calendar and calculation of due date and fines
Calendar and fine calculation
Calculation of due dates in Koha
Preparing to configure the calendar and fines and due date calculations
Editing the calendar
Editing system preferences
Due and overdue notices
Preparing to configure due and overdue notices
Editing notices
Editing notice triggers
Configuring holds
Preparing to configure holds
Editing holds preferences
Summary
Chapter 7: Configuring Other System Preferences
94
95
96
97
98
98
99
99
99
100
100
101
102
103
104
106
107
107
107
109
111
Understanding Koha's system preferences
111
Koha's global system preferences module
Using system preferences
Online documentation
112
113
113
113
114
117
119
Configuring transactional modules
Configuring patrons preferences
Configuring acquisitions preferences
Configuring serials preferences
Configuring OPAC preferences
Configuring static content
Configuring tools for patrons
Configuring patron access control
Configuring enhanced content
Configuring styling and appearance
Configuring OPAC styling and appearance
Configuring staff client styling and appearance
[V]
122
122
124
126
128
132
133
136
Table of Contents
Configuring general preferences
Configuring messaging preferences
Configuring security preferences
Configuring search preferences
Summary
138
138
142
145
147
Chapter 8: Test Driving Your Koha Installation
149
Patrons -create, search, and view patron record
149
150
Creating a new patron
Searching for a patron
Cataloging- create, search, and view bibliographic and item
record
Creating a bibliographic record
Creating an item record
Searching for the record
Circulation- check -out, check -in, and view circulation history
Checking out
Checking in
Viewing circulation history
Acquisitions- create an order, receive shipment, and view
budget utilization
Creating budgets
Creating a vendor
Creating orders
Receiving shipments
Viewing budget utilization
Serials- creating a subscription and receiving the first issue
Creating a subscription
Searching for the subscription
Receiving an issue
151
151
152
153
154
154
155
156
156
157
158
158
159
160
161
161
161
OPAC- running a catalog search
Summary
163
164
164
164
166
166
167
Chapter 9: Migrating Catalog Data
169
Reports- creating a guided report and executing it
Building a report
Using a saved report
An orientation to migrating catalog data
Understanding MARC files
Koha Holdings in tag 952
Holdings in legacy systems
Import tools
169
170
170
171
171
Table of Contents
MARCEdit
bulkmarckimport.pl
Koha's GUI import tool
172
172
175
Choosing an import tool
Migration process
Preparing to migrate catalog data
Mapping Koha's holdings subfields to subfields in source MARC file
Planning setup of administrative fields in Koha
Migrating catalog data
Setting up values in Koha's administrative fields
Setting up branch codes
Setting up Item types
Setting up collection codes
Setting up shelving locations
176
176
176
177
178
179
179
179
180
181
182
Editing the source MARC file using MARCEdit
Swapping subfields
Adding a new subfield
Merging subfields
182
184
185
185
Importing the MARC file
Using the bulkmarcimport.pl program
Importing catalog records using the GUI tools
Staging MARC records for import
Managing records
Undo Import
188
188
189
189
191
192
Summary
193
Chapter 10: Troubleshooting
195
Where to get help- community resources
Koha's mailing lists
Koha's IRC chat
Koha's bug tracker
Koha's Git repository
Common problems
Apache2 web server is down
MySQL database server is down
Zebra search not returning any results
Zebra index rebuild not working
Parser problems
Overdues e-mail not working
Reviewing notice triggers
Troubleshooting e-mail problems
Troubleshooting problems with generation of notices
Fines not working
196
196
197
197
198
198
199
200
202
203
204
206
206
206
208
209
[ vii
Table of Contents
Software bugs
Command line programs- environment variables not exported
211
Problems with Internet Explorer
Summary
213
214
215
Chapter 11: Updating Software
217
Orientation to updating software
217
217
Understanding Koha's software versions
Branches
Heads
Tags
Choosing a version to update to
Understanding components of software updates
An overview of the installation process
Updating the software
Downloading updates using git pull command
Switching to a new software version
Installing the new software version
Running the Makefile.PL program
Installing Perl modules
Completing Koha installation
Configuring Apache2
Upgrading the database
Zebra -rebuilding indexes and restarting the server
Rebuilding Zebra indexes
Restarting zebrasry
Summary
Chapter 12: Customizing Koha Software
An orientation to customizing Koha software
218
218
218
219
219
219
220
220
221
222
222
223
223
224
224
225
225
225
226
227
Skills needed
Understanding Koha's application folder
227
228
228
Top level folders
Template files
Relationships between different types of files
228
229
229
Understanding Koha's database
230
Browsing Koha's database
An overview of important Koha tables
Cataloguing
Circulation
Patrons
Administration
Serials
Acquisitions
Koha's database structure
230
231
231
231
231
232
232
232
232
Table of Contents
Using Git to manage software changes
Understanding the software customization process
Customizing Koha software -an example
Creating a development branch
Making CSS changes
Creating a new JavaScript file
Loading the Transliteration JavaScript file
Creating a system preference
Adding the transliteration tool to the display template
Editing the Perl scripts to enable the system preference
Committing changes
Create a patch using Git
Sending the patch to Koha's release manager
Summary
Chapter 13: Advanced Topics
Creating and using matching rules for use during catalog imports
Understanding matching rules
Determining search indexes
More information and examples
Using LDAP with Koha
Configuring LDAP
Microsoft Active Directory
Setting permissions
Multiple OPAC interfaces
Installing new languages
Install Locale::PO module
Creating language templates for the OPAC
Creating language templates for the staff client
System preferences
Testing the new language
Setting up a public Z39.50 server
Configuring the listen directive
Configuring the server directive
Configuring the serverinfo directive
Restarting the Zebra server
Summary
Index
233
233
234
235
235
235
236
236
239
239
240
241
243
244
245
246
247
248
249
249
250
251
252
252
254
254
254
255
255
256
257
257
258
258
259
259
261
Preface
Much of what we have written in this book is based on our experiences teaching
Koha installation and maintenance of technology and library staff.
We hope this book will help you to quickly install and set up a working Koha
installation, complete with catalog data migrated from your current library system.
The first nine chapters of this book are devoted to these topics. In the rest of the
book we cover topics such as troubleshooting, installing software updates, and
customizing Koha, which will be of interest to you when you start to use Koha in
earnest.
You will need some Linux expertise. Most Koha users use Debian. However you
should feel free to try the installation on your preferred distribution. In the examples
in this book, we have demonstrated Debian and openSuSE commands; we think
these two are representative of most commonly used Linux distributions.
During the installation process, we would encourage you to seek help from the Koha
community via the Koha mailing lists.
What this book covers
Chapter 1, Installing the Software Stack
In the first chapter our goal will be to install Koha's software stack -the Koha
application itself, MySQL database server, Apache2 web server, and the various
system and Perl packages Koha uses.
Chapter 2, Configuring the Apache2 Web Server
Next, we will configure Koha's web server - Apache2. Apache2 serves Koha pages
to users when they access the OPAC or the staff client.
Preface
Chapter 3, Installing Koha's Zebra Search Engine
In the third chapter we will focus on Zebra - Koha's powerful catalog search engine.
We will learn how to install and test Zebra.
Chapter 4, Koha's Web Installer, Crontab, and Other Server Configurations
In the fourth chapter, we will learn about executing Koha's web installer, setting
up Koha's Crontab, and configuring Koha services to start automatically when the
machine reboots. At the end of this chapter, we will be able to launch Koha.
Chapter 5, Configuring the Cataloging Module
This chapter is the first of three application configuration chapters. In this chapter,
we will learn how to configure Koha's Cataloging module, which is used to maintain
information about items in the library.
Chapter 6, Configuring the Circulation Module
In this chapter, we will learn how to configure Koha's circulation module. This
module is used to loan library items to the patrons. Our goal here will be to map
the library's circulation policies to rules and preferences in Koha.
Chapter 7, Configuring Other System Preferences
In this chapter, we will learn how to configure system preferences related to the rest
of Koha's modules - Patrons, Acquisitions and Serials, and Online Public Access
Catalog (OPAC). We will also study preferences related to styling and appearance,
messaging, security, and search.
Chapter 8, Test Driving Your Koha Installation
By now we will be in a position to take our Koha installation for a test drive. We will
look to complete a transaction cycle in each of the primary Koha modules - Patrons,
Cataloging, Circulation, Acquisitions and Serials. We will also test the reports
module and catalog search on the OPAC.
Chapter 9, Migrating Catalog Data
Migrating catalog data from the legacy system is a prerequisite to using Koha
for most libraries. In this chapter we will learn how to convert MARC files from
legacy systems into Koha compatible files. We will learn about Koha's MARC
record import tools.
[2]
Preface
Chapter 10, Troubleshooting
In this chapter, we will learn about ways to troubleshoot Koha problems, we
will learn about the community tools and resources and take a closer look at
ten specific problems.
Chapter 11, Updating Software
It is good practice to keep your Koha software updated to benefit from new features
and bug fixes, but also to avoid migration problems if your version falls too far
behind. In this chapter we learn how to download and install software updates.
Chapter 12, Customizing Koha Software
Most serious Koha users will want to customize the software to suit their needs,
perhaps to modify the styling or appearance or to tweak a certain page to show
additional information. If you have the skills you can even take on more serious
work such as adding new features. In this chapter, we learn how to customize
Koha code.
Chapter 13, Advanced Topics
In this final chapter, we will learn about setting up some less widely used but
nevertheless important features of Koha - custom record matching rules, LDAP
authentication, custom OPACs for each library, internationalization, and setting
up Koha as a Z39.50 source.
What you need for this book
You will need:
A computer or a server
A Linux DVD; we cover Debian & openSuSE in this book, but other
distributions should be fine too
High speed Internet connection to download software
[31
Preface
Who this book is for
This book is aimed at Linux System Administrators who need to install and maintain
Koha. If you are a system administrator who wants to set up an open source
integrated library system, then this book is for you. It will also be useful for system
administrators who require help with specific aspects of implementing Koha.
Conventions
In this book, you will find a number of styles of text that distinguish between
different kinds of information. Here are some examples of these styles, and an
explanation of their meaning.
Code words in text are shown as follows: "We use the in command to create the
symbolic link."
Any command -line input or output is written as follows:
koha @11190- 245:/$ sudo In -s /home /koha /koha -dev /etc /koha -httpd.conf /
etc /apache2/ sites -available /koha- httpd.conf
New terms and important words are shown in bold. Words that you see on the
screen, in menus or dialog boxes for example, appear in the text like this: "To edit
these preferences, navigate to Administration I Global system preferences.".
Warnings or important notes appear in a box like this.
Tips and tricks appear like this.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about
this book - what you liked or may have disliked. Reader feedback is important for
us to develop titles that you really get the most out of.
To send us general feedback, simply send an e -mail to f eedback@packtpub
and mention the book title via the subject of your message.
. corn,
If there is a book that you need and would like to see us publish, please send
us a note in the SUGGEST A TITLE form on www . packtpub . corn or e -mail
suggest @packtpub. corn.
[4]
Preface
If there is a topic that you have expertise in and you are interested in either writing
or contributing to a book, see our author guide on www.packtpub. com /authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to
help you to get the most from your purchase.
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes
do happen. If you find a mistake in one of our books - maybe a mistake in the text or
the code - we would be grateful if you would report this to us. By doing so, you can
save other readers from frustration and help us improve subsequent versions of this
book. If you find any errata, please report them by visiting http: / /www. packtpub.
com /support, selecting your book, clicking on the errata submission form link, and
entering the details of your errata. Once your errata are verified, your submission
will be accepted and the errata will be uploaded on our website, or added to any list
of existing errata, under the Errata section of that title. Any existing errata can be
viewed by selecting your title from http: / /www. packtpub . com /support.
Piracy
Piracy of copyright material on the Internet is an ongoing problem across all media.
At Packt, we take the protection of our copyright and licenses very seriously. If you
come across any illegal copies of our works, in any form, on the Internet, please
provide us with the location address or website name immediately so that we can
pursue a remedy.
Please contact us at copyright
pirated material.
@packtpub . corn
with a link to the suspected
We appreciate your help in protecting our authors, and our ability to bring you
valuable content.
Questions
You can contact us at quest ions@packtpub. corn if you are having a problem with
any aspect of the book, and we will do our best to address it.
(5]
1
Installing the Software Stack
In this chapter, our goal will be to install Koha's software stack -the Koha
application itself and the various system and Perl packages it uses. Installing the
stack in itself is not enough to be able to use Koha, but is an important first step.
This task can be quite challenging, especially for novice Linux users. You will need
to get familiar with using the Linux terminal and multiple installation tools. Expect
problems with Perl modules, as troubleshooting these can be especially difficult.
We cover the chapter in three stages - first an orientation, next preparatory steps,
and finally a demonstration of the installation. Throughout this book we will use two
Linux distributions - Debian and openSuSE; the two combined are representative of
most other distributions.
An orientation to Koha's installation
In this section well learn about:
What components we will need to install
What installation tools to use and when
The implications of choosing one Linux distribution over another
Where to get help when you run into installation problems
Installing the Software Stack
Koha's architecture
First, let us take a quick look at Koha's architecture. Koha runs on the Linux,
Apache2, MySQL, Perl (LAMP) platform:
Linux: The operating system
Apache2: The web server
MySQL: The database server
Perl: Koha is written in the Perl programming language
Koha
Perl
Apache
Linux
Hardware
What do we need to install?
We will install various packages related to:
The Koha architecture above - Linux, Apache, MySQL, and Perl
The Koha application itself
Build and compiler programs that help with the installation
Various Perl and non Perl packages that Koha uses, along with their
own prerequisites
Installation tools
Let us take a look at the various tools we will use to install Koha's software stack.
These tools are:
Package manager: To install Linux packages
Make utility: To install Perl modules
CPAN shell: To install Perl modules that are not available as Linux packages
Git: To download the Koha application
[8]
Chapter 1
Package manager
A package manager makes installation easy by automatically installing prerequisites,
tracking versions and updates, and verifying checksums. Your choice of the package
manager will usually depend on the Linux distribution you use. Here are some
popular package managers:
APT: On Debian or Ubuntu
YaST: On openSuSE
YUM: On CentOS
Make utility
Perl programs such as Koha or the various Perl modules it uses can be installed
using a series of commands:
This command checks for prerequisites and creates
a configuration file needed by make
make: This compiles the software and creates executables
perl Makefile . PL:
It runs test cases to ensure proper installation, flags errors,
and warnings in case of problems
make test:
make Install:
This installs the executable files into proper directories in
the server
CPAN shell
CPAN (Comprehensive Perl Archive Network) - is an archive of Perl modules.
The CPAN shell is a tool that automates the download and installation of Perl
modules from the archive including the execution of the pers Makefile . PL, make,
make test, and make install commands given above.
Learn more about CPAN here:
http: //www.cpan.org/.
Git
Git is Koha's version control system. Git simplifies and automates the download of
software from Koha's online repository. We use Git not only during installation, but
also while installing software updates. If you wish to make software changes of your
own, Git will help merge those changes with new versions of Koha.
Learn more about Git here:
http: / /git -scm. com /.
[ 9 ]
Installing the Software Stack
Choosing between Linux Perl packages and
CPAN modules
CPAN is the largest archive of Perl modules. Perl modules are always available on
CPAN. Many, but not all of Koha's Perl prerequisites are available as packages in a
distribution's sources.
The recommended approach in such a scenario is to use Linux packages where
available. If you don't find packages for a certain module, then use CPAN to
install it.
The Linux package manager can manage all prerequisites of a module. CPAN only
knows about Perl prerequisites, and cannot install any non -Perl prerequisites. For
this reason, you will likely have smoother installations with the package manager in
comparison to CPAN.
Choosing a Linux distribution
It appears that Debian is the most popular when it comes to Koha. Some of
the installation tasks are simpler in this distribution. Also you might get better
community support from a large pool of Debian Koha users.
However, if you are skilled on another distribution, it might make sense to use that.
Installation on Ubuntu is very similar to that on Debian. There are many Koha users
on Fedora, CentOS, or openSuSE. Installation documents, live CDs, and other sorts
of help are becoming available for these distributions as well.
In any case, once you are past the installation stage, it does not really matter
distribution you are on.
Getting help
Koha's community resources
If you face trouble with the installation, Koha's community resources can be of
excellent help:
Mailing lists: Koha's mailing lists are very active and you are likely to get
timely help. Join the mailing lists via this page: http: / /koha- community.
org /support /koha -mailing - lists /.
Mailing lists archives: Many of the discussions are indexed by search engines.
If you run into trouble, it is likely someone else had a similar problem before
you, so just search for solutions using your favourite search engine.
IRC chat: Many of Koha's developers are available on this live chat forum.
Join here: http: / /koha- community . org/support/.
[10]
Chapter 1
Wiki: Koha's wiki might have useful material -
http: //wiki .koha-
community.org/.
Installation documents: Up -to -date installation documents are available
in Koha's application folder.
Preparing for installation
In this section we prepare for the installation- setting up a server, preparing a list
of packages for installation and configuring installation tools.
Server prerequisites
Before we start the installation, we will need a server setup as follows:
Prerequisites
Description
Server
2 GB RAM, 40 GB hard disk should be good for most
libraries.
High speed Internet connection to download software.
Your preferred distribution installed on the server.
Git port 9418
FTP port 21
HTTP port 80
Access to the server via SSH, or directly.
A Linux user with sudo privileges, in this book we use
Internet connection
Linux
Firewall ports opened
Access
User
user -koha.
Locale
Your locale setup on the server.
Downloading Koha and switching to a branch
One of the first things.we do is to download Koha and switch to a version (or a
branch) that we want to use. This helps us draw up, as explained in sections below,
our package installation list.
Cloning Koha
To download the Koha application, we need Git. Let us install Git:
koha @li190 -245: -$ sudo apt -get install git
Installing the Software Stack
Now we are ready to download Koha, let us change to a folder where we want to
install Koha. The user koha must own this folder:
koha @1i190 -245:- # cd /home /koha
To clone the application from Koha's git server we use the git
clone
command:
koha @1i190 -245: -$ git clone git:: / /git.koha- community.org /koha.git
kohaclone
Checking out a branch
Before installing Koha, we need to select the software version or branch that
we want to use. In production environments, you may want to use the stable
version. In test environments you might want to use the latest version - master.
Let us say we want to install the stable version. A quick check on http: / /git . kohacommunity . org tells us that at the time of writing this chapter, the correct name of
the stable branch is v3.00.06.
To use Git, we need to be in the kohaclone folder:
koha@ 11190- 245: /home /koha # cd kohaclone
To switch to this branch, we use the git
checkout
command:
koha @1i190 -245:- /kohaclone$ git checkout -b koha - stable v3.00.06
Preparing a list of installation packages
Preparing a list of installation packages can be a challenge depending on which
distribution you are on. At the time of writing, package lists are available for Debian
and Ubuntu only. We cannot use the same packages on other distributions - some
packages may be named differently, and others may not be available at all. Also
some packages that Koha requires may be available on your distribution and not on
Debian and Ubuntu.
[12]
Chapter 1
System packages
We use the term system packages for non -Perl modules. Here is a list of system
packages that you must have in your installation list; you will need to to look up
the right names for each of these from your distribution's sources:
Package
Apache2
MySQL
Make
Gcc
Yaz
Libyaz
Libyaz -devel
Description
The web server.
The database server.
Programs that helps build and install packages.
Is the compiler package.
Is the toolkit used in Z39.50 clients and servers.
YAZ related libraries.
YAZ related development libraries.
On Debian, to look up the name of a package we use the apt -cache search command:
koha @1i190 -245: -$ sudo apt -cache search libyaz
On openSuSE, we use the search tool available inside the YaST GUI:
koha @1i190 -245: -$ yast
Perl modules
An accurate list of Perl modules can be drawn up by running Koha's Makef i l e . PL
program. The program checks for the installation status of Koha's Perl module
prerequisites and displays warning messages for each missing module.
We run Koha's Make f 11e. PL program as follows:
koha @li190 -245:- /kohaclone$ perl Makefile.PL
See the section on Make f i l e . PL below to see how to choose various options, or
you can choose default value for now. The missing module prerequisites will be
displayed at the end:
[Thu Aug 5 05:07:41 2010] Makefile.PL:
PDF::Reuse::Barcode 0.05 not found.
[Thu Aug 5 05:07:41 2010] Makefile.PL:
SMS::Send 0.05 not found.
[Thu Aug 5 05:07:41 2010] Makefile.PL:
Schedule::At 1.06 not found.
[Thu Aug 5 05:07:41 2010] Makefile.PL:
Text::CSV::Encoded 0.09 not found.
[Thu Aug 5 05:07:41 2010] Makefile.PL:
[13]
Warning: prerequisite
Warning: prerequisite
Warning: prerequisite
Warning: prerequisite
Warning: prerequisite
Installing the Software Stack
Text::CSV_XS 0.32 not found.
[Thu Aug 5 05:07:41 2010] Makefile.PL: Warning: prerequisite XML::RSS
1.31 not found.
Writing Makefile for koha
koha @1i190 -245: -/kohaclone$
You will need to look up these modules in your distribution's repositories to
find corresponding packages. The system packages will usually be named with
a prefix "perl -" and will have " -" instead of ":: ". As an example, the Perl module
PDF :: Reuse :: Barcode
should have a corresponding Perl package called perl
-PDF-
Reuse -Barcode.
If you don't find some of the modules in your distribution's sources, then those
modules will need to be installed using CPAN.
Debian /Ubuntu package lists
Package lists are available for Debian and Ubuntu in the
kohac lone
folder:
koha @1i190 -245: -/kohaclone$ vi install_misc/debian.packages
Or
koha @1i190 -245:- /kohaclone$ vi install_misc/ubuntu.packages
If you are on another distribution use the debian.packages or ubuntu.packages lists
to look for corresponding modules in your distribution's sources.
It is important to note that these lists may not be completely accurate. This is because
software changes all the time; for instance a package that was hitherto unavailable
in Debian sources may become available when a new Debian version is released. So
it might be a good idea to look for additional Perl packages in your Linux sources
before installing them using CPAN.
Setting up repositories or sources
You might need to configure additional repositories or sources for some of the
packages in your installation list.
With Debian you will need to add Index data's sources for YAZ related packages.
Edit the sources file:
koha @1i190 -245: -$ sudo vi /etc /apt /sources.list
And add these lines to set up Index data's Debian package sources:
# Index Data
[14]
Chapter 1
deb http: / /ftp.indexdata.dk /debian lenny main
deb -src http: / /ftp.indexdata.dk /debian lenny main
With openSuSE 11.2, you will need the Perl repository:
http: / /download.opensuse.org/ repositories /devel: /languages: /perl/
openSUSE_11.2/
We use zypper to add a repository from the command line:
koha @li190 -245: -$ sudo zypper ar http: / /download.opensuse.org/
repositories /devel: /languages: /perl /openSUSS 11.2/ perl- repository
Don't forget to refresh the package source. On Debian:
koha @1i190 -245: -$ sudo apt -get update
On openSuSE:
koha @li190 -245: -$ sudo zypper refresh
Configuring the CPAN shell
We will need to configure the CPAN shell before we can use it to install Perl
modules. To launch the shell we use the cpan command:
koha @linux: /home /koha /kohaclone # sudo cpan
You can choose to configure CPAN automatically:
Would you like me to configure as much as possible automatically? [yes]
yes
Or you can run through the steps manually.
Once the configuration completes, you should be in the CPAN shell:
commit: wrote ' /usr /lib /per15 /5.10.0 /CPAN /Config.pm'
Exiting subroutine via last at /usr /lib /per15 /5.10.0 /CPAN.pm line 1450,
<STDIN> line 1.
cpan shell -- CPAN exploration and modules installation (v1.9205)
ReadLine support enabled
cpan [1] >
[15]
Installing the Software Stack
Installing Koha's software stack
In this final section we demonstrate the installation steps on Debian and openSUSE.
Installing packages using the package
manager
We will install most packages using the package manager. Having installed Git in
an earlier section, readers are already familiar with the commands used to install
individual packages; in this section, we also look at ways of speeding up the process.
Installing packages from the Linux prompt
You can install the packages one -by -one like this:
koha @li190 -245: -/kohaclone> sudo apt -get install apache2
On openSuSE, the command would look like this:
koha @1i190 -245: -/kohaclone> sudo yast -i apache2
Or you can install multiple packages in one statement:
koha @1i190 -245:. -/kohaclone> sudo apt -get install apache2 mysql make gcc
Or:
koha @1i190 -245: -/kohaclone> sudo yast -i apache2 mysql make gcc
Installing packages using shell scripts
To speed up the installation, you can write a shell script file that looks like this:
yast -i apache2 \
mysql \
make \
gcc \
yaz \
libyaz \
libyaz -devel \
perl -Algorithm -CheckDigits
perl -Biblio -EndnoteStyle \
And execute this script using the
sh
command:
koha @1i190 -245: -> sudo sh yast- opensuse -perl.sh
[16]
Chapter 1
Installing packages using dselect
Debian and Ubuntu users can use
dselect,
a convenient way to install package lists.
First we install dselect:
koha@li190- 245: -/kohaclone$ sudo apt -get install dselect
Next, we select what needs to be installed by pointing to the file containing the list
of packages:
koha @li190 -245: -/kohaclone$ sudo dpkg -- set -selections < install_misc/
debian.packages
Finally we install the selected packages:
koha @li190 -245: -/kohaclone$ sudo dselect
From the dselect screen, we will need to execute the install, configure, and delete
options in sequence.
Installing Perl modules using CPAN
We use the CPAN shell to install only those Perl modules that are not available in
your distribution's sources.
We can install such modules from inside the CPAN shell, like this:
koha @li190 -245:- /kohaclone$ sudo cpan
cpan[1]> install HTTP::OAI
Install multiple modules using a single statement:
cpan[2]> install IPC::Cmd Net::LDAP Net::LDAP::Filter
Net::Z3950::ZOOM Text::CSV::Encoded
Another way of doing it is from the Linux shell:
koha @li190 -245: -> sudo cpan HTTP::OAI
Here is how we install modules from the Linux shell:
koha @li190 -245: -> sudo cpan IPC::Cmd Net::LDAP Net::LDAP::Filter
Net::Z3950::ZOOM Text::CSV::Encoded
[17]
Installing the Software Stack
Troubleshooting CPAN installations
If CPAN modules don't install successfully, we would see messages like these at the
end of install command:
MIRK /Net- Z3950- ZOOM- 1.26.tar.gz
writemakefile NO
:
' /usr /bin /perl Makefile.PL INSTALLDIRS =site' returned status 512
WRW /Barcode- Code128- 2.01.tar.gz
:
make_test NO
LARSLUND /PDF- Reuse -Barcode- 0.05.tar.gz
:
make_test NO one
dependency not OK (Barcode::Code128)
cpan [8] >
From the messages above, we learn that the module Net -Z3950the Make f i 1 e . PL stage likely due to missing prerequisites.
ZOOM
has failed at
The module PDF -Reuse - Barcode has failed to install, because one of its
prerequisites - Barcode :: code 12 8 has failed at the make test stage.
To troubleshoot such problems we need to look at error messages for clues. Resolve
any problems that are found and then install each module manually using the make
set of commands.
As an example, let us troubleshoot problems with installing the module
Net -Z3950 -ZOOM.
We use the look command to get into a Linux subshell:
cpan[8]> look Net::Z3950::ZOOM
Running look for module 'Net::Z3950::ZOOM'
Trying to open a subshell in the build directory...
Working directory is / home /koha /.cpan /build /Net- Z3950- ZOOM -1.26- C9NuSo
We run make clean to start afresh:
sh -3.2# make clean
make: * ** No rule to make target 'clean'.
Next run the
Makef ile . PL
Stop.
program:
sh -3.2# perl Makefile.PL
At this stage we see an error message indicating missing system packages:
ERROR: Unable to call script: yaz- config
If you are using a YAZ installation from the Debìan package "yaz ", you
will also need to install "libyaz -dev" in order to build this module.
[18]
Chapter 1
This means we need to install YAZ related packages using the package manager, on
Debian -yaz and libyaz-dev and on openSUSE -yaz, libyaz, libyaz -devel.
After installing these packages using the package manager, we run the make series of
commands to complete the installation:
cpan[8]> look Net::Z3950::ZOOM
sh -3.2# make clean
sh -3.2# perl Makefile.PL
sh -3.2# make
sh -3.2# make test
sh -3.2# make install
sh -3.2# exit
cpan[8]>
Setting up Koha's MySQL database
Before we install Koha, we need to setup Koha's MySQL database and a MySQL
user with privileges over the database.
Unless you have already done this as part of the installation, we first secure MySQL
by configuring a password for the root users:
koha ®li190- 245:linux: /home /koha # mysqladmin -u root password
'yourdbrootpasswd';
Log in to MySQL using root:
koha ®li190 -245: -/kohaclone$ mysql -u root -p
Enter password:
Create Koha's database:
mysql> create database koha;
Create a MySQL user for Koha's database and grant it privileges. Both actions are
accomplished with one command:
mysql> grant all on koha.* to 'kohaadmin'®'localhost' identified by
'katikoan';
mysql> flush privileges;
mysql> quit
[19]
Installing the Software Stack
Configuring Koha's installation: Makefile.PL
After we have installed required system and Perl packages and set up the database,
we are ready to install Koha. The first step is to run Makef i le . PL to configure
Koha's installation. We will need to supply responses to questions such as mode of
installation or database name:
koha @linux: /home /koha /kohaclone # perl Makefile.PL
Enter responses to configuration questions as follows:
Installation mode should be dey if you wish to use Git to apply patches.
Installation mode (dey, single, standard)
[standard] dey
User koha must have write access to the configuration directory to avoid
permissions problems:
Configuration directory:
Choosing
mysgl, Pos tgre
DBMS to use (Pg, mysgl)
[ /home /koha /koha -dey]
support in Koha is experimental:
[mysgl]
Here we specify the name of the database we created in an earlier step:
Please specify the name of the database to be used by Koha [koha]
Specify the MySQL user that has privileges over the database; we created this user
in an earlier step:
Please specify the user that owns the database to be used by Koha
[kohaadmin]
Specify the password of this user:
Please specify the password of the user that owns the database to be used
by Koha [katikoan] katikoan
Say yes to Zebra - Koha's powerful catalog search engine; Although Koha can
function without Zebra by using database indexes, Zebra's superior capabilities
make it an important part of your installation:
Install the Zebra configuration files? (no, yes)
[yes]
For other questions, the default value should be fine. Simply press the Return key to
proceed to the next step.
[20]
Chapter 1
The program display a summary of the configuration at the end, make a note of
the details:
Koha will be installed with the following configuration parameters:
DB_HOST
localhost
DB_NAME
koha
DB_PASS
katikoan
DB_PORT
3306
DB_TYPE
mysql
DB USER
kohaadmin
INSTALL BASE
/home /koha /koha -dev
INSTALL_MODE dev
INSTALL ZEBRA
yes
KOHA_INSTALLED_VERSION
RUN DATABASE_ TESTS
USE MEMCACHED
3.01.00.124
no
no
If you have installed all prerequisites you should not see warning messages of
missing prerequisites. If you do, you should go back and install any missing
modules. Rerun Make f i l e . PL till all warnings disappear.
Completing Koha's installation
Run the following commands to complete the installation of Koha:
koha @li190 -245: -/kohaclone$ make
koha @li190 -245: -/kohaclone$ make test
koha @li190 -245: -/kohaclone$ sudo make install
Summary
Here is what we learned in this chapter:
Using Git to download and use a certain version of Koha
Preparing an installation list for your distribution
Installing packages using the package manager
Installing Perl modules using the CPAN shell
[21]
Installing the Software Stack
Troubleshooting Perl module installations
Setting up Koha's MySQL database
Installing Koha using the Make utility
In the next chapter, we will learn how to configure the Apache web server and
Koha's web installer.
[22]
2
Configuring the Apache2
Web Server
In this chapter, our goal will be to configure Apache2. Apache2 is Koha's web
server -it serves Koha pages to users when they access the OPAC (Online Public
Access Catalog) or the staff client. At the end of the chapter we will be able to launch
Koha's OPAC and the staff client interfaces using a web browser. However, the
interfaces won't work until we execute Koha's web installer, a topic for Chapter 4.
We cover this chapter in three stages -first an orientation, next the preparatory steps,
and finally a demonstration of the configuration. Again, we demonstrate the steps on
two Linux distributions - Debian and openSuSE.
Understanding Apache2 configuration
In this section we try and understand what Apache2 is, how to configure different
websites or applications that use it, and how the configuration differs across
Linux distributions.
About Apache2
Apache is the world's most popular web server. It is used to serve static and dynamic
pages to web browsers. Apache2 is a full featured web server. Koha uses it among
other things for:
Setting up two web interfaces, one for the OPAC and the other for
the staff client
Setting up of a host name for Koha, something like ht tp : / / koha .
mylibrary.org/
Configuring the Apache2 Web Server
Securing access to Koha's application folders
Logging error messages to a file
Rewriting page URLs
To learn more about Apache, refer to documentation here:
http://httpd.apache.org/docs/2.2/.
Apache2 virtual hosts
Apache's documentation
virtual hosts as follows:
(http: // httpd .apache.org /docs /2.2 /vhosts
/) defines
The term Virtual Host refers to the practice of running more than one web site
(such as www . companyl . corn and www . company2 . com) on a single machine.
Virtual hosts can be "IP- based ", meaning that you have a different IP address for
every web site, or "name- based ", meaning that you have multiple names running
on each IP address. The fact that they are running on the same physical server is
not apparent to the end user.
We will have two Koha virtual hosts - one for the OPAC and the other for its
staff client.
Name -based or IP -based virtual hosts
Koha has two interfaces, the OPAC and the staff client. You will need to choose
how you want to access these interfaces:
With the same host name, but different port, say: ht
tp : //koha .mylibrary
org, http : //koha .mylibrary. org : 8080/
With two host names, say: http
: / /koha -opac .mylibrary. org
and
http: / /koha -staff .mylibrary. org
With an IP address and different ports, say:
http : / / 192.16 8.1.21
http://192.168.1.21:8080
With two IP addresses, say: http:
//192.168.1.21
http://192.168.1.22
[24]
and
and
Chapter 2
Here are some guidelines to help you work this out:
Using host names is a better option because they are easier to remember.
But if you are not in a position to create host names, you will need to use
IP addresses.
Using Apache2's default port 80 for both interfaces is a better choice.
Port 80 is allowed for use on most networks.
If you are not in a position to create two host names, you can consider using
an additional port. Port 8080 is a popular alternative to port 80 and is allowed
for use on many networks.
If you are not in a position to use a second port for the staff client due to
network or firewall constraints, you will need to use either two host names
or two IP addresses.
To use two IP addresses you will need a machine with two Network Interface
Cards (NICs).
Apache2's configuration folder
The Apache2 web server can be configured by editing various files in its
configuration folder. On many distributions this folder is named apache2 and is
available under the /etc folder.
On other distributions it is named
httpd.
It might be useful to browse this folder and get a sense of its contents:
koha @1i190 -245:/$ is /etc /apache2/
Or use this command:
koha @1i190 -245:/$ is /etc /httpd/
There are differences in how the Apache2 folder is organized in various
distributions. For instance, on Debian Apache2 ports are configured in the
ports . conf file. Let us take a brief look at this file:
koha @1i190 -245:/$ sudo vi /etc /apache2 /ports.conf
On openSuSE however, this file is called
listen. conf.
koha @1i190 -245:/$ sudo vi /etc /apache2 /listen.conf
On Debian, virtual host files - essentially configuration files for each website or
application that runs on the server - are set up in the folder sites -available:
koha @1i190 -245:/$ is /etc /apache2 /sites -available/
[25]
Configuring the Apache2 Web Server
While on openSuSE such files are created in the folder vhosts
. d:
koha@1i190-245:/$ is /etc/apache2/vhosts.d/
Koha's default Apache2 file
Koha's installation process from the previous chapter creates a default Apache2
configuration file named koha- httpd. conf.
You will find this file under the
Take a look at this file:
etc
folder inside Koha's configuration folder.
koha @1i190 -245:/$ vi /home /koha /koha -dev /etc /koha -httpd.conf
Koha's virtual hosts
The file has two Apache2 virtual host blocks - one for Koha's OPAC and the
other for its staff client.
This is what the OPAC virtual host looks like:
## OPAC
<VirtualHost 127.0.0.2:80>
ServerAdmin webmaster@linux
DocumentRoot /home/koha/kohaclone/koha-tmpl
< /VirtualHost>
And the staff client virtual host is right below the OPAC block:
## Intranet
<VirtualHost 127.0.0.2:8080>
ServerAdmin webmaster @linux
DocumentRoot /home /koha /kohaclone /koha -tmpl
< /VirtualHost>
[26]
Chapter 2
Virtual host configuration
Each virtual host block has a set of directives that controls how Apache2 will work
with respect to Koha.
You will find that the default koha -httpd. conf file is already configured for the
most part, but we may want to modify some of the settings to suit our environment.
Some of the directives we may want to configure are:
Directive
ServerAdmin
ServerName
ServerAlias
Description
The e -mail address that is displayed when the website does not
function properly.
This is Koha's host name - something like koha . mylibrary. org.
Any other domain that users may use, for example,
1ibcat.mylibrary.org.
ErrorLog
Directory
The file to which Apache2 will write Koha related errors.
This directive controls what permissions Apache2 has on some
of Koha's folders.
Preparing for Apache2 configuration
Now that we learned a bit about how to configure Apache2, here are some
preparatory steps leading up to the configuration task. First we define a
configuration plan; we also look at a list of configuration prerequisites.
Configuration plan
Here we define host names or IP addresses, ports, and other Apache2 directives
for the OPAC and staff client virtual hosts. Here are some sample plans to help
you develop your own.
[27]
Configuring the Apache2 Web Server
Two host names
This is the best way to configure the two interfaces - there are two different host
names, both easy to remember and we don't use any non -standard ports.
Item
Value
OPAC IP Address
Any
Staff Client IP
Address
Any
OPAC Host Name
libcat.mylibrary.org
Staff Client Host
Name
libstaff.mylibrary.org
OPAC Port
80
Staff Client Port
8 0
Comments
We use host based virtual
hosts; we don't need to use
IP based virtual hosts.
Same as explained in OPAC
IP Address.
OPAC Error Log
/var /log /apache2 /log/
koha -opac- error_log
Staff Client Error
Log
/var /log /apache2 /log/
koha- staff - error_log
Administrator Email
Address
webmaster @mylibrary.
org
We have the ability to create
host names; we don't need to
use non -standard ports.
Same as explained in OPAC
Port.
We prefer to have all
Apache2 logs under /var/
log /apache2.
Same as explained in OPAC
Error Log.
Hostname with two ports
Here we use a single host name but two different ports. As the staff client is usually
used within the library, it is best to have that on a non -standard port, while the
OPAC remains on port 80.
Item
Value
Comments
OPAC IP Address
Any
Staff Client IP
Address
Any
We use host based virtual
hosts, we don't need to use
IP addresses to identify
different interfaces.
Same as explained in
OPAC IP Address.
OPAC Host Name
library.mylibrary.org
Staff Client Host Name
library.mylibrary.org
[28]
Chapter 2
Item
Value
OPAC Port
80
Staff Client Port
8080
Comments
We expect to use the staff
client within our network,
and using a non -standard
port is not a problem for
us.
IP address with two ports
If you are not in a position to setup hostnames, you would need to use IP addresses.
Here we use a single IP address with two different ports.
Item
Value
OPAC IP Address
192.168.1.21
Staff Client IP
Address
OPAC Host Name
192.168.1 .21
Staff Client Host
Name
Comments
This is just a test environment; at this
time we can't get a host name and a
DNS entry.
Same as explained in OPAC IP Address.
N/A
N/A
OPAC Port
80
Staff Client Port
8080
We expect to use the staff client
within our network, and using a
non -standard port is not a problem
for us.
[29]
Configuring the Apache2 Web Server
Two IP addresses
This is IP based virtual hosts. We use two IP addresses, one for the OPAC and
the other for the staff client. Your Koha server needs to have at least two Network
Interfaces cards.
Item
Value
Comments
OPAC IP Address
192. 168.1.21
Staff Client IP
Address
192.168.1.22
This is just a test environment; here we
can't get a host name and a DNS entry.
Our server has or we can setup two IP
addresses.
OPAC Host Name
N/A
Staff Client Host
Name
N/ A
OPAC Port
80
Staff Client Port
-
In our organization, it is difficult getting
firewalls opened for non -standard port
80
8080.
Standalone machine
If you intend to use Koha on a standalone machine, then the plan is fairly straight
forward. We use the machine's localhost address or the corresponding local loop IP
address - 127.0.0.1. As the machine is not networked, it is easy to use port 8080 or
any other port for that matter.
Item
Value
OPAC IP Address
127.0.0.1
Comments
We intend to use Koha on a standalone
computer, so we use the local loop IP address.
Staff Client IP
Address
127.0.0.1
Same as above .
OPAC Host Name
localhost
Staff Client Host
Name
localhost
OPAC Port
80
Staff Client Port
8080
Standalone computer; there are no problems
using a non -standard port.
[30]
Chapter 2
Configuration prerequisites
Here is a list of prerequisites that you might want to take care of; some of these may
not apply to your situation depending on the sort of configuration plan you have.
Item
Open Firewall ports
Host Names
Domain Name Service (DNS)
IP Addresses
Description
If you are using ports other port 80, you might
need to open those ports on network firewalls or
routers.
If you intend to use host names, you will have to
purchase or set them up.
If you use host names, you will have to set them up
in a DNS to route requests to the Koha server.
If you are using IP based virtual hosts, you will
need to ensure network cards are installed on your
server.
Configuring Apache2 web server
Now that we have our configuration plan in place, let us get started with Apache2
configuration. We will edit the OPAC and staff client virtual hosts in Koha's Apache2
configuration file. We will also configure Apache2 to listen on the staff client port 8080 and we will enable its Rewrite module. To make all this work we will point
Apache2 to Koha's Apache2 configuration file using a symbolic link.
Creating a symbolic link to koha -httpd.conf
First we create a symbolic link in Apache2's virtual host's folder pointing to
Koha's Apache2 file. A symbolic link is just a pointer to the actual Koha file.
2. We can copy the koha -httpd. conf file into the virtual host's folder, but it is
better to create a symbolic link as this helps when new versions of the file are
created during software upgrades.
3. We use the In command to create the symbolic link. The syntax is:
1.
In -s <path to koha -httpd.conf> <path to symbolink link name>
4.
On Debian the command would be:
koha @1i190 -245:/$ sudo ln -s / home /koha /koha -dev /etc /koha -httpd.
conf / etc /apache2/ sites -available /koha -httpd.conf
5.
And on openSuSE, the command would look like this:
koha @1i190 -245:/$ sudo in -s /home /koha /koha -dev /etc /koha -httpd.
conf / etc / apache2 /vhosts.d /koha -httpd.conf
[31]
Configuring the Apache2 Web Server
Enabling Apache2's Rewrite module
Koha uses Apache2's Rewrite module to manipulate URLs. To allow this we need
to enable the module using the a2enmod command:
koha @1i190 -245 : /$ sudo a2enmod rewrite
Configuring the listener
If you intend to use ports other than 80, you will need to configure the Listen
directive. On Debian we add this directive to the ports . conf file:
koha @1i190 -245:/$ sudo vi /etc /apache2 /ports.conf
And on openSuSE, we add this to the file
listen. conf:
koha @1i190 -245:/$ sudo vi /etc /apache2 /listen.conf
We add the directive in this manner:
Listen 8080
Editing the OPAC virtual host
Now we modify Koha's virtual hosts file to include elements of our configuration
plan. First we set the IP address in the first line of the Virtual Host block. Something
like this:
## OPAC
<VirtualHost 192.168.1.21:80>
If you want to use any IP address on the server, use " * ":
## OPAC
<VirtualHost *:80>
Next we setup Koha's host name in the
Sp.rverName
directive.
ServerName libcat.mylibrary.org
If are not using a host name, leave this Directive untouched.
Next, we add the Directory directive. Make sure you add these lines just before the
< /virtualhost> tag. Note that this step is not required on Debian.
<Directory /home /koha /kohaclone>
Order allow, deny
Allow from all
< /Directory>
[32]
Chapter 2
In a similar manner, we set other directives:
ServerAdmin
ErrorLog
webmaster@mylibrary.org
/ var / log /apache2 /log /koha -opac- error_log
Editing the staff client virtual host
Next we edit the staff client virtual host block; we will need to repeat the steps
above for this virtual host.
If you need to change the port we edit the first line of the virtual host:
## Intranet
< VirtualHost 127.0.0.2:8080>
If the port needs to be port 80, we change the line as follows:
## Intranet
<VirtualHost 127.0.0.2:80>
Enabling Koha's virtual hosts
On some distributions we need to enable the new virtual host file. For instance on
Debian, we run the a2ensite command to do this:
koha @1i190 -245 : /etc /apache2 /sites -available$ sudo a2ensite koha -httpd.
conf
Enabling site koha -http.conf.
The a2ensite command creates a symbolic link in the sites -enabled folder
pointing to the Apache2 configuration file in the sites -available folder.
This step is not required openSuSE.
Restarting Apache2
Finally we restart Apache2 to load the new configuration changes:
linux: /etc /apache2 /vhosts.d # sudo /etc /init.d /apache2 restart
Syntax OK
Shutting down httpd2 (waiting for all children to terminate)
done
Starting httpd2 (prefork)
done
Launching Koha
[33]
Configuring the Apache2 Web Server
Once we complete the Apache2 configuration, we are ready to test Koha. To navigate
to the OPAC, type the URL for the OPAC in your favorite browser.
Depending on your configuration, you may access the site via the host name,
something like this:
http: / /libcat.mylibrary.org
Or using an IP address, like this:
http://192.168.1.21
If you are on a standalone machine, you would use a local loop IP address or the
name localhost:
http: / /localhost or http: //127.0.01
k
htip
i} 2 cui-LnmbUhatmaintenanca pl
':"Most Vetted', t'opengt7SEv *eetttngSurtid 1¡tAtestE
I.uha =mim-
UMart G"alaloy
tieY
Go
LiCrarr Catalog
System Maintenance
:I.1
we'll be back sooni If you have any questions, please contact the Sty AbltnInisv,
Done
On the OPAC you will see a System Maintenance message; this is because we have
not configured Koha's web installer yet.
To navigate to the staff client, type the URL for Koha's staff client:
http: / /libstaff.mylibrary.org/
Or if you are using a port 8080, something like this:
org:8080/
Or if you are using an IP address with port 8080:
http://192.168.1.21:8080/
[34]
http: /
/library.mylibrary.
Chapter 2
Or if have a dedicated IP address:
http://192.168.1.22/
Or if you are on a standalone machine:
http: //localhost : 8080 or http: //127 . 0 . 0.1 : 8080/
.y.
http, 127 n n 2 6050 gi-birJ,ha/metallPrrmstall pl
tel yr 9MM:hiQeal:z4,-.,4*
m'F oha >Loy intohha
4koha
OPEN- 5000.0E th'TE40.ATED EIEXAEY SYSTEM
Welcome to the Koha Web Installer
Before we begin, please verify you have the correct
credentials to continue. Please log in with the username
and password given to you by your systems
administrator and located in your kona -conf. YM1
configuration file.
Please enter your username and password:
ïlsername:
Password:
Login »
This screen means we have successfully configured Apache2. In the next chapter,
we will look at how to execute this web installer.
Troubleshooting configuration problems
Here is an explanation of some common problems with Apache2 configuration.
[35]
Configuring the Apache2 Web Server
Rewrite module not enabled
If you have not enabled Apache2's Rewrite module, you will see this error when
starting Apache2:
linux: /etc /apache2 /vhosts.d # sudo /etc /init.d /apache2 restart
Syntax error on line 28 of / etc / apache2 /vhosts.d /koha -httpd.conf:
Invalid command 'RewriteEngine', perhaps misspelled or defined by a
module not included in the server configuration
Incorrect or missing Directory directive
On distributions such as openSuSE, if you have not added the Directory directive,
you will see this error when you try to access Koha's OPAC or the staff client. This
means Apache2 does not have permission to access Koha's folders.
64'
,
MaNUisnedv
-
t
opanSUSE
ht,,
C
hip '' I_'QO_,:MB®
4n -se Lubid LM
L,rjRHuai's(
FGpocY
ti
Access forbidden!
You dont have permission to access the requested directory_ There is either no index document or the director/ is read -protected
If you think this is a server error, please contact the .webmaster.
Error 403
Eue ,Mar 9 10 40.4ä 2010
Apache/2.2 13 ¡ünaxéStiS'E)
Unable to connect to MySQL
If the MySQL server is down or you dont have the Koha database set up properly,
Koha and Apache2 will not be able to connect to the database and you will see this
type of error:
[ 36]
Chapter 2
Ii
http 4127 J 0 2'
Moat Visaed", an't,psteiMiEv
Wig Started
koh Error
Koha error
The folio-wino fatal error has occurred
Can't orn' to Ideal MySQL server through soetet ./varfron7mysql(mysql.sock. (2) at fogrfahartikohaflohtiC4/Centext.am liee 665.
Compilation failed in reqiii re at (Gore,harelkohaelone/C4oCireulation.pm line 25.
BEGIN felled- -compilatiod aborted at iogr(ahare(ket,aclonefC4/Eirotaatien.pm line 2S.
Ca,mpilatlen failed in require at futr/shareikohaalonefE4fgeerdees.pm line 24.
BEGIN failed-compilation aborted at 7us(7thare/kohaclone7C470veriteg.pm line 24.
Chapilation failed in regolt, at fosr,(ehare7kohaelrreE47NeggIms.pm line 27.
BEGIN faileohetempilatt on aborted at aar,sharoaeohatlenot(7479%mbers.pm line 27.
Cempilation failed in require at fusreeilere7kehaea ,,,(47Auth.pm line 27,
BEGIN failed-- tompilatieo aberted at 7str77haree f:iet,aelE471tuth.pm line 27.
Cempilet1 en failed in require at ausretharell-ola:Ie3eropticiapaid-main.pl line 22.
BEGIN fai lea. ,felipilatido aborted at 7doc(share.E,aoloatfopaciapac-Nain.pl lint 22.
Dane
Listener not setup
If you do not setup the Apache2 listener for the staff client port, you will see this
error when you try to connect to Koha's staff client:
'
Maat Vlsilectsr
6 Problem
A
ttlopenSUSEv
Poan,
n
2
prr
,GatIng Staled
Its**
t`711, Male Pirate,
plgo
Unable to connect
e_tY.
<,
nh
Ir
-LL
-
Su ''peU
E
Wei -II,
r trwri,f1 U 'no U.nr er
I
I
ha-1.
prohelleil
,
r
una
rl ir, niqn,
es
Try An'an
Darin
[37]
at
-
-
T^, 2_01 n
--rnp J'Dr
3'11,3,1 td
3rio
feo,
roti.E14
ri
L
e
,,(11E
ilert
he,
Foe
Configuring the Apache2 Web Server
Summary
Here is what we learned in this chapter on configuring Apache2:
Setting up a symbolic link to Koha's Apache2 configuration file
Enabling Apache2's Rewrite module
Configuring an IP address in Koha's virtual hosts
Configuring host names in Koha's virtual hosts
Setting up Apache2 to listen on the staff client port
Configuring the Directory directive in a virtual host
Launching Koha's OPAC and staff client
In the next chapter, we will install and test Koha's Zebra search engine.
[38]
3
Installing Koha's Zebra
Search Engine
You will need to use Koha's Zebra search engine if you have more than say 10,000
catalog records. Without Zebra, catalog search results may be too slow.
If you have a small catalog you can use Koha without Zebra, in fact earlier
versions of Koha did not have Zebra. Without Zebra both installation and ongoing
maintenance will be simpler. However you should consider using Zebra even for
small catalog sizes because of Zebra's superior capabilities.
In this chapter we will learn more about Zebra and how to install and test it.
About Zebra
From the website of Indexdata, the organization behind Zebra:
"Zebra is a high -performance, general -purpose structured text indexing and
retrieval engine. It reads structured records in a variety of input formats (eg. email,
XML, MARC) and allows access to them through exact Boolean search expressions
and relevance -ranked free -text queries."
In our experience with Koha, we find Zebra to be an excellent search engine:
It is fast and efficient
It can index large databases
It can index bibliographic, authority, and holdings records
It is Unicode compliant and can work with any language
It is highly configurable; you can index any MARC field, set up numeric,
word, or phrase indexes, or configure ranking and sorting
Installing Koha's Zebra Search Engine
It can be queried using complex search expressions such as AND and
OR operators
It allows for additional features on Koha such as search limits, and refining
searches that are otherwise not available
It has sophisticated features such as approximate matching, and spelling
correction
It can be queried by any Z39.50 or SRU /W client
Learn more about Zebra here:
http: / /www.indexdata.com /zebra /.
Documentation on Zebra is available here:
http: / /www.indexdata.com /zebra /doc /.
Koha's Zebra related components
Before we install and test Zebra with Koha, let us understand a couple of key
Zebra related components that we will use frequently as Koha administrators.
Zebrasry -the Zebra query and retrieval
server
This is a Zebra component that is responsible for serving results to search
requests coming from Koha's OPAC or staff client. Here are some key points
to note about zebrasrv:
For search to function, the zebrasry process must be running on the
Koha server
The process can be started by using the zebrasry command from the
Linux shell
zebrasry is usually run in the background as a service or a daemon
To make zebrasry work with our Koha installation, we will need to
invoke the process by pointing it to use Koha's configuration file
[40]
Chapter 3
Rebuild _zebra.pl -the Zebra index
maintenance program
This is a Perl program that is used to create and maintain Zebra's search indexes.
Here are some key points about this program:
This is a Koha program that uses Zebra's zebraidx index maintenance utility
The program can be used to build indexes in full or in an incremental fashion
The program can be run form the Linux shell
For ongoing index maintenance the program is usually scheduled to run in
the Crontab
Installing Zebra
To get Koha working with Zebra we will need to install Zebra packages and then
install Koha. You can skip this section if you have already installed Zebra, and have
installed Koha by selecting the Zebra option during the Makefile .PL step.
Installing Zebra packages
You might have already installed Zebra packages. These
packages are part of the Debian and Ubuntu packages lists that
we covered in Chapter 1. If you have indeed installed Zebra,
you can skip this section.
On Debian we would install Zebra packages as follows:
koha @li190 -245: -/kohaclone> sudo apt -get install idzebra -2.0 -common
idzebra -2.0 -doc idzebra -2.0 idezebra -2.0 -utils
On openSuSE, the package names are different, so the installation command
would look like this:
koha@1i190-245:-/kohaclone> sudo yast -i idzebra idzebra-doc idzebradevel idzebra-debuginfo
[41]
Installing Koha's Zebra Search Engine
Installing Koha with Zebra
You might have already installed Koha with Zebra. If you had
installed Zebra packages before installing Koha and had selected
yes to the question Install the Zebra configuration files ?, then you
can skip this section.
Once Zebra packages are installed we need to install Koha. This installation process
creates Zebra related configuration files and installs them in Koha's configuration
folder, in our case /etc /koha -dev /.
To install Koha with Zebra, we run Koha Makefile.
PL
program:
koha @linux: /home /koha /kohaclone # perl Makefile.PL
Say yes to this question on installing Zebra configuration files:
Install the Zebra configuration files? (no, yes)
[yes]
We then run the other make commands complete the installation of Koha with
Zebra:
koha @1i190 -245: -/kohaclone$ make
koha @1i190 -245: -/kohaclone$ make test
koha @li190 -245:- /kohaclone$ sudo make install
If you have had to reinstall Koha, you may need to reconfigure Apache2
(see Chapter 2) as the Koha installation process may have overwritten the
Apache2 configuration file you created.
Testing Zebra
Now that we have installed Zebra, let us try out the
rebuild_zebra .pl program.
zebrasry
command and the
We will learn how to execute the zebrasry command from the Linux shell and as
a daemon. On production systems zebrasry is usually run as a daemon that runs
silently in the background.
command can also be executed from the Linux shell.
On production systems however the program is scheduled to run in the crontab.
The
rebuild_zebra . pl
[42]
Chapter 3
Testing zebrasry
The zebrasry program is usually installed under /usr /bin and you should be able
to invoke it from any folder location.
The zebrasry command
To learn more about how zebrasry is used, we run the command with the -help or
-h option:
linux -4yut: /home /koha # sudo zebrasry - -help
-a <pdufile> -v <loglevel> -1 <logfile> -u <user> -c
Usage: zebrasry
<config> -t <minutes> -k <kilobytes> -d <daemon> -p <pidfile> -C
[
certfile - ziDST1 -m <time - format> -w <directory> <listener -addr>...
]
To learn more about each option, use the man command:
linux -4yut: /home /koha # man zebrasry
Invoking zebrasry with Koha's configuration file
To make zebrasry use Koha's configuration file we use the -f option:
linux -4yut: /home /koha # sudo zebrasry -f /etc /koha -dev /etc /koha -conf.xml
The process starts in the shell foreground and waits for search queries to serve:
14:25:24 -22/04 [log] Loaded filter module
/usr /lib /idzebra -2.0 /modules /mod -text.so
14:25:24 -22/04 [server] Adding dynamic listener on
unix:/ etc /koha -dev /var /run /zebradb /bibliosocket id =1
14:25:24 -22/04 [server] Adding dynamic listener on
unix:/ etc /koha -dev /var /run /zebradb /authoritysocket id =2
14:25:24 -22/04 [server] Starting server zebrasry pid =11088
To stop the server and to exit to the Linux shell, use Ctrl +C to:
^c
linux-4yut:/home/koha #
[43]
Installing Koha's Zebra Search Engine
zebrasry daemon
The Zebra Server is usually run in the background as a daemon. In this section we
learn how to setup zebrasry as a daemon and how to set it up as a service that can
be included in the system's start -up profile. Once again, we see how things are easier
on Debian or Ubuntu than on openSuSE.
Zebrasrv daemon on Debian or Ubuntu
Koha ships with a script, koha- zebra -ctl . sh that can run zebrasry in the
background as a daemon. This script uses the daemon command to start, stop, or
restart Zebra.
You will need to ensure that the daemon package is installed:
linux -4yut: /home /koha # sudo apt -get install daemon
The script koha- zebra
configuration folder:
-ctl . sh
can be found under the
bin
folder under Koha's
linux-4yut:/home/koha # cd /etc/koha-dev/bin/
linux-4yut:/etc/koha-dev/bin # vi koha-zebra-ctl.sh
Koha's Zebra daemon script can be set up as a service and configured in the system
start -up profile. This way we ensure that zebrasry starts automatically when the
machine reboots. To set up the script as a service we create a symbolic link to it from
the /etc /init . d/ folder:
linux -4yut: /home /koha # sudo In -s / etc /koha -dev /bin /koha- zebra -ctl.sh /
etc /init.d /koha- zebra - daemon
Let us test this zebrasry service by starting it:
linux -4yut: /home /koha # sudo /etc /init.d /koha- zebra - daemon start
Starting Zebra Server
Let us try a
restart:
linux -4yut: /home /koha # sudo /etc /init.d /koha- zebra - daemon restart
Restarting the Zebra Server
And finally let us try a
stop
operation:
linux -4yut: /home /koha # sudo /etc /init.d /koha- zebra - daemon stop
Stopping Zebra Server
To setup this service in the start -up profile, we use the update
-rc . d
command:
linux -4yut: /home /koha # sudo update -rc.d koha- zebra - daemon defaults
[44]
Chapter 3
zebrasry daemon on openSuSE
The daemon command is not available on openSuSE. This is because the
corresponding package daemon is not included in openSuSE repositories for
copyright reasons.
However there are alternatives to the daemon command:
For starting a process
For stopping a process
startproc:
killproc:
We can modify the koha- zebra -ctl . sh file to work on openSuSE by replacing
the daemon command with startproc and killproc and suitably modifying the
options supplied to the commands.
The modified statements in
koha- zebra- ctl . sh
script may look like this:
start)
echo "Starting Zebra Server"
startproc -1 $ERRLOG $ZEBRASRV -f $KOHA_CONF
stop)
echo "Stopping Zebra Server"
killproc -TERM $ ZEBRASRV
restart)
echo "Restarting the Zebra Server"
killproc -TERM $ ZEBRASRV
startproc -1 $ ERRLOG $ZEBRASRV -f $KOHA_CONF
You will need to reinstall Koha once you have modified the script
to ensure that the modified koha - zebra- ct1. sh file is installed
in Koha's configuration folder - /etc /koha - dev /bin / .
Once the script is modified and installed, we can set it up as a service by creating a
symbolic link to it from the /etc /init . d folder:
linux -4yut: /home /koha # sudo In -s / etc /koha -dev /bin /koha- zebra- ctl.sh /
etc /init.d /koha- zebra - daemon
[45]
Installing Koha's Zebra Search Engine
To ensure that
command:
zebrasry
starts when the machine reboots we use the
chkconf ig
linux -4yut: /home /koha # sudo chkconfig koha- zebra - daemon on
Rebuilding Zebra
Let us now test the second key Zebra related component program is used to maintain Zebra's search indexes.
The program can be found in the folder misc
kohac lone
rebuild_zebra . pl.
/migration_tools
This
under the
folder:
linux -4yut: /usr /share /kohaclone # cd misc /migration tools/
linux -4yut: /usr /share / kohaclone /misc /migration_ tools/ # vi rebuild_zebra.
pl
To learn about the usage of this program, run it with the
- -help
or -
-h
option:
linux -4yut: /home /koha # sudo . /rebuild_zebra.pl - -help
. /rebuild_zebra.pl: reindex MARC bibs and /or authorities in Zebra.
Use this batch job to reindex all biblio or authority records in your Koha database.
This job is useful only if you are using Zebra; if you are using the 'NoZebra' mode,
this job should not be used.
Parameters
- b
-a
-z
-r
-d
-k
Description
Index bibliographic records.
Index authority records.
Select only updated and deleted records marked in the zebraqueue
table. Cannot be used with -r or -s.
Clear Zebra index before adding records to index.
Temporary directory for indexing. If not specified, one is automatically
created. The export directory is automatically deleted unless you supply
the -k switch.
Do not delete export directory.
Skip export. Used if you have already exported the records in a previous
run.
Index from ISO MARC blob instead of MARC XML. This option is
recommended only for advanced user.
Export and index as XML instead of is02709 (biblios only).Use this if you
might have records > 99,999 chars.
[4s]
Chapter 3
Parameters
-nosanitize
-w
-y
-mungeconfig
- -help or -h
Description
Export biblio /authority records directly from DB marcxml field without
sanitizing records. It speed up dump process but could fail if DB
contains badly encoded records. Works only with -x.
Skip shadow indexing for this batch.
Does NOT clear zebraqueue after indexing; normally, after doing batch
indexing, zebraqueue should be marked done for the affected record
type(s) so that a running zebraqueue_ daemon doesn't try to reindex
the same records - specify -y to override this. Cannot be used with - z.
Increase the amount of logging. Normally only warnings and errors
from the indexing are shown.
Deprecated option to try to fix Zebra config files.
Show this message.
Here are some key points about the options available with the rebuild_zebra
program:
.
pl
The most commonly used options are -b, -a, -r, -z, -y, and -x.
We use either -r or -z, not both.
Both -b and -a can be used in the same statement.
If we expect at least some MARC records to have large sizes we use -x,
for instance if the number of holdings is very large.
The -v option can be used to troubleshoot problems with the program.
The -r option is typically used when the server is setup and catalog data
has been migrated.
The -r option should also be used if Zebra configuration is changed, for
instance if a new field is to be indexed.
The -z option should be used when the rebuild program is scheduled in
the crontab. This option only indexes updates to the catalog.
Let us look at some examples to learn how to run this program.
[47]
Installing Koha's Zebra Search Engine
Creating or recreating indexes
To create or recreate the complete index of all bibliographic records in the database,
we would run the command as follows:
linux -4yut: /usr /share /kohaclone /misc /migration_ tools # sudo
. /rebuild_
zebra.pl -b -r -v
To index bibliographic records incrementally, we could set up the command as
follows:
linux -4yut: /usr /share /kohaclone /misc /migration_ tools # sudo
. /rebuild_
zebra.pl -b -z -v
To index both bibliographic and authority records incrementally, we would set up
the command as follows:
linux -4yut: /usr /share /kohaclone /misc /migration_ tools # sudo
. /rebuild_
zebra.pl -b -a -z -v
If you have at least some records of large sizes, it is recommended that we use
the -x option:
linux -4yut: /usr /share /kohaclone /misc /migration_tools # sudo . /rebuild_
zebra.pl -b -a -z -x -v
Using Koha without Zebra
If you decide that you do not want to use Zebra, you will need to ensure that
the system preference NoZebra is turned on. We will learn about Koha's system
preferences in subsequent chapters.
[48]
Chapter 3
Cyr -relic,
Patrons
Search
4koha
NO_LIDRARY_SET LEO! kohaadmin ILeo Out)
More n
I
al
Search
Search System Preferences
Check Out
Search the Catalog
Hum oAdmÍnlStraticrt, System Preferences
New Preference
Admin
Acquisitions
Enhanced Content
Authorrhes
Cataloging
System preferences admin
all preferences
Preference
Value
Explanation
Nolebra
If Oi Zebra indexing is turned off, simpler setup,
but slower searches. WARNING: using NoZebra
on even modest sized collections is very slow.
Nolebrolndexes
Enter a specific hash for NoZebra indexes. Enter :
Click to Edit
indekname'-> "1100a.2452,500'.1ndex2=>
ON
O
OFF Save
Edit Delete.
F,11
Delete
Edr Delete
Circulation
il
erliu oro
Logs
OAI-PM PI
OPAL
Patrons
Searching
Staff Client
Local Use
If you have installed Koha with Zebra and you want to stop using it, you will need to
run a Koha program rebui ld_noz ebra .pi. This needs to be run just once when you
start to use Koha without Zebra. The command is executed as follows:
linux-4yut:/usr/share/kohaclone/misc/migration_tools # ./rebuild_nozebra.
pl
[49]
Installing Koha's Zebra Search Engine
Summary
Here is what we learned in this chapter:
Installing Zebra packages
Installing or reinstalling Koha to work with Zebra
Invoking the zebrasry program from the Linux shell
Running the zebrasry as a daemon
Setting up the zebrasry daemon as a service
Including the zebrasry service in the start -up profile
Executing the rebuild_zebra.pi program with different options
Turning off Zebra
In the next chapter, we will complete the installation process by executing Koha's
web installer and configuring the Crontab to schedule Zebra and other programs.
[50]
i
Koha's Web Installer,
Crontab, and Other Server
Configurations
In this chapter, we will complete Koha's installation and system configuration tasks.
First we will execute Koha's web installer to populate the Koha database structure
and some important administrative settings. This will allow us to launch Koha's staff
interface and its OPAC.
We will set up the koha user's crontab to schedule periodic execution of Koha
programs such as those that generate overdue notices or calculate fines.
We will also set up an XML parser suitable for use with Koha.
Finally we will make sure Koha related services start automatically when the
machine reboots.
Executing Koha's web installer
In this section of the chapter, we will learn how to execute Koha's web installer. The
web installer performs several important functions such as creating Koha's database
structure or populating mandatory administrative settings. It can also populate
optional settings and sample data such as MARC frameworks or patron categories.
The installer is launched from the staff client interface using Koha's MySQL user
and is a series of interactive steps. At the end of the process we will be able to launch
Koha's staff interface and its OPAC.
Koha's Web Installer, Crontab, and Other Server Configurations
Understanding the web installer's functions
Koha's web installer performs the following functions:
Checks for the existence of Koha's database, the connectivity to the database,
and if the database user has the required privilege on the Koha database
Creates Koha's database structure-its tables, relationships between tables,
database constraints, and other rules
Accepts user input on important configuration questions such as Language
or MARC flavor
Populates the Koha database with several mandatory administrative settings
such as the default system preferences
Populates the Koha database with several optional administrative settings
and sample data such as MARC bibliographic frameworks, sample libraries,
or sample patron categories
Configures Koha catalog search to use Zebra or to use database indexing
Understanding how to execute the web
installer
Here are some important points to note about executing Koha's web installer:
[52]
Chapter 4
v
http i,I_7 f o 2 8080rcgl LintAohatmstalteiFinstall pl
,...: .
.
¢m
of h oha
",
Log In to holla
4koha
OREN S01.1105 INTE4RATE0 IIERARY SYSTEM
Welcome to the Koha Web Installer
Before we begin, please verify you have the correct
credentials to continue. Please log in with the username
and password given to you by your systems
administrator and located in your koha- oonr.=mt
configuration file.
Please enter your username and password:
I Isername:
The web installer is launched from the staff interface.
We use a MySQL database user and password to login into the installer;
this user must have privileges over Koha's database.
Choosing the correct MARC flavor- MARC21 or UNIMARC is very
important; it is not possible to change this configuration once the database
is created.
If you are evaluating or testing Koha, you should choose to import most or
all of the optional settings and sample data. This way you can start using
Koha right away.
The optional settings and sample data can be deleted or edited from Koha's
staff client at any time, but this can be significant amount of work.
If you have made a mistake in the configuration settings and want to start
over, simply drop and recreate Koha's database from the MySQL prompt;
you will be able to launch the web installer once again.
[53]
Koha's Web Installer, Crontab, and Other Server Configurations
Understanding optional data available for
import
Let us understand some of the optional setting and sample data that we can choose
to install using the web installer.
Settings for MARC frameworks
MARC frameworks define how data is captured for different types of material.
The frameworks control things such as, which MARC fields are used, which of
these fields is mandatory, or which fields are under authority control.
The installer has three sets of optional settings that we can import:
Optional
Selected matching rules for MARC 21 bibliographic
records, including,
ISBN
ISSN
(Marc 21_defasdtxtatching_eoTh,)
'FA, a' Fast Add minimal MARC21 framework suitable for ILL or on -the -fly
cataloguing.
(ce arc 21 fa st add framework)
Simple MARC 21 bibliographic frameworks for some common types of
bibliographic material. Frameworks are used to define the structure of your MARC
records and the behavior of the integrated MARC editor. You can change these at
any titre after installation, The frameworks in this optional default setting include
BYS Books, Booklets, Workbooks
CF CD -ROMS, DVD -ROMS, General Online Resources
SR Audio Cassettes, CDs
VRD'.Ds, VHS
P.F. Models
YT Kits
a Binders
SER Scouts
(wart-2! _simp/e_b ibfranre-works)
Other data
Mandatory
fd' Default classification sources and h"ling Hiles
sostrcesl
defines default message t-anports for email, and ems.
. r, e5 Sage i ron Pp art iyp esJ
Matching rules: Matching rules are used during import of catalog records
to match incoming records to those already in the database. Further action
can be taken on matched records such as overwriting old records or adding
holdings records. Two matching rules are available: one matches on ISBN
and other on ISSN.
[5l
Chapter 4
Fast Add framework: This framework is designed for quickly adding catalog
records; it has fewer fields when compared to other frameworks.
Simple MARC 21 Bibliographic frameworks: A set of bibliographic
frameworks for common types of material such as books, CDs, or serials.
Other data
Here is a listing of data we can import under the Other data section:
Optional
Ll Some basic default authorised values for Library Departments, Item Lost status, etc.
You can change these at any time after installation
(mail val)
,a Coded values conforming to the Z39.71 -3006 Holdings Statements for Bibliographic
Items
Refer to http // www,nisa.org/standardstmdexhtul for details.
(mare21_holdingr_codedvalues)
Some basic settings including DSC currency, and a sampling of Z39.50 servers.
aramet err)
!I L Sample patron types and categories:
Type: Categories,
Adult Patron - default patron type
PT - Patron
ST - Student
BH - Homebound
Child - patron with a guarantor
Y. -Kid
J - Juvenile
YA - Young Adult
Organization - patron is an institution, not a person
II.L - Inter -library Loan
SC - School
L - Library
Professional - a member of an organization (organisation is guarantor)
T - Teacher
S - Staff
B - Board
Types are currently hardcoded, but you can add/edit/delete categories after
installation from the administration module,
(parrso rategories)
Authorized values: Authorized values are lists of values that control data
entry into catalog fields. Here we can import lists along with sample values
for fields such as collections, shelving locations, or item statuses.
Currencies: A set of currencies with sample exchange rates for use in Koha's
Acquisitions module.
Sample patron types and categories: A set of sample patron categories such
as Student, Teacher, or Staff. Patron categories are used to define rules such
as membership duration; the categories are also used to define circulation
policy such as loan period.
[55]
Koha's Web Installer, Crontab, and Other Server Configurations
Sample Label and Patron Card Data: A set of sample layouts and templates
for use in Koha's label and patron card generation, and printing tool.
Sample Holidays: A sample set of holidays for use in Koha's calendar.
The calendar is used in Koha's circulation module to calculate due dates
and fines.
Default Item Types: A sample set of item types. Item types are used to
define circulation policy such as loan period or fine amount.
Sample Libraries: A sample set of libraries, patrons, catalog items,
circulation rules are linked to libraries.
Sample News Items: A set of sample news items, for display on the OPAC
and the staff interface.
Default messages or notices: A set of sample notices. These are used in
various Koha modules, for instance the Overdue notice can be configured to
be sent to patrons with overdue items.
Sample Patrons: A set of patron records.
Sample Z39.50 servers: A sample set of Z39.50 servers such as that of the
Library of Congress. These servers are used in Koha's cataloging module for
copy catalog records into Koha.
Executing the web installer
Here are step -by -step instructions on executing the web installer:
Log in using the MySQL user and password; in this book we have used the
user kohaadmin.
2. In Step 1, choose your language; you should see just one option here -en
for English or fr for French.
3. In Step 2, the installer checks the database connectivity and user privileges.
4. In Step 3, the installer populates the database with tables before prompting
the user to install basic configuration settings.
5. Select your MARC flavor - Unimarc or MARC 21. It is important to make
the right choice here. Consult with your library staff if you are unsure of
what to choose.
6. Choose to import optional data related to MARC frameworks.
7. Choose to import other optional data such as authorized values, currencies,
or patron categories.
8. Click on Import to install the settings and sample data.
9. Choose to use Zebra or the regular database indexing.
10. Click on Finish to complete the execution of the web installer.
1.
[56]
Chapter 4
Launching Koha
Once the installer finishes it should automatically redirect to the staff interface:
4koha
OPEN-SOURCE !4i ?EGRATES E9a5AAY SYSTEM
dïd username ttr pa
Err
Username.
..........
kohaadmin
Password:
.........................
Library:
My Library
Login >_
Log in using the MySQL user and you should see Koha's staff interface home page:
Ciraúaiion
Patrone
Search
Cart
Nü_LIBRa,RY_SFf ( I kohaadmin (Lou
Mare
Cataloging
Circulation
News
Check out to -i
Welcome to Koha
Welcome to Koha. Koha Is a full -featured
open -source ILS. Developed Initially in New
Zealand by Katipo Communications Ltd and
first deployed In January of 2000 for
Horowhenua LlbranrTrust Kaha is currently
maintained by a team of software providers
and librarytechnology stall from around the
globe
keel
rìe_tte
dim
Add MARC. Peccca
arr
A[rlhcrif.es
Check rn
iransT=.r5
.............:.....
Serials
Patrons
Acauittit1ons
Reports
Koha administration
Search
Search
Search catalog. {,...__..._._._._ILolls
Spsterrr preferences
Tools
About Kaha
Lists
What's Next?
Now that you've installed Koha, what's next?
Here are some suggestions.
File au Koha Dgrumentaton
. Read.N4rete to the Koha Wli<i
R.__.__.the
Read and Contribute to Discussions
Report Kobe haue
Submit ,arches ro = pi_3use gifl,!ersL n
Conboi i sterMi
Chat with vKoha users and developers
me (mac 9
[57]
IL:
Koha's Web Installer, Crontab, and Other Server Configurations
To launch the OPAC navigate to the OPAC url and you should see a screen such
as this:
Library Catalog
kl
Configuring the crontab
Several Koha programs need to be run periodically. These programs calculate fines,
generate overdue notices, send out e- mails, or build Zebra indexes.
We use Linux's Cron utility to schedule the execution of these programs.
Editing the crontab
The cronjobs are set up under the koha user's crontab. To edit the crontab we run
the command crontab with the -e option:
koha@koha@linux: -> crontab -e
To save and exit, we use the vi command
wq:
:wq
Setting up environment variables
The first thing we need to do is to set Koha related environment variables in the
crontab; without these none of the cronjobs will execute. Add these lines in the
crontab, somewhere at the top:
PERL5L28=/home/koha/kohaclone
KOHA CONF=/etc/koha-dev/etc/koha-conf.xml
[58]
Chapter 4
Generating advance notices
Advance notices are sent to patrons when items are due. To generate such notices,
we need to script advanced_ not ices .pl as a cronjob. Add a line to the crontab as
follows:
49 5
*
*
* perl / home /koha /kohacone/ bin /cronjobs /advance_notices.pl -c
This cronjob will execute at 5:49 AM every day and generate and queue advance
notices messages to patrons.
Generating overdue notices
Overdue notices are sent to patrons when items are past due. To generate such
notices, we need to script overdue_not ices .pl as a cronjob. Add a line to the
crontab as follows:
45 5
*
*
* perl /home /koha /kohaclone/ bin /cronjobs /overdue_notices.pl -t
This cronjob will execute at 5:45 AM every day and generate and queue overdue
notices messages to patrons.
Sending e -mail messages
To send e -mails to patrons we will need to script process_messages
crontab:
30 6
pl
*
*
. pl
in the
* perl / home /koha /kohaclone /bin /cronjobs /process message queue.
The process_messages . pl program sends out the queued messages via e-mail.
This is the reason it should be scheduled after the advance notices and overdue
notices cronjobs. In this example, we have scheduled the program to run at 6:30 AM
every day.
Calculating fines
To calculate fines we script
0
7
*
*
f ines .pl
as follows:
* perl / home /koha /kohaclone /bin /cronjobs /fines.pl
The fines . pl program calculates fines on overdue items based on circulation rules
setup in Koha.
[59]
Koha's Web Installer, Crontab, and Other Server Configurations
Rebuilding Zebra indexes
In Chapter 3, Installing Koha's Zebra Search Engine, we learned how to rebuild Zebra
indexes by passing different parameters to the rebuild_zebra.pl program. To
schedule index rebuilds, we script a cronjob as follows:
*/1 *
*
*
*
perl /home /koha /kohaclone /misc /migration_ tools /rebuild_
zebra.pl -b -a -z » /dev /null 2 > &1
Note the following about this cronjob:
The */i at the beginning the cronjob signifies that the command will
be executed every minute
The output of the command is being redirected to the /dev /null, which
means nowhere
The expression 2 > &l means, that the command's error messages (2) and
its standard output (1) will both be redirected to the same place, in this
case /dev/null
To redirect the output and error messages to a log file, we setup the cronjob as
follows:
*/i *
*
*
*
perl / home /koha /kohaclone /misc /migration tools /rebuild
zebra.pl -b -a -z » /home /koha /logs /zebra.log
Note the use of the file
/home /koha /logs /zebra. log
2 > &1
instead of
/dev /null.
More crontab examples
There are several other programs that can be set up in the crontab depending on
your requirements. Take a look at the /misc /cronj obs /crontab . example file
for more information:
koha@koha@linux: -> vi / home /koha/ kohaclone /misc /cronjobs /crontab. example
Ensuring Koha starts automatically on
server reboot
To make sure that Koha runs smoothly after a server reboot, we need to make sure
that Apache2, MySQL, and Zebra server start up automatically. In this section, we
demonstrate how to set this on Debian and openSuSE.
[so]
Chapter 4
Auto -starting Apache2
On Debian, Apache2 is configured by default to start automatically on server reboot.
In openSuSE, however, this is not the case. We use the chkconf ig program to
configure Apache2 to auto -start on reboot:
koha @koha @ linux: -> sudo chkconfig apache2 on
Let us test if the command was successful; we run the command as follows:
koha @koha @linux: -> sudo chkconfig apache2
apache2
on
Auto -starting MySQL
Again on Debian, MySQL is already configured to start automatically on server
reboot. In openSuSE, we use chkconf ig to configure it to auto -start on reboot:
koha @koha @linux: -> sudo chkconfig mysql on
To test the configuration, we use
as follows:
chkconf ig
koha@koha@linux:-> sudo chkconfig mysql
mysgl
on
Auto -starting Zebra server
We need to configure the service kohaserver reboot.
zebra - daemon
to start up automatically on
On Debian, we use the chkconfig equivalent command- update
accomplish this:
-rc . d
to
koha @koha @ linux: -> sudo update -rc.d koha- zebra - daemon defaults
On openSuSE, we use chkconfig as follows:
koha @koha @linux: -> sudo chkconfig koha- zebra - daemon on
On openSuSE, if you are not using the koha- zebra-daemon service, you can setup
the zebrasry command in the /etc /init .d/boot . local file.
Edit the
boot . local
file:
koha @koha @linux: -> sudo vi /etc /init.d /boot. local
[61]
Koha's Web Installer, Crontab, and Other Server Configurations
Add the zebrasry command to the file somewhere near the end of the file
as follows:
# script with local commands to be executed from init on system startup
# Here you should add things, that should happen directly after booting
# before we're going to the first run level.
/usr /bin /zebrasry -f /etc /koha -dev /etc /koha- conf.xml &
Note the use of the & character at the end of the zebrasry command; this tells the
command to run silently in the background.
Configuring the correct SAX parser
Koha uses Simple API for XML (SAX) parsers to process XML data. It is possible
that multiple XML parsers are installed on the server. We need to use the
LibXML:: SAX: : Parser. The other parsers such as XML:: SAX: : PurePerl or
XML: :SAX :: Expat are known to have bugs with certain character types.
First we run a test to check which parser is setup on the server. To print the
parser that is in use, we run the Koha program /misc /sax_parser_ print .pl:
koha @koha @linux: -> cd /home /koha /kohaclone /misc/
koha @linux: /home /koha /kohaclone /misc # ./sax_parser_print.pl
Koha wants something like:
XML:: LibXML ::SAX::Parser =HASH(0x81fe220)
You have:
XML ::LibXML::SAX= HASH(0x834fea4)
Looks bad, check INSTALL.* documentation.
That error, looks bad, indicates that the configured parser is not suitable for
Koha use. We will need to edit the initialization file of the parser and change
its configuration.
First we locate the file
ParserDetails . ini:
koha @linux: /home /koha /kohaclone /misc # locate ParserDetails.ini
/usr /lib /per15 /vendor perl/ 5.10.0 /XML /SAX /ParserDetails.ini
We edit this file replace
as the case may be with
[XML: : SAX: :PurePerl ]
or
[XML: :SAX ::Expat]
[XML: : LibXML: : SAX: : Parser]
[62]
.
Chapter 4
koha@linux:/home/koha/kohaclone/misc # cd
/usr/lib/per15/vendor_perl/5.10.0/XML/SAX/
koha@linux:/usr/lib/per15/vendor_perl/5.10.0/XML/SAX # vi ParserDetails.
ini
[XML::LibXML::SAX::Parser]
http://xml.org/sax/features/namespaces = 1
Let us test the parser configuration again; a correct file will result in an output like
this:
koha @ linux: /home /koha /kohaclone /misc # . /sax_parser_print.pl
Koha wants something like:
XML::LibXML ::SAX::Parser= HASH(0x81fe220)
You have:
XML::LibXML ::SAX::Parser= HASH(0x834fc94)
Looks good.
Setting up environment variables for the
Linux shell
To run any of the Koha's programs from the Linux shell we need to set up up two
environment variables properly - KOHA_CONF and PERL5LIB. Koha's Perl programs
look at these variables to determine the location of the installation's configuration
file - koha -conf .xml and the location of the application folder - kohaclone. In this
section, we demonstrate how to setup these variables up for a single session and
how to set these up to be persistent across sessions.
Setting. up KOHA_CONF environment variable
The KOHA_CONF environment variable should point to Koha's configuration directory;
in this book we have used /etc /koha -dev /etc /koha -conf .xml. To set up this
variable, we use the export command:
koha @linux: /home /koha /kohaclone # export
KOHA CONF= /etc /koha -dev /etc /koha -conf.xml
Let us test to make sure the variable is set correctly:
koha @libux: /home /koha /kohaclone # echo $KOHA CONF
/etc /koha -dev /etc /koha -conf.xml
[63]
Koha's Web Installer, Crontab, and Other Server Configurations
Setting up PERL5LIB environment variable
The PERL5LIB environment variable points to the kohaclone folder. To set up this
variable, we use the export command as follows:
koha @ linux: /home /koha /kohaclone# export PERL5LIB= /home /koha /kohaclone
Let us test to make sure the variable is set correctly:
koha @linux: /home /koha /kohaclone# echo $PERL5LIB
/home /koha /kohaclone
Setting up persistent environment variables
To make sure the variables are persistent across sessions, we will need to export
these variables in a bash configuration file.
On Debian, we set these up in the
/etc / bash .bashrc
file:
koha @linux: /home /koha # vi /etc /bash.bashrc
On openSuSE, we use the
/etc / bash.backrc. local
file:
koha @linux: /home /koha # vi /etc /bash.bashrc.local
We add these lines to the file:
export KOHA CONF = /etc /koha -dev /etc /koha -conf.xml
export PERL5LIB = /usr /share /kohaclone
To test if the configuration is successfully setup, we open a new terminal session and
run the echo command:
koha @ linux: -> echo $KOHA CONF
/etc /koha -dev /etc /koha -conf.xml
koha @koha @linux: -> echo $PERL5LIB
/home /koha /kohaclone
koha @linux: ->
[64]
Chapter 4
Summary
Here is what we learned in this chapter:
Executing Koha's web installer to populate the database structure and
mandatory administrative settings
Configuring the crontab to schedule Koha's batch programs
Configuring the necessary XML SAX parser
Configuring Apache2, MySQL, and Zebra server to start automatically on
reboot
We have now completed the installation and server configuration phase of the book.
In the next set of chapters we will use Koha's staff interface to configure the various
Koha modules. In the next chapter, we will configure the cataloging module.
[65]
5
Configuring the Cataloging
Module
In this chapter, we will learn how to configure Koha's Cataloging module. This
module is used to maintain information about items in the library. Cataloging is an
important function -a good catalog helps patrons find and evaluate items easily.
Our goals in this chapter will be to:
Make cataloging screens simpler to use
Control the fields to prevent errors to bring about consistency and quality
To do this we will need to study three of Koha's cataloging configuration tools:
MARC Frameworks
Authority Control
Authorized values
To configure these tools effectively we will need to first develop a configuration plan
based on an understanding of the library's needs and circumstances.
Configuring the Cataloging Module
A first look at Koha's cataloging
configuration tools
Before we create our cataloging configuration plan let us understand Koha's
configuration tools:
MARC frameworks are cataloging templates for different types of material in
the library
Authority Control allows us to control data entry in certain fields. Authority
Control is used for title, name, and subject fields
Authorized values offer an additional way to control data entry. These are
used mainly for item or local use fields.
MARC frameworks
Koha's MARC frameworks are a way to simplify catalog data entry, also to control
what gets entered. Think of these as cataloging templates for different types of
material in the library.
ND_LIBRARY_SET (Seii I kohaadmin (Log Gut) ( j 7 j
Submit
Home> Aimtnistratiort MARC Framew* iras
rara Frzmework
System Preferences
System Preferances
MARC Frameworks
Basic parameters
Framework name, then go to MARC biblio to set MARC editor parameters
Libraires and aic! no
EL.A. __api kliú_j!??5
Curren ios_ and_!^hon
Code
.,
rates
dent tapes
Patrons and circulation
Patron tapes and catogprie
Cities and towns
Road tooe,
Patron attribute types
Circulation and Fines rules
Catalog
Authorized values
Description
Edit Delete
Default framewots
MARC struct!.:::
SR
Audio Cassettes, CDs
MARC stmcti.ra F: -
IR
Binders
KT
MARCstmr.tue t.Boals Booklets, Workbooks
MARC stiuctu
'
CL-t Ads Dtdd -RiOMs General Online Resources MARC structura Litt
D Dk. -Hd
!MARC structure E".'
kits
; MARG icture Ed..
AR
Models
!MARC strutti: a: Fri::
SEP
Serials
MARC structbre E:::-
BIOS
- CF
VP.
framewnrrc
koha to MARC mapping
MARC Bibtoaraphrc
framework test
Authodte tapes
Classification _snts_n 00
Recaid matching rules
Additional parameters
Stop Words
Z39.50 Client Targets
[68]
--- -
-ta
_lálw-
Chapter 5
Here are some notes on frameworks:
While installing Koha you can choose to install a set of frameworks for
commonly used material types
New frameworks can be created by modelling them on existing ones
Frameworks can be edited or deleted at any time
The default framework has a broad set of fields and can be used for material
that doesn't fit into any other framework
Frameworks control how a catalog record is entered and displayed in the
cataloging screens
Frameworks have no impact on records that are imported via Koha's import
or Z39.50 copy cataloging tools
With MARC frameworks, for each type of material, we can define what fields and
subfields are:
Available for data entry
Mandatory
To control data entry, we can also bring some of these fields or subfields under:
Authority Control
Authorized Values Control
Authority Control
Data entry into bibliographic fields can be controlled using Authority Control.
Bibliographic cataloguers cannot enter text in fields under Authority Control; they
can only pick values from the list of authority records.
This text from Wikipedia (http: / /en. wikipedia
describes the purpose of authority control well:
.org /wiki /Authority_control)
Authority control fulfils two important functions.
First, it enables catalogers to disambiguate items with similar or identical headings.
For example, two authors who happen to have published under the same name can be
distinguished from each other by adding middle initials, birth and /or death (or flourished, if
these are unknown) dates, or a descriptive epithet to the heading of one (or both) authors.
Configuring the Cataloging Module
Second, authority control is used by catalogers to collocate materials that logically belong
together, although they present themselves differently. For example, authority records are
used to establish uniform titles, which can collocate all versions of a given work together even
when they are issued under different titles.
Authority records are usually created for name, title, and subject headings. Some
bibliographic fields that are can be brought under authority control are:
100$a: Personal name
110$a: Corporate name
111$a: Meeting name
139$a: Uniform title
600$a: Subject: Personal name
610$a: Subject: Corporate name
611$a: Subject: Meeting name
650$a: Subject: Topic
651$a: Subject: Geographic name
655$a: Subject: Genre /Form
In Koha, Authority Control is implemented using:
Authorities system preferences
Authority types
Authorities related system preferences control:
Whether Authority Control is used or not
Whether new bibliographic records result in automatic creation of
authority records
Whether updates to authority records should update linked
bibliographic records
Some key points on Authority Types are:
Authority Types are MARC frameworks for authority headings
While installing Koha you can choose to install a set of commonly used
authority types
New Authority Types can be created, these can be edited or deleted at
any time
[7o]
Chapter 5
Authority Types are mapped to fields in Bibliographic MARC frameworks
Authority Types control how an authority record is entered and displayed in
the authorities cataloging screens as shown in the following screenshot:
Cir culation
Patrons
Search
NO_LIBRARY_SET (ÿg) I kohaadmin (Loa Out) I 121
More
4koha
Suhrnit
Check Out
Check In
1
Search the Catalog
Hume . Administration ,Authority Types
System Preferences
System Preferences
Basic parameters
Libraries and groups
Funds and budgets
Currencies and exchange
¿
Now Authority Type
Authority Types
Define authority types, then authority MARC structure in the same way you define itemtypes and biblio MARC tag structure. Authority values
are managed through plugins
Code
rates
Patrons and circulation
Patron tepes and cateaeu
Cities and towns
Road types
Patron attribute types
Circulation and fines Nies
Catalog
Authorized values
MARC Eibhoety t_c
framework
Rohe to MARC mappinn
Description
Summary
THRON TEP.t
Chronmogieal Term
SORPO NAME Sorporate Name
GENRE /FORM
Genre/Form Term
Edit Belote
Auth field copied
Default
Item types
Chronological Tenn I48
-
VAR,- structure Bd r Delete
TEARS siructun= F ....
Corporate Names
110
IdARC structure
Genre /Form Term
155
'ylEPC structur.-
GESGR_NAME Geographic Name
Geographic Name i 151
MEETI NAME
Meeting Name
Meeting Name
Il l
PERSO NAME
Personal Name
Personal Names
100
:atARC sti tt tut.
TOPIC TERM
Topical Term
Topical Term
UNIF_TITLE
Uniforrn Title
Uniform Title
'r:: ........
J c....;
.
....
.......
t!.'
USN,'
....
I
valete
150
:'.1.CP!: str.aciL -
130
MARC structu,ti Eat
:'elete
.
_.
MARC Bibliographicframework test
Authority types
Classification sources
Record matching rules
Additional parameters
Stop Words
22E350 Client Targets
Authorized values
Koha provides an additional way to control data entry- authorized values. These are
simple lists of values that can be linked to any bibliographic field or subfield.
[71]
Configuring the Cataloging Module
Catalogers will not be able to enter free text in fields that are controlled via
authorized values; they will only be able to pick values from a list. Like Authority
Control, authorized values help reduce errors and bring about consistency in catalog
records.
Circulation
Patrons
Search
4koha
RO_UBRARY SET (} I kohaadmin (Log L.tu(} I (
..
_gp k Out
Search the Catalog
Check Irr
Horsy .Administration ,Authorted \rattles
System Preferences
. aystern Preferences
New Authorized aalt, for CCOOE
Basic parameters
Authorized values
. Libraries and groups
This table is used in MARC definition- You can define as many categories as you want, and as many authorized values as you want in each
Funds and budgets
Currencies and exchange
Late
It =m }WSFS
Patrons and circulation
Patron tyres and outegnne
Cities and towns
Road types
Patron attribute types
Circulation and fines roles
category.
When you define the MARC subfield structure, you can link a subfield to a authorized -value category. When the user ask for adding of
modifying a bibliu. the subfield is not entered through a free field, but though a list of authorized values
Show Category
-
C.C.---DC.
-
Category - Authorized value
COCOS
NTXT
-CCÜDE
'.'TH
-CCÜDE
ItT
.......
Icon I Edit
Edit Delete
Description
Non Tert Books
Edit
Other
gaie Delle
i:dt
-Text Book
Delete
Ltelete
Catalog
Authorized uuiuEn
MARC Bibliographic
lrari?e5v_áry,
Kálgä tä lyLARü.M.SitE g
MAttO Bibliographic
framework test
Authority typos
Classification Bourres
P,eccrd matching rules
Additional parameters
Stop Words
735 5b Ciient Targets
Item or Local use fields are usually controlled using authorized values. Some of these
fields are:
952$2: Shelving scheme
952$8: Collection code
952$a: Home branch
952$c: Shelving location
952$j: Shelving control number
952$y: Item type
[72]
Chapter 5
And here are some key points about authorized values:
While installing Koha you can choose to install a set of commonly used
authorized values categories along and corresponding values
New Authority values categories and values can be created, edited,
or deleted
Authorized values categories can be mapped to fields in Bibliographic
MARC frameworks
Some authorized values such as branch and item type are special and
they are configured under Koha's Administration screens
Preparing a configuration plan
Before we configure Koha's cataloging module, we will need to develop a plan based
on the library's needs and circumstances. We will need to identify how to use Koha's
Authority Control, what types of material we would want to catalog, and what fields
and subfields we will need for each material type. We will also need to define which
of these fields and subfields will be mandatory, which ones will be controlled using
Authority Control or Authorized Values Control.
Identifying Authority Control rules
We will first need to decide how to use Koha's Authority Control, if at all.
Using Authority Control has cost implications; you will need staff to maintain your
authority files, or you may outsource this work. You may have to purchase authority
records from the Library of Congress or other sources.
You will also need to establish a process for using Authority Control. Will you create
authority records during the creation of bibliographic records, or after? What process
will you follow when authority headings are updated?
[73]
Configuring the Cataloging Module
Based on this you can develop a plan that looks something like this:
Question
Plan
Use Authority Control?
Create authority records before bibliographic records
are created, or after they are created
Do you want bibliographic records to be automatically
updated when authority records are updated?
Yes
After bibliographic records
are created
Yes
Identifying frequently cataloged types
of material
Create a list of materials that are cataloged often and have distinct bibliographic
characteristics, in terms of fields and subfields that are commonly used.
Our list might look something like this:
Books
Serials
Visual materials
Reports/ Dissertations
Electronic material
You will need to create a Bibliographic framework for each item in this list.
Identifying MARC field sets for each type
of material
For each type of material above, we will list the fields and subfields that will be used
during cataloging. For instance, for books, we might want a field set similar to this:
020: ISBN
082: Call number
1XX: Author fields
245: Title
260$a: Place of publication
260$b: Publisher
[74]
Chapter 5
260$c: Date of publication
300: Physical description
500: General note
505: Formatted contents note
6XX: Various subject fields
7XX: Other authors
952$a: Home branch
952$d: Date acquired
952$p: Barcode
952$y: Item type
Identifying mandatory fields
Next, for each field and subfield we will indicate if it needs to be mandatory. If data
for a certain field is always available, and the field helps patrons find or evaluate an
item, it might be a good idea to make it mandatory. Our configuration plan for books
now looks like this:
Tag/Subfield
Mandatory?
020: ISBN
No
No
No
082: Call number
1XX: Author fields
245: Title
260$a: Place of publication
260$b: Publisher
260$c: Date of publication
300: Physical description
500: General note
505: Formatted contents note
6XX: Various subject fields
7XX: Other authors
952$a: Home branch
952$d: Date acquired
952$p: Barcode
952$y: Item type
[75]
Yes
Yes
Yes
Yes
Yes
No
No
Yes
No
Yes
Yes
Yes
Yes
Configuring the Cataloging Module
Identifying Authority Control rules
Here will need to decide which bibliographic fields will be under Authority Control.
The usual name, title, and subject fields are natural choices, but you can consider
other fields too.
Let us add an Authority Control column to our example:
Tag/Subfield
Mandatory?
020: ISBN
No
082: Call number
1XX: Author fields
No
Yes
245: Title
Yes
260$a: Place of publication
Yes
260$b: Publisher
260$c: Date of publication
Yes
300: Physical description
500: General note
Yes
505: Formatted contents note
No
6XX: Various subject fields
7XX: Other authors
Yes
Yes
No
Yes
952$a: Home branch
Yes
952$d: Date acquired
Yes
952$p: Barcode
Yes
952$y: Item type
Yes
Authority Control
Yes
Yes
Yes
Yes
Identifying fields to control using
authorized values
Some fields such as branch and item type are controlled by default. Other fields that
can be populated by short lists of fixed or infrequently changing values are also good
candidates.
Let us add an authorized values control column to our example:
[76]
Chapter 5
Tag/Subfield
Mandatory?
020: ISBN
No
082: Call number
No
1XX: Author fields
Yes
245: Title
Yes
260$a: Place of
Yes
publication
260$b: Publisher
Yes
260$c: Date of
Yes
Authority Control
Authorized
values control
Yes
Yes
Yes
publication
300: Physical
description
500: General note
505: Formatted
contents note
Yes
Yes
No
6XX: Various subject
fields
7XX: Other authors
Yes
Yes
No
Yes
952$a: Home branch
Yes
952$d: Date acquired
Yes
952$p: Barcode
Yes
952$y: Item Type
Yes
Yes
Yes
This completes our configuration plan for books. You can create similar plans for
other types of material.
Implementing our configuration plan
Now that we have a configuration plan in place, let us look at how to implement it
in Koha. We will first setup Authority Control and authorized values and then use
them in a new MARC framework.
[77]
Configuring the Cataloging Module
Configuring authorities system preferences
We will need to set two system preferences:
BiblioAddsAuthorities: Turn this Off, if you expect to have authority
records available for use during creation of bibliographic records. If this is
set to On, authority control is turned off; Catalogers can enter the data in
the field, and Koha automatically creates authority records based on what is
entered in the corresponding bibliographic field.
dontmerge: Set this to On, if you want linked bibliographic records to be
automatically updated when an authority records is updated.
ulation
Patrons
Search
4koha
.._.
Muex
ND LIDRARY SET(çtjkohaadmin{Log Out)
1.2.4
Search System Preferen:
Hone, Admìri who> System Preferences
New Preference
Admin
Acquisitions
Enhanced Content
System preferences admin
Authorities preferences
Preference
autherityse¡}
Authorities
Explanation
Edit Delete
Value
-
Used to separate a list of sultanates in a
display_ Usually --
.çra
Edit
Deiet
If ON, adding a new biblio will check for an
Cataloging
BiblioAddsAuthorities existing authority record and creatone on
Chculatì
dontmerrie
t 8pdfl.lOP,
ON 4 OFF
'Save
Eljit Q_Laz
the Fly if one doesn't exist
If (IN, modifying an authority record will
not update all associated bibliographic
records immediately, ask your system
administrator to enable the
merge_authorities.pl r_ron job
O ON
-
OFF Save
Ec,t Coleto
Lops
ON-PhAN
OPACC
Patrons
Searching
Staff Client
Local Use
To edit these preferences, navigate to Administration I Global system preferences.
Search for the system preference by its name to find it.
[ 781
Chapter 5
Configuring Authority Types
Authority Types are MARC frameworks for authority records. Commonly used
Authority Types are available with the default installation of Koha. You can create
new ones if you want to bring fields other than name and subject headings under
Authority Control.
To create a new authority type, follow these steps:
We find Authority Types screens in the Catalog section under
Administration.
2. Click on New Authority Type button.
3. Enter an Authority Type code, Description, and Summary.
4. The field Authority field to copy is most important we enter the tag in the
authority record that should be copied into the bibliographic record. Look
at the existing Authority Types for reference.
1.
Circulation
Patrons
Search
More.
NO_LIBRARY_SET (yet) I kohaadmin (Log Cut) I I? l
Home ,Administration . AuihoritvTepes , New authority type
System Preferences
System Preferences
New authority type
Authorilytype:
Basic parameters
Libraries and groups
Funds and budgets
Currencies and exchange
Description:
¿Aies
Itzm lykys.
Patrons and circulation
Patron types and categories
Cities and towns
Road types
Patron attribute p ins,
Circulation and fines rules
Catalog
Authorized values
MARC Bibliograuhic
framework
V,oha tu MARC manning
. MARC Bibliographic
framework test
Authority types
ClassIfcation sources
{Record matching rules
tf
Additional parameters
Stop Words
Add 55 Client Targets
[79]
Configuring the Cataloging Module
Configuring authorized values categories
We will need an authorized values category for each field we want to control
using authorized values.
Find Authorized Values screens in the Catalog section under Administration.
The pre- configured set of categories is listed in the Show Category list of values.
To create new categories, we use the New Category button.
ulation
Patrons
Search
4koha
More e
NO_LtBRARY_SET t,..2:)
..__
Cheik.ut.
.
.
.........
Check In
kohaadmin (Log raut) 112_1
..
Search the Catalog
Home >Administration > Authorized Values . New category
System Preferences
System Preferences
New category
Basic parameters
Libraries and groups
Funds and budgets
Currencies and exchanue
Category
Authorized value
PubliCatibn
rates
Item types
Patrons and circulation
Patron types and categeiies
Cd:es and towns
Choose an Icon:
None
lihlime -kids
npl
bridge
No image:
R os_SYPs-.P
Patron attribute tyi_
Circulation uni] f:nns rains
Catalog
Suther¢ed values
MARC Eibhcora.hic
Save
Sarin el
framework
Salira tu MARC map .mg
MARC Bibkontaptrrr
framework test
Authority bends
« Classification sources
Record matching rules
Additional parameters
Stuc Ydorde
lient TargeIs
Editing authorized values
To edit the list of values in a category, we first select the category from the Show
category list of values.
[80]
Chapter 5
Circulation
Patrons
Search
4 ko ha
NO_LIBRARY_SE7 í
More
I kohaadmin (Log Out) I1? 1
`eubnd
Check In
Check Out
Search the Catalog
Home , Administration ,Authorized' Values , hivdify authorized value
System Preferences
Modify authorized value
System Preferences
Basic parameters
Libraries and groups
Funds and budgets
Currencies and exchange
rates
Item types
Patrons and circulation
Patron types and categories
Cities and towns
Road types
Patron attribute types
Circulation and fines rules
Catalog
Category CCODE
Authorized velue :NM
Oascrlptton
Noir Text Books
Choose an Icon:
None
llblimeiids
ic
b:C:x
No image:
Save
I
Cancel
Authorized -values
MARC Bibliographic
framework
Koha tu MARC mapping
MARC Bibliographic
framework test
Authority types
Classificatinn sources
Record matching rules
Additional parameters
Stop Words
rda SS Client Targets
We use the button New Authorized value for <Category Name> to create
new values.
Special authorized values
Some authorized values categories are maintained in the Administration section
directly. We'll look at these now:
[ 81 ]
Configuring the Cataloging Module
Library
Libraries can be maintained in Libraries and groups section in the Basic parameters
section under Administration.
Circulation
Patrons
Search
4koha
Homer
More
.
Chec. Cut
minletar tian. Libraries and (
System Preferences
System Preferences
Basic parameters
buets
dg
Currencies and exchange
rates
Item types
Patrons and circulation
Patron types and capon
Citron and towns
(iöá
Ms
Patron attribute types
Circulation and fines iules
Catalog
Authorized salues
MARC Bibliographic
framework
Kobe to MARC manning
Check In
vubmrt
Search the Catalog
upo
New' Library'' Flux Group
Libraries
Gode e
Name
Libraries and grcugg.
. Funds and
NO_LIBRARY_SET (9n') I kohaadrmn ¡Lug Out) i [? !
Address
Properties IP
Business Administration Library BAL
(nothing entered)
t: ;:
Engineering Library
ENGL
(nothing entered)
Lg.d. ______
Law Library
LAWL
(nothing entered)
Edit
Group(s): Search Domain
D -.
_le ":;
R
Name Code Description
No Sex, _ h a main Defined
Group(s): Properties
Name Cade Description
Ne Properties Defned
. MARC 3ibliorraphic
framework test
Authority types
Classification s uurcns
Re .cord matching rules
Additional parameters
Slap'aSorde
:,-3__v.!C
_D4rt_Tä,y dis
Item Type
Item Types can be maintained in Item Types n the Basic parameters section under
Administration.
[82]
Chapter 5
Circulation
Patrons
Search
4koha
MO_LIBRARY_SET (Set}
More 7
j,:,.:, .::..
.
.
,..
I
kohaadmin (Log Out¡ I L? 1
.<.
tuhmdi
Check Out
he
In
Search the Catalog
Home , Administration , Item Types Administration
System Preferences
System Preferences
Basic parameters
Lihranos and groups
Funds and budgets
Currencies and exchange
rates
item typas
Patrons and circulation
Patron types and categories
Cities and towns
Road types
Patron attribute types
Circulation and fores rules
New Item Type
Item Types Administration
Net for loan Renewable Charge
Actions
Bk
Books
h times
0410
Edit De ete
CR
Senals/Journals
2 times
0.1X1
Edit Delete
REF
Reference
Image Code
Description
CD /DVD
Edit Delete
Yes
2 times
ell Delete
Catalog
Authorized values
MARC Bibliographic
framework
Koha to MARC mapping
MARC Bibbngiaph o
framework test
Authority types
Classification sources
RecoLd metchim_rules
Additional parameters
c..Jp áfds
Z39 5O Client Targets
Configuring MARC frameworks
Now that we have Authority Types and Authorized Values Categories set up, let us
look at editing our MARC framework list, and configuring the fields and subfields in
a framework.
Editing MARC framework list
We use the New Framework button to create, the Edit link to edit, and the Delete
link to delete frameworks.
Key points to remember:
Try not to edit or delete any preconfigured frameworks, at least initially
Create new frameworks, Koha allows you to model new frameworks on
existing ones
Only once your own frameworks are fully ready, should you consider
consider removing the preconfigured ones
You should retain the default framework for material types that have
no frameworks
[ 83]
Configuring the Cataloging Module
Creating a new framework
To create a new framework, we use the New Framework button. Once the
Framework Code and Description is saved, we click on the MARC structure link.
Circulation
Patrons
Seaton
4kQ%2Cl
More n
NO_LIBRARY SET (WI I kohaadmin
t_
rut) I L? j
Subnnt
Check Out
Check In
Search the Catalog
.............. ..........._____.__..._........
Home ,AUmìnístratlon , MARC Frameworks ,Add framework
System Preferences
System Preferences
Basic parameters
Lrbranes and groups
Funds and budgets
Currencies and exchange
rates
Item topes
Patrons and circulation
Add framework
Framework Code
MAN. . . . . . . . . . .
. ..
Description
. .
.. ..
¡Manuscript
Submit E4
Patron types and cateucries
Cities and towns
Road tones
Patron attribute topes
Circulation and fines rules
Catalog
Authorized values
+ MARC Bibliographic
framework
hoha tc MARC rctyçping
MARC Bibhngraphic
framework test
Authority woes
Classification sources
Record matching rules
Additional parameters
;atop Words
%39.50 Crieni Targets
At this stage, we choose an existing framework as a model for the new one. Choosing
the right framework in this step will save a lot of effort.
Chapter 5
irculerme
Patrons
Search
4k o h a
HO LIBRARY_SET Set I kohaadmin (Lou C1.4) I 111
More
Suhmrl
Check Out
Check In
the Catalog
Herne tAdministration t
System Preferences
MARC Framework for Manuscript (MAN)
System Preferences
Basic parameters
Create framework for MAN (Manuscript) usine
_
-I -
--
--
Libraries and grcups
Funds and budgets
Currencies and exchanue
rates
Item types
Patrons and circulation
Patron types and categories
Cities and towns
Road types
Patron attribute types
Circulation and fines rules
Catalog
Authorized values
MARC Bibliographic
framework
Koha to MARC mapping
MARC Bibliographic
framework test
Authority types
Classification sources
Record matching rules
Additional parameters
Stop 'fords
Z33 50 Client Targets
Editing fields and subfields
Let us now edit the fields and subfields in the new framework.
Remember that Bibliographic tags are numbered from OXX through 8XX . Item
or local use data is stored in tag 952.
[85]
Configuring the Cataloging Module
Use the Search for tag feature to navigate to the field you wish to edit. Use the
Display only used Tags /Subfields checkbox as a navigation aid.
Circulation
Patrons
Search
More e
4koha
NO_LIBRARY_SET Qat I kehaadmin (Leg Out) I f,? I
Suimvt
;
Search the Catalog
Check In
Nome r Administration >MARC Franr.eworrs : kiPRC Framework for Soaks, Booklets, Workbooks (BKS)
System Preferences
System Preferences
Basic parameters
Libraries and .Droops
Funds and budgets
C ertenc_eo and ezchängy
rates
Item topes
Patrons and circulation
Patron hopes and -- categories
Cites. an.d town,
Road types
Patron attribute types
Circulation and fines roles
Catalog
Authorized values
w15..?;__BLbliogräphi?
framework
keno to MARC mapping
MARC Bibliographic
framework test
Authority types
Classification sources
Record matching rules
Additional parameters
Stop Words
39 50 Chant Targets
New Tag
MARC Framework for Books, Booklets, Workbooks (BKS)
Framework
Hooke. Beer, ,,er
,Vorkh oks
Search for Tag '_ F.:
`+
Search
Display only used TagsíSubfelds
NOTE : if you change the I'rk between a MARC sublield and a non -MARC field. ask your administrator to run misclrebuildnanmarc.pl
script
Tag
Lib
Repeatable Mandatory
260 PUBLISHER -- PUBLICATION. DISTRIBUTION. ETC (IMPRINT)
261
IMPRINT STATEMENT FOR FILMS (Pre -AACR 1 Revised)
[OBSOLETE. CAN/MARC], [LOCAL. USA]
Subgelds Edit Delete
Yes
Yes
Subfields
no
No
No
Subfelds
Edit
Edit Unteln
262
IMPRINT STATEMENT FOR SOUND RECORDINGS (Pre -AACR
2) [LOCAL. USA]
No
No
Subfrelds
DeeL2
263
PROJECTED PUBLICATION DATE
No
No
Subfeld s
265
SOURCE FOR ACQUISITION /SUBSCRIPTION ADDRESS
[OBSOLETE]
No
No
Subhelds
Edit
270
PUBLICATION, DISTRIBUTION DETAILS--ADDRESS
Yes
No
Suhfields
Edit Delete
305
PHYSICAL DESCRIPTION
Yes
Yes
5d_rbf:dttjt15.
Edit :Delete
301
PHYSICAL DESCRIF'TICldd FOR FILMS (PRE -AACR 2) (VM)
[ OBSOLETE. USMAPC]
No
No
Subfields
Edit
No
No
,r:hFPlhs
Edit
Sub`.iek.n
352 PAGE TR ITEM
Ur1T El' AM) [OBSOLETE]
--
Jelote
Lid ete
303
UNIT COUNT "'FI;
No
No
3r4
LINEAR FOE_ Ta,E nut.r [OBSOLETE. USMARC]
No
No
Subfields
PHYSICAL DESCRIPTION FOR SOUND RECORDINGS
(Pre -AACR 2) (MU) [OBSOLETE]
No
No
yi.lbfialds
EdR
No
No
$ub_figls.
Vee
N,
C, hfialrlc
Edit
F,i:t Ilaluf:.
306
T17
i
` E',FrLETE, USMARC[
Delete
--
PLAYING TIME
Hill PO Flt`
_.. _...
_.... _.
_
To edit the field, click on Edit. To edit subfields click on Subfields, and click on the
Edit Subfields button at the bottom of the page.
Chapter 5
Circulation
Eear=h
Patrons
RO_LIBRARY SET (;,yf) I kohaadmin (Loo Out) ILL]
More n
4koha
Submit
Check Out
Search
the Catalog
................ .......................:
Check In
Harne, Administration >JdARC Frameworks, BKS Framework Strucfaat ,Tag 260 SD60eld Structure
MARC subfield structure admin for 260 (framework BKS)
This screen shows the subfields associated with the selected tag. You can edit subfields or add a new one by clicking on edit.
The column Koha field shows that the subfield is linked with a Keha field. Koha can manage a MARC interface, or a Koha
interface. This link ensures that both DB are synchronized, thus you can change from a MARC to a Keha interface easily.
Teat
Subfield
a
Delete
Constraint%
Tab 2, Not repeatable Not mandatory hidden
D -late
Rsld luck and sequence number
Tab 2 Repeatable. Not mandatory, hidden.
aerate
Place of publication, distribution, etc
Tab:2, I Koha field: biblioitems. place,
Repeatable, Mandatory,
p,Jat-
Name of publisher, distributor, etc
Tab:2. 1 Keha field biblioit ems publishercode
Repeatable, Mandatory.
age
L:
Dele,e
- --
........_.
___
Date of copyright, publication, distribution.
d
I Tab2. I Koha field biblia. copyiightdate,
Repeatable, Mandatory,
a r_
___.
pillety
Plate or publisher's number for music (Pre-AACR 2)
[OBSOLETE, CAN /MARC], [LOCAL. USA]
Tab:2, Not repeatable, Not mandatory, hidden,
Delelh
Place of manufacture
Tab:2 Repeatable, Not mandatory, hidden.
Delete
:Tab:2, Repeatable, Net mandatory. hidden.
Delete
Manufacturer
Date of manufacture
Identification /manufacturer number [OBSOLETE.
CAN /MARC[
Matrix and/or take number [OBSOLETE. CAN/MARC]
Edit SubanIds
Tab:2. Not repeatable, Not mandatory. hidden,
Delete
Tab:2, Not repeatable, Not mandatory, hidden,
Delete
Tab:2. Not repeatable, Not mandatory. hidden,
Delete
Cancel
!
Navigate to the specific subfield you wish to edit by clicking on the appropriate tab
at the top.
r7l1[JIGu
A ',n
Search the Catalog
m'1'Iks , ß!:F ramewhfk °.euFtare ,
Edit subdeldscenatralnts
Tag 260 Subfield Constraints
(3
8
a
c
.,
d
_
f
k
I
New
Basic constraints
Subfleld
code:
a
Ten for
llbrarlart
n. tliotdbutio' etc
Teat lar
OPRC
Repeateble:
Mandatory.
Manageain
tab:
pore means that the subheld dogs net display in the record adage)
h17 °_copstfarn;g
Advanced constraints:
Default
value:
= .........._..__.
hidden
. online help)
Ise ORL:
(if checked, e means that the subfield is a eRL and can be clicked)
.................
Link
Title or LncaFNUmbgd kVa +i;.tiy .-k:rs a&rcwa :.t+acgH+.w',',euh , .:.'
Rolm ink
Other Options: (choose one)
AutheeRed
value:
PsF
[87]
Configuring the Cataloging Module
Editing labels of fields or subfields
To edit how a tag or subfields is labeled in the cataloging screens, edit the field Text
for librarians.
Making a field or subfield mandatory
To make a tag or subfield mandatory simply check the box Mandatory in the Basic
Constraints block.
Advanced constraints
Click on the link Display more constraints below the Basic constraints block to
display Advanced constraints.
Hidden fields and subfields
This field controls if a tag or subfield is displayed in the MARC editor, and if yes, in
what form - collapsed or not.
The field can have several values, for the purposes of cataloging; you will need to
learn these:
0: Displayed, not collapsed
-1: Displayed, collapsed
-2: Not displayed
Bringing fields or subfields under Authorized Value
or Authority Control
You can bring the field under Authorized Values control OR under Authority
Control. It does not make sense to use both.
To use Authorized Values, select the appropriate Category from the Authorized
value list of values.
To use Authority Control, select the appropriate type from the Thesaurus list of
values.
[88]
Chapter 5
Summary
In this chapter, we used three tools to make cataloging simpler and to control data
entry:
MARC Frameworks
Authority Control
Authorized values
Developing an effective configuration plan in advance is important.
There are cost implications to using Authority Control. You will need to incorporate
your process of using Authority Control in the configuration plan.
You will need to develop a MARC framework for each material type that you catalog
frequently, for the rest you can use the default framework. Within each framework
you will need to configure which fields and subfields are available, and which of
those are mandatory. Some of the fields can be brought under Authority Control;
others may be controlled using authorized values.
In the next chapter, Configuring the Circulation Module, we will learn how to map the
library's circulation policies to rules and preferences in Koha.
6
Configuring the Circulation
Module
In this chapter, we will learn how to configure Koha's circulation module. This
module is used to loan library items to the patrons. Our goal will be to map the
library's circulation policies to rules and preferences in Koha.
A library's circulation policies govern loan periods, renewals, membership duration,
fines, holds, reference material, and so on.
To map these in Koha, we will study the following Koha features:
Patron categories
Item types
Circulation and fine rules
Notices and triggers
Calendar
Circulation system preferences
Patron categories
We create a patron category for each group or class of patrons that has distinct
characteristics or needs.
Patron categories are a very important part of Koha's circulation module.
Configuring the Circulation Module
You can find the Patron Category Administration screen in the Patrons and
Circulation section in Koha's Administration module.
Patrons
Circulation
Mar..
-earr.h
4koha
NO_LIBRARY_SET 50 kohaadmìn (Log Out)
.arclr
Search Patron Categories
Check Out
Search the Catalog
Home ,Administration >Patron Categories
System Preferences
. System Preferences
Basic parameters
Libraries and groups
Funde and budgets
. Currencies and exchange
rates
Item types
Patrons and circulation
Patron typas and categories
Cites and towns
. Roao typ..ns
Patron ätcriboucio types
New Category
Patron Category Administration
Cede
Category name
Enngmant
Type
Age
required
geared
Upper age
limn
Enrollment
ho
EXC
Exchange Student
Adult 6 months
0 years
0 years
.0.00
FAC
Fa cIty
Adult 99 months
0 years
0 years
PGS
Stud Graduate
Student
Gr
Adult 24 months
0 years
0 years
i
Crider Graduate
6tudent
S
Adult 36 months
Staff
!
ß.
99 months
Overdue
Hold
fee
EdO Delete
Yes
0100
0.00
No
0.00
Edit Deelets
0.00
- Yes
-0t 00
Edit, Delete
Yes
0.00
-d5 Delete
0.00
Edit
0 years
0 years
0.00
18 years
:999 years
0 -00
_ No
. Circulation ann fines rules
Catalog
Authanzed robes
. fvlgRL Mblrpgräph ¿ç
fra.me'work
. bona to MARC manpmq
MARC Bibliographic
framework test
Authority typas
Classification sources
Record matching rules
Additional parameters
Stop Words
5539 50 Client Targets
Identifying patron categories
Unless your library is just starting up, you will already have your list of patron
categories. However, you might consider modifying the list to take advantage of
some of Koha's capabilities.
The key question here is do you have, or anticipate groups of patrons that have
distinct characteristics. We need to assess if these groups are different in one or
more of following ways:
Enrolment duration
Enrolment fee
Age restrictions
Loan periods
Maximum checkouts allowed
Fine amounts
[92]
Chapter 6
Here are some examples for different types of libraries:
Public library: In a public library, these categories might be suitable:
o
Adult
Child
Student
o
Staff
o
Institution
o
o
Academic library: In an academic library, these categories might be suitable:
o
o
o
Under graduate student
Post graduate student
Faculty
Commercial library: In a commercial library, you might create categories
like these:
o
Plan A: Rs. 250 a month
o
Plan B: Rs. 500 a month
Plan C: Rs. 1,000 a month.
o
Creating patron categories
To create a new category we use the New Category button. Use this table as a guide
to create or edit patron categories:
Field
Category Code
Mandatory?
Yes
Instructions
Enter short code
for the category, for
Comments
example, UGS.
Description
Yes
Enrolment
Period
Age Required
No
No
Enter description of
category, for example,
under graduate
Student.
Enter enrolment
period in months.
Enter lower age limit.
[93]
Field used to autocalculate
membership expiry date.
Configuring the Circulation Module
Field
Upper Age
Limit
Enrolment Fee
Mandatory?
Instructions
Enter upper age limit.
Comments
No
No
Enter fee amount.
Overdue
Notice
Required
Hold Fee
No
Select or deselect the
checkbox.
No
Enter Fee Amount.
Category Type
Yes
Choose from list of
values.
This fee will be charged when
first enrolled.
Controls if due and overdue
notices will be sent to patrons
of this category.
This fee will be charged every
time a patron of this category
places a hold on an item.
Child: requires an adult
guarantor.
Staff: have additional
privileges, only for library
staff
.
Item types
Item types are groups of items of material in the library that are circulated in
different ways.
Item types are also a very important part of Koha's circulation module.
You can find the types screen in the Patrons and Circulation section in Koha's
Administration module.
[94]
Chapter 6
Circulation
Patrons
Search
4koha
NO_LIBRARY_SET (Setj
More.
Check In
Check Out
kohaadmin (Loa Out) I L
Search the Catalog
Home ,Administration >Item Types Administration
System Preferences
System Preferences
Bask parameters
Libraries and groups
Funds and budgets
Currencies and exchange
New ltemType
Item Types Administration
Image Code
Elk.
Description
,
Not for loan Renewable. Charge Actions
S times
0 00
'2 times
DAO
Books
Ont Delete
rates
Item types
Serials/Journals
Patrons and circulation
Patron types and categories
Cities and towns
Road types
Patron attribute types
Circulation and fines rules
REF
Reference
Yes
CD/DVT)
Yes
No
_ 2times
_
-
Q
elete
dit Delete
EA. pglet_e
gyp
Catalog
Authorized values
MARC Bibliographic
framework
Koha to MARC mapping
MARC Bibliographic
framework test
Authority types
Classification sources
Record matching rules
Additional parameters
Stdp.Wdtds,
Z39_50 lient Targets
Identifying Item types
Unless your library is just starting up, you will already have your list of Item types.
Just like with patron categories you might consider modifying the item type list to
take advantage of some of Koha's capabilities.
We will need to consider what types of material in the library have have distinct
characteristics. We need to assess if types of material are different in one or more
of following ways:
Renewal policies
Not for loan policies
Loan period
Maximum checkouts
Fine amount
Rental charge
[95]
Configuring the Circulation Module
Here's a good example of Koha's default Item type list:
Books
Reference
Journals
Reports
CD /DVDS
Creating Item types
To create a new item type we use the New Item Type button. Use this table as a
guide to create or edit an item type:
Field
Item Type
Mandatory?
Instructions
Yes
Enter short code for the
category, for example,
Comments
BK
Description
Yes
Enter description of
item type, for example,
Books
Images
No
Not for Loan
No
Renewals
No
Enter number
Rental Charge
No
Enter rental charge
amount
Summary
No
Enter free text
Choose image from
available list or provide
a URL to a image on an
external server
Select or deselect the
checkbox
[96]
If this option is checked,
items of this type cannot be
checked out.
Number will indicate
maximum number of
renewals possible on items
of this type. Leave blank
or enter 0 to indicate nó
renewals allowed.
Amount will be charged each
time an item of this type is
checked out.
Chapter 6
Circulation and fine rules
In Koha, for a combination of library or branch, patron category and item type, you
can specify:
Loan period
Fine amount
Maximum checkouts
In addition, for a combination of library or branch and patron category, you can also
specify:
Maximum checkouts
The second type of rule is used to constrain the total number of checkouts across all
item types.
You can find the Circulation and Fine Rules screens in the Patrons and Circulation
section under Koha's Administration module.
Circulation
Patrons
Search
4koha
NO_LIBRARY_SET faa I kohaadmin (Log Cut) I t'.1
More
Submit
Chiece
Gut
Check in
Search the Catalog
Borne r Adrpiipstkätion> Issuing Rules
System Preferences
Defining default issuing rules
5yst_ 5.n., F_ferrrnnçns
Basic parameters
Libraries and groups
Funds and hudg is
Currencies and
exchange rates
Item types
Patrons and circulation
Pátmr.typm -s änd
categories
Cities and towns
Road types
Patron attribute types
Circulation and hires
The rules are applied from most specific to less specific, using the first found in this order:
same library. same patron type. same item type
same library. same patron type. default item type
same library, default patron type. same item type
same library, default patron type, default item type
default library, same patron type, same item type
default library, same patron type, default item type
default library, default patron type: same item type
default library, default patron type. default item type
To modify a rule, create a new one with the sane patios type and item type.
Select a library
:
'Default
Patron Category
LULU
Authorized values
MARC Bibliographic
framework
Kobe to MARC rowing
MARC Blbliegra.hic
framework test
..Authority types
Claudication sources
Amount
Record matching rules
Additional parameters
Stop Words
Z39.50 C'iien t
Taets
rg
Defect
Books
55.00
Default
CDCVO
55.00
Default
"erials /Journals
Getaut
Fine
Bays
Fine
Nom Type
Catalog
Fine
Grace
Period
'13`autt
day(s)
,
Loon
Period
14 day(s)
e:e
7 day(s)
to
day(s)
2 day(s)
1
day(s)
Allowed
it day(s)
I
.55.00
Current
Checkouts
Fine
Charging
Interval
day(s)
clay(s)
al
For thrs library. you can specify the maximum number of loans that a patron of a given category can make, regardless of the item type.
If the total amount loanable for a given patron category is left blank, no limit applies, except possibly 6u a limit you define for aspecific item
type.
Patron Category
Facuri
Gefaurt
Cafes
Total Current Checkout Allowed
Delete
8
...........
Delete
5
.. Add
I
[97]
Configuring the Circulation Module
Identifying circulation and fine rules
Unless your library is just starting up, you will already have your list of circulation
and fine rules. However, you might consider modifying the list to take advantage of
some of Koha's capabilities.
Based on your current circulation and fine policies, record data in a table in the
following fashion:
Library or
branch
Patron
category
Item Type
Loan Period
Fine Amount
Current
Checkout
Allowed
Library A
Library B
Library C
Library A
Library B
Library C
Student
Student
Student
Student
Student
Student
Books
21
5
5
Books
21
5
5
Books
CDs
14
10
3
21
5
5
CDs
21
5
5
CDs
14
10
3
And this table as well:
Library or Branch
Patron Category
Total Current Checkouts
Allowed
Library A
Library B
Library C
Student
Student
Student
5
5
5
Creating circulation and fine rules
If you take all combinations of library or branch, patron category and item type the
number of rules to configure and maintain would be very large.
Thankfully, Koha allows us to use the value "Default" to denote all values. This way
you need to configure a small number of default rules and another small number of
rules for exceptions.
This is best explained using the example in the previous section. The example we just
saw can be translated to following rules for Koha:
[98]
Chapter 6
Library or
branch
Patron
category
Item Type
Loan Period
Fine Amount
Current
Checkout
Allowed
Default
Library C
Student
Student
Default
Default
21
5
5
14
10
3
The first rule above can apply to Library C as well; however Koha will use the
second rule for Library C, as it is more specific.
Similarly the total current checkout table can be configured as follows:
Library or branch
Patron category
Total Current Checkouts
Allowed
Default
Default
5
Configuring the calendar and calculation
of due date and fines
In this section we will learn about Koha's calendar module and how to configure
fines and due date calculations.
Koha holidays
It is important to note that in Koha, a holiday is any day when the library
is closed.
Calendar and fine calculation
You can choose to have Koha ignore the Calendar. If the calendar is ignored fines
are calculated every day, even if the day is a holiday.
Calculation of due dates in Koha
Koha offers three options for due date calculations:
You can choose to have Koha ignore the calendar; the due date will be
calculated as check out date plus loan period, even if this date is a holiday.
You can have Koha exclude holidays from the loan period. So in this case the
due date will be calculated as check out date plus loan period plus number of
holiday during loan period.
[99]
Configuring the Circulation Module
If you have Koha include holidays in the loan period, the due date will be
calculated as checkout date plus loan period, if this date falls on a holiday,
Koha will move the due date forward to the next working day.
Preparing to configure the calendar and fines
and due date calculations
Before we can start the configuration, you will need to gather this information:
Holiday list for the year
Whether Saturdays are holidays
Whether Sundays are holidays
Your library's policy on fines calculation with regards to holidays
Your library's policy on due date calculation with regards to holidays
Editing the calendar
The calendar module is available in the Tools section.
Patrons
Search
Marte r
NO_LI6RARY SET
4koha
Search the Catalog
Home >TOOIs'Calendar
Toes Hom
News
Define the holidays for :
Labels (spine and bavante;
Select a library
,3t.": itr,
:d-ri ln;tration Lriarr
Search in the ca:endar tee day you want to set as holiday.
Complete the information in the right area
Once you finish the steps above_. click Save.
Calendar
Netites
Ivoticerstarus diggers
jWOrkinq day{
Madetate OPAL comments
Calendar information
M::der°.ats patron tags
papeatable holiday' 'Holiday exceptìarrl
March, 20 0
Log
Toda,
stocktak ria
'Ice To. Wed Thu
::+ pelt istaging'
EIIIIII0111111®®
MARC Import (managing
®®133®1TICI®
hatch es)
Export b
siholdings
Impclt patrons
F
lllll© lllll® lllll© IIIIIO lllll© IIIIID
1"
®®®®®E3®
®®®
31
Selen dat
lJpload PaMarl Images
Task Schel:.,lel
[100]
:et
kohaadmlo Ica Out)
Chapter 6
To configure the calendar, we follow these steps:
1.
2.
3.
4.
If Sundays are holidays, click on the nearest Sunday in the calendar and
choose option Holiday repeated every same day of the week.
If Saturdays are holidays, click on the nearest Saturday in the calendar
and choose options Holiday repeated every same day of the week.
For holidays that repeat every year on the same date (for example,
Christmas), click on the date and choose option Holiday repeated yearly
on the same date.
For other holidays, click on the date and choose the option Holiday only on
this day.
Editing system preferences
There are three System Preferences you will need to set:
finesmode
Set this to production; without this Koha will not accrue fines.
o
finesCalendar
Choose noFinesWhenClosed if you don't want fines to accrue
o
on holidays.
Choose ignoreCalendar if you want fines to accrue on
o
holidays.
useDaysMode
Choose Calendar if you want due date to be check out date
plus loan period plus number of holidays during loan period.
Choose Days if you want due date to be checkout date plus
o
loan period. Holidays are ignored.
o
Choose Datedue if you want due date to be check out date
plus loan period. Due date is moved forward only if it falls on
a holiday.
[ 101 ]
Configuring the Circulation Module
Cir.:teat:on
Patrons
Seirch
4koha
More y
NO_LIBRARY SET
ac I kohaadmin (Loa Out) I j
Search
Search System Preferences -
Check Out
Search the Cataloq
Home ,Administration > System Preferences
New Preference
Admín
System preferences admin
Acquisitions
Circulation preferences
Preference
Enhanced Content
Circulation
AllowOnSheltHolds
Allow hold requests to be
placed on items that are not
on loan
O ON
Edit Delete
',ono l
Ldril Delete
ON O tee
`. c
Edit D ?lete
ON 0 OFF
:ì
Ede Solemn
OFF
if ON, allows renewal limits to
AltowRenewelLimitOverride
- be overridden on the
circulation screen
118hüL1ON
kí
If ON: Koha will automatically
AotornaticitemRetum
Logs
Value
Allow hold requests to be
placed an damaged items
Authorities
Cataloging
Explanation
-
AIIowHdldsOnDamaeeditettr§
set up a transfer of this item to O ON
OFF Sa>ej
EAit
_
Delete
its homebranch
.....
OA.i-PMH
cenreservefrometherbranches
OPAS
LirrAfatocomnl
Patrons
With Independent branches
nn, can a user from one library
place a hold an an item from
another library
............
...
ON
-
OFF
Sono
If ON. autocompletion is
enabled for the Circulation
Edit
Octets.
Edit Celero
input
Seatcnln^.)
Statt Short
Local Use
CircCn nit of
Specify the agency that
controls the circulation and
tines policy
If rN, emails the librarian
emaitLilrrartanWhenHoldlsP laced
whenever a hold is placed
finesCalendar
Specify whether to use the
Calendar in calculating
Edit Celeta
Edit Cte
Edit Delete
duedates and Ones
Choose the fines mode, 'off
Due and overdue notices
Koha can automatically generate and e -mail due and overdue notices.
We will need to define:
Templates: Text to be included in the notices, along with fields that will
be populated dynamically
Triggers: Definitions of when each type of notice should be sent for each
patron category
[102]
Chapter 6
Preparing to configure due and overdue
notices
To configure due and overdue notices, we will need to prepare a plan. We will
need to identify which patron categories will receive notices, how many notices
will be sent and when, and what the content will be in each notice. Our plan may
look like this:
Patron
category
Delay
Exchange
Student
Under
Graduate
Student
Post
Graduate
Student
Second notice
First notice
1
1
1
Template
Item Due
Reminder
Delay
Item Due
Reminder
3
Item Due
Reminder
3
3
Template
Overdue
Third notice
Delay
5
Notice 2
Notice 1
Overdue
5
5
Notice 1
For each template in the plan, we will need to prepare the text:
Item due reminder
Item overdue notice 1
Item overdue notice 2
[103]
Overdue
Notice 2
Notice 1
Overdue
Template
Overdue
Overdue
Notice 2
Configuring the Circulation Module
Editing notices
The Notices screen can be found in the Tools section. The following screenshot
shows the notices templates:
Circulation
Patrons
r,t,re e
Seao:h
4koha
NO LIBRANY_SET raa I kohaadm<n (Log Out) 111J
iggb
Search Notices
Cherk Crut
Search the Catalog
_. _..____ .................._.____
Home ,Tools, Notices
Tools Home
'
Nino/Notice
Mews
Labels ¿spine and barcode)
Calendar
Notices
Nchce? status triggers
Moderate OP.AC comments
Moderate patron tags
Log viewer
Invenlnry +stocktaking
MARC Import /staging;
MARC (report imanaging
batches;
Module
Code
r
a
Neme
circulation
DUE
Item Due Reminder
circulation
DUEDGST
Item Due Pa7lhinder (Digest)
circulation
EVENT
Upcoming Lhiiary Event
circulation
ODUE
Overdue Notice
circulation
PREDUE
Advance Notice of Item Due
Edit
-
circulation
PREDUEDGST Advance Notice of Item Due (Digest) Etü
claimacquisition ACCICLAIM
Acquisition Claim
Edit D_I %__
members
ACCTDETAILS Account Details Template - DEFAULT Edit Dole_
serial
RLIST
E it
Routing List
?C
Eæuort bibs.ho'':dings
Import patrons
Patrons (anoryymva,
boIL de ere)
t 1pina,1 Patron Images
Task Scheduler
To create a new notice or template we use the button New Notice, and to edit an
existing notice we use the Edit link.
We write the text of the notice in the Message Body. Some content, such as a
borrower's name, will be dynamically populated by Koha when the notices are
e- mailed to patrons. You can select the fields that you want from the box on the
left. Use the » button to move the selected fields into the message body.
[104]
Chapter 6
Circulation
Patrons
Sealcn
JC o h a
4koha
NO_LIBRARY_SET Sei
,dore
i
Check but
Search Notices
Search the Catalog
Search
-------
I kohaadmrn (Log Out] 11211
I
.
Harne 'Tools Notices > Modift notice
Modify notice
Kohn modale:
_......
......
. Uca!ancr.
Code: OOUE
Name:
Message Subject:
Item overdue
Message Body:
Dear
!brailanf_rslnama
L: btu i:rSU reame
.:b: ar:anEmailaddroes
BRAT h. HES - --
ranches bra nchcode
anrhes.b!anchname
banches ` :anchaddlessl
branches nranchadrlress>
:I,r3n[ .cs eranchaddres5d
borrowers t!! striante. <.'LUrruìseIo sr
or r:
¡According to our current records. you have items that are overdue Your library at- s not c:'larÿe lut
please return orrenew them as soon as possible
s< branches. branchnarne o,Yebranchas.branchaddressi cv <- branches branchaddressb >s
« branches. branchaddress7'--s< branchee. branchphone5 > «obrancnes.bran:bliiu >
<zbranches.brancnemaìl »It you have registered a password mug the library, you may use itwuhynur library
card number to renew Online. If an item becomes more than bU days overdue, you will be unable :0 use your
library card unti the item is returned. Tho following item Is currently 000:000 Ste ms.eantent
Submit I
Once notice templates are created, we can configure notice triggers.
[105]
I
Configuring the Circulation Module
Editing notice triggers
Notice triggers screens can be found in the Tools section. Here we configure, for
each patron category when each notice should be e- mailed.
mutation
Patrons
Search
4k©ha
More
NO LIIdNARY SET (gi) I kohaadmin (Log Gut) la
Submit
Check Cut
Check In
Search the iCatelag
Home .15515. Notice Triggers
Tools Home
News
Defining default overdue actions
Labels {spina and Pomade)
Delay is the number of days after an issue is due before an action is trOgered.
Calendar
If you want Koha to trigger an action (send a letter or debar member),
Notices
Columns must be filled left to right: if the first column is blank, other columns will be ignored.
Notice/status triggers
Select a library
Moderate ()PAC comments
Rules for overdue actions: default library
Moderate patron tags
Aelay value is required.
Default
First
Log viewer
Delay
Invenieryistocktakng
MARC import (staging)
MARC import (managing
batches)
Export bibsfhe dings
Imp:u l patrons
Fartions (annnyrnizra
bulk- delete)
Tiptoed martien Images
Exchange
Student
Part
Graduata
Student
Under
Graduata
Student
Letter
it.rm Due Reminds'
_____...............
]
I
t
Second
Debar
Delay
a
Letter
:.enitin lk tide
.
t..,, Due Femlrc<or
Doe Peni:n4s.r
..
baaer..Handes
Task Soll ed ulsi
For each patron category define the delay and the template to be used in the first,
second, and third letter boxes.
Some points to note:
If you don't see a patron category listed in the screen, you will need to
edit that patron category from the Administration section, and select the
checkbox Overdue Notice Required.
You do not need to have all three letters configured.
If you don't configure any letters, notices will be not be sent out for that
patron category.
If you do need notices to be sent out, make sure you have the first letter
configured properly.
[106]
Debar:
Chapter 6
Configuring holds
Replace this with "Finally, let us turn our attention to holds. Using Koha's holds
feature, patron can request that certain items be reserved for them. Holds are usually
placed on items that checked out. Once an item is placed on hold for a patron, the
patron needs to pick up the item from the library within a specified number of days
failing which the hold is cancelled and the item is made available for circulation.
We configure holds in Koha using system preferences."
Preparing to configure holds
Based on your library reserves or holds policy, you should prepare a plan such
as this:
Reserves policy
Maximum number of holds per patron
Maximum delay in picking up an item on hold
Whether to allow holds on items not on loan
Number of days before a hold is cancelled
Maximum fee or fine amount outstanding before
ability to place holds is blocked
Whether to allow patron of one library to request a
hold on an item in another library
Value
5
7
No
7
50
No
Editing holds preferences
Most of the holds related System preferences are in the Circulation tab. You can also
search for these using words hold or reserve.
[107]
Configuring the Circulation Module
Circulation
Patrons
Search
4koha
Moran
NO LIBRARY_S'ET
I
Search System Preferences
Check Out
I kohaadmin {Log l'ut)
Search
Search the Catalog
Home ,Administration > System Preferences
New Preference_,,
Admix
System preferences admin
Acquisitions
all preferences
_.......
Enhanced Content
Pnterence
Explanation
Value
Edit Delete
With
Independent
branches un,
can a user
Authorities
Cataloging
m
cenreserveframatherhranches from one
=library place
a hold on an
item from
another
library
Circulation
1t3PilL1 t7N
0 ON
OFF : Save
Edit
Delete
ê:dii
Dalaie
Edit
Delete
Edo.
Delete,
Define
Logs
maxreserves
QAI-PMH
OPAC
maximum
number of
holds a
patron can
place
Define the
Maximum
Patrons
ReservesMaxPickt aOelav
delay to pick `
a te.
j
up an item
on hold
Searching
Statt Cl ert
Luca lyse
ReservesNeedReturns
If ON, a hold
placed on an
item
available in
this library
must be
checked -in.
_ otherwise. a O CN
Here is a complete list of preferences:
A1lowHoldsOnDamagedltems
AllowOnShelfHolds
canreservefromotherbranches
emailLibrarianWhenHoldlsPlaced
holdCancelLength
maxoutstanding
maxreserves
RandomizeHoldsQueueWeight
ReservesMaxPickUpDelay
ReservesNeedReturns
StaticHoldsQueueWeight
[108]
OFF Save
¿IJ
Chapter 6
Summary
Circulation is arguably the most important function in a library. In this chapter,
we learned:
How to map a library's policies to Koha's rules and system preferences.
Patron categories control enrolment duration, age restrictions, and
circulation and fine policies for different groups of patrons.
Item types control renewals, not for loan, and circulation and fine policies
for different types of material in the library.
Koha's circulation and fines rules configuration module is used to set loan
period, maximum checkout, and fine rules for combinations of patron
categories, item types, and libraries or branches.
You will help yourself by learning how to keep the number of rules to a
small number using "Default" values.
Holds are controlled mainly via system preferences. The preferences control
among other things maximum reserves per patron, maximum duration
before a reserve is cancelled, and the maximum delay in picking up an item
on hold.
In the next chapter, our last on application configuration, we learn how to configure
system preferences related to acquisitions, serials, the OPAC, and the staff client.
(109]
Configuring Other System
Preferences
In this chapter, our goal will be to complete the application configuration and be in a
position to use Koha in a test or production environment. We will learn to configure
system preferences related to:
The rest of the transactional modules-patrons, acquisitions, and serials
The Online Public Access Catalog (OPAC)
Styling and appearance of the OPAC and the staff client
Messaging, security, and search
Koha has dozens of system preferences, some more important than others. We will
focus on the important ones in this chapter. Readers should refer to Koha's online
user manual for latest information on other preferences.
Understanding Koha's system
preferences
System preferences are essentially choices that each Koha library makes about how
the Koha should function. In this first section of the chapter, let us learn about Koha's
system preferences module, the nature, and organization of the preferences. We
share tips on using these preferences and finding information on these online.
Configuring Other System Preferences
Koha's global system preferences module
The Global system preferences module can be found under Koha Administration.
Circulator
Patrons
Search
4koha
li ru r
Department of Library and Information Stiance
Çpr:. :i:.
le¿rl::
cali I aeslabe ILcy7.3gi l W °
'march the Catalog
time Administration
Koha Administration
Catalog
Global system preferences
Authorised value"
Manage glossal system preferences like MARC acuse dale
MARC nibllegnarghic framewnri
format, ao,,,:nistratnr email and templates
Defina nategedes end auiharnuea values fer them
Create and manage GSltograanic frameworks than Sefine
the cdarederìsua of your MARC Rarefies Ifien and susfield
er:r
definitions: as deg as templates fore the RoRC aches
Essieu tre
Basic parameters
Libtarios erv,Lernuns
Define gashes and groups
FamAS asd n rlgats
Fusas ana nodgels a,,T:lnsyalron
(ír agetuslhpra_
Hint:
Configure these
para
the eater thy
aygn ar.
Cdtr«r' des and exchange idles
cerne
u pennes and eaenange
rates ...tor acquisitions
Ilese Popes
Donn item types nosing[ cu.culalian.uias.
and ffhYns
Late ghee ana loan a Nat -out naevus cram
Road types
: MARC fields
--
Define
a tin soul ces
cal n
useo r sour collodion Asa define fi ny Nee used
call ndmEers
fi
-
Cerne rCaa types ;street avenge -a ., etc Road types
disci ay se authminad values wter sedmgeßódp panons and
can ae ogee: :n oecgraph:c slahsh.s
for patron records
,...fir:.-
'_tae e, - ,,enllp of
the hanewors
liiilAR.C.Ailijogragolik.firdenenfiddi Iosi
Ches. the MARC stludure. ,u :hamac soul se±RE:
&ieegraph:c framr:ework its race.- mead lea )d:, run this
toot to test for enors in tour defining.;.
Classification sources
..n
Defoe extended aül''.3les :ioentflers and s.atistical
Define the mapping ,etwer
those keddords ar_
Create ana manage /u thorc es harnewron.i that define
the cnaraderis5rs of Four staiRC Recere? :tail and smell
defied: orsg
a
Define peson categories.
k'raSCoIL
tí_. ;4.ülatierlliand lees_ndeg
fief ne drColatiOn a. lines nines tar edn'..iresaeS i
h_ apes patron rategrnes a,to gem ninas
Kn.e ends to MARC mapping
Authority tapes
Patrons and circulation
Pauwsparlirpte_lyyes
MARL mannite
Defies the mapeingt hieen the Koha lransa Clonal
daeanese fiSQlt endthe MARC Sculiogrephlc.cur.. Nets that
the mapping an óe defined througn MARC 6:dlic graehic
Frameworb This treat retest a shortcut to speed up Enrage
es',
,tins
Record matching rues
Manage rules for aulemahcalp match ing MARC renne ul
during raorrr imports
Additional parameters
Sloe words
Ign ^.red during search
f4,ya litant argots
Deene:mis sasse: s a -crag to el -Sc gars::, me
Here are the key points to note about this module:
There are several dozen preferences, and these are organized by categories.
These preference control system behavior such as whether budgets
will be used in Acquisitions, or whether the patron card number will
be auto -calculated.
A handy search tool is available to find specific preferences.
Preferences are of many types, from simple on /off switches to more complex
list of values.
Many preferences have default values set. You can change the values at
any time.
Some system preferences are set based upon choices you made during Koha's
installation.
[112]
Chapter 7
Using system preferences
Here are some key points to note about using these preferences:
These preferences apply to the whole system; it is not possible to have
different choices for different libraries, patron categories, or other types
of divisions with your library.
Access to system preferences should be controlled. Changes to these
preferences can significantly alter system behavior.
You will probably want to set a few preferences when you start using the
system, especially those related to cataloging, patrons, or circulation.
System preferences can be changed at any time, as you become familiar
with the system over time you can set other preferences to tailor Koha to
your needs.
Online documentation
We will not be able to cover all the preferences in this chapter or other places in this
book. Besides, system preferences change, new ones are added all the time, some
preferences are deprecated or their categorization or values may change. Refer to
Koha's online user manual for the latest information.
The Koha 3.0 user manual is here:
http://koha.org/ documentation / manual /3.0 /administration /globalsystem- preferences /.
And the Koha 3.2 manual is here:
http: / /koha- community .org /documentation /3- 2- manual /.
Configuring transactional modules
In earlier chapters we have learned how to configure cataloging and circulation. In
this section we learn about system preferences that control the functioning of some
of the other transactional modules - patrons, acquisitions, and serials modules:
Patrons preferences control how patrons' records are created
Acquisitions preferences relate to budgeting and taxes
Serials preferences relate to routing lists, subscriptions renewals,
and display of subscription history
[113]
Configuring Other System Preferences
Configuring patrons preferences
Let us start by learning about patrons- related system preferences. These preferences
can be found under the Patrons tab.
Patrona
Circnlat :on
More
Sean -.h
4koha
Department ai library acrd Information Sciences f,
Seich System Presences
.. ^.ht<Y, faut
I ...labs S ro
O+:
Seri :h the Camion
e . Onso,Ofratl on System Preterebt s
Nea Preto-once
-:
System preferences admin
Acttulsitwn
SO o
Patrons preferences
Preference
le
AddPetrenLïzs
Ca ..
Explanation
Velae
Latta Delete-
near to :h :sera chat het to p up'°E^.it
hen edrry patrons
AutoPernìtpaacUer
Sends nohfcahnn entails centamsy new
account details to patrons . aahan accodm rs
created
P. IX!
0. tffreallRy
Defines tee default
1
]
'Account Det s °mails are sent.
OFF
OFF
C?e'.ot=
Est Delete
Sot
.
En9an CPS CJnt2nt
A<
aryartar._es
Fdd asIsts
autatdetttbetNym
if ON naten number
oornowerteandatornFíeld
Choose the mandatory fields for a pave, s
account
t
Cadre solid reta5o snips estoeen a guarantor - -tather;mceherSayuarantte
fed bylor,)
,wLogig nsf,irt
6ur±.,ätetoSpf. =x
Sait tt
auto- calculated
Define app oetsrfe rfdss for patrons
en ON
OFF S.:.:
-cama
- - -- ..t. asn.ane.a..
none
.CJej,te
^.Ft
De:ete
tdoPMs5ttrss1>as
or'Ka
'Karp' style checks
le ON allows patrons to salad ta repens
LLintIEt'.= fnittettea eddrbonei messages about terns cue or
naa.lr re-
'P ON
OFF Oct
ExtendelesNrändstr ipmes
Use extended patron es and ettibutes
*ON
OFF
lnifnneG,eäQíliSh SIP.ST
,.,,.
sf Ott
:JFF
9999
-- -_-
*OPt
JFF
:t!.hL@.
E."-.S
Cohl enable checks on patron cardnemter:
cherkdìnit
ati +ï;ren'
chew....
ntc ory rs enabled to all
P.7a..:-a:rr fine a batten can have fora single
PAaXF03e
late vol:"
n,emheretinstttícn
S:,f
.°e
..
... ..
I
...........
ra;rcrs can be. !mhed tomstxutions
Ian
g. o.
heta.attortbt
The Patrons module is as important as Cataloging or Circulation because a library
cannot function without patron records.
Some of the functions of the module are to:
Categorize patrons
Capture useful information about them
Generate unique identifiers for each patron to use in circulation
We have already learnt about creating patron categories in earlier chapters.
The following preferences help manage patron records:
[114]
Chapter 7
System preference
BorrowerMandatoryField
System
preferences
tab
Patrons
Description
Default
values
Instructions
Mandatory
fields when
creating a
patron record
zipcode I
surname I
It is important to
pay attention to
this preference.
Ensure that
fields that you
will need, e-mail
address for
instance, are
made mandatory.
This way you
will not have to
correct patron
records at a later
date.
cardnumber
Add fields
separated by
"
" Fields are
column names
in database table
"borrowers ".
To look up the
names log on
to mysgl and
describe the
borrowers table.
mysgl> desc
borrowers;
ExtendedPatronAttributes
Patrons
Create new
attribute
fields for
patrons
[115]
Off
Set up patron
attributed in
section Patron
Attribute Types .
under block
Patrons and
Circulation
under Koha
Administration.
Configuring Other System Preferences
System preference
autoMemberNum
borrowerRelationship
System
preferences
tab
Patrons
Patrons
Description
Default
values
Instructions
Whether to
auto calculate
the patron
number
On
Koha generates a
running sequence
of numbers.
Relationships
between
guarantee
and
guarantor,
used for
Child patron
type.
father I
[116]
mother
If you wish to
generate card
numbers outside
of Koha turn
this preference
Off. If you don't
turn this off, in
some cases you
may forget to
populate the
external number,
and Koha will
record the default
auto generated
number for this
patron.
Enter names
separated by
"
". This set of
values becomes
available for
selection in the
Guarantor field
when creating a
patron record of
type Child.
Chapter 7
System preference
memberofinstitution
System
preferences
tab
Patrons
Description
Default
values
Instructions
Whether
patrons can
be linked to
Institutions
Off
Turn this
preference
On, to link
patrons of type
Professionals
to specific
institutions.
You will need to
set up a patron
category for
institutions,
and then create
patron records
for various
institutions.
patronimages
Patrons
Whether to
allow use
of patron
images
Off
When adding
a patron
record for type
Professional,
you will be able
to select such
institutions to
link to the patron.
Turn this off
if you have
privacy concerns
or don't want to
store images on
the server due
to disk space
constraints.
Configuring acquisitions preferences
Koha's Acquisitions module is used to acquire Library items, usually through
purchases. Koha's acquisitions module allows:
Creation of vendors and budgets
Management of purchase suggestions
Creation of orders
Receipt of ordered items
[117]
Configuring Other System Preferences
Tracking of late or missing orders
Generation of claim letters
Unlike Cataloging and Circulation, relatively fewer libraries use Koha's
Acquisitions module, instead they prefer to manage the process manually
or on some other system.
Perhaps for this reason, Koha's Acquisitions module is a simple module and has
few system preferences. These preferences can be found under the Acquisitions tab.
elation
Patrons
Search
M»re n
4koha i
NO_LIBRARY_SET (
_.........
Search System Preferences
Check Out
arch the Catalog
Home > Administration > System Preferences
New °reference J
Admln
Acquisitions
Enhanced Content
System preferences admin
Acquisitions preferences
Preference
Explanation
Value
Edit Delete
Choose Normal,
Authontas
budget -based
S4!figihnns
D.kt:.
acquisitions
Circulation
gist
11BN/L1rJN
acquisitions: or Simple
bibliographic -data
Cataloging
Default Goods and
Services tax rate NOT
in %, but in numeric
form Fr 12 for 12 %),
set to 0 to disable GST
Logs
0A1-PMH
OPAL
Patrons
Searchng
Staff Client
Local Use
[118]
I kahaadmin ((cg Gut) I
Chapter 7
Here is an explanation of the Acquisitions preferences with instructions on how to
configure them:
System preference
acquisitions
emailPurchaseSuggestions
System
preferences
tab
Acquisitions
Acquisitions
Description
Default
value
Instructions
Whether to
use budgets
or not
normal
Set to "normal" to
use budgets. Set to
"simple" to make
Whether
to have
purchase
suggestions
Off
acquisitions without
budgets.
Turn "On" to use
e -mail. The e -mail will
be sent to the e -mail
address set up for the
system preference
KohaAdminEmail
Address.
e- mailed to
the Koha
admin or
to use the
Manage
suggestions
module
within Koha
gist
Acquisitions
Defaults
Goods and
Services Tax
Rate
0
"0" means GST is
disabled. To use GST
set to a numeric value,
for example. 0.12 for
12 %.
Configuring serials preferences
Koha's Serials module is used to manage subscriptions to periodicals. The module
is used to:
Create subscriptions with start dates and frequencies
Receive issues when they arrive at the library
Track missing or late issues
Track renewals of subscription
Generate claim letters for missing or late issues
Maintain routing lists to notify specific patrons when new issues are
received at the library
Like Acquisitions, relatively fewer libraries use this simple module, and there are
fewer system preferences here as well.
[119]
Configuring Other System Preferences
In version 3.02 there is no serials or subscriptions category. You can find related
system preferences by searching for the term subscriptions.
Ciro.lei or
Patrons
Sewell
More o
Deperbrrent of Library end Information Science (at) ( oselabs tog Qui) I 1,34
Search Si0om Ereferanoes' ÇhenE Dut
$emcN
Home e :d eirioirat10t1, Elsie 11 orefntenree
Prebi er :e
System preferences admin
to
all preferences
Preference
rrt
Edit Delete
It ON, extended suascrintrsn infant-ohm is displayed in the OF,:...,
ße.AC Sobse rípt¡ua 4topins
Specify hec. to 0,w subscription infonnotoe he the OPAC
ftenoveSetidlAddeSuartextìon
NON adds a new suggestion or serial subscription renewal
..___. _.
on
Value
E
; piny E%M.r rl y d Su binfo
Sofoco
Edit Cele,
......
S bsctiMionfíistont
Define the display preference tot senate Issue history m CPAC
SubscricfioaLoa
If ON sri
nlaoies
...
auascnhiors 00
O ON '- nFF :,.,,e
Soil
' i`e
;Iren
Here is an explanation of the Serials preferences with instructions on how to
configure them:
System preference
RoutingSerials
System
preferences tab
Cataloging
[120]
Description
Default
value
Additional
information
Whether
to turn on
routing lists
On
With this
preference
On, you can
setup routing
lists in Serials
subscriptions.
Routing lists
are ordered
set of names
that each issue
should be
circulated to.
Chapter 7
System preference
System
preferences tab
Description
Default
value
RenewSerialAddsSuggestion
Serials
Whether to
add a new
purchase
suggestion
when
renewing a
serial
Off
Additional
information
Turn this on,
if you want
a way to
remind the
acquisition
staff to
renew the
subscription
with the
vendor. A
new purchase
suggestion
will be listed
in the Manage
suggestions
module under
Acquisitions.
With this
preference
Off, the
subscription
will get
renewed in
Koha, but
you will need
to manually
SubscriptionHistory
The default
subscription
history
view in the
OPAC simplified or
full
Serials
[121]
Simplified
ensure that
it is indeed
renewed with
the vendor.
Turn to full if
you want to
show a full
listing of the
subscription
history in
the OPAC by
default.
Configuring Other System Preferences
Configuring OPAC preferences
Koha's Online Public Access Catalog (OPAC) is not just an online catalog; it is also
a self service tool for the patrons. Patrons can use the Koha OPAC to:
Find items by entering search terms or by browsing categories
Select items based on descriptions, ratings, reviews, and other useful material
Place holds on items that are not available at the time
Renew items they have borrowed
Make purchase suggestions
Review their borrowings, reading history, or fines
Request changes to their address and other personal information
Create and share reading lists
Learn about library policies or upcoming events or News
Koha offers an extensive set of OPAC preferences that control:
The static content on OPAC home page, from the page header to the content
in the main block of the home page
Tools that help patrons find, select, and manage their borrowings, such as
virtual shelves or listing of most popular items
Enhanced content that help patron select items, from Google jackets to
Amazon reviews
Patron access to features such as place holds or renew items
Configuring static content
We first configure the static content on the OPAC - the page header and footer, the
content in the main body, the navigation bar, and the logo.
[122]
Welcome to Koha...
Text added to OPAC Main User Block
stem Preference.
My OPAC Credits
These preferences allow us to change OPAC content without having to edit the
files on the server. It will help to have some HTML skills to maintain this set of
preferences. With HTML you can format the content with color, emphasis, fonts,
and font sizes.
Here is an explanation of these preferences with instructions on how to
configure them:
System preference
System
preferences
tab
Description
LibraryName
OPAC
Name that
appears
in the
browser's
title bar
opaccredits
OPAC
Contents at
the bottom
of the
OPAC page
Default value
Instructions
Enter your
Library's name,
something like:
Tailorbird
Children's Library.
Enter HTML
contents,
something like:
<p
style= "textalign :center ">
My OPAC
Credits < /p>
[123)
Configuring Other System Preferences
System preference
System
preferences
tab
Description
opacheader
OPAC
Contents at
the top of
the OPAC
page
Default value
Instructions
Enter HTML
contents,
something like:
<h3> Welcome to
my library < /
h3>
OpacMainUserBlock
OpacNav
opacsmallimage
OPAC
OPAC
OPAC
Contents in
the middle
of OPAC
home page
Contents
in the
navigation
block to the
left of the
page in the
Welcome to
Koha ... <hr>
Important links
here.
Enter HTML
contents.
Enter HTML
contents,
something like:
<a href = "www.
mywebsite.
OPAL
com" >My
Website < /a>
Web URL
Enter full path of
the logo, something
of an image
to replace
default
logo in the
OPAL
like:
ht tp : / /mys i t e .
com /logos/
logo.png
Logo's size should
be 120px *40px or
less.
Configuring tools for patrons
Koha's OPAC has sèveral tools that help patrons find, select, and manage items they
want to borrow. These tools include - Browse by Subject, Listing of most popular
items, virtual shelves, or reading lists, Book bag or cart, and a tool to allow online
browsing of shelves.
[124]
My Website
Welcome to Mlle...
Log in to Your Account:
Text added to OPAC Main User Block System Preference.
Login.
_._....__. ......... .........................._____
Here are the preferences along with instructions on how to use them:
System preference
OpacAuthorities
System
preferences
tab
OPAC
Description
Default
value
Instructions
Whether
to display
On
This will allow you to
search the Authorities
records.
"Browse by
Subject" link
below the
Search box on
the OPAC
opacbookbag
OPAC
Whether to
display the
"cart" or book
bag in the
mast head of
the OPAC
On
This will work when
you have authority
records entered and
indexed in the system.
The cart feature allows
users to maintain
a list of they want
to borrow and also
e -mail the list out.
You will need to
configure a mail
server to send the
e -mail out.
[125]
Configuring Other System Preferences
System preference
OpacTopissue
System
preferences
tab
OPAC
virtualshelves
OPAC
OPACShelfBrowser
OPAC
Description
Default
value
Instructions
Whether
to display
the "Most
Popular" link
below the
Search box on
the OPAC
Whether to
display the
"Lists" button
in the mast
head of the
OPAC
Whether to
enable the
Off
The link will display
a listing of items that
are circulated most
often.
On
Off
"Browse
Shelf" feature
in the call
To create and manage
lists use the Lists
module in the staff
client. Patrons can also
create and share their
reading lists.
For this to work, you
will need to have call
numbers entered in
field 952$o.
number
column in the
holdings table
Configuring patron access control
In this section we'll learn how to control what patrons can and cannot do on the
OPAC. These preferences control whether patrons can log on to the OPAC, change
their passwords, place holds online, renew items online, write book reviews, or
make purchase suggestions.
In general, most of these features are good to have and should be turned on. But if
your OPAC is not available to most patrons, then it might not make sense to take on
the burden of maintaining patron user IDs and passwords.
Here is a listing of these preferences along with instructions on how to set these up:
[126]
Chapter 7
Description
Default
value
Instructions
opacuserlogin
System
preferences
tab
OPAC
Whether to
allow user
login in the
OPAC
On
If you turn
this on, you
will need to
shoulder the
burden of
administering
user names
and passwords.
Initial
passwords
will have to be
distributed in a
secure manner.
You might
get ongoing
password reset
requests.
OpacPasswordChange
OPAC
Whether to
allow patrons
to change their
passwords on
the OPAC
On
Set to Off if
you use LDAP
Whether
to allow
renewals via
the OPAC
Off
System preference
OpacRenewalAllowed
OPAC
[127]
authentication.
In this case
passwords are
not maintained
in Koha, but
on the LDAP
database.
Some of the
scenarios where
you might want
this turned
off are, if you
maintain hold
requests outside
of Koha. If you
allow online
renewals, the
system will
allow renewals
even on items
where there are
pending hold
requests.
Configuring Other System Preferences
System preference
RequestOnOpac
System
preferences
tab
OPAC
Description
Default
value
Instructions
Whether to
allow patron
holds on the
OPAC
On
You might want
to turn this off
if most of your
patrons do not
have access to
the OPAC and
you maintain
hold requests
outside of
Koha.
reviewson
suggestion
OPAC
OPAC
Whether to
allow patron
reviews
of catalog
records on the
OPAC
Whether
to allow
purchase
suggestions
to be made on
the OPAC
On
On
Reviews
entered by
patron will
be sent for
moderation by
the staff. The
comments can
moderated in
the Comments
section under
Tools.
Patron purchase
suggestions can
be managed
via the Manage
suggestions
section under
Acquisitions.
Configuring enhanced content
Koha's enhanced content features help patrons select items by displaying content
such as book jackets, book reviews, and ratings. This content is in addition to the
regular catalog record data such as Title, Author, or Subject that is available on the
OPAC, hence the term enhanced content.
[128]
Chapter 7
Search
.I..tt e R0.;yry(,
top( INSeck,
Important links here.
Building a virtual library
O Normal View
EN MARC View
OiErc
ctr: MARC .Wew
TR' Add to Your Cart
by Hanson Ardis' Levin. Bruce Lubotsky.
Search for this title in:
Type'. gEisce,
Publisher: ie nl:':oeen Seifeeee fui,. cTCel
ÿitet
ISBN: IeSI
Llpran££.LV.'Lotl9S.111
- Other Databases ïfîemnk
r .g
F _rn+sn
[s[HS ('
R let d áUfle4ts
'i
$IAçaa .._ q.._ x..... asanejo TIUSrä- ......,....e-:...00_5ig
i
-
I
r:íi
Scbulari
O nhno Stores
[Bookfindel.c ir::
Sere Reece et
n<
Holdings (O )
Dos:liptions
Comments
Atrlaxan Reviews
No physical items for this record
Nt
Koha integrates with Web Services such as those provided by Amazon and Google
to display such content. Most of these preferences are On or Off switches; others,
especially Amazon -related preferences, require the appropriate keys or IDs to be set
up. Some of these services are paid subscriptions; some may require login credentials
to be configured.
[129]
Configuring Other System Preferences
Here is a listing of select enhanced content preferences along with instructions on
how to set these up:
OPACFRBRizeEditions
OPACAmazonEnabled
System
preferences
tab
Enhanced
Content
Description
Default
value
Instructions
Whether to
display Book
Jackets and
reviews from
Amazon
Off
To get this to work,
you will need
to set values for
the preferences
AWSAccess
KeyID and
AmazonAssoc
Tag. Get the key and
tag from here:
http://aws.
amazon.com.
OPACAmazonCoverlmages
OPACAmazonSimilarltems
GoogleJackets
Enhanced
Content
Enhanced
Content
Enhanced
Content
Whether to
display book
jackets from
Amazon
Whether
to display
Amazon's
similar items
feature
Whether to
display Book
Jackets from
Google Books
[130]
Off
Off
To get this to work,
you must turn on
OPACAmazon
Enabled.
Use either Google
or Amazon book
jackets.
To get this to work,
you must turn on
OPACAmazon
Enabled.
Off
Use either Google
or Amazon book
jackets.
Chapter 7
OPACFRBRizeEditions
OPACFRBRizeEditions
System
preferences
tab
Enhanced
Content
Description
Default
value
Instructions
Whether to
display an
editions tab in
the item details
page
Off
To get this to work
you will need one
of the FRBR Web
Services listed
below turned on.
Here is a definition
The editions
tab will contain
the various
editions of a
particular title
of FRBR from
Wikipedia:
"Functional
Requirements
for Bibliographic
Records - or
FRBR, sometimes
pronounced
/'f3rber/ - is a
conceptual entity relationship model
developed by
the International
Federation
of Library
Associations and
Institutions (IFLA)
that relates user
tasks of retrieval
and access in online
library catalogues
and bibliographic
databases from a
user's perspective.
It represents a more
holistic approach to
retrieval and access
as the relationships
between the entities
provide links to
navigate through
the hierarchy of
relationships."
[ 131 ]
Configuring Other System Preferences
OPACFRBRizeEditions
ThingISBN
XISBN
System
preferences
tab
Enhanced
Content
Enhanced
Content
Description
Default
value
Whether to use Off
the ThingISBN
web service to
populate the
editions tab
Whether to
Off
use the OCLC
xISBN Web
Service to
PINSEISBN
Enhanced
Content
populate the
editions tab
Whether to
use the OINES
TagsEnabled
Enhanced
Content
To use this system
preference you will
need to first turn on
OPACFRBRize
Editions.
To use this system
preference you will
need to first turn on
OPACFRBRize
Editions.
Off
To use this system
preference you will
need to first turn on
OPACFRBRize
Editions.
On
It is important
to consider if
you need tags to
be moderated,
see preference
TagsModeration
OISBN Web
Service to
populate the
editions tab
Whether to
allow tagging
of items in the
Instructions
OPAC
below.
TagsModeration
Enhanced
Content
Whether tags
entered by
patrons need to
be moderated
by Library staff
Off
Tags can be
moderated via the
Tags section under
Tools.
Configuring styling and appearance
In this section we will learn about preferences that control the styling and
appearance - colors, fonts, font size, or background image of the Koha OPAC
and its staff client.
Most libraries certainly want their OPAC to have a polished look, but it might be
worth doing up staff client as well, as the default staff client pages are very plain.
Koha has several system preferences that control styling and appearance, with more
options for the OPAC and fewer for the staff client.
[132]
Chapter 7
These preferences related to:
Themes or templates: These are a broad set of elements - style sheets,
JavaScript programs, or header and footer programs - that control not
just styling and appearance but also the behavior of the screens.
Stylesheets: Stylesheets are CSS files, and in some cases XSLT files that relate
to a narrower set of styling and appearance elements - font, color, font size,
or background images.
To use these preferences effectively you will need some HTML and CSS skills.
Configuring OPAC styling and appearance
Let us look at OPAC related preferences. These preferences relate to OPAC themes,
CSS style sheets, and some XSLT style sheets that control the display of MARC data.
Lop arm Your Account) Search history KI
"kw,wrdl a " returnee 22 malts O
Retina saur search
Availability
LHte esos roa.aaae
SJadzii
çlsu[2dt
n7
Hamlet
Liabigithatt
aw. a Pace Fou
Abe to.
bi Shakaspearn WA6an
'¡Pe ® E
Libraries
ra sr ea
Authors
-
nxar«t.. _
.aaahxt,
.
d ,<r
piseaHoN
Aaór..s
-
.r.
_Adatoeart
ghetwoaaa. Watt.
Ruvtmed Fdt
efamlet
sm aeape
by Shakespeare. William
aerot:raemat artabe
Bowan. LS..
E
More
WNìher,rmr o',;kkx.uutn, iW
AvehEMy Yr '. mrtG'utAlCtecxrl14{07
Ac9ópn'
plec.eHold k Add teCad
Soties
liaalazaspZAPPa
âot msatutrtaoe wa..
_51
3.
Hamlet
by Shakespeare lNiOiam : i7 rband, Alan
Owertt casettes -.
deao q-..
Pieces
, a
0,o; Formed:
"/pt ® N.,
pa
Topics
Actace.
boa
Jam
bums
aims
Affaaes
Slow Mars
Laarary to. ect.,Wee
flñ.erfiwrcr'a 19:'
Bata
'i
4.
3 Place HAN
4 06115 Cart
The house el blue mandes
by Deader. David .
f®mel tete
rya: ei em
Avat.sqy
AcI6AS. H Rm.
In general, to set up new themes of style sheets you will need access to the Koha
server. But you also have the option of using a style sheet that is available on the
web or writing CSS within the system preference.
[133]
Configuring Other System Preferences
Here is a listing of OPAC styling- related preferences along with instructions on
how to set them up:
System preference
System
preferences
tab
Description
Default
value
Instructions
opacthemes
OPAC
These themes
control the
style and
appearance
and lot of
functionality
prog
The default theme
"prog" is available in
the folder /kohatmpl /opac - tmpl
/.
You can copy the
default theme folder
and create a new
theme.
Enter the name
of the new folder
as value of the
system preference,
something like:
mytheme
o p aclayo utstylesheet
OPAC
Stylesheet
that controls
the layout in
the OPAC
opac.css
The default CSS file
opac . css can be
found in the folder /
koha- tmpl /opactmpl /prog /en/
css/
Copy the default
stylesheet to create
a new stylesheet.
Modify it as you see
fit.
Enter the name of
the new CSS file
as value of the
system preference,
something like:
myopaclayout.css
[134]
Chapter 7
System preference
System
preferences
tab
Description
opacstylesheet
OPAC
This contains
the Web
Default
value
Instructions
This is useful if the
stylesheet you want
to use is maintained
on a different server.
Specify the full
URL including the
http : //, something
URL of a
stylesheet
that will
override
the default
stylesheets of
Koha
like:
http://mysite.
com/css/
mystylesheet.
css.
OPACUserCSS
OPAC
This is useful if you
want to make minor
modification to the
style without having
to edit the files on the
server.
Simply enter
the code in the
value box of the
system preference,
something like:
This contains
the CSS code
that will
override
default CSS
settings
body
{
background:
grey;
}
XSLTDetailsDisplay
OPAC
This
preference
allows us
to decide
whether to
Off
XSLT stylesheets are
a more powerful way
of formatting the
content.
use XSLT
The corresponding
stylesheets
or regular
be found at /koha-
XSLT stylesheet can
CSS ones
tmpl /opac -tmpl/
to control
display
prog /en /xslt /.
of MARC
record
details
[135]
The file name is:
MARC21s1im2OPAC
Detail.xsl.
Configuring Other System Preferences
System preference
System
preferences
tab
Description
Default
value
Instructions
XSLTResultsDisplay
OPAC
This
Off
The XSLT stylesheet
preference
allows you
to decide
whether to
can be found at /
koha- tmpl /opactmpl /prog /en/
xslt /.
use XSLT
The file name is:
stylesheets
or regular
MARC21s1im2OPAC
CSS ones
Results.xsl.
to control
display of
record search
results
Configuring staff client styling and
appearance
Let us look at staff -related preferences. As with OPAC preferences, to set up new
themes or templates you will need access to the Koha server, but you also have an
option of pointing to an externally hosted CSS file.
These system preferences can be found under the Staff Client tab.
[136]
Chapter 7
Circulation
Patrons
Search
NO_LIBNARY_SET ( kohaadmin (Lág_CgE1)
Mare
4koha
is
Search System Preferences _ Check Out
hi
Search the Catalog
Home , pdenínistration . System Preferences
Nev Preference
Admìn
Acquisitions
System preferences admin
StaffClient preferences
Preference
Enhanced Content
Value
Explanation
.....................
Edit Delete
Define the color
Authorities
intrenetcolorstylesheet
Cataloging
Circulation
thet
use ín the
Client
Edit
Leta
Click to Edit
Edit
Delete
lick to Edit
Edit
Delete
Edit
Cuidto
Stto ag
Add a block of
HTML that will
IntranetmaínUserblack - display on the
intranet home
11 f3N1L.1 GN
Logs
IntranatNav
CíAt-PMH
OPAC
Patrons
tntranetstytesheet
Enter a complete
URL to use an
alternate layout
stylesheet in
Intranet
....................... _....
Searching
Staff Client
Use 111ML tabs
to add
navigational links
to the left -hand
navigational bar
in the Staff Client
tntranetuser s
Custom
javascript for
inclusion in
Edo Delete
Click to Edit
Intranet
Local Use
template
. Define the
preferred staff
interface
Edit
Delete
template
Here is a listing of preferences related to the styling of the staff client, along with
instructions on how to set them up:
System preference
template
System
preferences
tab
Staff Client
Description
Default
value
Additional information
Similar to
a theme
for OPAC.
Templates
control style,
appearance,
and some
functionality
in the staff
client.
Prog
The default theme
"prog" is available in the
[137]
folder /koha -tmpl/
intranet - tmpl /.
You can copy the default
template folder and
create a new template.
Enter the name of the
new folder as value of
the system preference.
Configuring Other System Preferences
System preference
intranetstylesheet
System
preferences
tab
Staff Client
Description
It contains the
Web URL of a
stylesheet that
will override
the default
stylesheets of
Koha.
Default
value
Additional information
This is useful if the
stylesheet you want to
use is maintained on a
different server.
Specify the full url
including the http:
something like:
//,
http://mysite.
com/css/
mystaffstylesheet.
css.
Configuring general preferences
And finally we turn our attention to configuring other general Koha features:
Messaging: Is related to how Koha communicates with patrons
Security: How access to the OPAC and the staff client is secured
Search: How catalog search can be tailored to a Library's needs
Configuring messaging preferences
Libraries need to communicate with patrons for a variety of reasons -to inform them
of account creation, or of upcoming events, or to remind them of overdue items.
Sometimes patrons too need to communicate with libraries, for instance to request
a change in their address, or to make a purchase suggestion.
[138]
Chapter 7
Koha can send messages to patrons via e-mail or SMS. Most Koha libraries use
e -mail. We are already familiar with setting up overdue notices and trigger from
previous chapters. In addition to overdue notices Koha can send other types of
messages on upcoming events, when holds are fulfilled, or when items are nearly
due. Libraries can choose to allow patrons to set their individual messaging
preferences or the Library staff can set these up for patrons.
C,culanon
Patrona
Search
'koha
Department el Library and information Science aeLr ! osslabe ELS..`C3tt 1 C i t
Mora e
creel s samaarre
.ort
Search Fattens
.
s,::n A,
rL
Hcrn= nt¡11rona -. Patrarl Delans tor tJ':aama-h. t.: ": mse":1.:.:
an
Nikam Abhljit
Crane Peeve:re
i23519001223672i
Manage patron messaging settings
Doy ín advance SMS Emba Digests rely? 055 Dona notify.
Message Queue
(-stags,/ VISITOR
Hone Library Vidya Varda
typa
Subject
college of Enginearing
erns.
rode Pieces on nets.
loie
Pie pared
10-08-12 1211 32:
Cnech Can
c
Fin
.0101E
IMessaging
[139]
Configuring Other System Preferences
Here is a listing of messaging -related preferences along with instructions on how to
set then up:
System preference
EnhancedMessagingPreferences
System
preferences
tab
Patrons
Description
Default
value
Additional
information
Whether
to allow
enhanced
messaging
preferences
Off
With this turned
on, an additional
Messaging tab
becomes available
in the OPAC and
the staff client.
Patrons or Staff
can choose to
receive messages
on events, nearly
due items, or
holds that are
filled.
AutoEmailOpacUser
Patrons
Whether
to send an
Off
e -mail to a
patron upon
account
creation
with
account
you have patron
e-mail addresses
handy when
creating patron
details
emailLibrarianWhenHoldIsPlaced
Circulation
Whether
to send an
e -mail to
the library
e -mail
address
when a hold
is placed
[140]
Set this to On, if
you have a mail
server configured
and in general
Off
accounts.
Turn this On
if library staff
monitor e-mails
more often than
the Koha holds
reports.
Chapter 7
System preference
AutoEmailPrimaryAddress
System
preferences
tab
Patrons
Description
Default
value
Additional
information
The default
patron
email
address to
use when
sending
messages
Off
A patron record
may have one
or more e-mail
addresses. This
preference
controls how the
e-mail address is
selected.
Select email if you
want the home
e -mail to be used.
Select emailpro
if you want the
office e -mail to be
used.
Select B_email
if you want the
alternate e-mail to
to be used.
Select
cardnumber if
you have e -mail
addresses in the
card number field.
In above cases if
the field does not
have an e -mail
address, notices
will not be sent.
Select "Off" if you
want the first
available address
to be used, the
system checks
email, emailpro,
and B_email in
that order.
[141]
Configuring Other System Preferences
System preference
KohaAdminEmailAddress
System
preferences
tab
Admin
Description
Default
value
Additional
information
This
root@
address
is used to
both send
and receive
localhost
Make sure this
is set to a valid
e-mail address.
It is also a good
practice to set up
e-mail addresses
for each library
in Libraries,
Branches and
e -mails
Groups under
Administration.
Configuring security preferences
Securing access to the OPAC and especially the staff client is important to any
library. Koha's offers several ways of securing access:
Requires valid login ID and password for both OPAC and the staff client
Only staff users can access the staff client
Staff access to modules with the staff client can be restricted using
granular permissions
Access to the staff client can be restricted to IP address ranges
In multi- library installations, access to other libraries patron, circulation,
and catalog data can be prevented
Most security- related preferences are under the Admin tab.
[142]
Chapter 7
Circulation
Patrons
Search
NO_LIBRARY SET ((St) I kohaadmin (Log Out) I III
More xi
4kaha
Search
I
Search System Preferences i
Search the Catalog
gidack Out
Howie .Administration System Preferences
I
Admin
Acquisitions
New Preference
System preferences admin
Admin preferences
Preference
Enhanced Content
Autoberation
Cataloging
De bugLevel
Define the level of
debugging
information sent to
the browser when
errors are
encountered (set to
It in production).
0=none, 1=some,
2=most
.......
delimiter
Define the default
separator character
for exporting reports
Franieworksloaded
Frameworks loaded
through weGinstaller
GranularPer missions
Use detailed st aff
se permissions
ImkpendantBranches
If ON. increases
security between
libraries
it 8N.kt ON
0Al-FPAH
OPAC
Searching
ON O OFF dace
access to the staff
client from
unauthorized IP
addresses
Circulation
Patrons
Edit Delete
Eitplanation
If ON, IP
authentication is
enabled, blocking
Authorities
Logs
e
tied
Saco
,
lauth val.sqlleutherities normal mar,.
-
.............
Start Client
Local Use
insecure
.
ur
-
If ON, bypasses all
authentication_ Be
O OFF
'1
Edit
Delete
Edit
Delete
tdit DLelete
.
Suej
Edit
Delete
- ON 0 OFF Save
Edit Delete
ON O OFF Save
Edit Delete
Here is a listing of security-related preferences with instructions on how to set
them up:
System preference
minPasswordLength
System
preferences
tab
Patrons
Description
Default
value
Instructions
The minimum
length of
OPAC and
staff client
passwords
3
The longer the
minimum password
lerigth, better the
security. A value of 6
is reasonable.
[ 143 ]
Configuring Other System Preferences
System preference
Description
Default
value
Instructions
IndependantBranches
System
preferences
tab
Admin
Whether
to increase
security
between
multiple
libraries or
branches setup
on the system
Off
AutoLocation
Admin
Whether to
block access
to the staff
client from
unauthorized
IP addresses
Off
Staff with super
librarian privileges
will not see any
difference.
Other staff users
will not be able to
view patrons of
other libraries, they
will not be able to
edit items of other
libraries nor circulate
items of other
libraries.
Turn "On" to block
access.
GranularPermissions
Admin
Whether to use
more detailed
permissions
for staff users
Off
timeout
Admire
Duration after
which a user's
session should
time out
12000000
[144]
Make sure you
set up authorized
IP addresses for
each library. This
can be done from
Libraries, Branches
and Groups under
Administration.
Turn this On if you
need more granular
permissions when
setting permissions
for staff users.
More granularity
becomes available
for tools, circulation,
and serials modules.
This is in seconds.
Reduce this value
to decrease the
risk of someone
misusing another
staff member's idle
session.
Chapter 7
Configuring search preferences
The catalog search tool is available on both the OPAC and the staff client. It is the
most frequently used tool. Although the default search -related system preference
should work for most libraries, it might be a good idea to consider changing some
of these preferences to better tailor the search to your library's needs.
The search related system preferences can found under the Searching tab.
Circulation
Patrons
Search
4koha
NO_LIBRARY SET ad) I kohaadrnin O og Out) I LJ
More.
J
Search System Preferences
Search Ì
Search the Catalog
Check Out
Home > Aeminlstiution > System Preferences
New Preference j
Atlmin
Acquisitions
Enhanced Content
System preferences admin
Searching preferences
Edit: Delete
Explanation
Preference
AdvancedSearchTypes
Select which set of fields
comprise the Type limit in the
advanced search
Edit
Delete
Cataloging
defaultSerthteld
Specify the default field used
for sorting
Edit
Delete
Circulation
defaulSonOrder
Specify the default sort order
expandedSearehOptíon
If GIN, set advanced starch to
be expanded by default ß,
numSearchlTesults
Specify the maximum
number of results to display
on a page of results
OPACdefauttSertField
Specify the default field used
for sorting
OPACdefaultlo 0
Specify the default sort order
Authorities
118Ni_i ON
Logs
OAI-PME
OPAC
er
statuses : show only the
status of items in result list.
itemdisplay : show full
Patrons
Searching
asr.
Egg tLI?
tame
ON O OFF
ava
.eievsin F
Edit
Delete
Edit
Delete
Edit Delete
Edit Delete:
_ statuses
edit
Specify the maximum
number of results to display
on a page of results
(2G
Edit Delete
If ON. query truncation is
enabled by default
O ON
OPACitemsResultuíiste
p y location of items
Delete
(b ranch Ho catio ne-ca Iln umb er)
as in staff interface
Statt Client
Local Use
OPtEndynSeArchatsults
. OueryAutáiruncate
[145]
OFF
Edit óei=t.
Configuring Other System Preferences
Here is the explanation of the search -related preferences along with instructions on
configuring them:
System preference
AdvancedSearchTypes
expandedSearchOption
QueryRemoveStopwords
System
preferences
tab
Searching
Searching
Searching
Description
Default
value
Instructions
Whether
to use Item
types or
Collection
codes as
search
limits in the
Advanced
Search tool
itemtypes
Search limits
allow one to
search within
item types or
collection codes.
Whether
to display
additional
search
options in
the advanced
search page
by default
or only
when "more
options" are
clicked.
Off
Whether to
remove stop
words from
search query
strings
Off
[146]
To use collection
codes, your
records must
have collection
codes set up in
the collection
code field 952$8.
Turn "On"
to display
additional
options by
default.
To see what
additional
options are
available, click
on the More
Options link in
the Advanced
Search page on
the OPAC.
If turned on,
the system will
automatically
remove from
search strings
words that
are set up in
Stop Words
under Koha
Administration.
Chapter 7
Summary
Here is what we learned in this chapter:
How to browse system preferences categories or to find them using the
search tool
Configuring Patrons, Acquisitions, and Serials preferences
Configuring OPAC preferences - static content, tools for patrons, patron
access control, and enhanced content
Configuring styling and appearance on the OPAC and the staff client
Configuring messaging, security, and search related preferences
This completes our application configuration work and we ready to use Koha. In
the next chapter, we will conduct a test drive of our newly installed and configured
Koha installation.
[147]
8
Test Driving Your Koha
Installation
We have completed the server setup and the application configuration. We are now
in a position to take our Koha installation for a test drive. We will look to complete a
transaction cycle in each of the primary Koha modules:
Patrons
Cataloging
Circulation
Acquisition
Serials
We will also test:
The reports module
The catalog search on the OPAC
Patrons create, search, and view
patron record
Let us first create a patron record. A patron record includes the patron's personal
details such as name, date of birth, or address. Staff also need to specify the library
the patron belongs to and his /her patron category. A user ID and password for use
on the OPAC can also be set up.
Test Driving Your Koha Installation
Creating a new patron
To create a patron record, navigate to the Patrons module using the menu bar at the
top of the page and click on the New button in the Patrons home page. You will need
to select the appropriate Patron Category first.
,ration
Patrons
More
`äaa.ch
4koha L
NO_LIBRARY_SET (5:;Ìt) I kohaadmin (LOO cut) I LLI
1 order by
Search Patrons
Cher, Ott
Surname
...............
rh
he Catalog
Home >Patrons : Savitre Sirohi Mod'dy Staff patron
Check out
Modify Staff patron Savitra Sirohi
Patron identity
Details
Salutation:
Fines
Surname:
Circulation History
ModlFlCatÍan Log
Fhst Rann:
12nrottn
Date of birth:
Initials:
Other name:
Female
-
Male O N/A
Main address
AMA nos:
Ad51íGSS k:
lirv. 1'.::.:
ZipPOSlal code:
Contact
Phone ;hereof:
Phone (work):
While you are creating the patron, you should verify the correctness of the following
system preferences and administrative settings related to:
Borrower's mandatory fields
Membership expiry date calculation
Auto card number generation
Minimum password length
[150]
Chapter 8
Searching for a patron
Let us make sure the patron has been saved successfully. Use the Search Patrons tab
under the search box to search for the particular patron.
Circulation
Patrons
Search
4kaha
NO_UBRARY SET
Mare n
(ail
I kohaadmin (i ay Out
I
ill
order by:
Surname
.............
___...........
.
catch the Catalog
Search Patrons
Home 'Flat= Patron Details tor SaviSa Sirohi (1 )
Savitra Sirohi )1)
My Address 1
My Address 3
City
12345578
etr:ltzv3 c S
Category. Staff (S)
Home Library. Business
Administration Library
Check Out
Edit
1
i
Change Password
Savitra Sirohi {1)
Library use
My Address 1
My Address 3
City
Home:
12345578
Email (home):
ah- nexeez. corn
Card number:
Borrowernumber:
Category:
Registration date:
Initials:
Date of birth:
Details
Fines
Sex:
Staff (5)
7312512010
Expiration date:
Registration
branch:
031:5!2013
OPAC login:
savitra. sirohi
OPAC password:
Edit
1
Business Administration Library
'"'"
Circulation History
Edit
Modification Log
Alternate Address
Alternative Contact
Surname:
First name:
Address:
Address )cent.):
City, State:
Zip /Postal Code:
Phone:
Cataloging create, search, and view
bibliographic and item record
In this section let us create a complete catalog record -a bibliographic record first,
and then an item record under it.
[151]
Test Driving Your Koha Installation
Creating a bibliographic record
To create a new record, navigate to the Cataloging module using the More
drop -down list in the menu bar on the top of the page. Then use the New
Record button. You will need to select the appropriate MARC framework first.
Circulation
Patrons
Search
More to
NQ LIBRARY SET (aoti kohaadmin (Log Out) I
)dir E Garalodina Editing Marketing manatiement
1.4
4am a petaTective /PN9p Xatier.. [et ail (Record Number 1)
Editing Marketing management : an Asian perspective 1 Philip Kotler ... (et allf.
(Record Number 1)
í
iv Save
3 x39.58 Search
0
2
1
240 r
Change framework.
3
4
5
E aaks. b.oklst
6
7
5
9
UNIFORM TITLE -
243 L.
- COLLECTIVE UNIFORM TITLE -
245 F.
TITLE
rr:g managama
Phtlrp Kotler
246
-'JARYINGFORMOFTITLE.
!
250
..
let al
-
-EDITIONSTATEMENTlath ear
260
.
,
- FrUBLISHIEO- FUSLICATION. DISTRIBUTION, ETC. (IMPRINT)...
r.
You can use the Z39.50 search feature to find and import records from the Library of
Congress and other Z39.50 servers.
While you are cataloging the record, you might want to cross check your MARC
framework settings:
Fields displayed
Mandatory fields
Fields under Authority Control
Fields under Authorized Values control
[152]
Chapter 8
Creating an item record
Once the bibliographic record is created, you will automatically move to the Add
Item screen.
Add Item
HDlds
[Checkout history
Modification log
o - Withdrawn status
f - Lost status
2 - Source of classification or
shelving scheme
3 - Materials specified (bound
volume or other part)
4 - Damaged status
Dewey Decimal Classification
5 - Use restrictions
7 -Not for loan
8 - Collection code '
Text Books
a - Permanent location "
Business Administration Library
h - Current location
Business Administration Library y
v
c - Shelving location
General Stacks
d - Date acquired "
01.6-64-1 S _..__._..................
.:............____-
e - Source of acquisition
f - Coded location qualifier
g - Cost, normal purchase price
[
h - Serial Enumeration 1
chronology
j - Shelving control number
o - Full call number
p - Barcode
t - Copy number
....
[BALI 0643661
..................._
.............i-
L..
u - Uniform Resource Identifier
v- Cost, replacement price
t
w - Price effective from
x - Non -publie note
y- Kohagem type"
[
I
Books
z - Public note
Add den,
While adding the item record, you might wánt to cross check your MARC
framework settings:
Fields displayed
Mandatory fields
Fields under Authority Control
Fields under Authorized Values control
[153]
Test Driving Your Koha Installation
Searching for the record
Let us now make sure the bibliographic and item records are saved properly. Use the
Search the Catalog tab under the search box to search for the record you just added.
Circulation
Patrons
Search
4koha
M
ND_LiDRARY_SET i5at,, I kohaadmin (Log Dug 112 j
nit
heck In
The..
Search the Catalog
Home , Caialeg , Details for Marketing management
d New
Add to List
'ace Hold
Normal
Marketing management : an Asian perspective /
MARC
Additional Authors:
. ISBN: 0131982321
Copyright: 2006
o Kotler. Philo
Published by: Prentice Hali. (Singapore ; I New York :j
Description: ennui, 830 p.: col. ill.: 28 cm.
ISBD
Items
Holdings
Ha¡ds
Item type -
Check-cut !">istary
Descriptions
Location
Collection Call Number
Business Administration Library Text Books
Status
Last seen
Barcode
Available 03/2412810 - EAL1_ 202L20.
Moortic ffiion lug
rr..
Find:
¡
r
:..:
;.Previous
?.Neat
Highlight all
Maters case
Circulation check -out, check -in, and
view circulation history
Now that we have a catalog record and a patron record, we are in a position to test
circulation. We will perform a check -out operation followed by a check -in operation.
[ 154]
Chapter 8
Checking out
First navigate to the Circulation module using the menu bar on the top of the page.
Then enter the name of the patron or the patron's card number in the search box.
Make sure you are using the Check Out tab under the search box.
station
Patrons
Search
Business Administration Library frét} I kohaadmin (Log Dual [? J
More s
4koha L
Submit j
Check Out
Hmr' e Circulation > Checkouts
Savitra Sirohi (1)
My Address 1
My Address 3
Search the Catalog
Check In
Santa Sirote
Edit
Change Password
gg. Print
[-More
Checking out to Savitra Sirohi (1)
City
12345679
ebon.rvz.corn
Category: Staff (S)
Home Library: Business
Administration Library
I
Check Cut j
_.p. ?,.av Dc- ear,_:
Remember for Session:
Cheek Out
Cheokont(s)
Details
O Holds
Due date r
Fines
D6/06201::
Title
y
be
Marketin Y._
märet
by
_
.1ç meat,
Y Bk.
Type
n
Cell no rt
()arcade
BALI OLD D `
Renew? Check In?
Cneck..lr.
Circulation History
Renew Checked Items
I
Renew All
Modification Log
Once you click on Submit, you will enter the barcode of the item to be checked out.
During the operation you should verify that the due date is calculated in accordance
with system preferences or administrative settings related to:
Calculation of due date
Holidays setup in the calendar
[155]
Test Driving Your Koha Installation
Checking in
To check in, use the Check In tab under the search box. You will need to enter the
item's barcode.
Circulation
Patrons
Search
4kaha
Mere e
Business Administration Library Set I kohaadmin
utnut
Check Out
Nome. Circulation
Cvt) 11.11
name
earch t e Catalo..g
Check ln
Check In
Options
Enter item barcode w
Submit
...
Forgive overdue charges
Dmpbox mode
Checked -In items
Due Date
Title
05/OF2010 Nlarkeuna management
Anther
Barcode
Type
Patron
- BALI0030001 Elk TUT Srrohr Sucdru
Note
i-S}
Viewing circulation history
Let us verify if the check -out and check -in operations were successful. Find the
patron using the Search Patrons feature. Then click on the Circulation History tab
to find the check out and check in records.
[156]
Chapter 8
Circulahon
Patrons
Semen
4koha I
Business Administration Library (WI osslabs ILOVA I al
More a
order by Surname
Search Patrons
Check Out
Search
Search the Cutyag
Home Patrons Reading Record tor Saida Sirohi
Sentira Sirohi
F' Ede
'KC chila
CesagePoseecel
'7. Pm*
(23529001223685)
Reading Record
Ssrnstng Last HO !terra Show,4_41Ligma
Airthg4
idsdoung
kr dunindis
COHN. Bandode Wombat OfitenoWahl Date Due Rearm Date
09 30 2013 34142110
bec630.
Ham Aleeander 6848
Pity Address
Sly City
1234678
Category: Under Graduate
Student rUGS:
Horne Library BUSiiteSS
Administration Library
Check Out
Details
Fines
Circulation History
modtecation Log
blessagirg
Acquisitions create an order, receive
shipment, and view budget utilization
To test the Acquisitions module we will create a budget, a vendor, and an order
basket. We will then receive the shipment and finally test the impact of the order
on the budget availability figures.
(157]
Test Driving Your Koha Installation
Creating budgets
Navigate to the Funds and budgets section under Koha Administration. First create
a Fund by entering a code, a name and optionally, indicate to the library what the
fund is for. Then click on the Add Budget link. Enter the Fund and the Budget
amount. Optionally, enter in the Library what the budget is for and the Start date
and End date.
Circulation
Patrons
Search
4koha
More w
Business Administration Library
Gade
Library:
Search Funrts
he
et
I kahaadmin (Log Out) I L?.1
--
Search the Catalog
Home .Admmslration, Budgets
System Preferences
Budgets
System Preferences
Search Budgets
Basic parameters
Libraries and groups
Funds and audoats
Currencies and exchange
rates
Fund:
Library.
Item t gLa
Start date:
Patrons and circulation
Patron types and
Cities and toms
gij5
sates
_
Enddate:
Budget amount:
Road..tEBss
N{
Patron attnhate types
Circulation and tines rules
Catalog
Authorized values
MARC R:h' :,iogranhir.
ñamewcrh
h o'ha to MARC roauuu
MARÿ...SLW Sg[uhir
framework test
lino
Fund
GEhI
Lihrmy
Start date
End dota Budget amount
..
...... ..
Bus imss.Admmistrati on Library 441019_010 03.91f24í1 ;SC100.00
Actions
Edit
L?edgt
AM.Y.TÍty tyPrs
Classification sources
Record rnatchmg rules
Additional parameters
azstR .tàór Js
Z3iJ NtJ Client Targets
Creating a vendor
Before we create an order basket, we need to create a vendor -a book seller or a
publisher. Navigate to the Acquisitions module using the More drop -down list.
Then click on the New Vendor button to enter the vendor details.
[158]
Chapter 8
Circulation
Patrons
4koha
Burines Administration Library Cast) i kehaadmin (.Lsy 1!r_)
Moe
Search
LL1
Submit
0
Orders Search
Vendor Search
Home ,Acquisitions : Search for Vendor I
Late orders
Manage suggestions
Funds and Budgets
rrd rs
e Edit Yendci
Hew Order
New Vender
Pecelve Shipment
A Test Vendor
Ordersuite
Order
Company
Add ord }r Rer rune shipmrnt A Test Vendar No pending baskets
Creating orders
To create an order basket click on the New Order button on the Add order link.
Once you enter the order details you should see an order basket summary. You can
modify the basket at this stage. Once the order is finalized, click on the Close this
basket link.
Circulation
POOOns
Search
4koha
Business Administration Library (4o0) I kohaadmin ¢og.Qufl I 12.1
Mora s
Vendor Search
Orders Search
Hore, Acquisitions 'A.TestVendar'Basket (l) ror ATestvendor
Late orders
VandOO sunoestlens
Funds and Budges
Basket 9 for A Test Vendor
Basket Details
Basket number, 1
Managed by
Open on: 04/17.2010
For vendor ID.
1
Invoice number
Close this basket
Order Details
Title
Order
Marketmc mau moot
Publisher
ISBN
RAP
SubTetal
250.00
OST pIO%)
OJO
TOTAL PAR)
250.00
Add To Order
. From an existing record.
From a Suggestion
From a new lemma) record
[159]
Ory.
Est.
:Prentice Hall. 50.00 47.50
011982321
Total
Fund
Modify Delete
:97 5D General Stacks (_Aztiiy
5
5
237 50
5
237 50
Al
L +lots
Test Driving Your Koha Installation
Receiving shipments
To receive a shipment, click on the Receive Shipment button.
Circulation
Patrons
Search
4kaha
More r
Business Administration Library (Set) I osslabs (Loa Out) I L21
...........
t
Vendor Search .
Home, Acouisitions Search for Vendor
Late orders
Manacle soogestions
Fonds and Budgets
'le. Van,: r
....
Test Vendor
Order
Re,r.e 1.-dp
klana;ie Orders...1
Order receive
Company
Basket teems
4
Add order Reverse shipment Test Vendor
!
20
Created by
Date
1
Senior Librarian 04.20.2012 c'osed on 04:2121
i
Senior Librarian 04/20 2010 c,osed on 05/2d201C, VV
1
Senior Librarian 04,20/2010 closed on 04/202010
1
Aggarsal Ajay 107/20,2010 closed on 0510/2010.sLet,s
You will need to enter barcode and other details for each item in the shipment. Use
the [+1 link above the Save button to create a new empty block for each copy. Once
you accession each copy, click on Save to finish the process of receiving items.
Circulation
Patrons
Search
4koha
clever.
More
Business Administration Library f.Selt osslabs flog Dut, I 12,1
ro
Vendor Search
Orders Search
resident:or Receive dents hove: Test ,fendor 023454 (order #23;
t ste
Mona, au .gestions
ULIkani!.51/.dgii
Receive items from : Test Vendor [12345] (order #23)
EscL.to_rec_elye.sumida/y
Catalog Details
Tide:
Autbor:
Copyright:
Accounting details
Marketing kit tor dummies
Date
received:
Hiam.4.1ekander
2000
ISM: 0764552384
Series,
05,1524310
Quantity
ordered:
Quantity
received:
-For dummies
i
Replacement 50
cost
Item details: (add to catalog)
Budgeted
Volurne,Copy
Item
barcode:
Home
abrann
Actual cost:
I
Business Administration Litrary
Shell
location:
cidre
Item type:
Books
Collection:
Commiter Science
141
Saw I
47 E
Cost
der serials},
Cancel
[ 160 ]
47.5
---------
-
-
Chapter 8
Viewing budget utilization
Finally, let us take a peek at the budget figures; the Spent and Avail amount will be
automatically changed to reflect the order you just closed.
Circulation
Patrons
Saar.t,
4koha
Business Administration Library (Sat) I kohaadmm tg,g
Mcre
Vender Search
Cedere Search
Home aACVuiSÌlÌons
I ate orders
Vendor
i
Manage suaaásüo ^s
Funds and Éaitge
Acquisitions
Funds and Budgets
Start, receive, or modify any order
[ Manage I
Vendor:
`ìeaicie
Total Spent Como! Mail
Budgets
4525 00
General Starks 5000 CO 797 50 237.50
Total
Pending suggestions
No suggestions waiting
500000 23790 237 50 4525.00
Use your reload button [ctrl + ri to get the most recent figures.
Committed figures are approximate only, as exchange rates will
affect the amount actually paid.
Exchange rates
Currency
EUR
Rate
2 OIFd7
ïa.r
'GBP
Help
To begin an order. local purchase or donation, search for the vendor or benefactor, and then you can create a new Basket.
Basket is a collection of orders.
To cider an item you need to establish whether a biblio already exists for rt, and either add an item, or set up a new bibho and then add the
item
Serials creating a subscription and
receiving the first issue
Let us now test the Serials module. This module is used to manage serials or
periodicals. Staff enter information about the subscription such as the vendor, the
related bibliographic record, the frequency of receiving issue or numbering pattern,
and subscription length. The subscription record is then used to track receipt of
issues and the renewal of the subscription.
We will first create subscription and then receive the first issue for this subscription.
Creating a subscription
Navigate to the Serials module using the More drop -down list. Click on the New
Subscription button to enter the subscription details.
Test Driving Your Koha Installation
Fields with labels in red are mandatory.
Here are the steps to entering subscription details:
Select a vendor by using the Search for a vendor link
Use the Search for Biblio or the Create Biblio links to link a bibliographic
record to the subscription
3. Choose whether you want an item record for each issue or not
4. Enter other details such as Call Number and Library the subscription
belongs to
1.
2.
Here are steps to Serials planning:
1.
2.
Enter the First issue publication date, this is the publication date of the
first issue that will arrive in the library
Enter the Frequency; there are several options available such as 1 /month
or 1 /week
3.
4.
5.
6.
Choose the Numbering pattern of the Serial
Enter the Starting with and Rollover at details
Use the Test Prediction Pattern button to test whether the pattern is correct.
You should see a message No irregularities noticed.
Click on the Save Subscription button
Add a new subscription
Subscription details
Serials planning
Saascnptlon8
First issue
publication
date
Librarian' oss:abs
Vendor:
2
mena
Fratennty
bimluai
bistory:
°utIfni_ G:oo Wer. a ein,
Nambaretg
lu
pattern:
create an item record when receiving tors serial
do net creale en hem record when recalaing this serial
Location,.
Weems lamber
Starftgeintir
- - - --
T
Rower at
Cali e+meac
library:
clOway
(select anbrar.)
1
te
Plc irreçtaraes noticed
Grace Pe not
Public noie:
Nonpublic note.
Patron notification:
Nile
Stag and Public WOW
Sea cr(MUn
Number st issesto display to staff
6x +becroon
u.nça:.
Note:
The supsrnpbon must be açsc..ated WM= a.biographic few
You have to select a vendor (you Wien to generate darns.
os.c5 r 00
st -ari Sala.
bomber of issues to display to Nta pauuc
Number of issues
Subscription gail
.
end dub:
teriagVM{Yl,NOc*î
Ranimer
rpmwt6
[162]
12
rentera:nnunt lnnumerals fir
Chapter 8
Searching for the subscription
Let us make sure that the subscription is saved successfully. Use the Search
Subscriptions tab to find the record. Enter either the ISSN or the Title of the
subscription and click on the Search button.
Circulation
Patrons
Search
4koha
Business Administration Library (Sat) I kohaadmin
Mare
,
.
a¢h
Title
ISSN
Search Subscriptions
Check Out
Search the Catalog
Home , Serials , Details for Subscription #1
............_..__ ..............
Serial Collection
Edit Routing List
. Claims
Chuck Expiration
New Subscription
È
I
k>. Reehe
Subscription for Harvard business review
Subscription information
Subscription ID:
Librarian identity: kohaadmin
Vendor: A Test Vendor
Biblio: (2) Harvard business review
Library. BAL
Serial receipt creates an item record.
1
Planning
Beginning date: 04Ittt12010
Frequency rt: 1/Month Manual history
Number pattern: Volume. Number
Starting with.
1
I
Rollover:
12
First arrival. 04./012010
Number of issues 12
Serial issues
haue number'. Planned date Published date
Vol I, Nn 1
04!01.2010
04/0112C10
Status
Expected
Subscription summary
Start date
0410112010
End date
04/D1/2011
History start date 04/011/2010
History end date
[163]
tl) 12 i
Test Driving Your Koha Installation
Receiving an issue
When the issue arrives in the Library, the staff needs to update the subscription
record to account for this event. To receive an issue, we use the Receive button as
shown in the previous screenshot.
Cnrulatrn
Patrons
Snore
4koha
Murr
ISSN
Business Administration Library
Search
:........................................._Title:
Search Subscriptions
et I koh,admin (Log Cu) a I 1.21
Cheek Out
Search the Catalog
Home +Serials > Serial Collection information for Harvard business review
Claims
Check Expiration
low Subscription
Serial Collection information for Harvard business review
Subscription Summary
Subscription Mum. Frequency: Numbering pattern Library Call Number Notes
#1.
1 /Month
Volume, Number
Renew
Routing
BAL
List
2010
aale
published
05.+í71G010
11d.01;2010
Bate
received
N umber
Status
Notes branch Edit
'
05d71P010 Voll.
rda
04M1^010 VMoolt i.
Erpeeted
BAL
Arrived
BAL
Cl
...'...ate !last l......
Reports creating a guided report and
executing it
Let us now test the Reports module. This module allows staff to create reports using
a guided reports wizard or using SQL statements. Reports that are created can be
saved and generated at a later time. This module also has statistics wizards for
various functional modules and a few commonly used pre -built reports.
In this test drive we create a guided report and test its execution.
Building a report
Navigate to the Reports home page using the More drop -down list. Click on
the Guided Reports link. Use the Build New button to launch the guided
reports wizard.
[164]
Chapter 8
We go through the following steps to create the report:
Select the module that we want to query.
2. Choose the display format.
3. Choose a set of fields for the reports' columns.
4. Set selection criteria or limits.
5. Configure how you want data to be totaled.
6. Choose how you want the report to be ordered.
1.
Click on the Finish button to create the report. You will need to save the report
before using it.
Circulation
Patrons
Search
4koha
Business Administration Library (-.3..S) I kohaadmin (Loa Cut) I L' )
More at
Submit
I
Check Out
Check In
Search the Catalog
Home >Reports > guided Remrts Wizard , Build R Report , Step 3 of 6: Select Columns for Display
Build and Run Reports
Build New
Use Saved
Emgtefrgm 5ììL
Repos Dictionary
yz.i ;Il ogno
Step 3 of 6: Select Columns for Display
Note: Be careful selecting when selecting columns. If your choice is too broad it could result in a very large report that will either not complete.
or slow your system down.
Replaammant Pro:_
Date Papler.ernent Price was set
Date Item last Issued
Date Item rias last Seen hr i
Is the Irvin in the stack-`
Irem i +lot for loan
Irsms damaged
Item Lost
Item Cancelled
Item Cali Number
nunc
Is
.
TP
< Delete
Is Count
her
uar__1th-npæ9t
.
[165]
(
Test Driving Your Koha Installation
Using a saved report
To test the report you just created click on the Use Saved button on link. Click on the
Run this Report link to execute the report. You also have an option of downloading
the report in a comma separated format. The file can then be opened in a spreadsheet
program for further analysis.
t$ 05
Patrons
Search
4koha
Fdure s
Business Administration Library (-&FE ) kchaadmm (Log Gut) 1(11
Subm^
Check Out
Home ,Reports,,Guided Reoans
Build and Run Reports
Build New
Use Saved
rfeaie horn SQL
Reports Didienary
View Dictionary
'i
Check In
Search the Catalog
rd ,Saron Reports , Accession F2eglaVrReport
Accession Register
A simple listing of all items in the library sorted by barcode
Total number of rows matching the (unlimited) query is 7
title
barcode
!3376543
Harald business review
author holdingbranch
BAL
BAL1J030001 Marketing management
BAL
BALI0030002 Marketing management .
BAL
BAL10030003 Marketing management
BAL
BALf0035004 Marketing management :
BAL
BAL10030005 Marketing management
BAL
BAL10030006! Marketing management
BAL
Download the repon
Download
OPAL running a catalog search
And finally let us test the catalog search feature on the OPAC. Simply type in a word
or phrase related to record(s) you know are in the catalog and click on the Go button.
You should see results sorted by Relevance and the Refine your search block on the
left populated with Libraries, Authors, and Topics related to the search results. This
test tells us that our Zebra setup is functioning well.
[ 166]
Chapter 8
e,ncarae.
i
Leg Pet
My OPAC Header
kotier" returned 2 results
'
8
Refkreyorn search
Availability
Limito ç::rreralr"..ev;l;ghlr
.L-. -¡!
Addta
Marketing urar:agalnent : an Asian nerserective
_...
Publication
-
Fr :: it Pell
.
-r_
Date ::'.:l
A vailebl @y: Copies available: Dunb ces A:Realistretan Lbrard
Libraries
Pusiness .A9nrvail.atlnn
Match:
Lama 9
Actions
Authors
ist
a; Ili,
Kotler. Ardir
r,c to Lists
db
_.
4Coal te Cart
Marketing inar:agenyent: arLalysis. planning. and control, by Kotler. Philip.
Publication:: ,?'.:': .h.i l :.:.Pien.:e -1 19è7.d29c':î::n
ro:le:. Ph:l:n
Topics
Date-1,
Avatebaty: No keire c,ei a!;
W n P u l i L . fl
Match:.
Actions:
donor
:
.::
Sade tr. ..::'n
?i Ark: to Cari
Not finding what raule locking for?
Make a parchase nutmeatìan
My OPAC Credits
Summary
In this chapter we tested the primary Koha modules to ensure that the software
installation and the server and application configuration were performed correctly.
We ran test cycles as follows:
Patrons - create, search, and view a patron record
Cataloging - create, search, and view a bibliographic and item record
Circulation -check out, check in an item, and view its circulation history
Acquisition - create an order basket, receive shipment, and view updated
budget utilization
Serials - create a subscription and receive the first issue
Reports - create a guided report and execute it
OPAC - executed a catalog search
In the next chapter, we will learn how to import catalog data into our Koha
installation.
[167]
9
Migrating Catalog Data
Migrating catalog data from the legacy system is a prerequisite to using Koha
for most libraries. The process involves exporting MARC records from the legacy
system and importing them into Koha using Koha's import tools.
Migrating bibliographic data is usually easy; holdings data, however, presents a
few challenges. This stems from the fact that different library systems record
holdings data in different ways -fields and subfields used for an element may
be different. In some cases, certain fields used in Koha may not be directly available
in the holdings field.
In this chapter we will learn how to convert MARC files from legacy systems into
Koha compatible files. We will learn about Koha's MARC record import tools.
An orientation to migrating catalog data
Let's start by getting a better understanding of the migration process. Here is what
we will cover in this orientation section:
The structure of MARC files that we will import into Koha
How Koha's holdings MARC field differs from the corresponding field in
other systems
The tools we will employ to convert and import the catalog data into Koha
Migrating Catalog Data
Understanding MARC files
We will need to convert MARC files exported from the legacy system, which have
an extension . mrc. Let's understand more about the structure of such files:
Records: Each MARC file will contain one or more MARC records. Each
MARC record contains bibliographic data and one or more holdings fields.
Bibliographic data: Each MARC record contains bibliographic data, such as
title, author, ISBN, or subject.
Holdings fields: Information on the physical copies - such as library, barcode
number, shelving location, or collection code, is recorded in a holdings field.
A catalog record may have multiple holdings fields, one for each copy that is
available in the library.
Koha Holdings in tag 952
Koha keeps holdings data in tag 952. We will need to make sure that the records
in the import file have the data mapped to the 952 tag and to the corresponding
subfields under this tag.
You can view Koha's subfields under tag 952 in the MARC Bibliographic
framework section under Koha Administration.
Search rho rarnh+g
MARC subfield structure admin for 952 (framework
This
the sutkialds associated aith the selected tag You can edit sub(e:ds or ado a new one b, arcking en edit
The ccumn Koha (std shows that the subfield rs link ed with a Koha field. Kohn can manage a PetA.RC interface m a koba
interface This link ensures that both DB are synchronzed thus you can change from a MARC; Is a haha ntédace ea:
Text
Subfield
urahar.axh
Los! slates
`
cite
'.patin a
...
Tab 14. I Koha field' Lama uerrlost, Not repeatatla, Not mandator}'
Auth aaluaLOST.
Tab 10 I Kato Sels terns cn_source Not repeatable- Not mandatory. 1
=hem..
Auth .awa:
specified (bound volume Tab 10
Dan-.aged span
5
Delrte
Auth value WITHOPîWal.
of classTcat.on or
oeil
.t
Constraints
habit 1Kobe held osata wlharaw.. ¡.a repealable Not mandator; .I
nota_
Use restn^,trons
.._...
conne
: Koha 5elr
te -m materials,. Plot maeaatle. Not mandatory
Model
... Tab OC.
hohu hAn tr r s l
rrl Tint repeatable Not mandator, ...
ln aka :..M1L aE
Tao 1C.
Koha 010 tan, restncled, Nat repeatame Not - r :andatcr¡.
[ta'.ets
Auto value. RESTRICTED.
Koha
Not for loan
Collechon code
loba
rce
ra:,ir#e»crated-
Tab 10, ;Kona held itoos notfatoan. Nd reneatable Not sanda,y
Clete,-
Auto oalue 0 T LOAh1.
Tab 1r'C
: Kuha huts - :ta.rrs -coach hot repaataca- Nat rvanrlattty
Auth
sau`.s'a.g <Otsd
Permanent location
Tab 10, I Koha Tata Items homebeanch Not rapeatabla Nol mm datony
Auto value branches
Current locatwn
Tab 10, I Koha Clete. tens hddingtranch, Net repeat ade Not °'andato =.
Auth value lOeoches,
l
1 icla
I
Shohmg location
Enollsrt
Tab :10. I Koha held items location, Not repeatable Not mandato y,
Auth value LOC.
seanc,
[170]
I
.D.;iese
Chapter 9
Some 952 subfields are very important from a Koha perspective. These include:
952$a - Permanent location: This is the home library or branch of the
particular item. It is important for circulation purposes that this subfield
should have a valid library code.
952$b - Current location: Usually the same as home library or branch;
this too must have a valid library code.
952$y -Koha item type: Item types are used for setting up circulation rules.
This field must have a valid item -type code.
952$p - Piece designation: This is the item barcode. Circulation would not
be possible without data in this subfield.
Holdings in legacy systems
It is likely that you will see these differences between Koha's holdings field and the
holdings field on records exported from the legacy system:
The holdings tag is likely to be 852, rather than tag 952.
Holdings subfields will differ from what Koha uses. The subfields may
fully or partially comply with the Library of Congress MARC 21 holdings
standards available here: http: / /www. loc.gov /marc /holdings /hd852 .
html.
Some of the important Koha subfields may not be available - Permanent
location and Current location, or Koha item type.
Koha stores the item call number in a single subfield 952$o, but in the legacy
MARC record, you will likely find the call number broken into multiple
subfields - $h: Classification part, $i: Item part, and $k: Call number prefix.
Import tools
To import the data into Koha, we first convert the source MARC File into a
Koha -compatible file using MARCEdit -a free MARC editor.
We then import the converted file using one of Koha's imports tools:
bulkmarckimport . pl:
A Linux command -line tool usually used to import
large MARC files
GUI import tool: A more flexible import tool available in Koha's staff client
Here is more information about these tools:
[171]
Migrating Catalog Data
MARCEdit
A very popular tool used to view and edit MARC records, and convert them from
text to MARC and vice versa. The software is free to download and use, but runs
only on Windows.
MARCEdit is available for download at this link:
http: / /people . oregonstate
.
edu /- reeset /marcedit /html /downloads.html.
For the purposes of migrating catalog data, we will use MARCEdit to manipulate
the source file to make it suitable for importing into Koha; we will:
Replace holdings field and subfields with ones used in Koha
Add holdings subfields that are missing in the source MARC file
Merge Call number -related subfields into Koha's single Call number subfield
bulkmarckimport.pl
This is a Koha program that can import MARC records from a file; it is usually used
for importing files with a very large number of records. We run this program from
the Linux terminal.
The program is available in the folder /misc
program, try running it with the -h option:
/migration_tools.
linux- 4yut: /usr /share /kohaclone /misc /migration_ tools #
pl - -h
To learn about this
. /bulkmarcimport.
Small script to import bibliographic records into Koha.
Bulkmarcimport.pl
option
Mandatory?
Explanation
file
Yes
-f -file /
This is the full path to the MARC
home /koha/
file that you wish to import. You
importf ile
will always need to use this option.
Example
mrc
No
Output more information,
optionally add a "1" or "2" for
additional information.
[172]
-v
or -v
1
or -v 2
.
Chapter 9
Bulkmarcimport.pl
option
Mandatory?
Explanation
Example
fk
No
-fk
n
No
o
No
commit
No
t
No
s
No
When importing records, values
for fields such as library code
(952$a) need to be present in the
Koha database.
Use this option to turn off such
checks during imports; records
will be imported even if the
corresponding data is not present
in the database.
The number of records to import
from a file, if not used all the
records are imported.
The number of records from
the start of the file that are to be
skipped.
The number of records that are
committed in a batch. 50 records
per commit is the default.
If your import is too slow, you
might consider increasing this
value; however, remember that
if the program crashes due to a
certain record, all the other records
in the batch will be lost as well.
It is useful to run a new import
file in the test mode initially. The
program does minimal processing
and may warn you of potential
problems.
However, remember that a
successful test does not mean there
will be no problem with the actual
import.
Koha automatically converts any
MARC -8 records to UTF -8. If you
see a problem with the format of
imported data in Koha screens,
you may want to try this option to
see if it yields better results.
[173]
-n 1000
-o 1000
-commit 100
-t
-s
Migrating Catalog Data
Bulkmarcimport.pl
option
Mandatory?
Explanation
Example
c
No
-c
d
No
m
No
x
No
Y
No
idmap
No
The characteristic MARC flavor of
records in the import file. Default
is MARC21.
Deletes all catalog records in
the database prior to importing
the file. Be very careful with this
option, there is no way to recover
lost records.
The format of the records in the
import file. Default is ISO2709, if
you are importing XML, use the
MARCXML option.
The tag containing a record
identifier, this refers to a tag in the
records in the import file.
The subfield containing the record
identifier, this subfield is for the
tag identified by option x above.
Option y cannot be used with
option x.
Path and name of a file containing
a map between the record
identifier and the biblionumber
that is generated when the record
is inserted into Koha. The record
identfier is contained in the field
specified by options x and y above.
The file is generated by
bulkmarcimport .pl when it is
executed.
The file can be useful for
troubleshooting the migration
process or for maintaining a record
of how the records were migrated.
UNIMARC
-d
-m MARCXML
-x 020
-y a
- idmap /home/
idmapfilename
IMPORTANT: Don't use this script before you've entered
and checked your MARC parameters tables twice (or more!).
Otherwise, the import won't work correctly and you will get
invalid data.
[174]
Chapter 9
SAMPLE:
$ export KOHA CONF= /etc /koha.conf
$ perl misc/migration_tools/bulkmarcimport.pl -d -commit 1000 \
-file /home /jmf /koha.mrc -n 3000
Koha's GUI import tool
Koha also is an end -user -friendly GUI import tool. The catalog import is executed in
two steps:
Stage MARC Records for Import: Here we load the records into a reservoir
Manage Staged MARC records: Here we review and complete the import
croo -anon
Patrone
Search
Business Administration Library tzm };°sae
or
4koha
Check In
tcoa Otl
Search the Catalog
raras
News
Write news for 'te SFAC ana staffir'erracee
Srag_e MARC Recorda For imort
k.ahaj and Patron Card Creator
Manio..Stned MARC Rerords
Create pnn tete ratels ant tarcodes fro, catalog cala a.ta patron
caria tram pahcn tatd
N;u _
Define notices Ctnnt an, entail nonf'Tcagon. messages Roc rarer
Stage MMRC recatee Into the reern,crr
etc.;'
Managed staged BARD revues. indctdnç carra Ming ant
Set nptice'atatue triggers IN n $cale Items
faéer Bing impafs
I,05S ewer
Export .MMUggral?MC and hádinyz
aLnpal;
Define Says Star Te it:zrar: Is yaoed
£rpw'se the system L_'
ImmmorylstrakLakgag
Perform Ir':en:ar'stocnakin otya'ur catatoS
Erecta L7ataçraphic ana M1althngs Sala
knowReTHmns
Comments
13o aerate Cari_ r 3.3.^1na313
Oeerdae aartìnefstetus triggers
Import patron Sate
Patrons Sennn5mirn halk.detet)
IA%
M' Serete peson tags
Ortete ód tanaeers and arolrcn.:re rrruAatlon Kist _-. Malana
,orccwer reading nistoni
Unload gotten WOWS
Upload parcel images in trratl. ar one at abrae
inaii5chslsL1
Stnedate tasks te tun
This tool is more sophisticated when compared to
allows for:
Review of records prior to import
An undo import operation
Support for record matching rules
[175]
bulkmarcimport . pl,
as it
Migrating Catalog Data
Record matching rules can match the incoming records to those already in the
database. These rules can be used to:
Add holdings to existing bibliographic records
Replace bibliographic records with new ones
Choosing an import tool
Here are some pointers to help you decide which tool to employ when importing
MARC files:
In general, bulkmarcimport .pl is better when you are setting up Koha for
the first time. It is faster and can handle large files.
If you need to import new records into an existing Koha database, say when
migrating data from a new branch, it is better to use the GUI tool. We can
use matching rules to ensure that holdings are attached to a single parent
bibliographic record.
Migration process
The process is as follows:
Use MARCEdit to manipulate the source MARC file and make it suitable for
import into Koha
We will need to setup values in administrative fields in Koha corresponding
to data in fields, such as library, item type, collection, or shelving location in
the source MARC file
Use either the bulkmarcimport . pl or the GUI import tools to import the
MARC file
Preparing to migrate catalog data
Now that we have an understanding of the migration process, let's learn how to
prepare for the migration. We prepare the plan in two parts; first, we determine how
we will source data for the holdings subfields in Koha. Next, we decide what data
we will need to setup in Koha prior to importing the MARC file.
[176]
Chapter 9
Mapping Koha's holdings subfields to
subfields in source MARC file
In the first part of the plan, we set up a table listing all of Koha's holdings subfields.
We map each subfield to a corresponding subfield in the source file. If corresponding
fields for any mandatory Koha fields are not available in the source file, we will need
to add data manually for such subfields while editing the file.
Koha field
Mandatory
Corresponding
field in ource
Comments
MARC file
952$8: Collection
code
952$a: Permanent
location
952$b: Current
location
952$c: Shelving
location
952$d: Date acquired
No
852$b
Yes
Not available
in source file
Yes
Not available
in source file
Not available
in source file
MARC file has been exported by
Library. We will manually add this
tag to all records in the file.
Same as Permanent location.
852$c
852$x
952$e: Source of
acquisition
852$9
952$g: Cost,
purchase price
852$h and
952$o: Full call
number
952$p: Piece
852$i
Yes
designation
952$t: Copy number
952$v: Cost,
replacement price
952$x: Non -public
note
952$y: Koha's item
type
952$z: Public note
Yes
852$p
Not available
in source file
Not available
in source file
Not available
in source file
Not available
in source file
Not available
in source file
[177]
MARC file has been exported by
item type. We will manually add
this tag to all records in the file.
Migrating Catalog Data
Planning setup of administrative fields
in Koha
In the second part of the plan, we plan how to setup values in Koha's administrative
fields. We need to ensure that libraries, item types, collection codes, and shelving
locations in the various MARC records in the source files are setup in Koha prior to
importing the file. We prepare a plan as follows:
Field in source
MARC file
Library or Branch
code
Item Type
Distinct values in source
MARC file
Lib1
BOOK
CD
Koha's administrative fields
where the values need to be setup
Libraries in Libraries and Groups
under Koha Administration.
Koha's Item types under Koha
Administration.
DVD
JR
REF
Collection Code
Biography
Authorized values under Koha
Administration. Setup under
category - CCODE.
Business
Fiction
General
History
Humour
Shelving Location
AV
Authorized values under Koha
Administration. Setup under
category - LOC.
Dis
New
Ref
[178]
Chapter 9
Migrating catalog data
In this section, we demonstrate how to implement our migration plan. We edit the
source file using MARCEdit, setup administrative fields in Koha, and then use either
the bulkmarcimport . pl or the GUI import tool to complete the migration.
Setting up values in Koha's administrative
fields
First, we need to make sure that we prepare the Koha database for importing the
new records by setting values in administrative fields, such as library, item type,
or collection code.
Setting up branch codes
The branch code(s) can be setup from Libraries and Groups page under Koha
Administration.
Circulation
Patrons
Search
NO_LIBRARY SET (Set) I kohaadmin (Lr
More
4koha
Submit.]
Search the Catalog
:heck In
Honme, Administration , Libraries and Groups
............
System Preferences
Sistent_'rferences.
Basic parameters
Libraries and groups
Funds and budgets
Currencies and exchange
rates
Item types
Patrons and circulation
Patron types and categories
Cities and towns
Road t gus
ea ten allniod t ikpd.t
Cinc ilatien and Ernes ries
Catalog
i 12+4
__-__
:Jbraï.
Nc'M1 Gtaup
Libraries
Code n
Name
Address
MARC Bibligs phis
framework
Koha to MARC menions
MARC Bibbographic
framework test
Authority types
Class:ficatien soi. rees
Record marching roles
Ed t Delete
onnemarna Library
CON
(nothing entered)
Edit
Engineering Library
- FNOt
(nothing eutered)
Edit Delete
_etS:C
Law Library
Mountain Ea ;^
South Curt Suusineso
LALL
( nohng entered)
- MOUN
(nothing entered)
.SADC
(nothing entered;
Group(s): Search Domain
Name Code Description
Group(s): Properties
Name Code Description
Ito Frcpettr=s Defines.
Additional parameters
Sono Words
Z35.50 Client Targets
English
Propeiitres IP
(nothing entered)
No Search Domain Defined
Authorized values
'
Library BAL
Business Administratio
Español
[179]
alele
i,t..
fä0_t
Js1Iíti0..
ßut) I
pi
Migrating Catalog Data
Setting up Item types
The Item type(s) can be setup from the Item Types page under Koha
Administration.
Circular cri
Patrons
M_ra
Search
4koha
NO LIBRARY SET;
Chad, Ont
Check In
Search the Catalog
_._ .... .......................____....
timoe :.ßdmin:stralìon> Item Types _ 'sddie dlratìon
System Preferences
aggt=re P gferen-eg
Basic parameters
Lissons and groups
Fund; and áudasis
nt d euchdage
Nee ttemTgpe
Item Types Administration
Image Code
{{
6
t-
:K
Description
Not for ban Renewable Charge
Eacks
5 times
p Oh
2 times
u 00
Actions
- Edit Delete
rates
Patrons
d circulation
Patron :saes and 'ala.. ''e s
Gnes_nd ionves
R srd'noes
attuE ShIghure ,': s
0rc[dat;nn sod Ines 'ads
^
REF
SerialerJaurnals
Reference
Yes
Ns
CD:LSVD
Yes
2times
E.Ot Qe4 ;e=
Catalog
MO
úl .
-
[lues
-.
':,graphic
F.:.:.- i-.._-311[0&i:
rules
Re
Addloo,ial parameters
English
Esk Oside
-Ede Psiato
El sgaiini
[180]
I koh:aaornn (Val Out) I :2_1
Chapter 9
Setting up collection codes
The collection code(s) can be setup from the Authorized values page under Koha
Administration. Add values to the category CCODE.
Circulai or
Patrols
Search
4 koha
Business Administration Library (a.%). I postage (I co add 1W
M.
,Qineni_uf
Roturo Co rl
Search the Catalog
duCiR Amin chaton, alialOakaa VaalaS
System Preferences
%LULU
MJSZA
Basic parameters
idhares argi moos
timetednonzedidue for CROCE
Authorized values
This table toned in MARC definition. You can define as many categories as you wart, and as many authorized values as you Want in each category.
Conde ard
Cilngindfiiimmituvolienge
When you define the MARC subteld structure. you can ink a sunfield to a aolhonzedmlue categori. When the umr ask for adding of modifying atiblio. Me retied is not entered
through a free field, but though a h of ardho fined values
f Pled
tg,,,alyr...t.a
Shoo Category CCOOE
Patrons and circulation
P
RgaddriCMS.
Patrol atfuggbig
Caatap,r
ZCDDE
CSE
CCOCC
ECE
CCE
CE
:-,di,
C
..7_,-,
CCOCE
CCARICE
feid C chosugi c
Description
ro.
C
& rdurnmandaired
Electrical & Electronics_
iduroct
Catalog
filAR,i., i
-
Category Authorized value
CCODE
L.
Elf Liiidist
LA( Llehtte
fait &&IM.
: Fan Comte
General
CAP Dihddif
hforynation Science
EMI Delete
MAIS
Management
ft9C
Non Ect:on
:REF
icon Edit Delete
Refereme
Eg r.,:r.,
EiLd. Lika
¡Egg L.Ltie
irare,,, ',tat
:vilaitur: 'Loon sommo
Reuortzuziciiing,fides
Additional parameters
litith.I'LgLge
Cu3TCCIicnrTorycl.o
[ 181]
Migrating Catalog Data
Setting up shelving locations
The item type(s) can be setup from the Authorized values page under Koha
Administration. Add values to the category LOC.
cartnttr
COculatiso
Seam,:
More e
Business Administration Library iSei) I cssiabs j[doi Oczt I [ Zj
4ko ha
reneW th::
utalog
Hem, !,...q.:33:na!uttän :Autkoriosd4aitle,
Neu. sJJ.::
System Preferences
Sv.e,r:
Authorized values
Basic parameters
This teOe :s ...sad in MARC &Oration Cal can define as
:Uwe.
g::::LTY
ca.
tw
11gRE
n
pa,
Patrons and circulation
categories es you cant and as many authcozuf values as yen want in each category
When yod define the MARC echi eid structure you can fink e subfieldte a aunodzedualue category. When the use, ask ter adding of modifying aOrtfic. the .ffield is not entered
through chin fad. bit though a list of authorized radii.
ca.gor, Allt,01,041 miste
Icon Edit Delete
Renmt
ZOS Celets
FeLùall
tnt
Ceinte
402
'.'alerals Suj:
'SF
Staff Cf-ce
TA=C
,u!
Ute jimia
tic tintait
Feh
..
Additional parameters
Editing the source MARC file using MARCEdit
To edit the import file, we use MARCEdit.
S WK. Tool,
ritis
Elfe
L.)
!
USIP
LI
inthulFuls.
browse
C,S_ISeceserrilef,Desder,sarnols-fc,ilistl-marc.mrc
Output File.
browse
03llsers,adrninCesKtoueemule-tollett-rnarornrk
Ft..' .10115
Marcareaker
Translate to MARC-6
Marc!.- alter
-ram:stet; Mild
MARC=oblARC21XML
r=1,..:::."'IXFOL=o MARC
co t5fi)
EAD=oHTML
Results:
3d2 reco de we R processed in P i3-pQSP second&
-VT
Esecute
;
Efla ReccrCE
[182]
Chapter 9
Use the MarcBreaker tool to convert the MARC file into a readable file with the
extension . mrk.
Click on the Edit Records button to view the records.
Use the various options under MARCEdit's Edit and Tools menu to create the file as
per Koha's standards. Here are instructions on some of the key operations you are
likely to need-swapping subfields, adding a new subfield, and merging subfields:
Jr-fnikH-rrwa-.mr.
File
ErLt
Fortb
T
ReFfs
s
RE4KJa
Cataktg CatcJlato(
19i:
=LDP, 01659pa.m 2200
5030376918'.
=003 ICtlF
=005 2CL2.8033112101£=WE 0467 t2s20G45:,ni
=012 'Oda 2504016067
20 ,,,.$.31402714530
:`.Sa7CrlF;1695.9G
Edrt C6nstant Data
Assign Constant Data
Manage Mao-ids
Asn M3CY34
-
\,SaDLCSr-DLCSdl
.Saeut kten
CtIaShRt.0
Generale CCntrot t5cmhers
----
Z39.5+:I3130 Cpttons
Valoche MARC Rectuts
Record Dedupllraöon
=053 COSaFR46218o2C
=082 008e82ár 88222
=IOU raBaDCyle, A2nue
:
=245 1485The. adver;tu
=280 ',Settle., York
llSavi, 669 p_ Set
aPleveusly pÚ
313aHUrr. Ö3iK_ r
aPre4EnS
:..8 .
ot886FC1¿sE &
,atoreat nom CN
Generale MARC from oRi.
CVI-Shìtl-D
¡le , illushat 6v SCait Mc'
Normalize LC Record
AddlDelete Feld
F7
Ede Indicator Data
FB
Edit Suote:d Data
F9
Srri' by
ea of 5060006 HG[mes and The memoirs et Sherlock Holmes
ylnal twenty -four stories that made Sir fethur Duran Dope's notional sleuth famous
Swap FFa:d Data
\7SaHolmes.She
s.pa.a..<ww:w-.weae..e
=850 ',?SePrtvete i:
:?SaEngland ff'F1c11on.S2sear=_
=550 1?Sa.Rlys3enr th,Eron.S2sears
2 124aErnvle, A?hur Cenan.grSlr,8c`859-`900 Sr'xtventures of Sherlock'.+etmes.
.790 2Sa0. yle. A:thur Ccnan,ScSlr.k.0856"93C.StMemoll=_ cf Shprlach Homes.
14°tiS.E5T9hY\`E57$nFIC GCY9p305`600G,'i2821Et8p8 4615d
1352
=801 dtff3TaoieofcnntenisScheta/ínttenv.(ec8nv,2atdlo `e_'rp0420.'2Cb+r5t6?htnt
=940 1t5eE 7S05-eSd0,90C5:09$sHCm 666a'. Opni25054vFLR
=942 SOCK
=LDR O-t'?ttpam 2200325 a 4500
=001 ="k`..E068£79'.
=re3 ICrIF
=905 20000103010305
=008 02'226s21710155.mnua":3
.0.01tOtengO
=C1[. :':6a 00069505
=020 `$a0F.89;74854é
[183]
Includes review Gueslrons
Migrating Catalog Data
Swapping subfields
To swap fields, use the Swap Field Data tool under the Tools menu. Here are the
steps to swapping subfields:
1.
2.
3.
Fite
Eft
Specify Field and Subfield for the Original and Modified data.
Check Copy Source if you want to retain the original holdings field.
Check Add to existing field; this way you ensure that newly swapped
subfields are included in the same holdings tag.
Fonts
1'...] n m
'9/
Reports
Tools
.
Piug ms
2_1 £3
4,1
Help
V r.
=L'_R 61659pam 2200373 a 4500
131 5002376944!
=o3 ICrIF
3205 203803311213163
6508 04071252004Rlinyu9'.11011S1033s11eng',
6510 1001 2004016067
0020 0331402714530
=025 11$a(1Cr'Fj169690
=040 t!SaDLC$W0LCSODLCS3ICiIF
=043 1133e -uk -en
=350 00SaPR462100204
6582 0066823/.85222
=1:0 l20eDoyle, Arthur Conen.$cSir,Se1859
=245 14SaThe adventures aro the memoirs
P260 OSaNew York:$bSlerllnq Pub. $02324
32300 06501. 568 p.:60111 3621 can.
=547 O$aPre'rnuely published as toe sepa
Swap Field Utility
Original Data
Ir11.10%
Field
860
=510 31$a00m BOOK. April 2005
=520 OlaPresents "The Raver tires and Me
1
04.8.7
=521 23a58SbFollett Library Resources
=650 l7Sattolnles, Sherlock 13100onal 6nara
=650 175aPrruate ìnvestlgatos$vFictin_$2s
Reid
95_
h'i<ators
00W questions
SubflE1..-
ProCe58
I.
S=earchOpLS s
L
=3x 175aMvetey Sobo,, S2seare
=.,,L 125a0oyle, Artnut Ccnan,6Sir.$2165
=730 126aDayle, Arthur Conan,SSr,5d1859-
1 AM to eustirq f eilt
Copy SSr.uurre
=852 11SaW EST5b4b'E STShFIC D0Y$p301 C6000C2H218S9p8.46usb
=856 4153TableorCUn';c_nts$uhtip_iok..govrr23dxflo6fecìFC420í2SYC.."0186g7html
Apnl 20055vFLP.
=LOR 31123pam 22003263453"
_23' 10I682636791
03
ROC
Modified Data
=551 17$aEnglald3VFIC[IOr. B2seals
=946 11668 780585de3051695sHOrn
=342 ScBK
=
SubOelfs
1CriF
=3. 20858264113800
=138 001226.42017111b.mnua\f bob ltOt'il04en
=310 4136 00063505
=326 0$30689048615
[184)
e 3eCbrfac eF a
.
Cose
Chapter 9
Adding a new subfield
To add a new field, use the Add/Delete Field utility under the Tools menu. Enter
Field as 952, and Field data as \ \ <subfield > <value >. For instance, to add a 952$a
with value LIB1, enter Field data as \ \$aLIB1.
-d
FN
EOIt
Fpnta
Reports
T00.13
Http
=LDR 0'859pam 22020'3a4-5(2
=0C1 1CI09376914t
=003 'CIF
=ir'.5 205323311213153
=008 (4.:J'2s226ti'.rtlnyuat,`,.S:.,C>00ìt:engt
=0'0 1153 2064016357
=020 450142271453)(
=035 1'$a1l055169690
=650 !'SaDLC$_DL('$]DLC&9CIF
=uw^ 55ae-u4-an
ech
4050 CO$aPReE21S52303
4082 0019823?85222
4120 +(BaLbp46. Arthur Clao,3c5h,$91853=245 ,4$3'1e advenE'ules atW the memore
=2L' -1r5aPlew York :53Sterlinÿ Pub.$c2004
=366 085vI. 553 p SLUf'. 5521 an.
400 ,,.£aP,revicus''y pumisnee as ttw.separa
Add/IIetete Field Utility
5410404019
=5A0 3'.53554.^ ^c50 k. Rp4u 2005
,SaPesenl_ 5,e 404er'.u-es ar1 M
A430p1C
ve1.qEsGUrs
=521 21a8.%
4521 24a5,£865+11e51'tiraly Rescurs.
=552 ,?$aHC1n\es Shar'-aclK ;Flctivnal clan
=556 `.?SaPnvaleknveslioatarsBvFichan S2e
=551 -.'SaEngiarl$rFictr,n.325ean
=5542 t$aMyslOry 500401 $25ears
4':A '2$aD,y-e. Fvih4r Conan.3cS4.$01053=7C0 =2$aRsy,e.44tllarCcnan $cñ4333023=252 ,Ia`1;E57$O'NES-2$hF'C 53YS525106000020279$9p5.464s0
=855 41$3'2ble oT crrn?=_nts$u113p'.4v,:r.locgmrrcatOk.'Ix'eoapCS2úl20C 3hE0E' htmì
440 5$38.78t5,8S023125?05$s4-xn Ecck Tpnk 205534=28
-.,42 510K
='_DR C-,Cpam 2205325 a 4502
[e128258875,
4024 1+>IF
=041
,226 2628..3;+4'.1 á0..0 5
=X5 C
225s23Gt4,.,.tua
..
='516 -.?a 005.9575 ..
4020 T153(509(=04,5
Merging subfields
To merge call number fields in the source file into a single a single call number
field in Koha- 952$o, we need to use regular expressions. Here are the steps:
Swap each subfield in source holdings field to corresponding subfields
under 952
2. Setup a regular expression find and replace that merges a set of subfields
1.
Setting up a regular expression can be tricky, and readers are encouraged to get
introduced to regular expressions first. Here is a handy introductory tutorial:
http://www.regular-expressions.info/tutorial.html
[185]
x
Migrating Catalog Data
Let's now look at a specific example - merging subfields $h and $i, with a space
between the two values, into Koha's call number subfield $o.
First, we setup a Find expression as follows:
( =952 \\\\)(1(\$ h)([ a- zA- Z0- 9 .] *)(*)( \$i)([a- zA- Z0- 9.1*)(. *)
Here is an explanation of this expression:
( =952 \ \ \ \): Look for the pattern =952 \ \. We have four \ in the expression
instead of two, because \ is a special character, and we need to escape each
occurrence with another \. The round brackets store the matched string in
the first back -reference field.
(. *): Look for any string including "nothing" after the first search pattern,
and stores whatever is matched into the second back -reference field.
( \$h): Look for the subfield $h, and store it in the third back -reference field.
$ is a special character too and is escaped using a \.
([a- zA- Z0- 9.] *): Look for a string that follows $h and contains any number
of small letters, capital letters, numbers, or
into the fourth back reference field.
.,
and store the matched string
(. *): Match any string including "nothing" after the $h subfield, and store it
in the fifth back -reference field.
( \$i): Look for the subfield $i, and store it in the sixth back -reference field.
([a- zA- Z0- 9.] *): Look for a string that follows $i and contains any number of
small letters, capital letters, numbers, or ., and store the matched string into
the seventh back -reference field.
(. *): Match any string after the $i subfield, and store it into the eighth
back -reference field.
And then, we setup the Replace expression as follows:
$1$o$4 $7$2$5$8
[186]
Chapter 9
Here is an explanation of the Replace expression:
$1: In the replace string start with the value in the first back -reference
field, the value here is =952 \\
$o: Append the subfield label $o
$4: Append the value of the subfield $h that is stored in the fourth
back -reference field
<space >: Append a space as a separator
$7: Append the value of the subfield $i that is stored in the seventh
back -reference field
$2: Append the text if any, before the $h subfield; this is stored in the
second back -reference field
$5: Append the text, if any between the $h and $i subfields, this is stored
in the fifth back -reference field
$8: Append the text after the $i subfield, this is stored in the eighth
back -reference field
=LüR
.11'1
=COI (1.,4"EE;:.eF7i"-2.tï' :i^._?--.t^.3'2F
=3C5 200t'1'.:'230'2.1
=iìE 0^40x Æ?'c3- .
ee,C 349
eC22 1,3a0c8104010'. ein Ctlg
=C'3: '.11a1FWMER.^.':'1 w2=]9
l
=0E5 G1Sa2SC3SCâ3:39=_°
=O=E '2+Sa:478233h.549,95=
=0E2 E:4aD]43219
=r00 '!:,.43Pa:ty, Kste
=247 :+JCa:,efnpUta ç ;SC[y Kate FN`Y ' c..nat:Ya^t. Angela
=25E O,SaNe'n"or'zr 3cF.'.4al:s
-W0.1ga5C C 3pm.I :II 3022 Crr
=420 ì04aFran%lìr. Waits era: library
-..SM ',:Sal+cl::tles xlces
=E2G ',:SaExptalns In slrnpie language Itsw t3e m:croax^^:npuie(
0350 '13at11crKemp'ters
=E'50 '.13dCcleputere
=ei.'E -:0.5a.`.vunpu'ersSxJUWenlle literature
=-CC 113aKenns. Fnt3e^V.
=052 ::530:5 ceg,-E-çp3<.<.O,:ïß'.'x302SxFçC'SaR.e2:C
f11CIµ.9'acx
Raplaro
fMt4
=1F1
Pal
R°F
fe rIP
3t'rja:A 70,2 h ^Siif;a-zi-21 9
S`ßeS=ß7$23..2^$E
Seer* fi},11'515.
r 4132c1,mse
Venreatdaraxyrecwl0ns
[187]
Migrating Catalog Data
Once you are done, use the Compile File into MARC option under the File menu to
create your new MARC file.
£M7.tE><.iNEXE
Eat
_
ml _r
EOM
ù
Loots
3.pa*s
4
Pu_stlrs
J
Sala
.J fI
=LCR 01F5qpam 22302'3a4'J':
=OG' `51,51.7E5-»
17"7 I521=
-r5 293803313213153
=058 048712s2C7S`:.lnyval0.50lr50fA1{engti
=010 nßa 20040155=57
=020 '.Sa14 02' f 453X
=035 'vSa CICrIF',1 à9890
=OSft itSa3LC£cCLC50OLC53IQ3F
=00.3 13ae-unan
-050 0:$aPR4621562:304
=082 0032E29185222
,00 1l8aCryla, .ArthurCZman.5c5k-Saí8541930.
=245 14SaShe adventules and th9 tremors of Shsrbx-k Hoboes +ScFnhuYConan Cnu 15 illustrated by Scolt?.1cK0'uwn=2E0 lìSaNe,a vn_rF £CS:erF.nç Pub .502004.
=350 r'£avi, bE9 p .Seill. ,3021 cm
-550 ':Sa?revromsky pt:GiiSite:1 as No se:a.^ata-rall"mes entitled Tne x^ren.>nrE; G` SM1U^feck HGanES and IT nie.fX:rc r>S Shasleck HümeS
=510 3,Sa:-!crn Rr,ny,..iprn 2035
.
.
.
=524 I:SaPra'ens ''T ne Adventures and Mambo of Sherlock Hoinws."1ne cidp:al3r.¢n[y-0., r stories that mans sa duster Conan JoYle'S actor al sleuth fatnSUS
=521 8:$28 î
=521 2rSa5-55[icnetf L.^rar)' Resource<
IncüCes rexlew qu Uions.
flcfSn 32aaa[e
=553 .73aPrlvate in'.ea".icatn;rs3vFlc:ron.52sea5
=55' 't'SaE
naSv=lalc.n 32seas
=550 ,7S2:r11s[aty fcnon 525ears
=720 12SeCc y:a. Nthu'Con3n,Sc5rr.3o12áa.1332 ßt.ASvanuraç cf 0151ICCK Hotmes
áß '?$aaolmes. ,5ne^^c( Fc(n'.nal che'aciejS
=32fl 128a@.-ye,?rtlurCpna.n,3csir,3512531é3C-Sttaemrnrso.°s.ietix=<1mes=052 14aNE5T2G2.E'sFSnFIC CCYSp03100002221850p8.45cStl
=855 4, S3iaafe of aantert55uh1tp:-; ra}HVtec P-n':CaFdlrECCe,:p1'a12'L"2fO4216047 h:mt
=944 ,'4a8709-5-2Sü83:85+0SSal.on Book. AaM 2036-£vFLñ
=LCR 01'.70nam 2270325 a 4500
=051 fu:98008504'
3 1Cr!F
=006 27080304' 128i0 `
=0'.a CO'22532Ji1 ..
.. ..
:
_'- 1
':5a.
OC'r.'.3ó,
0
.
4'_ser_a,.r .Cesnx bcam
re rtt'k tca3n- m G 443LL^ß sa.xnds-
Importing the MARC file
The bulkmarcimport .pl program is the preferred way to import a large number
of records. It is usually used during the initial phases of migration to Koha.
Using the bulkmarcimport.pl program
Before we run the program, let's make sure the shell environment variables are
set correctly:
linux -4yut: /usr/ share /kohaclone /mist /migration_ tools # echo $PERL5LIB
/usr /share /kohaclone
linux -4yut: /usr/ share /kohaclone /misc /migration_ tools # echo $ KOHA_CONF
/etc /koha -dev /etc /koha- conf.xml
That looks ok. If you see empty variables, you can set them using these commands:
linux -4yut: /usr/ share /kohaclone /mist /migration_ tools # export PERL5LIB =/
usr /share /kohaclone
linux -4yut: /usr/ share /kohaclone /mist /migration_ tools # export KOHA_CONF =/
etc /koha -dev /etc /koha -conf.xml
[188]
Chapter 9
To import a file, we run the command as follows:
linux- 4yut: /usr/ share /kohaclone /mist /migration_tools # . /bulkmarcimport.
pl -d -file /home /koha /Download /sample -marc
deleting biblios
300
322 MARC records done in 15.4088408946991 seconds
Note the use of -d option; this deletes all the data in the catalog before importing
the file.
Importing catalog records using the GUI tools
You can use Koha's GUI tool to import the MARC file. Here are the steps to staging
the records and managing staged records:
Staging MARC records for import
The first stage of the import process is to stage the records. Koha will import the
records into a temporary storage area without changing the actual bibliographic or
holdings data.
:rv".V.ï..
bneor
Enecs
_.
Search the Catalog
in
Harpe .Tanis , Otage MARC. Records For import
Tools '1 ,ore
Stage MARC Records For Import
News
trF
-
rte - L
Select a MARC file to stage in the import reservoir, It will be parsed, and each valid record staged for later import into the catalog
You can enter a name for this rmpod It may be useful, when creating a bihlio to remember where the suggested MARC data crones
Calendar
endar
from!
Notices
Stage records into the reservoir
Natrce +status tuggers
Moderate CRAC comments
Moderate patron tags
Log viewer
Select the file to
stage:
,roof rhaeawnteddrsarnp
Braise
Upload file
upload progress: 100%
Innentnrytsrooslak Ing
MARC Import (staging)
MARC import ¿managing
hatchesi
Ex fort bibsthuidlogs
impon patrons
Patrols (annnycsce
bulk -delete)
Comments ebam
thistle:
Character
encoding:
;1
Look for existing records in catalog?
Record matching
rule:
Upload Patron Images
Task Scheduler
Action it matching
bibliographic
record found:
Action if no match
is formd:
Check for embedded item record data?
O Yes
No
How to process
:aan' add lems
_
Stage for import
English
Esaadol
[189]
Migrating Catalog Data
Koha comes preconfigured with two matching rules, one that matches on ISBN,
and the other on ISSN. By using matching rules, you can make sure that all items
or copies are grouped under the same parent bibliographic record.
Here are the steps to staging your MARC file:
Select the MARC file, and click on Upload to load the MARC file.
2. Select the matching rule (ISBN for books and ISSN for serials).
1.
Set Action if matching bibliographic records found to ignore.
4. Set Action if no match is found to Add incoming record.
5. Say Yes to Check for embedded item record data.
6. Set How to process items to Always add items.
3.
Circulation
Patrons
Searen
Moi e
NQLIBRARY_SET
4koha
Nome ,To
Stags MARC Records For Import
Tools 'Home
News
Labels (spina and haie ^de)
Caienciar
Notices
Notice/status t 'ye... S
Stage MARC Records For Import
MARC Staging insults
:
322 records in file
0 records not staged because of MARC error
322 records staged
322 records with at least one match in catalog per matching rule' ISBN"
322 gem records found and staged
M1s,näa2.
t r3Ttl
eCdrAi,
Pack
veneer
-
liwentoryrstncu:ai.ng
MARC Import (staging)
MARC: Irnpm: (managing
hatches)
Export blbslhaldings
Import patrons
Patrons (ar:cmr uzo,
holk- delete)
iip'ioad Faroe Irna,les
Task Schedoler
English
Lsrar(u_I.
[190]
uhaadmìn (LglÇ!uil I LL ]
Chapter 9
At the end of the process, Koha will let you review the records before you actually
import the records.
Managing records
In this step, the records will be imported into Koha's database. Simply click on the
Import into Catalog button to start the process.
Nome eloils >Manage Staged MARC, Rends > Batch 6
Tools Home
News
-
Manage Staged MARC Records) Batch 6
Labels (spine and bamode(
Filename
Calendar
Staged 2010 -06- 0414:10:05
NoLCëistatus loggers
Moderate GPAC comments
-
sample -mare
Comments
Notices
Status
Moderate patron tags
staged
Matching rule
applied
Log mower
Inventmyistot kicking
15811 (020$a)
Action if matching
record found
replace
MARC import ,stagmgl
MARC Import (managing
hatches(
ActioOf no match
found
create_new
Item processing
always add
Export hi'nsïholdings
Import patrons
Patrons (an °nymize,
bulk-delete)
New matching
rule
Upload Patron Images
Action it matching
record found
Task Scheduler
any leechi
Action if no match
found
:t wroig
_.
gern processing
°A !Nees
Apply dilter,n: r ec..
t
rot is t Iola_
Page 1
2
-
7
-
I
.'
3
9b
11
47
13
Malian
#
E wuL t2
Matches hiblio
rJ__IWCMullar_¢te_. 7B1434233iZ U424233771.1
'
rs -
re = 1000) 37 ways to train a dragon 7 McMullan Katee
English
[ 191 ]
Status
Match?
staged auto_match
Brb
Migrating Catalog Data
Once the import completes, you will see a summary of the import.
'alien
Patrons
Search
4koha
News
kohaadmin (Log Out) ILL],
7,)
Submit,
C4
Hcme, Tools 'Manage Staged MAR,
Tools Home
NO_LIBRARY_SET Sat
h31oie
C e k In
2a1
Search the Catalog
notch5
F` °: " - ^n'r
Manage Staged MARC Records > Batch 6
Labels (spine and barcode)
File name sample -marc
Calerdai
Comments
Notices
Notiaatstatus triggers
Staged
2010 -06 -04 14:10:05
Moderate r3PCC comments
Status
imported
Moderate patron tags
Matching rule
applied
Log Ceder
=
Intentoryistocktabing
Iu1ARL Import (staging)
MARC Import (managing
hatches)
Eepout hibsittoldings
ISSN ;070 {a)
Action if matching
record found
replace
Action if no match
found
create_new
Item processing always_add
Impart patrons
FafrOnS Ì3nPay
k+ulk- daft::.)
Uod-u impart into .ululan
llelaad Palan . .
Completed import of records
Task Scheluler
Number of records added
Number of records updated
322'
Number of records ignored
Number of items added
Flunibei of items ignored because of duplicate barcode 322
Page 12 s
k
English
d
15
C
,r
8
}i
141
11
12
13
Citation
Status
Match?
La AEg1
Undo Import
The great thing about the GUI tool is that it is possible to undo an import. Simply
click on the Undo import into catalog button.
[192]
Blb
Chapter 9
Summary
Here is what we learned in this chapter on migrating catalog data from MARC
compliant legacy library systems:
Using MARCEdit to manipulate source MARC files
Adding, merging, or swapping holdings subfields
Setting up administrative fields in Koha prior to importing MARC files
Using bulkmarcimport . pl and the GUI import tools
This completes the implementation section of this book. In the next chapter, we will
learn how to troubleshoot installation and migration problems.
[193]
10
Troubleshooting
In this chapter, we will look at ways to troubleshoot problems with our Koha
installation. If you are responsible for ensuring the availability of your Koha
installation, troubleshooting is a key skill that you will need to develop. You may
face problems during installation, during upgrades, or when users use the system
in new ways.
We will first look at the community tools and resources available to you for help:
Koha's Mailing lists
Koha's IRC chat
Koha's bug tracker
Koha's Git repository
We will also look at ways to troubleshoot and fix some common problems:
Apache2 web server is down
MySQL database server is down
Zebra search is not returning any results
Zebra index rebuild is not working
Parser problems
Over dues e-mails not working
Fines not working
Software bugs
Command -line programs- environment variables not exported
Problems with Internet Explorer
Troubleshooting
Where to get help
community resources
There are several tools and resources that you can use to get help from the Koha
community. In this section, we will point to you these resources.
Koha's mailing lists
You should join the main Koha list; this is the users list, it is very active, and is
the best way to get support from the community. You can consider joining other
specialized lists, depending on your interest.
You can join the lists via this page:
http: / /koha -community.org /support /koha- mailing - lists /.
Koha Library Software Community
.re n.,
Rey er to
Love awe-I oha I wind LiSa
i
4koho
Koha Mailing Lists
The main Reba mailing list is the Lest way tu get In contact with the koha community. It is the best
place to introduce yourself to the project and seek assistance from other users.
Join the mailing list.
Esrern Calendar
bt
The main koha list is hosted by -.sap.: Camalan,:
T
a_
Specialised Lists
There are several other more specialised
a mailing lists which you're welcome to join_
Most of the specialised lists are hosted by FIb.i.i ge Check out the complete set on Vona project
traites. But here is a summary of some featured lists:
i:r D_,.: r
t
for people working on Koha. If you are a developer then you will probably
want to Iron the patches. commits and hugs mailing lists as well.
a
.
`..J.
._
_+
.
... - a list for members of large Koha consortia.
daoha's German support
Spanish '.anguage list for people who speak Spanish
What we're talking about:
Here are a few of the most recent messages to the roam ficha list.
Ì
Development is sponsored by libraries of varying types und
s- s, volunteers. and support comp nies from :rame the
world
Support Company News
& site for people who speak French
n In rata n i oat nr la _in g.. Lot for people who speak German and want to work on
Find.
truhn is the first Li se software library ailcmation pottage.
I r: '::- people wanting to install dacha on Windows
.
ë-°
About Koha
r ,russe.
eremcus o text
Highlight eil
:
Match came
[196]
i
Chapter 10
Koha's IRC chat
If you need to chat with Koha developers in real time, you should use the IRC chat.
You can join the chat via this page:
http://koha-community.org/support/.
The IRC server is irc . kat ipo . co . nz and channel is #koha.
Koha's bug tracker
Koha's bug tracker is available at this URL:
http: // bugs .koha- community.org /bugzilla3 /.
Welcome to Bugzilla
Q
Y
axa
Y,íf.wßxa.
QtXCk Search
We use the bug tracker to:
File a new bug report
View a bug's status
Learn about any work -around to the problem
Download patches that fix the problem, especially if the fix is not available in
Koha's Git repository
[197]
Troubleshooting
Koha's Git repository
A web display of Koha's Git software repository is available at at:
http://git.koha-community.org/.
This is the version control repository for the K,ha s:ro:e: it To clone a repository and start working on Koha or its doco:nentation posse install lit and run
.__ clone git:; -aen kc s- conmurity
a%aase_e_neccsito =Ynit
Fer example.
gut 0005
.
.ftgit .serin- carnurit3.cng.kc`uo.0it
Connut statistics are wadable for
Kohd : roasts. 'ranch
-Jp.,,
F:;`
...._
Search:
Project
Description
ü}Jrter
keha git
main Kohn release repository
Soho tOt noct
kohadocs -git
Soho Documentation repository Koha Project
Storata - predecessor to Koha Chas Cormack
Kobe 1 07 reaository
Chris Connect<
kumara pi
oidkoha_t_0_7 sit
ospiksha-catalyst pit Catalyst mark in progress
wìp/koha- tócgit
Foundations Bible College..
wip ore pets pit
P -FS work in progress
Last Change
2 says ago
2 days ago
= - -- -
9 years ago
9 years ago
Chris Toernonk
-R =ris; i -o tom iia t=
Chris ràghswoncer 2days Aso
J Ls. a Ears. sett 2'- o tes ago ,.
to r=
The repository can be viewed from the Linux command line, as well using
Git commands.
We use the Git repository to:
Monitor availability of patches for specific software bugs
Download software updates
Common problems
In this section, we will look at ways to troubleshoot some common problems with
a Koha installation. Other than software bugs, most other problems stem from
improper server or application configuration. For each problem, we demonstrate
diagnosis and rectification steps.
[198]
Chapter 10
Apache2 web server is down
If the Apache2 web server is down, you will not be able to connect to the server; you
should see something like this.
Unable to connect
Firefo< cant establish a connection to the server at 127.0.0.2.
The site could be temporarily unavailable or too busy. Try again in a few moments
If you are unable to load any pages, check your computer's network connection
If your computer or network is protected by a firewall or proxy, make sure that Fret .
is permitted to access the Web.
Tr,'
AHgaT:
In such a situation, the first thing to check would be the status of the Apache2 server.
Let's run the command:
koha @linux: - # sudo /etc /init.d /apache2 status
unused
Checking for httpd2:
If Apache2 is not running, run this command to bring the server up:
koha @linux: - # sudo /etc /init.d /apache2 start
Starting httpd2 (prefork)
done
A common reason for Apache2 being down, especially on openSuSE and similar
distributions' is that the machine has been rebooted, and Apache2 has not been
configured to start up at boot time.
To test if this is the case, we use the command chkconf
koha @linux: /home /koha # sudo chkconfig apache2
apache2 off
[199]
ig:
Troubleshooting
To make sure Apache2 starts at boot, we use the chkconf ig command with the on
option:
koha @linux: - # sudo chkconfig apache2 on
Let's run a test once again to see if the configuration is correct:
koha @linux: /home /koha # sudo chkconfig apache2
apache2 on
There could be other reasons for the problem, of course; look at the Apache2 log files
for clues. To view or track the log file, we use the tail command:
koha @linux: /home /koha # tail -f /var /log /apache2 /error log
MySQL database server is down
If the MySQL database server is down, you will not be able to connect to the
database. You should see something like this:
Koha error
The fodavving fatal error has occurred
,...n. ,t to total. Ny;V!.. aervd a through .. ;.t
.,,la,- on ta-11,:i
rehui, .a at tu,
. - .
r'
51Pi
t`c'.ie,
lat, G:r aw.}'rtad
-^mpil.ar-: nn T Ind ir:
at a
.ei- -oo;n tatr at ....rted
.S°GIfi
. ..
,.ed ,,. _i,
.,.
.
.
.
....
.
.....
aar;run'mysHl
CA ;
i.lc:r.'
.:
.
ilvtl
i
regrirr.: at
24,
n_ 24,
1?n? 2'.
m :..r_ 27.
......:.:
.:...
,..: ...
re
lat-on aC.... t-
^a
.-
.
g.
,I:
pr
iirg:.:tatlon pm lirre
ling 25.
duns. pm ;.r
.-
..
.........
.......-.:.:
..
.
.
.....::..
.,..
,:r::l..:it:.:,n'i.irre 2:.
:
.
.
..
,
.
iP.:':apnc-mairs.G''- line 1z.
oea_- Ina ;r,.pl line 22.
ion
In such a situation, the first thing to check is if the MySQL database server is running
or not. To test status of MySQL, we run the status command as follows:
koha @linux: - # sudo /etc /init.d /mysql status
Checking for service MySQL:
unused
[ 200 ]
Chapter 10
The unused message above indicates that MySQL is down. To bring the database
server up, we execute the start command:
koha @linux: - # sudo /etc /init.d /mysql start
done
Starting service MySQL
As with Apache2 on openSuSE and similar distributions, MySQL may not have
been configured to start up at boot time.
To test if this is the case, we run command
chkconf ig:
koha @linux: /home /koha # sudo chkconfig mysql
mysql off
To make sure MySQL starts at boot, we run
koha @linux: - # sudo chkconfig
mysql
chkconf ig
with the
on
option:
on
Again, just like with Apache2, let's run a test once again to make sure the
configuration is correct:
koha@linux:/home/koha # sudo chkconfig mysql
on
mysql
There could be other reasons for the problem; you might want to take a look at
the MySQL logs for clues:
koha @linux: /home /koha # tail -f /var /log /mysql /mysqld.log
The messages log file is a general system log file, and may contain useful
information as well:
koha @linux: /home /koha # tail -f /var /log /messages
[ 201 ]
Troubleshooting
Zebra search not returning any results
Another common problem is Zebra searches don't return any results.
The No Result found message looks perfectly innocuous. Maybe you don't have
a match for the search term. But if this happens for search terms you know should
return results, then the first thing you should look at is the Zebra server.
My OPAC Header
No Result found !
No results match your search for "a" in My Library Name Catalog.
My OPAC Credits
L'dnoUSi)a`,.°3: cs:*ri.1,
We use the ps command to see if zebrasry is running:
koha@linux: /home /koha # ps -eaflgrep zebra
root
2032
1540 0 14:38 pts /0
00:00:00 grep zebra
In this case, there is no zebrasry process. To fix the problem, we need to start up
the Zebra server. We execute the zebrasry command like this:
koha @ linux: /home /koha # zebrasry -f /etc /koha -dev /etc /koha- conf.xml &
Or, if we have the Zebra daemon service setup, we start the server like this:
linux -4yut: /home /koha # sudo /etc /init.d /koha- zebra - daemon start
Let's test if the server is up, again using the ps command:
kohamlinux: /home /koha # ps -eaflgrep zebra
root
2033
1540
0 14:39 pts /0
00:00:00 zebrasry -f /etc /kohadev /etc /koha -conf.xml
root
2046
1540
0 14:39 pts /0
[ 202 ]
00:00:00 grep zebra
Chapter 10
The output this time tells us that there is an active zebrasry process.
A common reason for the Zebra server being down is that it is not configured to
start up when the machines reboots.
On Debian, we use the
update -rc .d
command to set this up:
linux -4yut: /home /koha # sudo update -rc.d koha- zebra - daemon defaults
On openSuSE, we use the
chkconf ig
command to set this up:
koha @ linux: /home /koha # sudo chkconfig koha- zebra - daemon on
On openSuSE, if you are not using the koha- zebra - daemon service, you can
setup the zebrasry command in the /etc /finit . d /boot . local file. Edit the
boot . local
file:
koha @ linux: -> sudo vi /etc /init.d /boot. local
And add the
zebrasry
command to the file somewhere near the end of the file,
as follows:
/usr/bin/zebrasrv -f /etc/koha-dev/etc/koha-conf.xml &
There could be several reasons for the server coming down; look at the Zebra server
log file for clues:
koha @ linux: /home /koha # tail -f / etc /koha -dev /var /log /zebrasrv.log
For more information on configuring a Zebra server, see Chapter 4, Koha's Web
Installer, Cron tab, and Other Server Configurations.
Zebra index rebuild not working
You should know there is a problem with the rebuild process when changes to
catalog items -new records, edits to records, or changes in checkout statuses do not
reflect properly in search results on the OPAC and in the Staff Client.
The rebuild process may not be running due to several reasons.
If the rebuild process is setup correctly in the Crontab, you should see something like
this in the messages log:
koha @ linux: /home /koha # tail -f /var /log /messages
Jun 3 16:14:01 koha @ linux /usr /sbin /cron[4010]: (root) CMD ( /home /koha/
kohaclone /misc/ migration _tools /rebuild_zebra.pl -b -a -z » /home /koha/
logs /zebra.log 2> &1
[ 203 ]
Troubleshooting
If you do not see rebuild_ zebra.pi executing in the log file, then you know that
there is problem with the Crontab configuration.
To view how the Crontab is setup, we use the crontab command with the -1 option:
koha @linux: /home /koha # crontab -1
A properly configured Crontab will look something like this:
PERL5LIB= /home /koha /kohaclone
KOHA CONF= /etc /koha -dev /etc /koha- conf.xml
*/1 * *
*
*
perl / home / koha /kohaclone /misc /migration_tools /rebuild_
zebra.pl -b -a -z » /home /koha /logs /zebra.log 2> &1
It is important to set up the environment variables
Crontab.
PERL5LIB
and KOHA_CONF in the
For more clues, you should refer to the rebuild log file:
koha @linux: /home /koha # tail -f /etc /koha -dev /var /log /rebuild zebra. log
For more information on configuring Zebra's index rebuild in the Crontab, see
Chapter 4, Koha's Web Installer, Crontab, and Other Server Configurations.
Parser problems
If you are using non -English characters - Spanish or French, then the SAX parser is
something you will need to have setup correctly.
A search expression matching a record that has such characters in any field will
result in an error like this:
[204]
Chapter 10
LJórary CataWg
harry potter
rt -aq -bu.l
Error:
ut18'\xC3" does not map to Unload, at lusrtlib /per15/5.8.8/1386- linux- thread- multi/Encode.pm line 174.
In this type of situation, you should check the SAX parser setting. We do this by
executing Koha's SAX parser print program /misc /sax_parser_print .pl:
koha @koha @linux: -> cd /home/koha/kohaclone/misc/
koha @ linux: /home /koha /kohaclone /mist # ./sax_parser_print.pl
Koha wants something like:
XML::LibXML ::SAX::Parser= HASH(0x81fe220)
You have:
XML ::LibXML::SAX= HASH(0x834fea4)
Looks bad, check INSTALL.* documentation.
The error looks bad indicates that the configured parser is not suitable for Koha use.
To correct this problem, we edit the parser's initialization file:
koha @ linux: /home /koha /kohaclone /misc # vi /usr /lib /per15 /vendor_
perl /5 .10.0 /XML /SAX /ParserDetails.ini
And, replace [XML :: SAX :: PurePerl ] or
with [XML::LibXML::SAX::Parser].
[XML :: SAX :: Expat
]
, as the case may be,
For more information on configuring the SAX parser, see Chapter 4, Koha's Web
Installer, Cron tab, and Other Server Configurations.
[205]
Troubleshooting
Overdues e -mail not working
In our experience, problems related to overdue notice e-mails are fairly common.
This is a more complex problem to troubleshoot, as there are a whole set of things
that need to be in place.
Reviewing notice triggers
Overdue notices may not work correctly if they are not setup correctly in the
Notice /status triggers section under Tools. Make sure the Letter and Delay is
setup correctly for the Patron Category in question.
Patrons
Search
4koha
More e
NO_LIBRARY_SET SP
I knhaadmìn (Log OA I LOI
mit
Cher,
:heel
.t
Sear
n
Honte rT.ypis> Notice Triggers
Tools Horne
-
-
News
Defining default overdue actions
Lzd::eis ¡opino and harcode)
Delay is the number of days after an issue is due before an action is trirered.
Calendar
If you want Roba to trigger an action (send a letter or debar member). Kelay value is required.
Notices
Columns must be filled left to right, if the first column is blank, other columns will be ignored.
Noticeistatus triggers
Select a library
Moderate CTrPpr comments
Rules for overdue actions: default library
Modo: me patron tags
II., .nr' TYf3::.b,i
Import:,-staginr.di
MARC ; rnpert ;manag ,ng
hatches;
Report bibsíhcldrngs
Import patrons
1.aff.od
Fist
Delay
Errchange
Student
Second
Letter
Debar
Delay
Lefler
Debar
tinar-..r.....
--
Peat
Gradtute I'
Student
.
' Due n
..:
Under
Paunns
n r vnrze,
bWk..ia
ei
Graduate
Student
item Due Re:m;ndar
_ --
--
.
upload Patron Images
Save Changes
Task Scheduier
Troubleshooting e-mail problems
Next, we look at the Messaging tab of the Patron who is not receiving overdue
messages. If there are messages in the Pending status, we know there is a problem
with e- mailing messages, rather than generation of notices.
[ 206 ]
Chapter 10
Circulation
Patrons
Search
4koha
No_LIgRANY SET ad I kahaadmin 0.541_21.0 I ai
More
E, n
n
n
u
Search
Search Patrons
Check Dut
F
Search the Catalog
Home > Patrons >Patron Details for SavItra Sirohi (1)
..........
Savitra Sirohi (1)
My Address 1
My Address 3
City
12345678
Change Password
5
Print
Manage patron messaging settings
Days in advance SMS Email Digests only? aoSS Do not notify
saeCresireni*osslans biz
Upcoming Bents
Category Staff (S)
Home Library: Mountain Bay
Item DUE
0
v
-
Hold Filled
-
Cnecl< Out
Advance Notice
Oztaiis
Submit Changes
O
¡
..
Cancel
Message Queue
Fines
Type
Circulation History
Modification Lag
Subject
Statue
Time Preparad
email Item Due Reminder sert
3'IC47 -15 10'19:04
Item Due Remindui s.ci
2010ah7 -15 10:3503
.+mail
1'1'1'1'__ .
............. ......................_:.......
email Item Due Reminder [ending `1'110 -07 -17 09 :35 :50
Messaging
English
Esoafini
Let's first look at the status of the mail server:
koha@linux: /home /koha # rcpostfix status
Checking for service
Postfix:
running
We should also try to send an e -mail from the Linux shell:
koha @ linux: /home /koha # mail -s "Hello Itoha"
myemail@mydomain.com
EOT
If both these steps are working, we need to look at the messages log file to make sure
that the cronj ob for the process message_queue -pl program is running:
koha @ linux: /home /koha # tail -f /var /log /messages
May 31 09:55:01 koha @ linux /usr /sbin /cron[8980]: (koha) CMD (perl /home/
koha /kohaclone /bin /cronjobs /process message_queue.pl)
[ 207 ]
Troubleshooting
To view how the Crontab is setup, we use the crontab command with the -1 option:
koha@linux:/home/koha # crontab -1
A properly configured Crontab will have the Koha -related environment
variables setup:
PERLSLIB=/home/koha/kohaclone
KOHA CONF=/etc/koha-dev/etc/koha-conf.xml
And, the
30 6
pl
*
*
cronj ob
should be setup as follows:
* perl / home /koha /kohaclone /bin /cronjobs /process message queue.
For more clues, run the process message_
in verbose mode using the -v option:
queue .pl
program from the Linux shell
koha @ linux: / home /koha /kohaclone /misc /cronjobs # perl process_message_
queue.pl -v
Troubleshooting problems with generation of
notices
If you don't see any pending messages in the messaging tab, then there could be a
problem with the Cronjob for the overdue_notices .pl program.
First, it might be a good idea to look at the messages log file to see if the program
is running:
koha@linux: /home /koha # tail -f /var /log /messages
May 31 09:45:01 koha@linux /usr /sbin /cron[8792]: (koha) CMD (perl /home/
koha/kohaclone/bin/cronjobs/overdue_notices.pl -t)
A properly configured Crontab will have the Koha -related environment variables
setup, and a Cronjob for the overdue_notices .pl program:
koha@linux:/home/koha # crontab -1
PERLSLIB=/home/koha/kohaclone
KOHA CONF=/etc/koha-dev/etc/koha-conf.xml
45 5 * * * perl /home/koha/kohaclone/bin/cronjobs/overdue_notices.pl -t
[ 208 ]
Chapter 10
If the Crontab configuration is fine, try running the overdue_notices .pl program
from the Linux shell for clues:
koha @ linux: / home /koha /kohaclone /mist /cronjobs # perl overdue_notices.pl
-v -t
Fines not working
Problems with fines calculations are fairly common as well.
Fines calculations may not work correctly if your fine rules are not setup correctly
in the Circulation and fine rules section under Koha Administration. Make sure
that the Fine Amount is setup correctly for the Patron Category and Item Type
in question.
hic ©ria
'
Check Out
Check In
Suhn
Search the Catalog
Home 'Administration > Boeing Rules
System Preferences
Defining default issuing rules
System Preferences
Basic parameters
Libradas and groins
Funds and hudaets
Currencies and
exchange rates
Item types
Patrons and circulation
Patton types and
The rules are applied from most specific to less specific, using the first found in this order.
same library. same patron type, same item type
same library. same patron type, default Rem type
same library, default patron type. same item type
same library, default patron type, default item type
default library, same patron type, same item type
default library, same patron type, default item type
default library. default patron type, same item type
default library, default patron type, default item type
calegowes
To noddy a rule. create a new one with the same patron type and item type.
Cities and towns
Road types
Patron attributs tonus
Select a library'
rubs
Default
Patron Category
Fine
Amount
Item Type
Catalog
Authnnzed Values
Staff
.Books
51 RR
MARÇ.5ibü giSfiOdli_.
framework
Default
'.Books .... ._.
$5 00
Fiona to MARC manning
MARC Biblioraohic
Default
GDiDVD
55 00
Default
'Se,.alsldournals
$5 JO
Fine
Bays
Fitte
Current
Checkouts
Fine
Charging
interval
Grote
Period
1
t
day(s)
Unlimited
day(s)
5
dav(si
loan
Period
Allowed
1
day(s)
Duinl.t!
1d day(s)
7 day(s)
Delelt
2 day(s)
Delete
framework test
Authority type=_
Classification sources
Recond matching filas
Additional parameters
St_p Vp'n,ds
7_37
50 Client Targets
Default
-
faut
day(s)
day(s)
For this library. you can specify the maximum number et loans that a patron of a given category can make, regardless of the item type.
if the total amount loanable fora given patron category is left blank, no limit applies, except possibly for a limit you define for a specific item
type.
Patton Category
Total Content Checkouts Allowed
Fanilly
et
Add
For this Ilhr.ary uni ran unlit nil es tnr amen itemtvnes renardless of the natrons ratennry
English
Ësp.dflol
Another common mistake is to neglect to change the system preference from
finesmode to production.
[ 209 ]
Troubleshooting
You might also want to make sure that the fines . pl program is setup in the
correctly in the Crontab:
koha @linux: /home /koha # tail -f /var /log /messages
Jul 14 10:05:01 koha @ linux /usr /sbin /cron[7741]:
perl / home / koha /kohaclone /bin /cronjobs /fines.pi)
(root) CMD
A properly configured Crontab will have the Koha -related environment variables
setup, and a Cronjob for the fines .pl program:
koha@linux:/home/koha # crontab -1
PERLSLIB=/home/koha/kohaclone
KOHA CONF=/etc/koha-dev/etc/koha-conf.xml
0
7
*
*
* perl / home /koha /kohaclone /bin /cronjobs /fines.pl
For more clues, try running the fines .pl program from the Linux shell:
koha @linux: / home /koha /kohaclone /misc /cronjobs # perl fines.pl
Fines assessment -- 2010 -07 -17 -- Saved to /tmp /koha_2010- 07- 17.1og
Number of Overdue Items:
counted 1
reported 1
The program outputs information into a log file, which might contain interesting
information:
koha @ linux: / home /koha /kohaclone /misc /cronjobs # vi /tmp/koha_2010-07-
17.log
cardnumber
categorycode
surname firstname
email
address citystate
itemnumber
barcode date_due
days_overdue
fine
1
S
Sirohi Savitra myemail@mydomain.com
12345678
My Address 1
1
30108000050959
2010 -07 -14
3
3
[210]
phone
type
Chapter 10
Software bugs
Sometimes, you may come across software bugs. You can raise such issues in Koha's
bug tracker. Often, you will find that someone has already raised a bug report, and a
fix is available as well.
Here is an example of a bug report on the tracker:
Search
Bug 4840 - Cost not rotndod
Reported 2010 -05 -31 11 45 UTC by Nahuel Angelmette
Stut + +c NEu
Modified 2010-07 -07 15 4-7 UTC t -1
Product hohe
_.)fJ pUet t Acquisitions
Version rel_3_0
Platform All All
F ++i+ rrt,o
+
PATCH -Sent normal (
CC List 0 users t
S e Alois
Change sponsored? - -+
i
A--eynr.ii 1, Henri -Damien LAURENT
QA Contact Bugs List
UAL
Depends on
fllocks:
Show dependency trágq
Ait w
iu +tenta
P
ed patch, testcase, etc )
You need to ;<)Ly_ before you can comment on or make changes to this bug.
Nahoei Angelinetti
Mrk,ne r
new order,
2010 -05-31 11:45.00 UTC
the different suas are net rounded VI,
Henri-Damien LAURENT
Des<ri +fion
tanescmpt
2010 -07-07 15 4742 UTC
Cuino - nt 1
[ 211 ]
t
Troubleshooting
If a bug fix is available, and if Koha's release manager has pushed the fix into the
repository, you will find the patch in Koha's Git repository.
' ts_ c! koha.slit ! shoEttoy
summx, I shuxtIng I laa I cmnitmlt 1 ..ar stud.* 1 tree
first prey nn -v
C dktM1üt
v - searh
kohe git
7 days ago Nenni- Damian...
7 days ago Nenni -Damien
bug3812 :Illegal Date îsé does not match lea forma... sa..
Paws* I eemmaaitf I béa I snapshot
bug 4863: C4::Bookfund lacks use of Ct::Context
commit I cenmttdifi
8 days ago Nenni- Damien._.
Followup bug4263 : dateackxnioned should not he blanked
8 days ago Nahoe7 ANGEL ?NETT! ¡3.8.x] (bug #4939) automaticitemimnsfert break holdin...
-
I
tr.e. I.snapshx
content I eemmadtf 11rte I rnapihot
coma* I pomp-444i Itree I snapsnpt
8 days ago Nano&ANGELtNETTt (bug #4931) add the ability to choose home er holding...
8 days ago Plairont ANGELINETT1 ]3.0.4(bug #4930) fix inventory
8 days ago Nanuet ANGELINETT7 (bug #3329) Dependency missing in Inventory-pi
8 days ago NahoeIANGELINETTI (followup](MT3160) fix address request
8 days ago Manuel ANGELINE:71 (bug #4916) permit tools:+deanhorrowers.pl to he used...
g days ago Henn: fer mien..
MT3915: deleted biblias would stick in zebra indexes
2010 -06 -30 Nenni- Damien...
C4 ::XSLT Removing unconditional warn
2010 -06 -30 Zeno Taoli
var status in C4f0utput.pm
2010- 06 -30 Zeno Ta+oli
Fixes about Italian sql files.
2010 -06 -22 Zeno Tajoli
Update userpermissions.sgl of it -IT for manage of CSV...
2010-06-22 Zeno Tajofì
Update userpermiasions.sgl den for manage of CSV...
2010 -06 -22 Zeno Tajoe
Fix COUNTRY authorised values to uppercase
SPIIIDIS. I mnemmetits 1 tree I snapshot
2070 -06 -22 Zena Tafoli
2070 -06 -76 hone user
bug 2434
Moult I ngmm*difi I s_ I
MT3753: Fix limits when itemcallnumbers are numbers
wnnnrt aamraittlltf I tree I snapsho
2010-06-16 Paul Poulam
Adding NSBINSE filters
2010 -06 -16 Marcel de Posy
Bug 4866 for 3.0.x (Enable Change event for item plugins(
2010 -06-16 Marcel de Rooy
Bug 4839 (System prof for MARC field 008 authorities...
2010 -06 -16 Marcel de Rooy
Bug 4513 (Resetting frameworkto Default) ]v3.0.x]
2010 -06 -16 Marcel rte Pony
Bug 4512 for 3.e.x only (Entailing issue in downloaded..
2010-06-16 Marcel de Rosy
But 4489 for opac.detail.tmpl (3.0.x] RESENT
2010 -06 -16 Marcel de Posy
Additional fix for bug 3212 P.O.x only]
2010 -06 -16 Nmanue'ANG ELtNETTI (bug #4856) delete forgotten debug code
2010 -06 -16 Nahuet ANGELWETTI (bug #4856) fix rebuild zebra to delete NSBINSE chars
2010 -06 -16 Nahuet ANGELI.NE: ï7 ( bug # 4853) change rights needed to renew loans
2010 -06 -16 Nabuel ANGELWETTI tfollowup](MT3160( fix previous patch for non checked...
2010 -06 -16 Nahuel ANCELINETTI ( bug #4842) check Orating is otI or rRt
2010 -06 -16 Nahcel ANGGELIINETT;
X Find:
4040
r
I sßepshm
t eLe
eómsq I sormildift Its. I snapshot
I pömmrtdifl I tree I snapshm
cer:m* 1 eámmaiH I tre: I snapshot
_ I _pmmrtelf! I t_ I_ apsno
commit I çgmr24dfí 1 tier I s_ry.pshá
commit I coms*dift I tree 1 sngpshpi
cárx=[ I ckm=naif+ I Sae I tnapstwt
.anmhlsonprtrrdirtI sp. Ia.apsha
camma I cemmndili
1 zr3p
= I aanm.acift
I t_a I.Ist
I snasnot,
I
ParPent
osPPPSOf i l tren. I snaastrcrt
consort I <amn+haitt I tree
I snaps.
asp.. I comsaditi
I snaps./
I
lre.e.
cmmm* I camm*dM Itr_ I snapsnat
cars.. I eosmdaiti I treg 1
snaps,
wmm* I pommhdltf I n'_ I xnaoshát
tempt 7 oomm*difr I tree I snapshca
-cnm* I ccmm*dit+ I tr. I snapshot
camm2l iömm2491.ILrç 1 sPPEPhçe
cc.. I çämmadiM I tree
.. rcmt I s?_nsnGj!. I t.reç.l
gnäpsnoÇ
xn:PShçq
cgmnR I romrcddtY ¡pet I snlp_sfict
-emirs I omm*iif' I trie 1 s'aFSs
m
.Erevlous 4> Not
cwnm* I epmm*mft I
15951ght all
fdstLh case
To apply the fix to our installation, we use the git pull command, something
like this:
koha®linux: /home /koha /kohaclone # git pull origin 3.O.x
This command will pull the bug fix, along, with all the other changes in the
repository since the last pull. We will learn more about git pull in the next
chapter, Chapter 11, Updating Software.
[212]
re
Chapter 10
If a bug fix is available, but has not been pushed into the Koha repository, you can
download the patch from the bug reports, and try to apply it yourself. To apply a
patch, we use the command git apply:
koha@linux: /home /koha /kohaclone # git apply name -of- patch.patch
Command line programs- environment
variables not exported
If you don't have Koha's environment variables set up correctly for the Linux
shell, you will see errors like this when running command -line programs, such
as bulkmarcimport.pl:
íi85- 160:/ home / koha /kohaclone /misc /migration_tools # perl bulkmarcimport.
pl - -h
Can't locate C4 /Context.pm in @INC ( @INC contains: /usr /lib /per15 /5.10.0/
i586- linux- thread -multi /usr /lib /per15 /5.10.0 /usr /lib /perl5 /site_
perl /5.10.0 /i586 - linux- thread -multi /usr /lib /per15 /site_perl /5.10.0 /
usr /lib /per15 /vendor_perl /5.10.0 /i586 - linux- thread -multi /usr /lib /per15/
vendor_perl /5.10.0 /usr /lib /per15 /vendor _perl .) at bulkmarcimport.pl
line 21.
BEGIN failed -- compilation aborted at bulkmarcimport.pl line 21.
To avoid this problem, we need to export the KOHA_CONF and PERL5LIB environment
variables:
koha @linux: /home /koha /kohaclone # export KOHA_CONF= /etc /koha -dev /etc/
koha- conf.xml
koha @linux: /home /koha /kohaclone# export PERL5LIB= /home /koha /kohaclone
To set these up to be persistent across sessions, we add these lines to the /etc /bash.
bashrc file in Debian, and to the /etc /bash. bashrc . local file in openSuSE.
[213]
Troubleshooting
Problems with Internet Explorer
Some Koha screens may not display properly in Microsoft's Internet explorer:
You can try looking for a fix in the Koha bug tracker or in its Git repository. It is
best, however, if you use Firefox, Chrome, or other browsers; things should be
just fine on those.
[214]
Chapter 10
Summary
In this chapter, we learned how to troubleshoot application problems. Koha's
community tools - mailing lists, IRC chat, Git repository, and bugs repository are a great help.
To get you started on Koha troubleshooting skills, we walked you through
troubleshooting tasks for some common problems with Apache2, MySQL,
and Zebra.
We learned how to tackle more complex problems related to overdue notices
e- mails, fines, and finding and applying bug fix patches.
We also learned the importance of exporting Koha's environment variables, and
of setting up the SAX parser correctly.
In the next chapter, we will learn how to download and install software updates.
[215]
11
Updating Software
The Koha software is always changing, almost every day. These changes contain
bug fixes, minor revisions to existing features, and entirely new features. You should
keep the software updated to benefit from these changes.
Even if the new versions do not contain changes of interest to you, it is good practice
to keep the software updated. If your version falls too far behind the current version,
the update process to the latest version is likely to be very difficult.
In this chapter we learn how to download and install software updates. We cover
the chapter in two steps - an orientation followed by a demonstration of the process.
Orientation to updating software
Before we can update the Koha software, let us learn about Koha's software
versions and how to choose the version to upgrade to. In this section we also learn
about the components of a software update, and how to install each component of
the update properly.
Understanding Koha's software versions
To choose which new version to upgrade to, let us first understand how the Koha
software is organized.
Updating Software
Branches
At any given point Koha has at least two main software branches:
Stable: This branch is older and is considered stable or bug free for the most
part. Only bug fixes are allowed on this branch.
Development: This branch is where new features are developed. This branch
is ahead of the stable branch, meaning it has all the features of the stable
branch and the new features in development.
Heads
Both branches - stable and development have heads. A heads is the tip of the branch,
pointing to the latest change made in that branch.
At the time of writing of this chapter, there are two heads available in Koha's
Git repository.
3.0.x: This is the tip of the stable branch
master: This is the tip of the development branch
Tags
Both branches have multiple tags. Tags point to specific points in a branch's change
history. For instance we see these tags related to the stable branch:
v3.00.06: This is the latest stable branch
v3.00.05: An earlier version of the 3.0.x branch
v3.00.04: An earlier version of the 3.0.x branch
v3.00.03: An earlier version of the 3.0.x branch
And these tags are available for the development branch:
v3.02.00 -beta: This is the 3.02 branch in the beta testing stage
v3.03.00- alpha: This is the 3.02 branch when released for alpha testing
[218]
Chapter 11
Choosing a version to update to
We can choose to move to the head of the stable branch or the head of the
development branch or to any tag in one of these branches.
Here are some pointers to help you decide:
On production servers, we upgrade to the latest stable tag in the
stable branch
To take an early look at new features being developed, switch to the
alpha or beta tag in the development branch, if available
If you want to take a look at the very latest version of the software,
switch to head of the development branch
Understanding components of software
updates
When bugs are fixed or new features are added in Koha, different types of files
and programs can change such as these:
Perl, Java script, HTML, CSS, and other types of files in kohac lone folder
Tables, columns, constraints, indexes, system preferences, and other types
of changes in Koha's database
Indexes and properties in Zebra configuration files
Directives in Koha's Apache2 configuration files
An overview of the installation process
To ensure that software updates are installed properly, we need to follow these steps:
Download software updates: We can download updates using Git. Git
automatically detects our current version and downloads updates from
Koha's online repository.
Switch to a specific software version: Depending on our purposes, we
will choose a version that we want to upgrade to.
Install Perl module prerequisites: The new version of the software may
depend on new Perl modules; we will need to install these.
Install the new version of Koha: We will install the new Koha version
using the make utility; this process is similar to that of a fresh Koha install.
[219]
Updating Software
Configure Apache2: The new version of the software may have an updated
Apache2 configuration file. We will need to configure this new file.
Upgrade the database: We will use Koha's web installer to upgrade the
database to the new version.
Rebuild Zebra indexes: The new software version may contain updates to
Zebra configuration files. To have these changes reflected in search results,
we will need to do a full rebuild of Zebra's indexes.
Restart Zebra server: To load new Zebra configurations we will have to
restart zebrasrv.
Updating the software
Now that we have an understanding of how to update the software, let us go ahead
and execute the update process.
Downloading updates using git pull command
To download software updates, we use the git pull command. Before we do that let
us check what branch we are on at this time by using the git branch command:
koha @1i190 -245:- /kohaclone$ git branch
* koha -3.0.2
master
This * in the output above indicates that we are on the 3 .0.2 version, which at the
time of writing is an older version on Koha's stable branch.
Let us also check the branches on the online Koha repository, by using the
branch command with the -r (for remote branch) option:
koha @11190- 245: -/kohaclone$ git branch -r
origin /3.0.x
origin /HEAD -> origin /master
origin /biblibre -acq- preview -only
origin /biblibre- integration
origin /biblibre -sopac
origin /labels_recon
origin /master
origin /new /bug3987_alpha_sysprefs
origin /new_features
origin /rfid- direct - tagging
origin /sysprefs editor
[ 220 ]
git
Chapter 11
Of the several branches listed in the output above, two are of immediate interest
/3 . 0.x and origin /HEAD or origin /master. Origin /3 .0 x is the
stable branch while origin /HEAD or origin /master is the development branch.
to us- origin
If we are on a production server and we are interested only in updates for the
stable branch, we will run the git pull command pointing to the stable branchorigin /3.0.x:
koha @1i190 -245:- /kohaclone$ git pull origin 3.0.x
If we are on a test machine, and we want to upgrade to the development branch
for development of test purposes, we run the git pull command pointing to the
development branch- origin
/master:
koha@li190- 245: -/kohaclone$ git pull origin master
Once the command is executed your Koha server has the latest updates available in
the kohaclone folder.
Switching to a new software version
Now we need to decide which version of the software to use, this of course depends
on what your purpose of upgrading is.
First let us take a look at the tags that are available. To determine this, we use the
command git tag:
koha @li190 -245:- /kohaclone$ git tag
We see several tags, at the bottom of the list; you should see tags for the
branch, something like this:
3 .0 . x
v3.00.03
v3.00.04
v3.00.05
v3.00.06
And at the very bottom, tags for the master branch, which is currently versioned
3.02.xx:
v3.02.00-alpha
v3.02.00-alpha2
v3.02.00-beta
[ 221 ]
Updating Software
To switch to the master or the head of the branch, we run the git checkout
command as follows:
koha @li190 -245: -/kohaclone$ git checkout master
We see from the output of the git tag command that the latest tag or version in
Koha's stable branch is version v3.00.06. To switch to this version, we would run
the git checkout command with the -b option and with a label for the new branch
and the tag as parameters:
koha @1i190 -245: -/kohaclone$ git checkout -b <label for the new branch>
<tag pointing to the version>
The -b option creates a new branch with the specified label and points the branch to
the software version specified by the tag. This command would be executed like this:
koha @11190- 245: -/kohaclone$ git checkout -b koha -3.0.6 v3.00.06
To switch to tag 3 .0 2.0 0 -beta on the development branch, we would run the git
checkout command as follows:
koha @1i190 -245: -/kohaclone$ git checkout -b koha- 3.02 -beta v3.02.00 -beta
To test if you have switched branches successfully, use the git branch command:
koha @1i190 -245: -/kohaclone$ git branch
* koha- 3.02 -beta
master
Installing the new software version
Once we have switched to the software version we want to use, we will install
the new Koha version in the same way that we do a fresh Koha install. The reader
should refer to Chapters 1 and 2 for help with these steps.
Running the
Makefile.PL program
First we run the Make f i l e . PL program. As this is a software update and not a fresh
install, we need to make sure we enter configuration details corresponding to the
current installation:
linux- 4yut: /usr /share /kohaclone # perl Makefile.PL
We chose the dev installation mode during our initial installation; make sure we
choose the same here:
Installation mode (dev, single, standard)
[ 222 ]
[standard] dev
Chapter 11
Set the configuration directory to the directory configuration directory of the
current installation:
Configuration directory:
[ /home /koha /koha -dev]
Make sure to specify the current database name here:
Please specify the name of the database to be used by Koha [koha]
Specify the MySQL user that has privileges over the database:
Please specify the user that owns the database to be used by Koha
[kohaadmin]
Specify the password of this MySQL user:
Please specify the password of the user that owns the database to be used
by Koha [ katikoan] katikoan
If you are using Zebra, say yes here:
Install the Zebra configuration files? (no, yes)
[yes]
For other questions, the default value should be fine. Simply press the Return key to
proceed to the next step.
Installing Perl modules
The Makefile .
prerequisites:
PL
step above may end with warnings on missing Perl module
[Mon Jun 14 16:12:27 2010] Makefile.PL: Warning: prerequisite IPC::Cmd
0.46 not found. We have 0.401.
[Mon Jun 14 16:12:30 2010] Makefile.PL: Warning: prerequisite
Text::CSV::Encoded 0.09 not found.
Writing Makefile for koha
linux- 4yut: /usr /share /kohaclone #
We will need to install these missing modules using the package manager or the
CPAN shell. Refer to Chapter 1 for more information on how to install Perl modules.
Completing Koha installation
Once all Perl modules are installed successfully, we finish the installation of the new
version by running the rest of the make commands:
koha @1i190 -245:- /kohaclone$ make
koha @1i190 -245:- /kohaclone$ make test
koha @1i190 -245: -/kohaclone$ sudo make install
(223]
Updating Software
Configuring Apache2
Installation of the new Koha version will overwrite Koha's Apache2 configuration
/koha -dev /etc /koha -httpd. conf. This is why we will need to
configure Apache2 once again. Refer to Chapter 2 for more information on how to
configure Apache2.
file- /etc
Upgrading the database
Once we have Apache2 configured we navigate to Koha's staff client to launch
Koha's web installer. Here we use the kohaadmin MySQL user to log on.
4koha
GPEN3OIfRCE tNTEGRATED EISRARY SYSTEM
Welcome to the Koha Web Installer
Before we begin, please verify you have the correct
credentials to continue. Please log in with the username
an password given to you by your systems
ad nistrator and located in your koha -TSnf . xmt
configuration file.
Please enter your username and password;
Username;
Password:
Login
Y>
Once we log in, we see a database upgrade message. In this step the installer will
upgrade the database to match the new version of the software.
[ 224 ]
Chapter 11
Web Installer > Step 3
We are upgrading from Koha 3.00.02.012 to 3. 00.06.010, you must update
your database
Once the database upgrade finishes, you should be able to log in to the new version
of Koha.
Zebra rebuilding indexes and restarting
the server
As a final step we need to do a full rebuild of Zebra indexes in line with the new
Zebra configuration files. We also restart zebrasry to load the new configurations.
Rebuilding Zebra indexes
We run the rebuild_zebra.pl program with the
-r
option to do a full rebuild:
Linux- 4yut: /usr /share /kohaclone # ./misc/migration_tools/rebuild_zebra.pl
-b -a -r -v
Restart Zebrasry
Restarting zebrasry
To restart zebrasrv, we restart the Zebra daemon as follows:
linux -4yut: /home /koha # sudo /etc /init.d /koha- zebra - daemon restart
[225]
Updating Software
Summary
Here is what we learned in this chapter on updating software:
Using git pull command to download software updates
Using git branch command to switch to a specific software version
Installing the new Koha version using the Make utility
Upgrading the database using Koha's web installer
Rebuilding Zebra indexes using new Zebra configuration files
Restarting Zebra server to load new configurations
In the next chapter, we will learn about a related topic - how to make your own
modifications to the Koha software.
[226]
12
Customizing Koha Software
Most serious Koha users will want to customize the software to suit their needs,
perhaps to modify the styling or appearance or to tweak a certain page to show
additional information. If you have the skills, you can even take on more serious
work, such adding new features.
It is best to share the code you create by sending patches to Koha's release manager.
Koha's license requires that we share any enhancements we make. Another reason to
share the code is that if your changes are included in upcoming releases, you don't
have to do the work of retrofitting your changes into the new version.
In this chapter, we learn how to customize Koha code. We start with an orientation,
and then use a specific example to demonstrate how to implement and share
software changes.
An orientation to customizing Koha
software
Let's first get an understanding on how to go about customizing software. We
will learn about the skills required, the organization of Koha's application folder
and its database, and the process of making the software changes using Git,
Koha's version -control system.
Customizing Koha Software
Skills needed
Here is a quick overview of the skills needed to customize Koha. If you want to
modify styling and appearance, HTML and CSS skills should suffice. If you want
to work on more complex features, you will likely need JavaScript, Perl, and SQL
skills as well:
HTML: Koha runs in a browser, basic HTML skills are required if you
want to make changes to Koha's screens
CSS: Size, fonts, position, or colors on Koha screens are controlled via
CSS files
JavaScript: JavaScript adds interactivity to web pages; in Koha, JavaScript
is used for tasks such as validating keyed data or building menus
Perl: Koha's scripting language. If you need to work outside of basic styling
and appearance changes, you will need Perl skills
SQL: Along with Perl, you will need SQL skills to access or modify data in
the database
Understanding Koha's application folder
To be able to make changes to the software, we need to understand the structure of
Koha's application folder - how the folders are organized, what they contain, and
how the different file types are related to each other.
Top level folders
Here is a description of the some of the important folders in the kohaclone folder:
This folder contains Koha's Perl modules. These Perl modules are
shared libraries, containing subroutines that are used by various Perl
scripts throughout the Koha application.
C4:
This folder contains Apache2, Zebra, and Koha's configuration files.
installer: This folder contains Koha's web installer files, including those
that install or upgrade the Koha database.
etc:
This folder contains files related to staff client and OPAC screens.
Perl scripts: Koha's Perl scripts are organized by function in folders, such
koha -tmpl:
as acqui -for acquisitions, circ -for circulations, or misc -for various
command -line and Crontab programs.
[ 228 ]
Chapter 12
Template files
Let's take a closer look at the
related to Koha's screens:
koha -tmpl
file; this folder contains files and folders
-tmpl folder contains two folders - opac -tmpl for the OPAC,
and intranet -tmpl for the staff client
The OPAC and staff client template folder each contains a theme folder
named prog
The theme folder in turn contains a language folder - en or f r, depending
how you installed Koha
Within the language folder, you will find a set of folders j s - containing
JavaScript files, includes - header, footer, masthead and other include files,
lib-external display -related libraries, such as yui and j query, modules template files that display Koha's pages and css - stylesheets
The koha
Relationships between different types of files
Let's understand how Perl scripts, Perl modules, and template files are related:
Perl scripts call or use subroutines in Perl modules. To use a subroutine,
the Perl script must first load the module using the Use statement, like this:
use C4::Items;
Perl scripts, especially those that are used in Koha screens, have one or more
template files associated with them. To see which template file is associated,
look for statements such as this:
= get_ template _and_user( {template_name => "cataloguing /additem.
tmpl ",
Template files include header or footer types of include files using a
statement such as this:
<! -- TMPL INCLUDE NAME = "doc- head- open.inc" -->
CSS and JavaScript files are usually included in template files via the include
file
doc- head - close . inc
[ 229 ]
Customizing Koha Software
Understanding Koha's database
We also need to understand how Koha's database is organized. This will help us
make software changes that require access to the database or that require updates
to be made to it. In this section we take a quick look at how to browse the database;
we also list some of the important tables.
Browsing Koha's database
Let's start by logging in to MySQL. First, we use the
Koha's database:
use
command to switch to
mysql> use koha
Database changed
We use the show tables command to view a listing of all tables in the database:
mysql> show tables;
Tables_ in_koha_testing
accountlines
accountoffsets
action logs
1
alert
agbasket
agbookfund
agbooksellers
To view how a particular table organized, we use the describe command:
mysql> describe borrowers;
Field
Type
Null
1
1
Key
1
Default
1
Extra
1
borrowernumber
increment
int(11)
I
NO
I
1
[ 230 ]
PRI
NULL
I
auto_
Chapter 12
cardnumber
surname
I
I
varchar(16)
YES
I
mediumtext
I
NO
I
UNI
I
I
I
NULL
NULL
I
firstname
I
text
I
YES
I
NULL
I
An overview of important Koha tables
Here is a quick overview of some of the important tables in Koha, categorized
by function.
Cataloguing
The following three tables are key Cataloguing related tables:
Contains bibliographic data such as title or author.
biblioitems: Also contains bibliographic data; there is one -to -one
correspondence between records in biblio and biblioitems tables.
This table stores the MARC record in the field marcxml
items: Contains holdings records.
b ib 1 i o:
Circulation
Here is a listing of important circulation- related tables:
Contains current checkouts
old issues: Contains items that have been checked in
reserves: Contains open hold requests
oid_reserves: Contains hold requests that are cancelled or fulfilled
issues:
Patrons
Here are two key patrons- related tables:
Contains patron records
accountlines: Contains data on patrons fines and other dues
borrowers:
[ 231 ]
Customizing Koha Software
Administration
Administrative setting and data are stored in the following tables:
Libraries participating in the system
itemtypes: Item types are used in circulation rules
categories: Patron categories
issuingrules: Circulation and fine rules
systempreferences: Global system preferences
aqbookfund: Funds, budgets are created under funds
aqbudget: Budgets under each fund
libraries:
Serials
Serials data is captured in the following tables:
subscription: Subscription information such as frequency, numbering
pattern, start and end dates
subscript ionhistory: Table that tracks missing and received issues
serial: Table connecting bibliographic records and subscriptions
serialitems: Items under a serial record
Acquisitions
Acquisitions- related data is captured under these tables:
Contains order baskets
aqbooksellers: Table containing vendor records
aqorders: Contains orders within a basket
agorderdeiivery: Contains records of shipments received
aqorderbreakdown: Contains information on budget utilization
against each order
agbasket:
Koha's database structure
Here is a useful diagram of the database structure including key tables, their
columns, and relationships between the tables:
http: / /wiki. koha -community. org /wiki /File:Kohastructure.png.
[ 232 ]
Chapter 12
Using Git to manage software changes
It is highly recommended that the software changes be managed using Git.
Some of the benefits of using Git are:
Make changes safely in a separate development branch
Undo changes easily, even if changes are to a large number of files
Automatically merge your changes with those available in Koha's
online repositories
Share your changes with others, including Koha's release manager
Here is a listing of some Git commands we will use:
To create a development branch.
git add: Add one or more changed files to a commit.
git commit: Records the changes along with a description or comment
entered by the committer.
git format -patch: Creates a patch -a file that contains all the changes in a
single file. The patch can then be shared with others, including Koha's release
manager. The release manager may choose to include the patch in upcoming
versions of the software.
git send -email: Sends an e-mail to Koha's release manager with the patch.
git checkout:
For more information on Git commands, refer to these links:
http: / /git- scm.com /documentation.
Understanding the software customization
process
And finally, here is how we go about making a change:
Creating a branch: As a first step, we use the git checkout command
to create and switch to a new development branch. We can create one
or more commits in this branch.
Changing application files: We change one or more files using vi or other
editors. These files may be Perl modules, Perl scripts, JavaScript, CSS, or
template files.
Making database changes: We make database changes in MySQL scripts
in the installer folder.
( 2331
Customizing Koha Software
Changing configuration files: We make changes to Koha, Apache2, or Zebra
configuration files in the etc folder.
Creating a commit: Once all the changes related to a feature have been made,
we commit the changes using the git commit command. The commit may
consist of a single file or several files, but all files should be logically related.
If we have changed any of configuration files in the etc folder, we install
them using the Makefile. PL, make, and make install set of commands.
These commands will install the new files in Koha's configuration folder,
/etc /koha -dev /etc /.
Changing the database: If we have made any database changes, we install
these using Koha's web installer. The web installer runs automatically when
we navigate to the staff client.
Creating a patch: Once the changes are tested, we can use the git format patch command to create a patch. The patch can be sent to Koha's release
manager, or to others using the git send -email command.
Customizing Koha software an example
Let's take a look at a specific example to understand how to modify Koha code.
Let's say we want to add the Google Indic Transliteration tool to the masthead on the
OPAC. This tool transliterates text in the source language to a destination language
selected from a drop -down list. The transliterated expression can be then be used as
a search expression.
welcome,
My OPAC Header
Littditi C.LI.0
Ppty_.'és.t.fzsí<¿:
'Welcome to
Ted added to OPAC Main User Block kystem Preference.'
r i
enm,e.
My ;°PAC Credits
[ 234 ]
I
Chapter 12
This feature requires the following changes:
Modify the CSS file to position the transliteration control
Modify the search box on the masthead to accept input in the source
language
Add the language selector drop -down list to the right of the search box
Include a Google- provided JavaScript file; the transliteration is performed
by this file
Add a new system preference to control the availability of the tool
Creating a development branch
Lets first create a development branch in which to work by creating a copy
of the master branch:
Koha @linux: /home /koha /kohaclone # git checkout -b mydevel master
This command creates a copy of the master branch, and switches to using this
new branch.
Making CSS changes
To position the control via CSS, we edit the
tmpl /prog /en /css folder:
opac . css
file in the
koha- tmpl /opac-
koha@linux:/home/koha/kohaclone # vi koha-tmpl/opac-tmpl/prog/en/CSS/
opac.css
We add this block for the transliteration control to the CSS file:
#translControl{
float
left;
:
padding -left
:
.4em;
Creating a new JavaScript file
We create the new Google- provided JavaScript file in the folder koha
tmpl /prog /en /j s. Open an empty new file using the vi command:
-tmpl /opac-
koha@linux:/home/koha/kohaclone # vi koha-tmpl/opac-tmpl/prog/en/js/
googleindictransliteration.js
[ 235 ]
Customizing Koha Software
And add the contents of the transliteration file to the file:
// Load the Google Transliteration API
google.load( "elements ",
"1 ",
{
packages: "transliteration"
}) ;
function onLoad()
var options =
Loading the Transliteration JavaScript file
Next, we add a block to load the transliteration JavaScript file. We add this block
to the doc- head -close. inc file in the koha - tmpl /opac -tmpl /prog /en /includes
folder. The doc- head -close .inc file is included in all OPAC pages, so we can be
sure that our new JavaScript will be loaded in all pages.
koha@linux: /home /koha /kohaclone # vi koha - tmpl /opac - tmpl /prog /en/
includes /doc- head -close. inc
We add this block to the include file:
<! -- TMPL IF NAME = "GooglelndicTransliteration" -->
<script type = "text /JavaScript" src = "http: / /www.google.com/
jsapi " > < /script>
<script type = "text /JavaScript" language = "JavaScript" src = " <!- TMPL_VAR NAME= "themelang" -->/ js/ googleindictransliteration .js " > </
script>
<! -- /TMPL IF -->
Note the use of this if condition in the block above:
<! -- TMPL_IF NAME = "GooglelndicTransliteration" -->
This loads the Transliteration JavaScript only if a system preference
GooglelndicTransliteration is set to On.
Creating a system preference
Next, we create a system preference that will be used to control whether the
transliteration tool will be displayed or not. The system preference once installed
will look like this:
[ 236 ]
Chapter 12
Patrons
Circulation
4 Oj2
NO_LIBRARY_SET met) kohaadri n (Lag Uuti
Mores
Search
I
'? ,I
s =_Arch
_naglelndicTrensliteratlan
Check Out
Search System Preferences !
Search the Catalog
Home 'Administration y System Froth rrcas , Modify system preference VoogietndicTranalteraEon'
Modify a system preference
Admire
Explanation:
Acquisitions
Variable:
Value:
Authonties
Cataloging
ancel
Circulation
Koha internal
Enhanced Content
Variable type:
ItBtt./Lt©N
N51N
>GOOgIelndleTransliteraTion
Goo glelndicTransliteratlon
0 ON
OFF
Choi..e YesNO Integer Texterea Floor. Themes Languages
: Cbsegou'cas`
Variable options.
Logs
OAI-PMH
OPAC
Patrons
Searching
Staff Client
L.oCal Use
English
Esnañcl
We will need to modify the database install and update scripts.
First, let's edit the
folder:
syspref s . sql
file in the
installer /data /mysql /en /mandatory/
koha @linux: /home /koha /kohaclone # vi installer /data /mysql /en/
mandatory /sysprefs.sgl
We add this block to the file:
INSERT INTO systempreferences ( variable ,value,explanation,options,ty
pe) VALUES (' GoogleIndicTransliteration ','0','Allow display of Google
Indic Transliteration Tool in the OPAC Masthead',NULL,'YesNo');
The sysprefs . sql file is called from Koha's web installer. It is used to insert system
preferences along with a description and a default value. This file is used only for
fresh installations.
To make sure the new system preference is added when someone upgrades their
Koha version, we need to add the following lines in the updatebase3 0 . pl file in the
folder /installer /data /mysql /:
[ 237 ]
Customizing Koha Software
koha @linux: /home /koha /kohaclone # vi installer /data /mysql/
updatedatabase30.pl
We add a block as follows at the bottom of the file. The field $DBvers ion is
important; Koha's web installer, when deciding whether to upgrade the Koha
database, checks if the database's current version is below the highest $DBvers
value indicated in this file. If it is below this number, it initiates the database
upgrade process.
ion
Set the $DBvers ion by incrementing the last 3 digits of the number in the previous
block in the file. So if the last block in the file starts with this line:
$DBversion = "3.00.06.010 ";
if (C4:: Context -> preference( "Version ")
< TransformToNum($DBversion))
We create our new block as follows:
$DBversion = "3.00.06.011 ";
if (C4:: Context -> preference( "Version ")
< TransformToNum($DBversion))
$dbh ->do( "INSERT INTO systempreferences (variable,value,exp
lanation,options,type) VALUES (' GoogleIndicTransliteration','0'
,'Allow display of Google Indic Transliteration Tool in the OPAC
Masthead',NULL,'YesNo'); ");
print "Upgrade to $DBversion done (Adding Google Indic
Transliteration Sys Pref) \n ";
SetVersion ($ DBversion);
And finally, we edit the systempreferences .pl in the folder admin. This file
controls the tab in which this new preference will be displayed in the Global
System preferences module in Koha.
koha@linux:/home/koha/kohaclone # vi admin/systempreferences.pl
Add this line to show this preference in the OPAC tab in the Global System
Preferences module in Koha:
$tabsysprefs{XSLTResultsDisplay}
[ 238 ]
= "OPAC";
{
Chapter 12
Adding the transliteration tool to the display
template
Next, we add the code to display the transliteration control on the OPAC pages. We
add this block of code to the masthead. inc file in the folder koha -tmpl /opac -tmpl/
prog /en /includes /. The masthead. inc file is included in all OPAC pages that have
the Search tool on the top. Let's edit the file:
koha @linux: /home /koha /kohaclone # vi koha -tmpl /opac - tmpl /prog /en/
includes /masthead. inc
And, add this block of code:
<! -- TMPL IF NAME = "ms value" -->
<input type = "textbox" id = "transll" name = "q" value = " <! -- TMPL_VAR
ESCAPE= "HTML" NAME= "ms_value" - ->" class = "left" style= "width:35 %;
font -size: 100 %; " / > <div id= "translControl " > < /div>
<! -- TMPL_ELSE -->
<input type = "textbox" id = "transll" name = "q" class = "left"
style = "width: 35 %; font -size: 100%; " / ><div id= "translControl " >< /div>
Editing the Perl scripts to enable the system
preference
And finally, we need a mechanism to look up the value (on or off) of the system
preference in the database, and pass that value to the template files. We edit the
opac -main .pl file in the folder opac:
koha@linux:/home/koha/kohaclone # vi opac/opac-main.pl
And add this block of code somewhere near the bottom of the file:
# If GooglelndicTransliteration system preference is On Set parameter
to load Google's JavaScript in OPAC search screens
if
(C4:: Context -> preference ('GooglelndicTransliteration'))
$ template- >param(' GooglelndicTransliteration' => 1);
}
Do the same in the
opac -search.pl
in the folder
[ 239 ]
opac.
Customizing Koha Software
Committing changes
We will use Git to commit the changes we have just made. First, let's check what
files are modified using the git status command:
koha @ linux: /home /koha /kohaclone # git status
# On branch koha -3.0.2
# Changed but not updated:
#
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file >..." to discard changes in working
directory)
#
#
modified:
admin /systempreferences.pl
#
modified:
installer/ data /mysql /en /mandatory /sysprefs.sgl
#
modified:
installer /data /mysql /updatedatabase30.pl
#
modified:
koha - tmpl /opac - tmpl /prog /en /CSS /opac.CSS
#
modified:
koha - tmpl /opac - tmpl /prog /en /includes /doc -head-
Now, we add the specific files we want in the patch using the
git add
command:
koha @ linux: /home /koha /kohaclone # git add admin /systempreferences.pl
koha @ linux: /home /koha /kohaclone # git add installer /data /mysql /en/
mandatory /sysprefs.sgl
koha @linux: /home /koha /kohaclone # git add installer /data /mysql/
updatedatabase30.pl
Once we have added all the files, we use the git
commit:
commit
command to make the
koha @ linux: /home /koha /kohaclone # git commit
The command prompts for user input; here we add a description of the commit:
This adds the Google Indic Transliteration tool to the OPAC masthead.
# Please enter the commit message for your changes. Lines starting
# with ' #' will be ignored, and an empty message aborts the commit.
[ 240 ]
Chapter 12
# Committer: root <root @linux- 4yut.site>
# On branch mydevel
# Changes to be committed:
#
(use "git reset HEAD <file >..." to unstage)
#
modified:
admin /systempreferences.pl
#
modified:
installer/ data /mysql /en /mandatory /sysprefs.sgl
Save the comment by using
: wq,
and the command should exit with a message such
as this:
[mydevel 4727d7c] This adds the Google Indic Transliteration tool to the
OPAC masthead.
3 deletions( -)
9 files changed, 55 insertions( +),
create mode 100644 koha - tmpl /opac - tmpl /prog /en /js/
googleindictransliteration.js
To check if the commit was successful, we use the
git log
command:
koha @linux: /home /koha /kohaclone # git log
The output should display our commit on the top:
commit 4727d7ca977b032 f08f0b67a6d0b9c778fdd386e
Author: root <root @ linux- 4yut.site>
Date:
Tue Jun 15 16:55:34 2010 +0530
This adds the Google Indic Transliterater to the OPAC masthead.
Create a patch using Git
Now, let's say we have tested this change, and want to share it with others or send it
to the Koha release manager for inclusion in upcoming Koha releases. To do this, we
create a patch using the command git format -patch:
koha @linux: /home /koha /kohaclone # git format -patch origin /master
[ 241 ]
Customizing Koha Software
Note the use of the word master in the command above; this indicates that the patch
should be created against the master branch. By doing this, we ensure that the patch
can be applied on the master.
The command should exit by creating a single file containing all the changes:
0001 -This -adds- the -Google- Indic -Transliterater -to- the -OPA.patch
Let's take a look at this file:
koha @linux: /home /koha /kohaclone # cat 0001- This -adds- the -Google -IndicTransliterater -to- the -OPA.patch
The first few lines contain information, such as from, date and subject:
From 4727d7ca977b032f08f0b67a6d0b9c778fdd386e Mon Sep 17 00:00:00 2001
From: root <root @linux- 4yut.site>
Date: Tue, 15 Jun 2010 16:55:34 +0530
Subject:
[PATCH] This adds the Google Indic Transliteration tool to the
OPAC masthead
The section below the information block gives a summary of the changes in terms of
the files changes, and the number lines added or deleted:
admin /systempreferences.pl
installer/ data /mysql /en /mandatory /sysprefs.sgl
installer /data /mysql /updatedatabase30.pl
koha - tmpl /opac - tmpl /prog /en /CSS /opac.CSS
... /opac - tmpl /prog /en /includes /doc- head- close.inc
koha -tmpl /opac - tmpl /prog /en /includes /masthead.inc
.../ prog/ en/ js /googleindictransliteration.je
4 +28
+ + + + ++++++ + + + ++ + + + ++
opac /opac- main.pl
5 +++
opac /opac- search.pl
9 files changed, 55 insertions( +), 3 deletions( -)
create mode 100644 koha -tmpl /opac - tmpl /prog /en /js/
googleindictransliteration.js
And then, there blocks for each file that is changed; lines that are added are prefixed
with a + sign, and those that are deleted are prefixed with a - sign.
diff --git a/opac/opac-search.pl b/opac/opac-search.pl
index 7a0e3c8..d67dae7 100755
-- a/opac/opac-search.pl
(242]
Chapter 12
+++ b/opac/opac-search.pl
@@ -581,5 +581,8 @@ if (defined $barshelves)
{
}
my $content_type = ($format eq 'rss' or $format eq 'atom') ? $format
:
'html';
+# If GooglelndicTransliteration system preference is On Set paramter to
load Google's JavaScript in OPAC search screens
+if (C4:: Context -> preference ('GooglelndicTransliteration'))
+
{
$ template- >param ('GooglelndicTransliteration' => 1);
+}
output_html_with_http_headers $cgi, $cookie, $template ->output,
$content_type;
1.6.4.2
Sending the patch to Koha's release
manager
To share your code, you can send the patch to the koha -patches list; Koha's release
manager will then take a look at your code, and if it meets quality standards, include
it in the appropriate branches.
To send the patch, first we setup our name and e -mail in Git:
koha@linux:/home/koha/kohaclone # git config --global user.name
"firstname lastname"
koha @linux: /home /koha /kohaclone # git config -- global user.email
"myemail@mydomain.com"
To e -mail the patch, use the
git send -email
command:
koha @linux: /home /koha /kohaclone # git send -email 0001- This- adds -theGoogle - Indic -Transliterater -to- the- OPA.patch
The command will prompt for input; to the question Who should the emails be
sent to, enter the e -mail address koha- patches@lists .koha-community.org:
Who should the emails be sent to? koha -patches @lists.koha- community.org
[ 243 ]
Customizing Koha Software
Summary
In this chapter on customizing Koha software, we learned about:
The organization of Koha's application folder
The structure of Koha's database
How to make changes to configuration, database, and application files
How to commit changes using Git
How to generate patches using Git
How to send patches to others using Git
In the next and final chapter, we will cover advanced topics, such as LDAP
authentication, internationalization, and exposing the catalog to the outside
world via the Z39.50 protocol.
[244]
13
Advanced Topics
In this final chapter, we will learn about setting up some less widely used but
nevertheless important features of Koha. These features are:
Creating and using one's own matching rules for catalog imports
Authenticating users against an LDAP server
Setting up custom OPAC interfaces for each library in your Koha installation
Setting up Koha screens in other languages
Publishing the catalog via Z39.50 protocol
Advanced Topics
Creating and using matching rules for use
during catalog imports
Koha's default installation includes two record matching rules for use during catalog
imports - one based on ISBN and the other for matching on ISSN. We can also create
our own matching rules from the Record Matching Rules section under Koha
Administration.
Circulation
Patrons
tAarnr
Search
4kaha
Business Administration Library (U.) I sadtra.siroh! ULcg Cell I LU
Submit
Check Out
,.-eck Ir
Search the Catalog
Heme > Pattoniatrati^p, Record Matching Rules
System Preferences
System Preferences
Basic parameters
Libraries and arss
Funds and buupets
Currencies and en lrapp
fates
ferai nos
hew Revu: d Matching Rule
Record Matching Rules
ä Code Description
1
Actions
CPA
wSS 0225a
Coince
Patrons and circulation
Patron topes and categories
Cities and tossas
Road topes
Estran attributepoa
Circulation and fines rules
Catalog
Aathcrized saines
MARC,' B blsn.rap su
f_ämewwk
Khi tptilARC n_PPtn2
MARC B!bliaproph!c
nor:
t ?st
Autfinrity tope,
Cïass!ñcatìon sources
Record
Additional parameters
Stan Words
739_'0 GI!rR:__frgFls
[ 246 ]
Chapter 13
To create a new rule we use the New Matching Rule button.
Patrons
Circulation
Search
4 koha
ND LIBRARY_SET Capfi I kohaadmin (Log Gott I L'
More
Submit
Check Out
Search the Catalog
Check In
Home . Administration. Record Matching Rules >Add record matching rule
System Preferences
Add record matching rule
System Preferences
Basic parameters
Libraries and croups
Funds.ánd budoets
Currencies and exchange
rates
Matching rule
code:
ifibho
Description:
19g9k,,
Match threshold:
Item types
7
ll
ppp
Patrons and circulation
Patron types and catedrries
Cities and towns
Egad types
Patron attribute types
Circulation and fines rules
Match points Add matchpoint
Remove this matchpoint
Search index.
Score:
-.____.-.....
iLOraFNuNUmbehar
ilopp
____)
Catalog
Authott td +dues
MARC Bibliggráphiç
framework
Koha In MARC mapping
MARC Bibliographic
framework test
Authority types
Classification sources
Record matching rules
Additional parameters
Stop Words
Tag:
(5gg
i
Suhfields: c_..___._.._
Offset:
Normalization
rule:
LOCaI- NUmoeY
L: s SO Cliera Targets
Required match checks Add match check
Remove this match check
Source (incoming) record checkfield
English
Espanol
Understanding matching rules
Here are key points to note on creating matching rules:
Match points: We will create one or more match points. Each match point
refers to a catalog field that the incoming records in the import file and the
existing records in the database are matched on. The match point could refer
to fields such as Control number, Biblio number, or Title.
Match threshold: Each matching rule has a threshold that must be crossed
during the matching process for a record pair to be considered successfully
matched.
Score: Each match point in a matching rule is assigned a score. During the
matching process if a pair of record is matched on the particular match point,
the matched pair is assigned the corresponding score. The sum of scores
across all match points must be greater than the Match threshold.
[ 247 ]
Advanced Topics
Match checks: Optionally 1 or more match checks can be created for each
matching rule. These checks compare a field in the incoming record to the
same or different field in the records in the database. Think of these as an
additional check to ensure records are correctly matched. For instance, if you
have a match point on Title, you might want a match check based on author.
Search index: This is the Zebra index that is used to match the records.
See section Determining search indexes below for more information.
Tag and Subfield: These refer to the MARC tag that the match point
is based on.
Offset: This refers to the number of characters of the match string that should
be ignored when matching, the offset applies from the left of the string.
Length: This refers to the number of characters of the match string that
should be considered for matching. Using Offset and Length, we can match
records based on certain parts of the values in MARC fields or subfields.
Normalization Rule: This field is not used in the processing, and it does
not matter what is entered here. Additional capabilities using different
normalization rules may be added in newer versions of Koha.
Determining search indexes
We determine the search index by looking at two Zebra's configuration files- ccl .
and records .abs. If an index is present in both files, it can be used in
matching rules.
properties
Let us say we wanted to update our bibliographic records after a cleanup, we could
create a matching rule based on Koha's biblionumber database field. This is a
unique number assigned to each bibliographic record and is stored in tag 999$c in
the MARC record.
Let us take a look at Zebra's
record. abs file
zebradb /marc defs /marc2l /biblios /:
in the folder
/etc /koha -dev /etc/
linux- 4yut: /usr /share /kohaclone /misc /migration_ tools # vi /etc /koha -dev/
etc /zebradb /marc defs /marc2l /biblios /record. abs
If we run a search on tag 999$c, we find that the search index for this tag is Local
Number:
# Koha Local -Use Biblio Indexes
melm 999$c
Local- Number: n,Local- Number:w,Local- Numbers
[ 248 ]
-
Chapter 13
Next we look at the file
ccl .properties
stored in the folder /etc
/koha -dev /etc/
zebradb /:
linux- 4yut: /usr/ share /kohaclone /misc /migration_tools # vi /etc /koha -dev/
etc /zebradb /ccl.properties
If we run a search on the index Local
-number,
we find an entry as follows:
Local- number 1 =12
sn Local- number
The index Local -number is present in both these files and we can use it in the Search
index field in matching rules.
More information and examples
For more information and examples on matching rules, refer to Koha community
documentation on this topic, available at:
http: / /koha- community.org/ documentation /3- 2- manual /x3735 #AEN4124.
Using LDAP with Koha
If your organization uses an LDAP (Lightweight Directory Access Protocol) server
for user authentication, it makes sense to configure Koha to integrate with it. This
way you don't have to maintain users and passwords in two places, the LDAP server
and in Koha.
This is how Koha works with LDAP:
When a user logs into Koha, the password entered by the user is verified
against the password maintained on the LDAP server.
We can configure Koha such that when a user logs in for the first time,
his /her patron category, branch, address, and other such information is
copied over into Koha.
We can configure Koha such that if a user's LDAP record is updated,
the updated information is copied over into Koha when the user next
logs into Koha.
We can map fields in the LDAP database to fields in Koha. This way we
can make sure LDAP data is copied into Koha correctly.
It is fairly simple to configure Koha to use LDAP; let us take a look at a general
example followed by the specific case of configuration for Microsoft Active Directory.
[249]
Advanced Topics
Configuring LDAP
To configure Koha to use LDAP, we edit the
file and add an LDAP block similar to this:
/et c /koha -dev /etc /koha -conf .xml
<useldapserver >l< /useldapserver > <! -- see C4::Auth_with_ldap for extra
configs you must add if you want to turn this on - ->
<idapserver id= "ldapserver"
listenref = "ldapserver ">
<hostname >your hosts ip address or name < /hostname>
<base >base dn< /base>
<user >LDAP user's dn< /user>
<pass >LDAP user's password < /pass>
<replicate >1 < /replicate>
<! -- add new users from LDAP to
Koha database -->
<update >1 < /update>
<! -- update existing users in Koha
database - ->
<auth by_bind >l< /auth_by_bind>
<mapping>
<! -- match koha SQL field names to your
LDAP record field names -->
<firstname
is= "givenName"
>< /firstname>
<surname
is = "sn"
>< /surname>
<userid is= "uid " >< /userid>
<password is= "userPassword"
<email is= "mail " > < / email>
>< /password>
<address is= "address " >Default Address < / address>
<city is= "city" >Default City < /city>
<branchcode is= "branch" >Default Branch Code < / branchcode>
<categorycode is= "category" >Default Catefory Code < /
categorycode>
</mapping>
</ldapserver>
Here is how we configure the LDAP block:
Add the LDAP server block before these tags: < /config > < /yazgfs> in
the koha- conf .xml file.
2. Set the <useldapserver> tag to 1 to turn LDAP authentication on, set it
to 0 to turn it off.
1.
Enter the LDAP server's host name or IP address in the tag <hostname >.
4. Enter the LDAP server's base DN in the tag <base >.
5. In the tag <user> enter the DN of an LDAP user with browse privileges
to the base DN.
6. Enter the LDAP user's password in the tag <pass >.
7. Set <replicate> tag to 1 if you want to create new users in Koha from
the LDAP server. If this is set to o, the user record must exist in Koha.
3.
[ 250 ]
Chapter 13
8.
Set <update> tag to 1 if you want updates to user records on the LDAP
server to update user records in Koha as well.
9. The fields listed in the <mapping> block refer to fields in the borrowers tables
in Koha.
10. The fields listed in the <mapping> block must include all mandatory fields
in the borrowers table except the field borrowernumber. Mandatory fields in
the table are-surname, address, city, branchcode, and categorycode (patron
category code).
11. The fields listed in the <mapping> block should include other Koha fields that
have data in corresponding fields in the LDAP record. This way you can get
useful data such as e -mail address or phone number from the LDAP record
into Koha.
12. The name following is= refers to the corresponding field in the LDAP server.
13. For each field you can specify a default value in case the LDAP server does
not have any value for that field.
Microsoft Active Directory
If you need to integrate Koha with Microsoft Active Directory, you may need to
change the following in the LDAP block in the file /etc /koha -dev /etc /koha -conf
xml to get things to work:
Set tag <auth_by_bind> to
1,
like this:
<auth by bind >1 < /auth by bind> <! -- set to 1 to authenticate
by binding instead of password comparison, e.g., to use Active
Directory -->
attribute for userid to sAMAccountName instead of UID.
sAMAccountName is the corresponding uid field in Active Directory.
Set the
is
<userid
is= "sAMAccountName" >< /userid>
[ 251 ]
.
Advanced Topics
Setting permissions
If you use LDAP, you must set permissions for each individual staff user in Koha.
To set permissions use the Set Permissions option under the More menu available
in the details page for a patron.
Çircutatron
Patrons
Search
4 koha
Mor -
NO IIBRARY_SET all)1 icheadmm an CO I L^_j
weer by baoramp
-
arch Rarr'
Itiante . Patrons. Bet arivlinee for 3,,,i.. C ante
Savitra Sirohi )I)
My Address 1
Set Privileges for Sirohi, Savitra
M- Address 3
City
12346633
baver.. ruant Access to ail licsarian functions
r:4,23
Category. Staff ;iS
none Librar3 Business
Adminsti ation Libiary
Circulate books
canalopet'Acri Ceteleçoe I.Lrtrenan I.rtiertacs
caiameters,i Sr: Rohe system parameters
,..riccers.i Add or modify bonrnsars
.e n.:wanaf Set user permissions
ode. c av!Pers) Reserve boors for patrons
.- ......I Borros, books
a.,.ca:aroquel Edit Catalogue (McdO, rrbiographit!ñaldings data;
H
i..W[rc
K..
.
ei Update burrower charges
a
i Annoi arion Onu'cr suggestion management
Set library management parameters
OdIPlc3r'crn
xhI
Usetools (ac.port import.
rrodes¡
allow to edit eothonbes
- _si atop to riasage serials sabecuphons
asap
=
to access ta the reports module
9Medify
login ' perrnlssrons rcr staff users
Multiple OPAC interfaces
If you have multiple libraries or branches on the same Koha installation, you might
want to use the multiple OPAC interfaces feature of Koha.
We use this feature to:
Create a customized OPAC interface for each library
Each OPAC interface can have its own logo, colors, fonts, and so on.
Search is limited to the particular library
Here are the steps to doing this:
1.
Edit the Apache2 koha- httpd. conf file and create a virtual host block for
each library or branch.
[ 252 ]
Chapter 13
2.
You will need domain names for each branch, for example,
branchi .
mykohalibrary .org,branch2.mykohalibrary.org.
3.
In each virtual host, repeat this stanza, change the values of environment
variables OPAC_CSS_OVERRIDE and OPAC_SEARCH_LIMIT appropriately.
SetEnv OPAC_CSS_OVERRIDE branchl.css
SetEnv OPAC_SEARCH_LIMIT branch :branchi
SetEnv OPAL LIMIT OVERRIDE 1
4.
Create the corresponding style sheet files in the folder:
/ koha - tmpl / opac - tmpl /prog /en /css /branchl.css
If we had two branches, we would have two Apache2 virtual hosts as follows:
## OPAC Virtual Host for Branchi
<VirtualHost *:80>
ServerAdmin webmaster @linux -4yut
DocumentRoot /usr /share /kohaclone /koha -tmpl
ServerName branchl.mykohalibrary.org
Repeat this virtualhost stanza changing the following environment vars
#
to
#
create multiple OPAC interfaces with custom css and /or search limits:
SetEnv OPAC_CSS_OVERRIDE branchl.css
branch:branchi
SetEnv OPAC
SetEnv OPAL LIMIT OVERRIDE 1
< /VirtualHost>
## OPAC Virtual Host for Branch2
<VirtualHost *:80>
ServerAdmin webmaster @ linux -4yut
DocumentRoot /usr /share /kohaclone /koha -tmpl
ServerName branch2.mykohalibrary.org
#
Repeat this virtualhost stanza changing the following environment vars
to
#
create multiple OPAC interfaces with custom css and /or search limits:
SetEnv OPAC_CSS_OVERRIDE branch2.css
SetEnv OPAC_SEARCH_LIMIT branch:branch2
SetEnv OPAL LIMIT OVERRIDE 1
< /VirtualHost>
[253]
Advanced Topics
Installing new languages
If you need to have Koha OPAC and staff client screens in another language,
you will need to install the particular language. Here are the steps involved:
Install Perl module prerequisite Locale: : Po.
2. Check availability of the corresponding language files in the Koha folder.
3. Create new folders for the new language in the appropriate OPAC and staff
client folders.
4. Use Koha's program- tmpl _process2 .pl to install the new language.
5. Enable the new language via Koha's system preferences module.
1.
As an example let us install the Spanish language.
Install Locale::PO module
We need the Perl module Locale: : Po before we can install the new language.
We use CPAN to install this module:
koha@li190-245:-/kohaclone$ cpan Locale::PO
Creating language templates for the OPAC
First let us locate the Spanish language files in the kohaclone folder. The language
files have an extension . po and are found in the misc /translator folder:
koha@li190-245:-/kohaclone $ cd misc/translator/
koha@li190-245:-/kohaclone/misc/translator $ ls *ES*.po
es-ES-i-opac-t-prog-v-3000000.po
es-ES-i-staff-t-prog-v-3000000.po
To create the language templates for the OPAC, first we create a new directory
for the new language in the koha -tmpl /opac -tmpl jprog/ folder:
koha@li190-245:-/kohaclone/misc/translator # mkdir ../../koha-tmpl/opactmpl/prog/es
We then use the tmpl_process3 .pl program to install the new language. The
program is executed as follows:
koha @li190 -245: -/kohaclone /misc /translator# perl tmpl_process3.pl
install -i <path to the English language folder> -o <path to the new
language folder> -s <path to the .po file of the new language> -r
[254]
Chapter 13
We would install the Spanish language file for the OPAC in this fashion:
koha@1i190-245:-/kohaclone/misc/translator # perl tmpl_process3.pl
install -i ../../koha-tmpl/opac-tmpl/prog/en/ -o ../../koha-tmpl/opactmpl/prog/es/ -s po/es-SS-i-opac-t-prog-v-3000000.po -r
Creating language templates for the staff
client
In a similar fashion, we can create the language templates for the staff client. First
we create the folder for Spanish language, this time in the /koha- tmpl /intranettmpl /prog/ folder:
linux-4yut:/usr/share/kohaclone/misc/translator # mkdir .. /.. /koha -tmpl/
intranet - tmpl /prog /es
And then we use the tmpl_process3 .pl program to install the new language:
linux -4yut: /usr/ share /kohaclone /mist /translator # perl tmpl_process3.
pl install -i .. /../ koha - tmpl /intranet - tmpl /prog /en/ -o .. /.. /koha -tmpl/
intranet -tmpi /prog /es/ -s po /es -ES -i- staff -t- prog- v- 3000000.po -r
System preferences
Once the language is installed, don't forget to enable these from the I18N/L1ON
(short form of Internationalization and Localization) block in the Global System
Preferences section under Koha Administration.
(255]
Advanced Topics
Here are the system preferences you will need to change:
language: Use this preference to enable the new language for the staff client
opaclanguages: Use this preference to enable the new language for the OPAC
opaclangaugesdisplay: Choose whether you want to display a language
selection bar on the OPAC
c,in.ulahnn
Pat
=
Sevrrh
4k©ha
Adora
NO_LIBFtARY_SET
kohaadmin U og
}
I j? j
arch
Search System Preferences
Check Out
Search the
Home ,.Administration System Preferences
New Preference
Rdmìn
Acvulsttlons
Entranced Content
System preferences admin
118N!L10N preferences
Preference
Define global date format (us mm/dd/yyyy,
metric ddimmtyyy. ISO yyyylmmldd)
language
Set the default language in the staff client.
Authorities
Cataloging
Explanation
datelormat
Enghchbm 16
Edit pelale
E dhshfen}
ia(SulatliJn
118N,L10N
Edit Delete
Value
opaclenpuagss
(hindr "
Set the default language in the OPAC.
Espai*.s;
--
.
Edit
Delete.
E.1:
pelele
Logs
CrAI-NAP!
oeaclanguagesdispley
If ON, etra
s display of Change Language
feature on OPRO
o ON
OFF
"dve
OPAC
Patrons
Searching
Start Client
Local Use
Testing the new language
Once the system preferences are set correctly, you should see the new language in
the language selection bar at the bottom of the page in the OPAC and the staff client.
[ 256 ]
Chapter 13
,ro 'lad; Cxpttsr.
...,....
Welcome to Koha...
My Wehsite
Text added to OPAC Main User Block System Preference.
My OPAC Credits
kdìumxu:
Eriq:iü:':
;;_,px'.I
Setting up a public Z39.50 server
With Koha you can publish your catalog records to the outside world via the Z39.50
protocol. This will allow any Z39.50 compliant client software to search and copy
records from your catalog. Some applications of this feature are:
Allow other libraries to copy records from your catalog
Include your catalog data in results of a Z39.50 compliant federated search
tool in use in your organization
Configuring your Koha to be a Z39.50 server is not that hard; we cover the steps below.
We edit the koha- conf . xml file to configure the public Z39.50 server:
koha @li190 -245: -/kohaclone$ vi /etc /koha -dev /etc /koha- conf.xml
Configuring the listen directive
The listen directive controls the network protocol, the IP address and the port that
our public server will be available on.
To set up the listen directive for the public server, remove the comment tags on the
listen directive for the public server:
<! -- public server runs on tcp -->
<listen id= "publicserver" >tcp: @:9999 < /listen>
The @ symbol signifies all IP addresses, so the public Z39.50 server will listen on any
and all IP addresses on the machine. You can set up a specific IP address here if you
like, something like:
<! -- public server runs on tcp - ->
<listen id= "publicserver" >tcp:192.168.1.123:9999< /listen>
[257]
Advanced Topics
The 9999 after the colon in the lines above is the port the server will listen on.
You can change this as well, to something like this:
<! -- public server runs on tcp -->
<listen id= "publicserver" >tcp:192.168.1.123:7090< /listen>
Configuring the server directive
Next we add a server directive. This directive essentially sets up a new Zebra
server. As part of this directive we configure things such as the location of
Zebra indexes folders, location of Zebra's bibliographic configuration files, the
MARC record syntax to be used, or the location of the style sheets to be used for
transforming the records.
The simplest thing to do is to model our new server on the existing bibliographic
server block already configured in the koha -conf . xml file:
<server id= "biblioserver"
listenref = "biblioserver ">
<directory>/ etc /koha -dev/ var / lib /zebradb /biblios < / directory>
<config>/ etc /koha -dev/ etc /zebradb /zebra- biblios.cfg < /config>
<cgl2rpn >/ etc /koha -dev/ etc / zebradb /pgf.properties< /cgl2rpn>
Once we copy this block, we replace the name biblioserver with publicserver,
like so:
<server id= "publicserver"
listenref= "publicserver">
< directory > / etc /koha -dev/ var / lib /zebradb /biblios< /directory>
<config > / etc /koha -dev/ etc /zebradb /zebra- biblios.cfg< /config>
<cgl2rpn > / etc /koha- dev / etc / zebradb /pgf.properties< /cgl2rpn>
Configuring the serverinfo directive
And finally we configure the serverinfo directive. This directive controls the
location to a Zebra configuration file and the username and password that allows
access to the Zebra indexes.
Again, it is best to model the new serverinfo directive on the corresponding
directive for the bibliographic server:
<serverinfo id= "biblioserver ">
<ccl2rpn >/ etc /koha -dev/ etc / zebradb /ccl.properties< /ccl2rpn>
<user>kohauser< /user>
<password>zebrastripes< /password>
< /serverinfo>
[258]
Chapter 13
We just copy this block above and replace the ID biblioserver with publicserver,
like so:
<serverinfo id= "publicserver ">
<ccl2rpn >/ etc /koha -dev/ etc / zebradb /ccl.properties < /ccl2rpn>
<user >kohauser < /user>
< password >zebrastripes < / password>
< /serverinfo>
Restarting the Zebra server
To make sure the Zebra server uses the updated configurations we have just
performed, we restart zebrasrv:
linux -4yut: /home /koha # sudo /etc /init.d /koha- zebra - daemon restart
Summary
In this final chapter we looked at some advanced features of Koha:
The ability to create one's own record matching rules gives us a powerful
way to import new records and to update and maintain the catalog.
Many large organization use LDAP to maintain users and passwords. Koha
can talk to any LDAP server including Microsoft Active Directory. The
configuration is simple; however, attention must be paid to the replicate,
update, and the mapping fields.
To setup customized OPACs for each library or branch that share a Koha
system, we set up separate Apache2 virtual hosts for each branch. For each
virtual host we set up the corresponding domain name, the name of the
stylesheet file, and the branch code.
To install additional languages, we learned how to use the tmpl_process3 .
pl program to install language files.
Setting up a Z39.50 server allows us to share our catalog with others
and to include it in other Z39.50 solutions such as federated search.
[ 259 ]
Index
Symbols
-a parameter 46
-b parameter 46
-d parameter 46
--help parameter 47
-k parameter 46
-munge -config parameter 1
-nosanitize parameter 47
-noxml parameter 46
-r parameter 46
-s parameter 46
-v parameter 47
-w parameter 47
-x parameter 46
-y parameter 47
-z parameter 46
A
acquisitions module
about 117
budgets, creating 158
budget utilization, viewing 161
functions 117
orders, creating 159
shipments, receiving 160
testing 157
vendor, creating 158
acquisitions preferences
configuring 117
Apache2
about 23
configuration 23
configuration folder 25
configuring 61
features 23
Koha default Apache2 file 26
Koha virtual hosts 26
name based or IP based virtual hosts 24
reference link 24
virtual host configuration 27
virtual hosts 24
Apache2 configuration
about 27
plan 27
prerequisites 31
Apache2 configuration plan
about 27
hostname with two ports 28
IP address with two ports 29
standalone machine 30
two host names 28
two IP addresses 30
Apache2 web server
configuring 31
Apache2 web server configuration
about 31
Apache2, restarting 33 -35
Koha virtual hosts, enabling 33
listener, configuring 32
OPAC virtual host, editing 32
rewrite module. enabling 32
staff client virtual host, editing 33
symbolic link, creating to
koha -httpd.conf 31
Authority Control
about 69
Authority Types 70
bibliographic fields 70
system preferences control 70
Authorized values
about 71, 72
fields 72
key points 73
B
Bulkmarcimport.pl, options
c 174
commit 173
d 174
file 172
fk 173
idmap 174
m 174
n 173
o 173
s 173
t 173
v 172
x 174
y 174
bulkmarcimport.pl program
using 188,189
bulkmarckimport.pl 172
C
c, Bulkmarcimport.pl option 174
calendar
about 99
configuring 100,101
due date calculations 99
editing 100
fine calculation 99
holidays 99
system preferences, editing 101
catalog data migration
about 179
administrative field values, setting up 179
bulkmarcimport.pl program, using 188
catalog records, importing using GUI
tools 189
MARC file, importing 188
source MARC file, editing 182,183
catalog data, migration process
about 176
holdings data in tag 952 170,171
holdings, in legacy systems 171
import tool, selecting 176
MARC files, converting 170
preparing for 176
tools, importing 171
cataloging 67
cataloging configuration plan
implementation
about 77
authorities system preferences,
configuring 78
Authority Types, configuring 79
authorized values categories, configuring
80
authorized values, editing 80, 81
special Authorized Values 81
cataloging configuration tools, Koha
about 68
Authority Control 69
Authorized values 71, 72
MARC frameworks 68, 69
cataloging module
bibliographic record, creating 152
configuration plan 73
item record, creating 153
record, searching for 154
testing 151
catalog records
importing, GUI tools 189
managing 191,192
catalog records, importing
MARC records, staging 189 -191
circulation and fine rules
about 97
creating 98
identifying 98
circulation module
about 91
checking in 156
checking out 155
circulation history, viewing 156
testing 154
commit, Bulkmarcimport.pl option 173
community resources, Koha
about 10
Koha bug tracker 197
Koha Git repository 198
[ 262 ]
Koha IRC chat 197
Koha mailing lists 196
components, software updates 219
configuration, Apache2 web server. See
Apache2 web server configuration
configuration folder, Apache2 25
configuration plan, Apache2. See Apache2
configuration plan
configuration plan, cataloging module
Authority Control rules, identifying 73, 76
fields to control, identifying 76
frequently cataloged types of material,
identifying 74
implementing 77
mandatory fields, identifying 75
MARC field sets, identifying 74
preparing 73
configuration problems, Apache2
troubleshooting 35
CPAN
about 9,10
URL 9
CPAN installations
troubleshooting 18
CPAN shell
about 9
configuring 15
crontab
configuring 58
editing 58
crontab configuration, Koha
about 58
advance notices, generating 59
crontab, editing 58
e -mail messages, sending 59
environment variables, setting up 58
fines, calculating 59
overdue notices, generating 59
Zebra indexes, rebuilding 60
crontab examples 60
D
d, Bulkmarcimport.pl option 174
database
upgrading 224
E
enhanced content, OPAC preferences
configuring 128
environment variables
KOHA_CONF environment variable 63
PERLSLIB environment variable 64
persistent environment variables 64
setting up, for Linux shell 63
F
fields and subfields, MARC frameworks
advanced constraints 88
editing 85, 86
field or subfield, making mandatory 88
hidden fields and subfields 88
labels of fields or subfields, editing 88
file, Bulkmarcimport.pl option 172
fk, Bulkmarcimport.pl option 173
G
general preferences, Koha
configuring 138
messaging preferences, configuring
138,139
search preferences, configuring 145
security preferences, configuring 142
Git
about 9
URL 9
git branch command 220
git checkout command 222
Git commands
git add 233
git checkout 233
git commit 233
git format -patch 233
git send -email 233
git pull command 220
git tag command 221
global system preferences module, Koha
112
GUI import tool 175,176
[ 263 ]
H
holds preferences
configuring 107
editing 107
idmap, Bulkmarcimport.pl option 174
imports tools, Koha
about 171
bulkmarckimp ort. p l 172
GUI import tool 175
MARCEdit 172
installation
Zebra 41
installation packages, Koha installation
Debian /Ubuntu package lists 14
Perl modules 13, 14
system packages 13
installation tools, Koha
CPAN shell 9
Git 9
make utility 9
package manager 9
IP based virtual hosts 24
Item types
about 94
creating 96
identifying 95
K
Koha
Apache2, auto -starting 61
cataloging configuration tools 68
cataloging module 67
circulation module 91
community resources 196
crontab, configuring 58
features 245
general preferences, configuring 138
global system preferences module 112
heads 218
installing, with Zebra 42
matching rules 247
matching rules for use during catalog
imports, creating 246, 247
matching rules for use during catalog
imports, using 246, 247
multiple OPAC interfaces 252, 253
MySQL, auto -starting 61
new languages, installing 254
OPAC preferences, configuring 122
search indexes, determining 248, 249
software branches 218
software stack installation 16
styling and appearance, configuring 132
system preferences 111
tags 218
transactional modules, configuring 113
using, without Zebra 48, 49
version, selecting 219
web installer, executing 51
working with LDAP 249
XML SAX parser, configuring 62
Zebra related components 40
Zebra server, auto -starting 61
Koha 3.0 user manual
URL 113
Koha 3.2 manual
URL 113
Koha administrative fields
branch codes, setting up 179
collection codes, setting up 181
item types, setting up 180
shelving locations, setting up 182
Koha application folder structure
about 228
relationships, between files 229
template files 229
top level folders 228
Koha architecture 8
Koha bug tracker 197
kohaclone folder
c4 228
etc 228
installer 228
koha -tmpl 228
Perl scripts 228
Koha community documentation
URL 249
KOHA_CONF environment variable
setting up 63
[ 264 ]
Koha database
about 230
acquisitions related data 232
administration 232
browsing 230
Cataloguing related tables 231
circulation related tables 231
Koha tables, overview 231
patrons related tables 231
serials data 232
structure 232
Koha default Apache2 file 26
Koha features
about 91
calendar 99
circulation and fine rules 97
Item types 94
notices 102
patron categories 91
system preferences 107
Koha Git repository 198
Koha installation
branch, checking out 12
common problems 198
completing 21
configuring 20
installation packages list, preparing 12
Koha, cloning 11
Koha, downloading 11
orientation 7
preparing for 11
repositories or sources, setting up 14,15
server prerequisites 11
troubleshooting 198
Koha IRC chat 197
Koha mailing lists 196
Koha's architecture 8
Koha software
customizing 227
updating 217
versions 217
Koha software customization
application folder structure, understanding
228
changes, committing using Git 240, 241
CSS changes, making 235
database, organizing 230
example 235
Git used 233
new JavaScript file, creating 235
orientation 227
patch, creating using Git 241
patch, sending to Koha release manager
243
Perl scripts, editing 239
skills required 228
software customization process 233, 234
system preference, creating 236 -238
transliteration JavaScript file, loading 236
transliteration tool, adding to display
template 239
Koha virtual hosts 26
Koha web installer
executing 52, 53, 56
functions 52
Koha, launching 57, 58
optional settings 54
L
LDAP, using with Koha
about 249
LDAP, configuring 250, 251
Microsoft Active Directory 251
permissions, setting 252
Linux distribution
selecting 10
M
m, Bulkmarcimport.pl option 174
Makefile.PL program
running 222
make utility 9
MARCEdit
about 172
download link 172
MARC file
importing 188
MARC frameworks
about 54, 68, 69
configuring 83
fields, editing 85
list, editing 83
[ 265 ]
new framework, creating 84
subfields, editing 85
matching rules
understanding 247, 248
matching rules for use during catalog
imports
creating 246, 247
using 246, 247
messaging preferences, Koha
AutoEmailOpacUser 140
AutoEmailPrimaryAddress 141
configuring 138, 139
EnhancedMessagingPreferences 140
migration process preparation, catalog data
administrative fields setup, planning 178
holdings subfields, mapping to subfields in
source MARC file 177
multiple OPAC interfaces 252
MySQL
configuring 61
MySQL database, Koha
setting up 19
N
n, Bulkmarcimport.pl option 173
name based virtual hosts 24
new languages
installing, in Koha 254
new software version installation
about 222
Koha installation, completing 223
Makefile.PL program, running 222
Perl modules, installing 223
notices
about 102
due and overdue notices, configuring 103
editing 104
notices triggers, editing 106
o
o, Bulkmarcimport.pl option 173
Online Public Access Catalog (OPAC) 111
about 122
catalog search, running 166
functions 122
OPAC preferences
configuring 122
enhanced content, configuring 128,129
patron access control, configuring 126
static content, configuring 122,123
tools for patrons, configuring 124,125
OPAC styling and appearance
configuring 133
OPAC styling related preferences
opaclayoutstylesheet 134
opacstylesheet 135
opacthemes 134
OPACUserCSS 135
XSLTDetailsDisplay 135
XSLTResultsDisplay 136
optional settings, Koha web installer
MARC frameworks 54
other data 55, 56
orientation, Koha installation
about 7
installation tools 8
Koha architecture 8
Kohays community resources 10
Linux distribution, selecting 10
Linux packages, recommending 10
packages, installing 8
overdue notice e-mails issues
e -mail problems, troubleshooting 206 -208
notice triggers, reviewing 206
troubleshooting problems, with generation
of notices 208
P
package manager 9
patron access control, OPAC preferences
'configuring 126
patron categories
about 91
creating 93
examples, for different library types 93
identifying 92
patrons module
about 114
functions 114
patron, creating 149,150
[266]
patron, searching for 151
testing 149
patrons preferences
autoMemberNum 116
BorrowerMandatoryField 115
borrowerRelationship 116
configuring 114
ExtendedPatronAttributes 115
memberofinstitution 117
patronimages 117
PERL5LIB environment variable
setting up 64
Perl modules
installing 223
installing, CPAN used 17
persistent environment variables
setting up 64
prerequisites, Apache2 configuration
about 31
DNS 31
host names 31
IP addresses 31
open Firewall ports 31
public Z39.50 server
listen directive, configuring 257
server directive, configuring 258
serverinfo directive, configuring 258
setting up 257
Zebra server, restarting 259
R
rebuild_zebra.pl
about 41, 46
examples 47
indexes, creating or recreating 48
options 47
rebuild indexes, scheduling in Crontab 48
reports module
guided report, creating 164,165
saved report, using 166
testing 164
s
s, Bulkmarcimport.pl option 173
search indexes
determining 248, 249
search preferences, Koha
AdvancedSearchTypes 146
configuring 145
expandedSearchOption 146
QueryRemoveStopwords 146
security preferences, Koha
AutoLocation 144
configuring 142
GranularPermissions 144
IndependantBranches 144
minPasswordLength 143
timeout 144
serials module
about 119
functions 119
issue, receiving 164
subscription, creating 161
subscription, searching for 163
testing 161
serials preferences
configuring 119
RenewSerialAddsSuggestion 121
RoutingSerials 120
SubscriptionHistory 121
software changes
managing, Git used 233
software customization process
steps 233, 234
software stack installation, Koha
about 16
CPAN installations, troubleshooting 18
Koha installation, completing 21
Koha installation, configuring 20
MySQL database, setting up 19
packages, installing from Linux prompt 16
packages, installing with dselect 17
packages, installing with package manager
16
packages, installing with shell scripts 16
Perl modules, installing with CPAN 17
software updates
Apache2, configuring 224
database, upgrading 224, 225
downloading, git pull command used 220
installation process 219
new software version, installing 222
orientation 217
[2s7
switching, to new software version 221
source MARC file
editing, MARCEdit used 182,183
new subfield, adding 185
subfields, merging 185,186,188
subfields, swapping 184
Spanish language, installing in Koha
example 254
language templates, creating for OPAC
opacheader 124
OpacMainUserBlock 124
OpacNav 124
OpacPasswordChange 127
OpacRenewalAllowed 127
OPACShelfBrowser 126
opacsmallimage 124
OpacTopissue 126
opacuserlogin 127
PINSEISBN 132
RequestOnOpac 128
reviewson 128
suggestion 128
TagsEnabled 132
TagsModeration 132
ThingISBN 132
virtualshelves 126
254, 255
language templates, creating for staff client
255
language, testing 256
Locale * *PO module, installing 254
system preferences 255
special Authorized Values
about 81
Item Types 82
library 82
staff client styling and appearance
configuring 136
staff client styling related preferences
intranetstylesheet 138
template 137
static content, OPAC preferences
configuring 122, 123
styling and appearance, Koha
configuring 132
OPAC styling and appearance,
configuring 133
staff client styling and appearance,
configuring 136
system preferences, Koha
about 111
global system preferences module 112
online documentation 113
using 113
system preferences, OPAC preferences
GoogleJackets 130
LibraryName 123
OPACAmazonCoverlmages 130
OPACAmazonEnabled 130
OPACAmazonSimilarltems 130
OpacAuthorities 125
opacbookbag 125
OPACFRBRizeEditions 131
opaccredits 123
XISBN 132
T
t, Bulkmarcimport.pl option 173
top level folders, Koha application folder
structure 228
transactional modules
acquisitions module 117
acquisitions preferences, configuring
117,119
configuring 113
patrons module 114
patrons preferences, configuring 114 -116
serials module 119
serials preferences, configuring 119 -121
troubleshooting
Apache2 web server is down 199
command line programs 213
fines not working 209, 210
MySQL database server is down 200, 201
overdue notice e -mails 206
parser problems 204, 205
problems with IE 214
software bugs 211, 212
Zebra index rebuild not working 203, 204
Zebra search not returning any results 202,
203
troubleshooting, Apache2 configuration
problems
[ 268 ]
about 35
incorrect or missing directory directive 36
listener not setup 37
rewrite module not enabled 36
unable to connect to MySQL 36
V
AT, Bulkmarcimport.pl option 172
virtual host configuration 27
virtual hosts, Apache2 24
x
x, Bulkmarcimport.pl option 174
XML SAX parser
configuring 62
XSLT style sheets 133
Y
y, Bulkmarcimport.pl option 174
z
Zebra
about 39
features 39
installing 41
testing 42
Zebra indexes
rebuilding 225
Zebra installation
about 41
Koha, installing with Zebra 42
Zebra packages, installing 41
Zebra packages
installing 41
Zebra related components, Koha
about 40
rebuild_zebra.pl 41
Zebrasry 40
Zebra server
restarting 259
configuring 61
zebrasry
invoking, with Koha's configuration file 43
restarting 225
Zebrasry 40
zebrasry command
running 43
zebrasry daemon
about 44
on Debian or Ubuntu 44
on openSuSE 45, 46
Zebra, testing
about 42
rebuild_zebra.pl, running 46
zebrasry daemon, running 44
zebrasry program, running 43
[26s]
open source
community experience distilled
PUBLISHING
Thank you for buying
Koha 3 Library Management System
About Packt Publishing
Packt, pronounced 'packed', published its first book "Mastering phpMyAdmin for Effective
MySQL Management" in April 2004 and subsequently continued to specialize in publishing
highly focused books on specific technologies and solutions.
Our books and publications share the experiences of your fellow IT professionals in adapting
and customizing today's systems, applications, and frameworks. Our solution based books
give you the knowledge and power to customize the software and technologies you're using
to get the job done. Packt books are more specific and less general than the IT books you have
seen in the past. Our unique business model allows us to bring you more focused information,
giving you more of what you need to know, and less of what you don't.
Packt is a modern, yet unique publishing company, which focuses on producing quality,
cutting -edge books for communities of developers, administrators, and newbies alike. For
more information, please visit our website: www . packtpub . com.
About Packt Open Source
In 2010, Packt launched two new brands, Packt Open Source and Packt Enterprise, in order to
continue its focus on specialization. This book is part of the Packt Open Source brand, home
to books published on software built around Open Source licences, and offering information
to anybody from advanced developers to budding web designers. The Open Source brand
also runs Packt's Open Source Royalty Scheme, by which Packt gives a royalty to each Open
Source project about whose software a book is sold.
Writing for Packt
We welcome all inquiries from people who are interested in authoring. Book proposals
should be sent to author @packtpub.com. If your book idea is still at an early stage and you
would like to discuss it first before writing a formal book proposal, contact us; one of our
commissioning editors will get in touch with you.
We're not just looking for published authors; if you have strong technical skills but no writing
experience, our experienced editors can help you develop a writing career, or simply get some
additional reward for your expertise.
210,
Join Packt!
Work at the Leading Edge of IT Publishing
We're looking for good people to join our Team in Mumbai. We enjoy what we do, and here's why
you might also:
- Intellectually rewarding work
- Innovative and creative company
- Work at the cutting edge of the technology driven publishing
- Dynamic, open and professional culture
- High staff involvement
- Day job - 40 hours a week with flexibility; Sat /Sun off
- MNC; among top 12,000 global websites
- Not a BPO operation
- Permanent employment (not contract)
- Explicit recognition in published books
Work at Packt:
Content Development - A creative, exciting opportunity
Content creation at Packt is a sophisticated process of content engineering. The team at Packt
conceives the title ideas, and in tandem with experts it develops the books. As a part of the
content development team at Packt, you work directly on draft book manuscripts from skilled
authors around the world.
Sales and Marketing - Innovation at work
We are one of the very few leading publishers in IT who have a direct model of publishing. Our
sales and marketing team is looking for innovative minds to develop and execute new ways of
marketing and selling our books to a global audience working at the cutting edge of the current
web marketing techniques.
Candidate Profile:
For all roles, you must have excellent communication skills, good command over English, keen
observation and eye for detail, strong analytical skills, expressive ability and an interest in IT and
technologies in general.
Candidates with a good science or engineering education have been particularly successful in the
content development roles. For other roles, a good degree with a technical bend of mind is found
to be useful.
Opportunities Available:
Content Development Team
Development editors
- Technical editors
Title Information editors
- Project managers
- Production co- ordinators
- Proofreaders
Indexers
-
Sales and Marketing Team
-
-
Marketing editors
Sales executives
If you are interested in working with us, please contact us by email at
mumbaijobs @packtpub.com or by phoning us at 022 5698 7682/3/4.
We are currently hiring.
Zò
o'e '
1'
000
*or'
ISBN
Title
Author
Year
Zehoo
Landis
2010
Price
Shroff / Packt Publishing
9789350233016
9788184045802
9789350230077
9788184042436
.NET Compact Framework 3.5
Data Driven Applications, 492 Pages
3CX IP PBX Tutorial, The, 234 Pages
3D Game Development with Microsoft Silverlight 3:
Beginner's Guide, 456 Pgs
3D Graphics with XNA Game Studio 4.0, 300 Pages
Active Directory Disaster Recovery, 256 Pages
ADempiere 3.4 ERP Solutions, 468 Pages
Advanced Microsoft Content Management Server
9789350231739
Agile Web Application Development with
9789350231586
9789350231340
9788184049367
Development, 544 Pages
9788184042443
9788184047776
9789350232460
9789350231487
9788184046700
9789350232040
9788184049923
9788184049206
9788184045772
9788184049152
9789350231517
9788184049183
9788184046717
9789350230114
9788184047769
9789350232071
Yii1.1 and PHP5, 372 Pages
Ajax and PHP: Building Responsive Web Applications, 288 Pages
Alfresco 3 Enterprise Content
Management Implementation, 604 Pgs
Alfresco 3 Web Content Management, 448 Pages
Alfresco 3 Web Services, 444 Pages
Alfresco Developer Guide, 560 Pages
Amazon SimpleDB Developer Guide, 260 Pages
Apache CXF Web Service Development, 340 Pages
Apache Geronimo 2.1: Quick Reference, 420 Pages
Apache JMeter, 144 Pages
Apache Maven 2 Effective Implementation, 460 Pages
Apache MyFaces 1.2 Web Application Development, 416 Pgs
Apache MyFaces Trinidad 1.2: A Practical Guide, 296 Pages
Apache OFBiz Development: The Beginner's Tutorial, 476 Pgs
Apache Roller 4.0 - Beginner's Guide, 392 Pages
Apache Struts 2 Web Application Development, 384 Pages
Application Development for IBM WebSphere Process
Server 7 and Enterprise Service Bus 7, 556 Pages
9789350232088. Applied Architecture Patterns on the
Microsoft Platform, 552 Pages
9788184046175
9788184048773
ASP.NET 3.5: Application Architecture and Design, 263 Pages
ASP.NET 3.5 Content Management
System Development, 288 Pages
9788184046724
9788184044621
9788184047752
9788184048902
9788184049022
ASP.NET 3.5 Social Networking, 584 Pages
ASP.NET Data Presentation Controls Essentials, 258 Pages
9788184047615
ASP.NET MVC 1.0 Quickly, 260 Pages
Asterisk 1.4: The Professional's Guide, 288 Pages
Asterisk 1.6: Build feature -Rich Telephony
systems with Asterisk, 244 Pages
Asterisk Gateway Interface 1.4
9789350231746
and 1.6 Programming, 224 Pgs
AsteriskNOW, 212 Pages
www s h roffpu bl s h e rs cum
1
2010
750.00
350.00
Rommel
2008
Pamungkas
2010
675.00
450.00
325.00
700.00
Ying
2005
475.00
Winesett
Darle
2010
2008
550.00
250.00
Shariff
2009
Shariff
Lucidi
Potts
Chaganti
2011
875.00
675.00
Hillar
2009
James
2011
675.00
525.00
400.00
350.00
625.00
225.00
Thomas
Howell
Romero
Newton
2010
2010
2010
2010
2009
2008
2009
2010
2009
2010
2010
2009
Chandrasekaran
2011
825.00
Seroter
2010
2008
825.00
Thakur
Christianson
2009
Siemer
Kanjilal
Balliauw
Carpenter
2010
2007
2009
2009
425.00
550.00
325.00
300.00
425.00
Merel
2009
375.00
Simionovich
2009
325.00
Simionovich
2010
325.00
Balani
Chillakuru
Haili
Ching
Kummel
700.00
625.00
450.00
475.00
600.00
400.00
300.00
e-maiC spdorders@shroffpublishers.com
ISBN
Title
9788184049671
Backbase 4 RIA Development, 490 Pages
Beginning OpenVPN 2.0.9, 360 Pages
BIRT 2.6 Data Analysis and Reporting, 368 Pages
BlackBerry Enterprise Server for Microsoft® Exchange, 196 Pgs
BlackBerry Java Application Development:
Beginner's Guide, 380 Pages
9788184049688
9789350232095
9789350233597
9789350232101
9788184042382
9789350232484
9789350231609
9789350232477
9788184049091
9789350232118
9788184048858
9789350232491
9788184046014
9789350232422
9788184042412
9789350230602
9789350230039
9789350231715
9789350232507
9788184042405
9788184048797
9788184042467
9788184042474
9788184042320
9788184042399
9788184042245
9788184043907
9788184047783
9788184048889
9788184045734
9789350232125
9788184044607
9789350232514
9788184046731
9789350232521
9789350233122
9789350231531
9789350233139
9788184049060
9789350231616
Author
Year
Price
Emde Boas
Feilner
Ward
2010
725.00
2010
550.00
2010
Desai
2011
550.00
300.00
Foust
2010
575.00
Blanvalet
2006
200.00
Bharadwaj
Anders
Brito
2011
2010
375.00
450.00
Blender 3D 2.49 Incredible Machines, 320 Pages
Brito
2009
575.00
475.00
Blender 3D Architecture, Buildings, and Scenery, 340 Pages
Brito
2010
500.00
Picher
2009
Dhar
Juric
2011
475.00
375.00
400.00
Building SOA -Based Composite Applications
Using NetBeans IDE 6, 312 Pages
Jennings
2011
475.00
Building Telephony Systems with Asterisk, 178 Pages
Gomillion
2005
200.00
Goncalves
Goncalves
Washington
Murphy
2010
2010
2010
Building Websites with Joomla!, 342 Pages
Graf
Building Websites with Joomla! 1.5, 388 Pages
Graf
Building Websites with Mambo: A Step by Step Tutorial, 250 Pages
Building Websites with Microsoft Content Management Server, 638 Pgs
Building Websites with PHP - Nuke, 322 Pages
Graf
Ying
Egan
2006
2010
2005
2004
2005
2006
500.00
425.00
525.00
500.00
350.00
575.00
275,00
550.00
350.00
350.00
BPEL Cookbook, 186 Pages
BPEL PM and OSB operational management with Oracle
Enterprise Manager 10g Grid Control, 256 Pages
Blender 2.49 Scripting, 300 Pages
Blender 3D 2.49 Architecture, Buildings, and Scenery, 380 Pages
Building Enterprise -Ready Telephony
Systems with sipXecs 4.0, 320 Pages
Building job sites with Joomla!, 244 Pages
Building Process Driven SOA using BPMN and BPEL, 333 Pages
Building Telephony Systems with OpenSER, 332 Pages
Building Telephony Systems with OpenSIPS 1.6, 288 Pages
Building Websites with DotNetNuke 5, 344 Pages
Building Websites with Expression Engine 2, 336 Pages
Building Websites with VB.NET and DotNETNuke 4, 338 Pages
Business Process Execution Language
for Web Services, 21ed, 374 Pgs
Business Process Management with JBoss jBPM, 220 Pgs
C# 2008 & 2005 Threaded Programming:
Beginner's Guide, 410 Pgs
Cacti 0.8 Network Monitoring, 136 Pages
CakePHP Application Development, 336 Pages
Catalyst 5.8: the Perl MVC Framework, 252 Pages
Paterson
2011
2008
2011
Mathew
2004
375.00
Cumberlidge
2007
250.00
Hillar
Kundu
2009
425.00
2009
Bari
2008
200.00
425.00
John
2010
Rockway
2007
Janes
2011
375.00
275.00
575.00
Srinivasan
2009
350.00
Sheong
Verens
Hauschildt
Ruiz
2011
525.00
2011
525.00
2010
550.00
2011
Codelgnìter 1.7, 304 Pages
Blanco
Codelgniter 1.7 professional development, 304 Pages
Griffith
2009
2010
2007
2008
2010
575.00
450.00
450.00
Catalyst Accelerating Perl Web Application Development, 202 Pgs
ChronoForms 1.3 for Joomla! site Cookbook, 384 Pages
CISSP in 21 Days, 324 Pages
Cloning Internet Applications with Ruby, 344 Pages
CMS Design Using PHP and jQuery, 348 Pages
CMS Made Simple 1.6: Beginner's Guide, 372 Pages
Cocos2d for iPhone 0.99 Beginner's Guide, 376 Pages
9788184043891
9788184045727
Codelgnìter for Rapid PHP Application Development, 262 Pages
ColdFusion 8 Developer Tutorial, 404 Pages
Farrar
9789350232132
ColdFusion 9 Developer Tutorial, 396 Pages
Farrar
www,shroffpublishers corn
2
Upton
325.00
475.00
600.00
e- mail. spdorders @shroffpublishers.com
9789350232149
9788184042368
9788184042313
Compiere 3, 232 Pages
Configuring IPCop Firewalls:
Closing Borders with Open Source, 244 Pgs
Creating your MySQL Database:
Practical Design Tips and Techniques, 108 Pages
9789350230916
CUPS Administrative Guide: A practical tutorial to installing,
managing, and securing this powerful printing system, 256 Pgs
9788184042290
Designing and Implementing Linux Firewalls and QoS
Using Netfiler, Iproute, NAT and L7 - Filter, 288 Pages
9788184048810
9789350231647
9789350231821
9789350231753
9788184042283
Django 1.0 Web Site Development, 280 Pages
Django 1.1 Testing and Debugging, 440 Pages
Django 1.2 e- commerce, 252 Pages
9788184043969
Documentum 6.5 Content Management Foundations, 424 Pages
DNS in Action: A Detailed and Practical Guide to DNS
Implementation, Configuration and Adminstration, 198 Pages
Documentum Content Management Foundations: EMC Proven
Professional Certification Exam E20 -120 Study Guide, 284 Pages
9788184049565
9789350232538
9788184048407
9788184044706
9789350231357
9788184048872
9788184047691
9789350232545
9789350231296
9788184048223
9788184048926
9788184048841
9789350232552
9789350232569
9789350232996
9789350231425
9788184046762
9788184046168
9788184045307
9789350232576
Domino 7 Application Development, 228 Pages
DotNetNuke 5.4 Cookbook, 440 Pages
9788184048803
9788184042306
Elgg Social Networking, 204 Pages
Enhancing Microsoft Content Management Server
with ASP.NET 2.0, 226 Pages
Entity Framework Tutorial, 2321 Pages
Expert Cube Development with
Microsoft SQL Server 2008 Analysis Services, 364 Pages
Expert PHP 5 Tools, 476 Pages
Expert Python Programming, 376 Pages
Ext GWT 2.0: Beginner's Guide, 332 Pages
Ext JS 3.0 Cookbook, 380 Pages
eZ Publish 4: Enterprise Web Sites Step -by -Step, 296 Pages
9788184046212
9788184048933
9789350231524
9788184046069
9789350233054
9788184049213
9788184048643
Drools JBoss Rules 5.0 Developer's Guide, 328 Pages
Drupal 5 Themes, 262 Pages
Drupal 6 Attachment Views, 300 Pages
Drupal 6 Content Administration, 204 Pages
Drupal 6 JavaScript and jQuery, 344 Pages
Drupal 6 Panels Cookbook, 228 Pages
Drupal 6 Performance Tips, 246 Pages
Drupal 6 Search Engine Optimization, 288 Pages
Drupal 6 Site Blueprints, 280 Pages
Drupal 6 Social Networiking, 316 Pages
Drupal 7, 424 Pages
Drupal 7 First look, 296 Pages
Drupal 7 Module Development, 428 Pages
Drupal E- commerce with Ubercart 2.X, 372 Pages
Drupal for Education and E- Learning, 408 Pages
DWR Java AJAX Applications, 232 Pages
EJB 3 Developer Guide, 277 Pages
EJB 3.0 Database Persistence with
Oracle Fusion Middleware 11g, 456 Pages
blishers coni
3
1_,AN
Pretorius
2010
350.00
Dempster
2006
275.00
Delisle
2006
125.00
Shah
2010
375.00
Gheorghe
Hourieh
Tracey
Legg
2006
300.00
2009
1000.00
2010
2010
650.00
375.00
Kumar
2010
625.00
Dostalek
2006
225.00
Kumar
2007
2010
350.00
McCarrick
Kurphy
2011
350.00
650.00
Bali
2009
500.00
Shreves
Green
Green
Butcher
Patel
2007
2010
325.00
450.00
2009
300.00
2009
525.00
2011
350.00
Holowaychuk
2010
Finklea
2009
2009
375.00
425.00
Ogunjobi
Peacock
Mercer
Noble
Garfield
Papadongonas
Fitzgerald
Salkosuo
2009
2011
2011
2011
2010
2010
Sikora
2008
2008
425.00
475.00
625.00
450.00
650.00
550.00
375.00
300.00
275.00
Vohra
2011
Sharma
2008
675.00
1000.00
Harbar
2006
250.00
Kanjilal
2008
300.00
Webb
Merkel
Ziade
Vaughan
Ramon
Fullone
2009
550.00
725.00
2010
2011
450.00
500.00
2009
575.00
2009
450.00
2008
email spdorders@shroffpublishers.corn
ISBN
9789350233023
9789350231630
9789350232156
9789350232583
9788184049077
9788184048940
9789350232163
9789350230046
9788184042429
9789350231654
9789350231494
Title
Facebook Graph API Development with
Flash Beginners Guide, 332 Pages
Firebug 1.5: Editing, Debugging, and Monitoring
Web Pages, 232 Pages
Flash 10 Multiplayer Game Essentials, 344
Flash Multiplayer Virtual Worlds, 420 Pages
Rash with Drupal, 388 Pages
Flex 3 with Java, 312 Pages
FreeSWITCH 1.0.6, 328 Pages
Funambol Mobile Open Source, 280 Pages
GDI + Custom Controls with Visual C# 2005, 276 Pages
Getting Started with Audacity 1.3, 228 Pages
Getting Started with Oracle BPM Suite 11gR1 A Hands -On Tutorial, 544 Pages
9788184048612
Getting Started with Oracle SOASuite 11g
R1 -A Hands -On Tutorial, 496 Pages
9789350230060
9789350231869
9789350234073
GlassFish Administration, 288 Pages
GlassFish Security, 304 Pages
Google App Engine Java and GWT
Application Development, 492 Pages
Google Web Toolkit 2 Application
Development Cookbook, 256 Pages
9789350234105
9788184043884
9788184049084
9789350231302
9789350232002
9789350230886
9789350231722
9788184048391
9789350231074
9789350232590
9789350232606
9788184049930
9789350232613
9788184049237
9788184049244
Google Web Toolkit: GWT Java Ajax Programming, 248 Pages
Grails 1.1 Web Application Development, 332 Pages
Grok 1.0 Web Development, 316 Pages
Groovy for Domain- Specific Languages, 320 Pages
Hacking Vim 7.2, 252 Pages
High Availability MySQL Cookbook, 284 Pages
IBM Cognos 8 Planning, 428 Pages
IBM Cognos 8 Report Studio Cookbook, 280 Pages
IBM InfoSphere Replication Server and
Data Event Publisher, 352 Pages
IBM Lotus Notes 8.5 User Guide, 304 Pages
IBM Lotus Notes and Domino 8.5.1, 336 Pages
IBM Lotus Sametime 8 Essentials: A User's Guide, 292 Pages
IBM WebSphere eXtreme Scale 6, 296 Pages
ICEfaces 1.8: Next Generation Enterprise
Web Development, 296 Pgs
9789350232620
9789350231661
9789350231791
Implementing SugarCRM 5.x, 360 Pages
iReport 3.7, 244 Pages
IT Inventory and Resource Management with OCS
Inventory NG 1.02, 268 Pages
9788184044089
Java EE 5 Development using GlassFish
Application Server, 426 Pages
9788184046182
Java EE 5 Development with NetBeans 6, 404 Pages
9789350232187
9789350232637
9789350232644
9788184049954
Java EE 6 with GlassFish 3 Application Server, 496 Pages
JavaFX 1.2 Application Development Cookbook, 336 Pages
JavaScript Testing Beginner's Guide, 280 Pages
JBoss AS 5 Development, 420 Pages
www shroffpublishers corn
4
Author
Year
Price
Williams
2011
500.00
Luthra
Hirematada
Makzan
2010
350.00
2010
525.00
2011
625.00
Tidwell
Kore
2009
575.00
2009
525.00
Minessale
Fornari
2010
500.00
425.00
Serban
2006
2010
300.00
Hiitola
Buelow
2010
825.00
Buelow
Kou
2009
750.00
2010
Kalali
2010
425.00
450.00
Guermeur
2011
750.00
Ahammad
2011
Chaganti
Dickinson
2007
Guardia
Dearle
Schulz
Davies
2010
2010
2010
400.00
300.00
500.00
475.00
475.00
375.00
2010
425.00
Riaz
2009
Sanghani
2010
650.00
425.00
Chatterjee
Hooper
2011
525.00
2011
450.00
Rosen
2010
Scott
2011
500.00
450.00
Chaves
2009
450.00
2010
2009
350.00
Eschen
2009
Magana
Ahammad
2011
450.00
550.00
2010
375.00
Antal
2010
400.00
Heffelfinger
Heffelfinger
2007
450.00
2008
Heffelfinger
Valdimir
2010
400.00
750.00
500.00
425.00
625.00
2011
Eugene
2011
Marchioni
2010
e mail spdorders@shroffpubiishers.corn
ISBN
9789350233146
9788184048230
9789350232170
9788184049442
9788184047738
9788184047707
9788184049268
9788184047790
9788184049947
9788184045345
9788184048360
9789350231500
9789350231326
9788184048605
9789350231807
9788184047646
9789350232200
9788184044690
9788184044584
9788184049251
9788184049299
9788184049282
9789350232194
9788184047653
9789350232217
9788184049275
9788184049220
9789350230015
9788184043952
9788184047561
9788184049305
9788184049251
9789350232033
9789350232651
9789350233849
9788184046557
9788184046816
9788184045369
9788184042337
9788184043921
9788184047806
9788184043976
9788184043877
9788184047813
9789350230473
9789350232224
9788184048254
9789350230466
Author
Title
Year
Price
Marchioni
2011
475.00
Heffelfinger
2009
Siddiqui
Heffelfinger
2010
550.00
600.00
1200.00
Browne
2009
Rao
2009
Filocamo
Leonard
2009
Salatino
2010
Vohra
2008
Chapman
2009
Tiggeler
Walker
2010
Dinther
2009
Joomla! 1.5 Site Blueprints, 268 Pages
Ogunjobi
2010
Joomla! 1.5 Template Design, 286 Pages
Silver
Carter
2009
2010
Connor
2007
550.00
500.00
425.00
575.00
575.00
500.00
400.00
425.00
375.00
250.00
Dawson
2007
300.00
Hlavats
2009
500.00
Porsi
2009
325.00
Kennard
2009
Blanco
2010
550.00
450.00
Sarkar
Boateng
Sarkar
2009
Verens
2009
Chaffer
2010
2007
JBoss AS 5 Performance Tuning, 320 Pages
JasperReports 3.5 for Java Developers, 368 Pages
JasperReports 3.6 Development Cookbook, 408 Pages
JasperReports for Java Developers, 348 Pages
JBoss Drools Business Rules, 308 Pages
JBoss Portal Server Development, 280 Pages
JBoss RichFaces 3.3, 324 Pages
JBoss Tools 3 Developers Guide, 410 Pages
jBPM Developer Guide, 376 Pages
JDBC 4.0 and Oracle JDeveloper for J2EE Development, 446 Pgs
Joomla! 1.5x Customization, 288 Pages
Joomla! 1.5 Beginner's Guide, 386 Pages
Joomla! 1.5 Multimedia, 380 Pages
Joomla! 1.5 SEO, 332 Pages
Joomla! 1.5 Templates Cookbook, 244 Pages
Joomla! Accessibility, 156 Pages
Joomla! Cash Money- making weapons for your Joomla!
websiteBrandon, 182 Pages
JSF 1.2 Components, 412 Pages
Joomla! 1.5 Content Administration, 216 Pages
Joomla! 1.5 Development Cookbook, 364 Pages
Joomla! 1.5 JavaScript jQuery, 300 Pages
Joomla! E- Commerce with VirtueMart, 480 Pages
Joomla! Social Networking with JomSocial, 196 Pages
Joomla! with Flash, 264 Pages
jQuery 1.3 with PHP, 252 Pages
jQuery 1.4 Reference Guide, 340 Pages
jQuery Reference Guide, 268 Pages
jQuery UI 1.6: The User Interface Library for jQuery, 444 Pgs
jQuery UI 1.7: The User Interface Library for jQuery, 396 Pgs
JSF 1.2 Components, 412 Pages
JSF 2.0 Cookbook, 404 Pages
Kentico CMS 5 Website Development:
Beginner's Guide, 320 Pages
Koha 3 Library Management System, 302 Pages
Learning Drupal 6 Module Development, 332 Pages
Learning Ext JS, 332 Pages
Learning Facebook Application Development, 240 Pages
Learning Jakarta Struts 1.2, 222 Pages
Learning Joomla! 1.5 Extension Development, 178 Pages
Swedberg
Wellman
Wellman
Hlavats
2010
2009
2010
2010
2009
2009
2009
450.00
400.00
475.00
625.00
725.00
300.00
400.00
375.00
500.00
325.00
675.00
600.00
2009
2010
625.00
Robbins
Gupta
Butcher
Anderson
2011
475.00
2011
450.00
2010
375.00
2009
350.00
Hayder
2008
Wiesner
LeBlanc
2005
300.00
225.00
2007
250.00
Learning jQuery 1.3, 460 Pages
Chaffer
2009
700.00
Learning jQuery, 384 Pages
Learning PHP Data Objects, 188 Pages
Learning SQL Server 2008 Reporting Services, 540 Pgs
Learning the Yahoo! User Interface library, 384 Pages
Least Privilege Security for Windows 7, Vista, and XP, 468 Pages
Liferay Portal 5.2 Systems Development, 556 Pages
Liferay Portal 6 Enterprise Intranets, 700 Pages
Chaffer
2010
Poppel
Krishnaswamy
2007
425.00
225.00
2009
525.00
Wellman
Smith
2010
575.00
700.00
Yuan
2010
2009
Yuan
2010
www sh,ottpublishers com
5
Leonard
600.00
825.00
1,050.00
e- mall spdorders @shroffpublishers.com
9788184044638
9788184049312
9789350230909
9788184044737
9788184048346
9789350230084
9789350231432
9789350233085
9788184049107
9789350231333
9788184044713
9788184044539
9788184044676
9788184042252
9788184044003
9788184047820
9788184042351
9788184049336
9789350230008
9789350231548
9788184043853
9789350233092
9789350230091
9788184049541
9789350232231
9789350231982
9789350232668
9789350233603
9788184049343
LING) Quickly A practical guide to programming Language
Integrated Query with C #, 254 Pages
Linux E -mail, 380 Pages
Linux Thin Client Networks Design and Deployment:
A quick guide for System Administrators, 184 Pages
Lotus Notes Domino 8 Upgrader's Guide, 278 Pages
LWUIT 1.1 for Java ME Developers, 368 Pages
Magento 1.3: PHP Developer's Guide, 360 Pages
Magento 1.3: Sales Tactics Cookbook, 300 Pages
Magento 1.4 Development Cookbook, 276 Pages
Magento Beginner's Guide, 308 Pages
Mahara 1.2 E- Portfolios: Beginner's Guide, 268 Pages
Managing eZ Publish Web Content Management Projects, 322 Pgs
Managing Software Development with Trac and Subversion, 122 Pgs
Mastering Joomla! 1.5 Extension & Framework Development, 490 Pgs
Mastering Mambo E- Commerce, Templates, Module
Development, SEO, Security and Performance, 306 Pages
Mastering OpenLDAP: Configuring, Securing and
Integrating Directory Services, 484 Pages
Mastering Oracle Scheduler in Oracle 11g Databases, 244 Pgs
Mastering PHPMyAdmin 2.8 for Effective
MySOL Management, 316 Pages
Matplotlib for Python Developers, 312 Pages
Maximize Your Investment: 10 Key Strategies for Effective
Packaged Software Implementations, 236 Pages
MediaWiki 1.1: Beginner's Guide, 364 Pages
Microsoft AJAX Library Essentials: Client -side
ASP.NET AJAX 1.0 Explained, 300 Pages
Microsoft Azure: Enterprise Application Development, 256 Pgs
Microsoft Dynamics AX 2009 Development Cookbook, 360 Pgs
Microsoft Dynamics AX 2009 Programming:
Getting Started, 352 Pgs
Microsoft Dynamics GP 2010 Cookbook, 332 Pages
Microsoft Dynamics NAV 2009 Application Design, 504 Pages
Microsoft Dynamics NAV Administration, 216 Pages
Microsoft Enterprise Library 5.0, 288 Pages
9789350231708
9789350232972
9789350232255
9789350232262
9788184049695
9788184045338
2007
2009
325.00
575.00
Richards
2010
275.00
Speed
2007
325.00
Sarkar
2009
Huskisson
2010
Rice
2010
550.00
400.00
450.00
425.00
450.00
400.00
Ferdous
2011
Rice
Bauer
Murphy
Kennard
2009
2010
2007
2007
2007
Hauser
2005
325.00
Butcher
Rood
2007
450.00
475.00
Delisle
2004
Tosi
2009
350.00
475.00
Beaubouef
Rahman
2010
2010
350.00
550.00
Davie
2007
300.00
Dudley
Pocius
2011
375.00
2010
550.00
Kent
2009
375.00
200.00
500.00
Dalen
2010
525.00
Polino
Brummel
2010
500.00
2010
750.00
Oberoff
2011
Joshi
2011
325.00
425.00
Microsoft Office Live Small Business:
Beginner's Guide, 260 Pages
9789350232248
9789350230787
Kumar
Haycox
Microsoft Silverlight 4 and SharePoint 2010 Integration, 344 Pgs
Microsoft Silverlight 4 Business Application Development:
Beginners Guide, 420 Pages
Microsoft Silverlight 4 Data and Services Cookbook, 484 Pgs
Microsoft SQL Azure Enterprise Application
Development, 428 Pages
Microsoft Visio 2010 Business Process
Diagramming and Validation, 352 Pages
Microsoft Windows Workflow Foundation 4.0 Cookbook, 284 Pgs
Middleware Management with Oracle Enterprise Manager
Grid Control 10g R5, 336 Pages
Mobile Web Development, 238 Pages
www shrofipublishers-com
Pitre
2009
400.00
Hillar
2010
525.00
Albert
2010
625.00
Cleeren
2010
725.00
Krishnaswamy
2011
650.00
Parker
Zhu
2010
2010
525.00
425.00
Maheshwari
2010
2008
300.00
Mehta
6
500.00
e-malr spdorders@shroffpublisherscom
Author
Year
Price
9788184049169
ModSecurity 2.5, 288 Pages
Mischel
2009
425.00
9788184049121
MODx Web Development, 284 Pages
Moodie 1.9 E- Learning Course Development, 388 Pages
John
2009
425.00
Rice IV
2008
450.00
Hillar
2010
475.00
Moore
Taylor
2010
400.00
2010
450.00
Stanford
2009
800.00
ISBN
9788184045710
9789350232286
9789350231623
9789350231999
9788184048636
9788184047639
Title
Moodie 1.9 English Teacher's Cookbook, 312 Pages
Moodie 1.9 Extension Development, 328 Pages
Moodie 1.9 for Design and Technology, 296 Pages
Moodie 1.9 for Second Language Teaching, 532 Pages
Moodie 1.9 for Teaching 7 -14 Year Olds:
Beginner's Guide, 240 Pgs
Gooch
2009
3500.00
9789350232279
Moodie 1.9 for Teaching Special Education Children
(5-10 Year Olds): Beginner's Guide, 332 Pages
Olsen
2010
500.00
9788184049190
9788184047684
Moodie 1.9 Math, 272 Pages
Moodie 1.9 Multimedia, 276 Pages
Moodie 1.9 Teaching Techniques, 220 Pages
Moodie 1.9 Testing and Assessment, 400 Pages
Wild
2009
400.00
Pedro
2009
425.00
Nash
2010
325.00
Myrick
Gadsdon
2011
600.00
2010
475.00
Mary
Büchner
2011
425.00
2009
425.00
Wild
2009
350.00
Rice IV
2007
275.00
Gube
2010
425.00
Golubchik
Schneller
Lukaszewski
2011
450.00
2010
575.00
2011
675.00
Petri
Nedelcu
Cure
Stefanov
Hayder
2010
450.00
2010
525.00
2010
425.00
2008
375.00
2007
350.00
Pulakhandam
2007
425.00
Kerger
2011
500.00
Feilner
2006
300.00
Yilmaz
Liliedahl
Wang
Bennett
Yilmaz
2011
375.00
2011
450.00
2011
625.00
2011
400.00
2010
450.00
Madrid
2009
675.00
Prusinski
McKinnell
Zoest
2010
1,025.00
2010
525.00
2011
500.00
Geller
2010
975.00
Bos
2009
275.00
9789350230022
9789350233153
9789350230893
9789350232842
9788184046854
9788184046861
9788184044591
9789350230053
9789350232675
9789350231449
9789350232682
9789350231456
9789350232293
9789350231852
9788184045703
9788184044546
9788184044010
9789350234082
9788184042238
9789350232699
9789350233832
9789350233160
9789350232705
Moodie 1.9 Theme Design: Beginner's Guide, 312 Pages
Moodie 2.0 First Look, 284 Pages
Moodie Administration, 380 Pages
Moodie Course Conversion: Beginner's Guide, 320 Pages
Moodie Teaching Techniques, 194 Pages
MooTools 1.2 Beginner's Guide, 284 Pages
MySQL 5.1 Plugin Development, 296 Pages
MySQL Admin Cookbook, 384 Pages
MySQL for Python, 448 Pages
NetBeans Platform 6.9 Developer's Guide, 296 Pages
Nginx HTTP Server, 356 Pages
NHibernate 2.x Beginner's Guide, 284 Pages
Object -Oriented JavaScript, 360 Pages
Object -Oriented Programming with PHP5, 274 Pages
ODP.NET Developer's Guide: Oracle Database 10g
Development with Visual Studio 2005 and the Oracle Data
Provider for .NET, 328 Pages
OGRE 3D 1.7 Beginner's Guide, 308 Pages
Open VPN Building and Integrating Virtual
Private Networks, 274 Pgs
OpenCart 1.4 Beginner's Guide, 244 Pages
OpenCms 7 Development, 300 Pages
OpenSceneGraph 3.0: Beginner's Guide, 420 Pages
OpenStreetMap, 256 Pages
9789350231463
9788184047844
OpenX Ad Server: Beginner's Guide, 304 Pages
9789350232309
Oracle 11g R11R2 Real Application
Clusters Handbook, 684 Pages
Oracle 11g Streams Implementer's Guide, 356 Pages
Oracle APEX 4.0 Cookbook, 336 Pages
Oracle Application Express 3.2:
The Essentials and More, 652 Pages
Oracle Application Express Forms Converter, 176 Pages
9788184049992
9789350233030
9789350231975
9788184048919
Oracle 10g/11 g Data and Database
Management Utilities, 436 Pgs
www shroffpublishers corn
7
e- mail. spdorders @shronpublishers.corn
9789350234099
9789350230640
9789350231579
9789350233061
9788184047660
9789350232712
9789350231968
9788184046076
9789350231098
9789350231067
9788184047837
9788184049978
9789350231234
9788184048629
9788184048421
9788184048384
9788184045796
9788184044720
9788184043914
9788184049176
9789350230497
9788184049145
9789350232729
9789350230480
9789350230121
9788184047721
9789350233177
9788184043945
9788184048582
9788184044096
9789350230107
9789350232736
9789350231838
9789350231814
9788184048377
9789350232316
9789350230879
9789350232866
9789350232446
9789350234181
9789350232019
9789350232323
9788184047745
9788184044645
Oracle Business Intelligence:
The Condensed Guide to Analysis and Reporting, 196 Pages
Oracle Coherence 3.5, 412 Pages
Oracle Database 11g - Underground Advice for
Database Administrators, 356 Pages
Oracle E- Business Suite R12 Supply
Chain Management, 300 Pages
Oracle Essbase 9 Implementation Guide, 448 Pages
Oracle Fusion Middleware Patterns, 228 Pages
Oracle JRockit: The Definitive Guide, 596 Pages
Oracle Modernization Solutions, 435 Pages
Oracle Siebel CRM 8 Installation and Management, 580 Pgs
Oracle SOA Suite 11g R1 Developer's Guide, 724 Pages
Oracle SOA Suite Developer's Guide, 656 Pages
Oracle SQL Developer 2.1, 500 Pages
Oracle Universal Content Management Handbook, 360 Pages
Oracle User Productivity Kit 3.5, 544 Pages
Oracle VM Manager 2.1.2, 248 Pages
Oracle Warehouse Builder 11g Getting Started, 368 Pages
Oracle Web Services Manager, 238 Pages
osCommerce Webmaster's Guide to Selling Online, 428 Pages
OSWorkflow: A guide for Java developers and architects to
integrating open- source Business Process Management. 212 Pgs
Papervision3D Essentials, 432 Pages
Pentaho 3.2 Data Integration: Beginner's Guide, 500 Pages
Pentaho Reporting 3.5 for Java Developers, 388 Pages
PHP 5 CMS Framework Development - 21ed, 424 Pages
PHP 5 CMS Framework Development, 352 Pages
PHP 5 E- commerce Development, 450 Pages
PHP and script.aculo.us Web 2.0 Application Interfaces, 272 Pgs
PHP jQuery Cookbook, 344 Pages
PHP Oracle Web Development: Data processing,
Security, Caching, XML, Web Services, and Ajax, 396 Pages
PHP Team Development, 192 Pages
PHP Web 2.0 Mashup Projects, 306 Pages
Plone 3 for Education, 216 Pages
Plone 3 Intranets, 312 Pages
Plone 3 Multimedia, 380 Pages
Plone 3 Products Development Cookbook, 396 Pages
Plone 3 Theming. 328 Pages
Plone 3.3 Site Administration, 248 Pages
Pluggable Authentication Modules: The Definitive Guide to
PAM for Linux SysAdmins and C Developers, 128 Pages
PostgreSQL 9 Administration Cookbook, 372 Pages
PostgreSQL 9.0 High Performance, 476 Pages
Practical Data Analysis and Reporting with BIRT, 320 Pages
PrestaShop 1.3 Beginner's Guide, 316 Pages
PrestaShop 1.3 Theming Beginner's Guide, 320 Pages
Processing XML documents with Oracle JDeveloper 11g, 388 Pgs
Professional Plone Development, 422 Pages
www shroffpublishers corn
8
Vasiliev
Seovic
2011
300.00
2010
625.00
Sims
2010
525.00
Siddiqui
2011
450.00
Anantapantula
2009
675.00
Gaur
Hirt
2011
Laszewski
Hansa)
2008
Reynolds
2010
Wright
2009
Harper
Khanine
2010
Griesemer
2009
Laksh mìnarayanan
2008
Gurevych
2007
350.00
975.00
475.00
875.00
1,075.00
925.00
750.00
550.00
825.00
375.00
550.00
300.00
450.00
Diego
Winder
Roldan
Gorman
2007
275.00
2009
Brampton
Brampton
Peacock
2011
2010
2010
2010
Manuel
2009
Singh
2009
Rao
2010
2009
Joshi
2011
650.00
750.00
575.00
625.00
525.00
550.00
400.00
525.00
Vasiliev
Abeysinghe
2007
450.00
2009
300.00
Chow
2007
325.00
Rose
2010
325.00
Alba
Gross
Giménez
2011
475.00
2010
575.00
Williams
2010
2009
Clark
2010
600.00
500.00
375.00
Geisshirt
2010
225.00
Riggs
Smith
Ward
Horton
Hashim
2011
550.00
2011
725.00
2011
500.00
475.00
2011
475.00
Vohra
2009
Aspeli
2007
575.00
425.00
2010
2009
2010
2010
e- mail spdorders@shroffpublishers corn
ISBN
Title
9788184044652
9788184049329
9788184045291
Programming Microsoft® DynamicsTM NAV, 482 Pages
Programming Microsoft® DynamicsTM NAV 2009, 624 Pgs
9788184043983
Project Management with dotProject: Implement, Configure,
Customize, and Maintain your DotProject Installation, 232 Pages
9789350233047
9789350232330
9789350232989
9789350232743
9788184049961
9788184043938
Python 2.6 Text Processing Beginners Guide, 388 Pages
Python 3 Object Oriented Programming, 412 Pages
Python Geospatial Development, 516 Pages
Python Multimedia, 300 Pages
Python Testing: Beginner's Guide, 260 Pages
9788184045352
9789350230282
9789350232347
9788184049701
9788184046199
9788184042269
9788184044577
9788184045314
9788184047868
9788184049114
9788184047592
9789350233184
9788184047578
9789350233238
9789350232453
9789350231081
Programming Windows Workflow Foundation: Practical WF
Techniques and Examples using XAML and C #, 256 pages
Author
Year
Price
Studebaker
Studebaker
2007
475.00
2009
750.00
Allen
2008
300.00
Jordan
2007
300.00
McNeil
2011
575.00
Phillips
Westra
Sathaye
Arbuckle
2010
2011
625.00
775.00
2011
450.00
2010
300.00
Wheeler
Gupta
2007
2008
225.00
250.00
Quickstart Apache Axis2, 188 Pages
Refactoring with Microsoft Visual Studio 2010, 384 Pages
RESTful Java Web Services, 262 Pages
Jayasinghe
Ritchie
Sandoval
2010
275.00
2010
2010
575.00
RESTful PHP Web Services, 223 Pages
RSS and Atom: Understanding and Implementing
Content Feeds and Syndication, 282 Pages
Ruby on Rails Enterprise Application Development, 530 Pages
Ruby on Rails Web Mashup Projects, 280 Pages
SAP Business ONE Implementation, 324 Pages
Sakai Courseware Management, 508
Scratch 1.4: Beginner's Guide, 268 Pages
Abeysinghe
2008
Wittenbrink
Smith
Sheong
Niefert
2005
2007
2009
2009
400.00
2011
Seam 2.x Web Development, 302 Pages
Selenium 1.0 Testing Tools: Beginners Guide, 240 Pages
Selling Online with Drupal e- Commerce, 272 Pages
Berg
Badger
Gemy
Salter
325.00
525.00
350.00
475.00
750.00
2009
550.00
450.00
Burns
Peacock
2011
350.00
2011
400.00
Service Oriented Architecture:
An Integration Blueprint, 248 Pages
Qmail Quickstarter:
Install, Set Up and Run your own Email Server, 152 Pages
Quality Assurance for Dyanmics AX- Bassed ERP Solutions, 181 Pgs
Scribus 1.3.5: Beginner's Guide, 360 Pages
2008
2009
400.00
300.00
Schmutz
2010
375.00
9788184045765
9789350232750
9789350231692
SharePoint Designer Tutorial, 190 Pages
Poole
2008
Silverlight 4 User Interface Cookbook, 286 Pages
SketchUp 7.1 for Architectural Visualization:
Beginner's Guide, 412 Pages
Cipan
2011
250.00
425.00
Jongh
2010
625.00
9788184048896
Small Business Server 2008 Installtion,
Migration, and Configuration, 412 Pages
Smarty PHP Template Programming and Applications, 256 Pages
SOA Cookbook: Design Recipes for Building
Better SOA Processes, 273 Pgs
SOA Patterns with BizTalk Server 2009, 406 Pages
Overton
2009
Maia
2006
625.00
275.00
9788184042375
9788184046045
9788184047714
9789350233009
9788184043860
9788184046205
9788184045376
9788184045758
9788184044553
9788184048353
9788184047851
9788184049138
hr
Havey
2008
350.00
Seroter
2009
600.00
Subashni
2011
SOA and WS -BPEL, 250 Pages
SOA Governance, 231 Pages
Service Oriented Java Business Integration, 438 Pages
Service Oriented Architecture with Java, 196 Pages
Vasiliev
2007
SOA Approach to Integration, 384 Pages
Solr 1.4 Enterprise Search Server, 344 Pages
Spring 2.5 Aspect Oriented Programming, 332 Pages
Spring Persistence with Hibernate, 465 Pages
Software Testing using Visual Studio 2010, 408 Pages
hers.. con
9
Biske
2008
600.00
350.00
300.00
Binildas
2008
500.00
Binildas
2008
250.00
Sarang
2008
Smiley
2009
400.00
525.00
Dessi
Seddighi
2009
600.00
2009
700.00
e-mail. spdordersashroffpublishers.com
ISBN
9789350231784
9789350231876
9788184047585
Title
Spring Python 1.1, 272 Pages
Spring Security 3, 428 Pages
Author
Year
Price
Turnquist
Mularien
2010
400.00
2010
650.00
Luppken
2009
400.00
9788184044560
Spring Web Flow 2 Web Development, 274 Pages
SQL Server Integration Services Using
Kríshnaswamy
2007
375.00
9788184045321
Swing Extreme Testing, 328 Pages
Lavers
2008
375.00
9788184048599
Symfony 1.3 Web Application Development, 232 Pages
Bowler
2009
350.00
9788184044669
Tapestry 5 Building Web Applications, 272 Pages
Kolesnikov
2008
325.00
9789350232354
Tcl 8.5 Network Programming, 596 Pages
The Business Analyst's Guide to Oracle
Hyperion Interactive Reporting 11, 236 Pages
Tomcat 6 Developer's Guide, 424 Pages
Kocjan
2010
900.00
Cody
Chetty
2011
350.00
2010
625.00
Garrison
2009
525.00
Reese
2011
375.00
Karlsons
Osipov
2010
325.00
2010
350.00
Altmann
2005
525.00
Dulepov
2008
300.00
Grassle
Dostalek
2005
2006
200.00
Visual Studio 2005, 322 Pages
9789350232767
9788184049985
9788184048865
9789350232774
9789350231845
9789350231319
9788184042450
9788184046038
Trixbox CE 2.6, 348 Pages
Troux Enterprise Architecture Solutions, 256 Pages
TYPO3 4.2 E- Commerce, 220 Pages
TYPO3 4.3 Multimedia Cookbook, 232 Pages
TYP03: Enterprise Content Management, 626 Pages
TYP03: Extension Development, 237 Pages
9788184042276
9788184042344
UML 2.0 in Action: A Project - Based Tutorial, 248 Pages
9789350232781
Unity 3D Game Development by
Example Beginner's Guide, 408 Pages
Creighton
2011
600.00
9788184049374
Unity Game Development Essentials, 320 Pages
Goldstone
2009
475.00
9789350232439
User Training for Busy Programmers
VirtualBox 3.1: Beginner's Guide, 356 Pages
Rice
2011
275.00
Romero
2010
525.00
9789350231685
9788184043990
Understanding TCP /IP, 482 Pages
Visual SourceSafe 2005 Software Configuration
Management in Practice, 406 Pages
9788184047608
VSTO 3,0 for Office 2007 Programming, 264 Pages
9788184046885
WCF Multi -tier Services Development with LINQ, 392 Pages
WCF 4.0 Multi -tier Services Development with
LINQ to Entities, 356 Pages
9789350232026
9788184048414
WebSphere Application Server 7.0
Administration Guide, 348 Pgs
9788184047622
WordPress 2.7 Complete, 300 Pages
WordPress 2.7 Cookbook, 324 Pages
WordPress 2.8 Theme Design, 300 Pages
Word Press 2.8 Themes Cookbook, 320 Pages
WordPress 2.9 E- Commerce, 292 Pages
9788184047677
9788184049664
9789350232361
9789350231470
9789350232798
350.00
Serban
2007
475.00
Thangaswamy
Liu
2009
400.00
2010
425.00
Liu
2010
525.00
Robinson
2009
Silver
Jung
2009
425.00
450.00
Silver
2010
475.00
450.00
Ohrn
Bondari
Wallace
Silver
Spannagle
2010
475.00
2010
450.00
2011
375.00
2011
475.00
2010
425.00
2009
9789350232804
9789350231678
WordPress 3 Site Blueprints, 308 Pages
WordPress 3.0 JQuery, 322 Pages
WordPress and Flash 10x Cookbook, 276 Pages
9788184049350
WordPress MU 2.8: Beginner's Guide
Harrison
2009
425.00
9788184046052
WordPress for Business Bloggers, 359 Pages
Word Press Theme Design, 229 Pages
Thewlis
2008
425.00
Silver
2008
300.00
WordPress Top Plugins, 260 Pages
WS -BPEL 2.0 for SOA Composite Applications with
Oracle SOA Suite 11g, 624 Pages
wxPython 2.8 Application Development Cookbook, 320 Pages
Xen Virtualization, 148 Pages
Corbin
2011
400.00
9788184046021
9789350232811
9789350232828
9789350233078
9788184044683
2A
Juric
2011
575.00
Precord
2011
475.00
Chaganti
2007
225.00
9789350232835
9789350232378
9789350231555
9788184045741
9788184048575
9788184044614
9788184045789
XNA 4.0 Game Development by Example:
Beginner's Guide, 452 Pages
YUI 2.8 Learning the Library, 416 Pages
Zabbix 1.8 Network Monitoring, 436 Pages
Jaegers
Barreiro
Olups
2011
650.00
2010
625.00
2010
650.00
Sarkar
Pope
2008
375,00
2009
575.00
Zimbra Implement, Administer and Manage, 222 Pages
Zenoss Core Network and System Monitoring, 282 Pages
Resnick
Badger
2008
300.00
2008
350.00
Alfresco Enterprise Content Management Implementation, 360 Pages
Building and integrating Virtual Private Networks with Openswan, 360 Pages
Shariff
Wouters
Stefanov
Cooper
Pedersen
Mathé
Speed
2006 US$ 59.99
2006 US$ 59.99
2005 US$ 39.99
2004 US$ 49.99
2006 US$ 29,99
2006 US$ 49.99
2007 US$ 59.99
Salehi
Heffelfinger
2006 US$ 34.99
2006 US$ 44.99
Borgermans
2004 US$ 59.99
Taylor
2005 US$ 39.99
2006 US$ 39.99
2006 US$ 39.99
2006 US$ 29.99
Zen Cart E- Commerce Application Development, 318 Pages
Zend Framework 1.8 Web Application Development, 388 Pages
US EDITIONS:
9781904811114
9781904811251
9781904811138
9781904811022
9781904811923
9781847190901
9781904811060
9781904811862
9781904811909
9781904811015
9781904811374
9781904811299
9781904811794
9781904811442
9781904811213
9781904811121
9781904811077
9781904811633
9781904811459
Building Online Communities with phpBB 2, 360 Pages
Building Websites with Plone, 416 Pages
cPanel User Guide and Tutorial, 208 Pages
Deep Inside osCommerce: The Cookbook, 400 Pages
Domino 7 Lotus Notes Application Development, 228 Pages
ImageMagick Tricks: Web Image Effects from the Command
Line and PHP, 232 Pages
JasperReports. Reporting for Java Developers, 344 Pages
Learning eZ publish 3: Building Content Management
Solutions- Leaders of the eZ publish community guide you
through this complex and powerful PHP -based Content
Management System, 329 Pages
Linux Email: Setup and Run a Small Office Email
Server using PostFix, Courier, ProcMail, SquirrelMail,
CIamAV and SpamAssassin. 316 Pages
Moodie E- Learning Course Development, 256 Pages
PHP Programming with PEAR, 292 Pages
PHPEclipse: A User Guide, 228 Pages
Rice
Stephan
Chow
Programming Windows Workflow Foundation: Practical
WF Techniques and Examples using XAML and C #, 300 Pages
SpamAssassin: A Practical Guide to Integration and Configuration. 240 Pages
SSL VPN: Understanding, evaluating and planning secure,
web -based remote access, 212 Pages
Upgrading to Lotus Notes and Domino 7, 340 Pages
User Training for Busy Programmers, 92 Pages
Allen
McDonald
Steinberg
Speed
Rice
2006 US$ 44.99
2004 US$ 39.99
2004 US$ 49.99
2006 US$ 59.99
2005 US$ 12.99
TITLES RELEASED AFTER January 2010 ARE MARKED IN BOLD.
www.shroffpublishers.com
11
e- mail. spdorders @shroffpublishers.com
.
For Wholesale enquiries contact:-
..s
.e
-.
.: .----...
C -103, TTC Industrial Area, MIDO, Pawane, Navi Mumbai - 400 705.
Tel: (91 22) 4158 4158 Fax: (91 22) 4158 4141 E -mail: spdorders @shroffpublishers.com
Branches:Bangalore
7, Sharada Colony, Basaveshwarnagar,
8th Main, Bangalore 560 079
Tel: (91 80) 4128 7393 Fax: 4128 7392
E -mail: spdblr @shroffpublishers.com
Kolkata
7B Haati Bagan Road,
CIT Paddapukur, Kolkata - 700 014
Tel: (91 33) 2284 9329 / 7954 Fax: 2835 0795
E -mail: spdkol @shroffpublishers.com
Delhi
Basement, 2/11 Ansari Road,
Daryaganj, New Delhi - 110 002
Tel: (91 11) 2324 3337 / 8 Fax: 2324 3339
E -mail: spddel @shroffpublishers.com
Mumbai
36, M. A. Sarang Marg,
(Tandel Street South) Dongri, Mumbai -400 009.
Tel.: (91 -22) 6610 7595 Telefax: 6610 7596
E- mail :spddongri @shroffpublishers.com
RESIDENT REPRESENTATIVES
Chennai Mobile : 9710936664 / 9884193326 E -mail: spdchennai @shroffpublishers.com
Hyderabad Mobile : 09885059050 E -mail: jayashanker @shroffpublishers.com
Pune Mobile : 09619439607 E -mail: dinesh @shroffpublishers.com
PO
MP?! MI
www.ch-:.,dia.ca...
Computer Bookshop (I) Pvt. Ltd.
Kitab Mahal Bldg., Ground Floor, Next to Central Bank of India.
190. Dr. D. N. Road, Fort, Mumbai 400 001
Tel: (91 22) 6631 7922 / 23 / 24 Fax: 2262 3551
E -mail: cbs @vsnl.com
.
CAB. 09
Sterling Book House
181, Dr. D. N. Road, Fort, Mumbai - 400 001.
Tel. (91 -22) 2267 6046, 2265 9599 Fax : 2262 3551
:
E -mail : sbh @vsnl.com
www.sterlingbookhouse.com
)1<7
.{ .Y. l.
Shop #1, Cassinath Building, 172/174,
Dr. D. N. Road, Mumbai - 400 001.
Tel. : (91-22) 2205 4616/17 Fax: 2205 4620
E -mail mail @bookzone.in www.bookzone.in
Koha 3 Library
Management System
Koha
is
the
first
full- featured
open
source
library
management system that is widely used for efficiently
managing libraries. However, setting up and maintaining
Koha is no walk in the park. It is not as straightforward as
setting up the other popular LAMP applications.
This practical guide provides all the essential information
is needed to make the task of installing and
configuring Koha seem simple and easy. It demonstrates
that
how
to
set
up
Koha
and
its
various
aspects
-
installation, configuration, application administration, and
data migration. It also covers troubleshooting, software
maintenance, software customization, and other advanced
topics.
Written in a practical style, this book uses the Linux shell in
many chapters, demonstrating the execution of commands
and their output. All chapters are written in a way that makes
them applicable to various Linux distributions. By the end
of this book, you will have gained the knowledge to get the
most out of your Koha installation.
Who this book is written for
This book is aimed at Linux system administrators who
need to install and maintain Koha. If you are a system
administrator who wants to set up an open source integrated
library system, then this book is for you. It will also be useful
for system administrators who require help with specific
aspects of implementing Koha.
[ PAC KT ] open
PII RI IS N IN(.
"v e, °e,
source*
cod i5111e°
"Community
Experience
Distilled"
What you will learn from this book
Set up and configure Koha as per your
needs and requirements
Install, configure, and test drive the Zebra
Search Engine to improve the searching
capabilities of your Koha application
Configure the Cataloging module to make
finding and evaluating items in a library
amazingly simple for patrons
Migrate catalog data from other systems
into Koha
Configure the circulation module by mapping
your library's policies to rules and preferences
in Koha
Tons of pointers for troubleshooting common
problems that arise with your Koha installation
Beef up your knowledge of advanced
topics such as LDAP integration and
Internationalization
Set up your Koha server as a Z39.50 server
to share your catalog with the outside world
Customize your software and share it with
the community
Packt Publishing
Birmingham - Mumbai
ISBN 13: 978 -93 -5023 -384 -9
www.packtpub.com
For sale in the Indian Subcontinent (India, Pakistan, Bangladesh, Sri Lanka,
Nepal, Bhutan, Maldives) only. Illegal for sale outside of these countries.
9 117 8 9 3 5 0
233849
SHROFF PUBLISHERS & DISTRIBUTORS PVT. LTD.