Working with Koha Maruthu Pandiyan B Scientific Officer (Library) The Institute of Mathematical Sciences, Chennai [email protected] Agenda

● Introduction to Koha ○ History ○ International Library Standards in Koha ○ Features ● Skill Sets required to implement Koha ILS ● Working with Koha ○ Our experience from Legacy ILS to Koha ○ Planning and implementation process ○ Data Migration ○ Customization ○ RFID-Integration ○ LDAP Configuration ○ Custom Reports ● Koha Backup, Restore and Upgradation ● References 2 Introduction to Koha

Koha is the first free and open source Integrated library automation Software in use worldwide and its development is steered by a growing community of users. Koha’s feature set continues to evolve and expand to meet the needs of its user base.

Koha is not an acronym, it’s a word in the Maori language of the indigenous population in New Zealand, means “gift.” By making the software freely available, Horowhenua Library Trust saw this contribution as its “GIFT” to libraries around the world.

3 History of Koha

Koha was originally developed in 1999 by Katipo Communications for Horowhenua Library Trust (HLT). HLT needed a new system to replace their ILS because of the popular Y2K problem, they were interested in developing a new system rather than purchase another proprietary product.

Katipo and HLT decided to release Koha as open source, so that its efforts might be more sustainable should other libraries want to use and improve the software.

A new phase in Koha's development and deployment in the United States began when the Nelsonville Public Library, decided to implement Koha to replace their existing Spydus ILS in 2002. Nelsonville sponsored new features and capabilities, including support for MARC records in its cataloging module and Z39.50 for the transfer of records from cataloging utilities. 4

History of Koha

● This sparked a wider interest in Koha by public libraries in the United States. ● A group of the individuals, who led the implementation of Koha in the Nelsonville Public Library, launched a new company called LibLime in April 2005. ● The company continued to enhance the software, Koha was extended with the Zebra search engine developed by Index Data. ● Liblime acquired Koha.org website, this triggered a dispute between developer community and Liblime. ● Today Koha.org provides access to LibLime Koha, and KohaCommunity. org stands as the official site for Koha and provides access to current releases, documentation, and other resources.

Latest version of Koha 19.11

More: Koha-community.org/about/history/ 5 Standards implemented in Koha

● MARC21 - Format for Bibliographic Data, by Library of Congress ● ISO 2709 - A format for the exchange of bibliographic Information (1960) ● Z39.50 - A communications protocol for searching and retrieving information from a database over a TCP/IP computer network. ● OAI-PMH - OAI-PMH is a protocol for harvesting metadata descriptions of records in an archive ● UNICODE - Unicode is a standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. ● ISBD - A set of rules produced by the IFLA to create a bibliographic description in a standard, human-readable form ● SIP2/NCIP - Protocols for communication between devices. ● LDAP/Shibboleth - Application protocol for accessing and maintaining distributed directory information services. 6 Features of Koha

Fully web-based All necessary library modules ● Cataloguing ● Acquisitions ● Serials ● OPAC ● Circulation ● Patron Management ● Custom Reporting Features of Koha-Cataloguing

● MARC Management : The cataloguing module is one of the principal strong points of Koha. Several "frameworks " can be defined to do different cataloguing for monographs, electronic resources, periodicals, etc. ● Export/Import: Importing records in ISO2709 format (the MARC reservoir) and through Z39.50 (client) for fast cataloguing. ● Copy records: One or more copy records can be attached to each bibliographic record. ● Authorities: Authorities can be created and imported for controlled access to fields like Subject Headings, Personal Names and places. ● MARC view and simple view: Catalogue data can be displayed in MARC format, in simplified form. ● Searching: searches can be performed on any MARC field. Advanced functions, search on one word, the beginning of the field, greater than, less than, etc are also available.

8 Features of Koha-Acquisitions

● Budgeting ● Purchase suggestions and Management ● Ordering ● Track vendors ● Track orders ● Receive orders ● Process Invoices ● Process claims (email) ● Currency Conversion Management

9 Features of Koha-Serials

● Subscription management – System predicts numbering patterns ● Receive issues ● Track late issues ● Process vendor claims (email) ● Check in supplements ● Attach item records

10 Features of Koha-OPAC

● Simple and Advanced Search ● Browse by Item types, Subject, Language, Publisher, Year of Publication etc ● Customizable search results ● Creation of custom lists ● Customizable templates ● RSS feeds for searches ● Tagging by patrons ● Comments/Reviews by patrons ● Book Jackets (various sources like Amazon, Google books etc) ● Patron login/account management 11 Features of Koha-Patron Management

● Complete patron management ● Custom patron types ● Patron Categories ● Patron photos ● Custom patron fields ● Custom messaging preferences ● Fine management ● Circulation history

12 Features of Koha-Circulation

● Basic checking in/out ● Holds management (Reservation) ● Overdue notices (email & print) ● Circulation rules ● Additional circulation notices (email & SMS) ● Web-based self checkout ● RFID Support through SIP2 ● Koha offline circulation module

13 Features of Koha-Custom Reporting

Statistics wizards – Select field to display in column and row and generate statistics for modules

Report wizard – Choose database fields to generate a custom report to meet your library’s needs

SQL Reports – Write your report in MySQL

https://wiki.Koha-community.org/wiki/SQL_Reports_Library

14 Skill Sets required to implement Koha

There is no prescribed skill sets to manage day to day operations of koha. The individuals with

● Interest ● Dedication ● Self learning ● Basic computer skills and ● Good understanding of Library operations

It always pays to acquire the following skills to become a master in Koha (it takes just a week’s time to acquire these skills)

● Knowledge of ● Knowledge of SQL ● Basic Knowledge of Spreadsheets (for data Migration, reporting) ● Understanding of MARCEdit (Data migration) 15 Koha Installation Requirements - Hardware & Software

Hardware Software

For Small Libraries (lesser collection and ● OS : Linux or Linux Flavors preferably limited transactions): A high class Desktop Debian 9 or Ubuntu 16.04 with minimum of 8 GB RAM, a Quadcore ● Koha latest version 19.11 Processor and minimum of 1TB Harddisk. (recommended to use APT-GET method) ● Apache web server ● MySQL (MariaDB) Relational Database Management System For Large Libraries (Larger collection and ● modules high transactions) : A server Class Machine ● MARC Edit (for data migration) with minimum of 16 GB RAM, server class processor and swappable Hard Disk with Raid Functionality.

16 Koha Implementation - Our Experience

If a Library is automating for the first time, then its straight forward.

● Install koha ● Setup basic configuration ● Train the Library Staff for various operations ● Catalog the books, direct entry or through Z39.50 servers. ● Import Patrons / create patrons ● Setup circulation rules etc ● Generate required reports

If a Library is already automated, but wanted to migrate to Koha. It needs planning and a lot of background work. 17 Why to migrate to Koha over legacy systems?

Legacy ILS Koha ILS

● Vendor lock in ● Features of Koha fits expectation of ● Less control over the software and library Library personnel for the benefits of the data & always dependent upon vendor Library patrons. support for even smaller issues ● Compliance to available Library ● Frequent downtime of the software without Standards and Protocols. valid reasons ● Enhanced support to RFID implementation. ● Obsolete technology platform and lack of ● Modern, customizable OPAC with search regular software updates and new features & Browse features ● Fixed templates for reports and requires ● Availability of inhouse expertise to support even for simple customization install, configure, customize, manage ● Inability to meet the expectations of the library and upgrade Koha personnel. ● Vibrant Developer community 18 Planning & Implementation Process

● Side by side comparison of Legacy ILS features with features in Koha ● Identification of alternative solutions if any features missing / procedures in Koha. ● Data Migration : Data from Legacy ILS should be migrated without losing any single piece of information, because the legacy ILS holds complete Library data of several years with all item types and transactions. ● Methods to be employed to migrate the data without any loss ● RFID Integration - using existing hardware to work with Koha & not buy any hardware ● LDAP integration for single sign on ● Email Configuration for alerts to patrons, ordering, claims etc ● Customization of OPAC & other interfaces ● Identification of various processes and training of Library Personnel in various modules ● Customization of reports ● Seamless implementation without any downtime and inconvenience to the patrons.

19 Installation & Basic Configuration

Installation : Installed Koha on testing machines with Debian 8, latest version at that time (2015) was 3.22. Installation was done using default apt-get method of Debian. After testing rigorously and data migration moved to server class machines.

Basic Configuration : Soon after installation, there are several set of configuration available in Koha, one needs to spend lot of time in setting this configuration. This is one time configuration which determines how your installation is going to perform according to your need. 20 MARCEdit

MarcEdit is a metadata editing software suite used primarily to create and manipulate MARC records. Originally developed by Terry Reese in 1999 for a major database cleanup project at Oregon State University,

● MARC Editing: MarcEdit includes a MARC Breaker and Maker ● MarcEditor: The MarcEditor is MarcEdit’s built in metadata editor. ● Delimited Text Translator: ● Export as Tab Delimited: ● Harvest OAI Data: ● XML Translations: ● Z39.50/SRU Client: ● MARCValidator: ● Many more features: Like the ability to split, join, sort, 21 etc. data in various formats.

https://librarycarpentry.org/lc-marcedit/01-introduction/in dex.html Data Migration

Aim : Data from Legacy ILS should be New Library Data (not done using legacy migrated without losing any single piece of ILS): data, because the legacy ILS holds complete Library data with all item types. ● e-books ● e-Journals & Magazines Existing Library Data : ● e-Thesis & Dissertation

● Acquisition details (Order, price, date,

currency etc) ● Bibliographic Data ● Patrons (old and current) ● Transactions Data (Legacy & current) ● Various Item Types (Books, Bound Volumes, CDs, Miscellaneous Report etc) 22 Data Migration

Books, CDs & other Documents

If the existing ILS has a Database backend, then the process of Data Migration is very simple. Export the data from Database to Spreadsheet.

Otherwise we need to generate various reports, convert them into Spreadsheets, then join different spreadsheets into one to get all the bibliographic information along with Acquisition details of each book.

Convert the final Spreadsheet to MARC using MARCEdit software.

23 Data Migration

Data Migration Process - Bound Volumes

Generate reports with Title, Publisher, Volume Number(from to range), Issue Number(from to range), year and export to spreadsheet.

Issue: if you have a Journal with title “Nature” and you have 300 bound volumes, then one bibliographic record for the Journal should be created and the 300 bound volumes should be added as Items in Koha. when you search for “Nature” it should give one result with 300 items and not 300 results.

MARCEdit is very useful in doing such data manipulation. 24 Data Migration

E-books - MARC files are available for e-Books from publisher site and can be directly Imported into Koha. e-Journals - Its better to download holdings records of all our e-Journals in KBART (“Knowledge Bases and Related Tools”) format (csv file with standard holding information) and can be converted into MARC files and imported into Koha e-Thesis & Dissertation - We already have DSPACE running as Institutional Repository. We used MARCEdit to harvest metadata of Thesis using OAI-PMH and merged the records with our existing Print Thesis records. So, Thesis item type will have data about Print as well as electronic information

25 Data Migration

Patrons (old and current) : We can generate report to list all the patrons and exported it into spreadsheet format. Koha already has a readymade “CSV” file with headers. So the data from the spreadsheet should be copied to the “CSV” file with appropriate headers. Then we can import to Koha.

Transactions Data (Legacy & current) : Generated transaction reports with userid, transaction type, date of transaction etc.

We used “Koha offline Circulation Module” to migrate the data. This is the best method and driven by Koha itself, instead of writing into database. We generated a “KOC” file (nothing but a structured tab separated Values file, data sorted to Date Ascending) and uploaded it into Koha. This has a limitation, transaction order should be strictly Date Ascending and it's a bit slow process. 26 Default Koha OPAC

27 Customization - OPAC

28 Customization

29 RFID-Integration

● Koha is already compliant with SIP2/NCIP protocol. ● Any RFID hardware compliant with these protocols works well with Koha, but we need to have middleware to connect koha with the hardware.. ● We came to know already a DAE funded lab VECC has successfully developed a middleware that works with similar hardware and Koha. We contacted Mr. Monirul Purkait, of VECC to help us in RFID integration. ● He developed a open source program in JAVA to accommodate all our requirements like ○ RFID check out through Kiosk with existing tags and ID cards ○ RFID Check in using drop box ○ Tagging of Books, tagging of Patron Cards etc ○ RFID based Stack Verification Tool ● We tested this program extensively and implemented successfully. This was replicated in several Libraries in India 30 LDAP Authentication

LDAP user authentication is the process of validating a username and password combination with a directory server such MS Active Directory, OpenLDAP etc. We have configured LDAP authentication in Koha, since we use an LDAP (Lightweight Directory Access Protocol) server for user authentication. This way we don't have to maintain separate users and passwords in multiple software.

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.

LDAP configuration in Koha can be done in “koha-config.xml” file in the following directory /etc/koha/sites/ 31 CronJobs

Koha is supported by a number of background tasks. These tasks can be executed periodically (cron jobs). A cron job is a Linux command for scheduling a command or script on your server to complete repetitive tasks automatically.

Koha has many cron jobs in place that you can enable (search engine indexing, sending orders, claims, transaction notice, overdue notice generation, data cleanup, backup and more).

Generally cronjobs can be enabled by editing the file “koha-common” in the following directories /etc/cron.d/ /etc/cron.daily/ /etc/cron.weekly/

32 Custom Reports

Koha provides interface to generate custom reports and we can directly query the database to generate custom reports.

We wrote several SQL reports according to our needs like Accession Register, List of Patrons, List of Journal subscribed each year (with complete payment details), Transaction Reports etc.

There is a SQL reports library, where user contributed reports with SQL code are given for reuse. This can be accessed through https://wiki.Koha-community.org/wiki/SQL_Reports_Library

33 Plugins

Koha’s Plugin System allows one to add additional tools and reports which are not part of standard package.

Plugins are installed by uploading KPZ ( Koha Plugin Zip ) packages. A KPZ file is just a zip file containing the perl files, template files, and any other files necessary to make the plugin work. The plugin system needs to be turned on by a system administrator.

Sample Plugins :

● In - Out Management A plugin to track in & out time of patrons, ● Counters - Display counters of things happening in the library (currently loans and searches) on screen in the library. ● Cover Flow - Graphical New Arrivals display ● Books Carousel - Dynamic carousel for OPAC home page. 34 Koha Backup and Restore

Disaster Management and Recovery is very important for any software implementation and we should always anticipate and plan a process for recovery.

We actually run two identical servers with exactly same configuration and OS. We replicate all the customization on both servers. If there is any failure in live server, we can convert the second server as live.

● Koha has a robust backup scripts, which backup Database, Koha Configuration files and Server configuration. This can be configured through cronjobs to periodically backup the data. Even the data can be backed up locally or even transferred to a remote backup system. ● Restoration of the backedup data is also pretty simple with one single command. All the details regarding backup and restore is documented in KohaWiki. 35 Upgradation

Upgradation of a software periodically helps to keep the software secure, access to new features and bug fixes (if any). Koha community releases upgrades twice a year, one during May and other during November. Koha also uses standard open source naming convention since 2016.

Ex. if Release year is 2019 and month is November : Version No. will be 19.11

We upgrade once in a year and always one update behind. Upgradation of koha is also pretty simple using APT-GET method of Debian. Upgradation Process of Koha:

1. Backup the server (Both system files and database) 2. Update the OS (if needed) 3. Then run the Upgrade command of Koha (It will automatically download all the scripts and required pearl modules. 4. Update the database. 5. Update the customizations (if any) 36 Where to find Koha

Koha can be downloaded from the official site:

● http://Koha-community.org/download-Koha/

The code can be found at

● http://git.Koha-community.org

The bug/enhancement list can be found (and contributed to) at:

● http://bugs.Koha-community.org

37 Where to find help

● Koha Manual: – Koha-community.org/documentation/ ● Koha Lists: – Koha-community.org/support/ ● Koha IRC: – Koha-community.org/support/ ● Paid Support: – Koha-community.org/support/paid-support/ ● Koha Wiki: – wiki.Koha-community.org

38 Conclusion

Koha is a robust software with a vibrant developer community and the features are ever growing. Bugs are fixed rapidly.

Koha can be used by any type of Library, with little technical skills and periodic maintenance.

There are whole lot of support materials are available in Koha Wiki, Discussion Forum and youtube.

Koha Discussion forum is pretty active and one can get help immediately upon posting.

39 References

● Breeding, Marshall. (2014). The History and Background of Koha. Smart Libraries Newsletter 34 (4), 2-3. https://librarytechnology.org/document/19403 ● https://en.wikipedia.org/wiki/Koha_(software) ● https://repositorio.ipl.pt/bitstream/10400.21/7106/1/19_P2_paul_poulain.pdf ● https://wiki.Koha-community.org/wiki/SQL_Reports_Library

● https://library.imsc.res.in

● https://koha-community.org/

● https://librarycarpentry.org/lc-marcedit/01-introduction/index.html

● https://koha-community.org/manual/18.05/en/html/14_plugins.html

40