The following guide will walk you through the areas of Koha you need to look at in order to prepare to start using the system.
Before you can start using Koha you’ll need to have some data. This can be done by entering it all by hand, but most people already have their data in electronic format of some sort and just need to reformat it a bit for importing into Koha.
Create a list of libraries and enter their info and codes into Libraries
Define your list of Item types
Define your patron categories and enter the categories and their codes into Patron categories
Enter any additional patron information fields you use in your library in the Patron Attributes
Requires that you first set the ExtendedPatronAttributes system preference if you have custom fields
Define all of your Authorized values
Optionally define City/State/Postal Code combos
Map your bibliographic data from your legacy system to Koha fields and migrate (remembering to use the collection, shelving, item type and library codes you entered in the above setting areas)
Map your patron data from your legacy system to the Koha fields and migrate (remembering to use the patron and library codes you defined above)
Test your migrated data to be sure that everything is as you expect it to be, some things to test include:
Check some of your titles with diacritics and make sure that they migrated properly.
Check titles in a series and make sure that series information migrated properly.
Make sure that your patrons have their contact information in the right fields.
If your serials data was migrated search for these records in the catalog and confirm that they look right.
If your serials data was migrated search for these records in the serials module and confirm that they look right.
Check marc records to verify a variety of items are cataloged correctly
Check cataloging process to see if all necessary fields are available
If fines are migrated, check to see that they are applied correctly
If holds are migrated, check to see they are accurate in catalog and patron record
Most of these preferences won’t need to be changed to use your Koha system, but there are a few that you might want to customize.
If your library uses CAS Authentication, you’ll want to set the various CAS system preferences
Administration System Preferences
KohaAdminEmailAddress : This is the email address that will be used by the system in ‘from’ lines and to send errors to if there is no email set for the branch
noItemTypeImages : Decide if you want to show item type icons in the staff client and opac
delimiter : This value will be put in between fields when exporting data from Koha
virtualshelves : Decide if you want the staff and/or patrons to use lists in Koha
AutoLocation : Require staff to log in to the staff client from a specific IP range
IndependentBranches : Prevent librarians from editing content that belongs to other branches
Go through the Log System Preferences and decide which actions you want to keep track of in the logs
Decide if you’d like to share your library’s information with the Koha community by setting the Sharing system preferences.
Decide what cron jobs you need to run and when.
Koha is used worldwide and so you need to make sure you set your localization preferences so that options throughout Koha appear properly for your location/language.
Localization/Internationalization System Preferences
dateformat : Decide how dates are displayed throughout Koha
opaclanguagesdisplay : Decide if patrons can choose what language the OPAC appears in
opaclanguages : Decide which languages the patrons can choose from
language : Decide which languages appear in the staff client
CalendarFirstDayOfWeek : Define your first day of the week
Before you start circulating your collection you’ll need to set up your rules and preferences for circulation.
Define your Circulation and fines rules
Enter the days your library is closed for fines and due date calculations
Circulation System Preferences
CircControl : Define whether circ rules are based on item’s location, patron’s location or transaction location
useDaysMode : Define how due dates are calculated
finesCalendar : Define how fines are calculated (for every late date or only for days the library is open)
SpecifyDueDate : Decide if staff are allowed to override due dates on checkout
SpecifyReturnDate : Decide if you want to let the staff specify an arbitrary return date on checkin
itemBarcodeFallbackSearch : Decide if you want staff to be able to checkout using a keyword search (title, call number, etc)
AutomaticItemReturn : Decide if items are sent back to the owning branch when checked in
todaysIssuesDefaultSortOrder : Decide how items checked out today display on the patron record
previousIssuesDefaultSortOrder : Decide how items checked out prior to today display on the patron record
noissuescharge : Define the maximum amount a patron can owe before checkouts are blocked
ReturnBeforeExpiry : Decide if patrons need to return items before their accounts expire
AllowHoldsOnDamagedItems : Decide if patrons can place holds on items that are marked as damaged
AllowHoldPolicyOverride : Decide if you want the staff to be able to override the setting for the above at checkout
maxreserves : Decide how many items a patron can have on hold at once
maxoutstanding : Define the maximum amount a patron can owe before holds are blocked
ReservesMaxPickUpDelay : Define the number of days before a hold expires
WebBasedSelfCheck : Decide if you want to use the built in web-based self-checkout system
AllowNotForLoanOverride : Decide if you want the staff to be able to checkout items marked as ‘not for loan’
AllowRenewalLimitOverride : Decide if you want staff to override the limit put on renewals
AllowFineOverride : Decide if you want staff to be able to override fine limits
AllowTooManyOverride : Descide if you want staff to be able to check out more than the limit to a patron
RenewalPeriodBase : Decide what date renewals are based on
finesMode : Switch to ‘Calculate and Charge’ before go live if you charge fines
OverdueNoticeBcc : If you want to receive a copy of every overdue notice sent out, enter your email address here
emailLibrarianWhenHoldIsPlaced : Decide if you want an email every time a hold is placed
ReservesControlBranch : Decide which branch’s hold rules are considered first
soundon : Decide if you want to have sounds on for circulation actions
FilterBeforeOverdueReport : If you have a large amount of overdues, you might want to turn this preference on so as to allow you to filter before results appear
DisplayClearScreenButton : If you have a lot of staff members sharing one circ computer you might want to enable this so that staff can clear the screen in between checkouts to protect patron’s privacy
CircAutoPrintQuickSlip : Decide how you want Koha to react if you scan in a blank barcode on the checkout screen
AutoResumeSuspendedHolds : If you allow holds to be suspended decide if you want them to automatically resume on the date entered by the staff and/or patron
OnSiteCheckouts : Decide if you want to allow items to be checked out for use within the library
RecordLocalUseOnReturn : Set this to record local use of items when you check them in
Customize your Notices & slips
Define your Overdue Notice Triggers
Set up your cron jobs
Populate your holds queue (every 1-4 hours)
Decide when holds expire (daily)
Calculate fines due (daily)
Fines on hourly loans will calculate when you check the items in
Mark long overdue items as lost (daily)
Decide when the system sends out messages (1-4 hours)
Decide when the system queues overdue notices (daily)
Set up hold notices that didn’t send for printing (daily after overdues and message queue)
Decide when the system queues the advanced notice of items due (daily)
Find holds that need to be resumed and remove suspension (daily)
If you’re allowing automatic renewal of items set them to renew (nightly)
You have already imported patron data from your old system, but there are plenty of options available to you regarding patrons and their accounts.
Enter your staff members as patrons
Patron System Preferences
autoMemberNum : Decide if the patrons barcodes are auto-generated or if you enter them yourself
MaxFine : Determine the maximum amount that people can owe in fines
NotifyBorrowerDeparture : Decide when to warn staff that the patron account is about to expire
intranetreadinghistory : Decide if the staff can see the patron’s reading/checkout history
BorrowerMandatoryField : List fields that you want to appear as mandatory on the patron add/edit form
BorrowersTitles : Add or change the titles for your patrons
borrowerRelationship : Add or change borrower relationships (child to adult and professional to organization)
AutoEmailPrimaryAddress : Determine if the patrons get an email confirming the creation of their account
EnhancedMessagingPreferences : Decide if staff can choose from a series of notices (other than overdues) for patrons
EnhancedMessagingPreferencesOPAC: Decide if patrons can choose from a series of notices (other than ovedues) for themselves
patronimages : Decide if you want to save patron images in your system
ExtendedPatronAttributes : Decide if you want to enable custom patron fields
minPasswordLength : Enter the minimum number of characters you want passwords to have
BorrowerUnwantedField : Decide what fields your library doesn’t need to see on the patron entry form
Set up your cron jobs
Decide if you would like children to automatically be come adults
Before you start cataloging in Koha you’ll want to set up your preferences and other rules.
Define your cataloging templates aka MARC Bibliographic Frameworks
Run the MARC Bibliographic Framework Test to be sure your changes are valid
Define any authorized values you might want to use in cataloging
Set up custom classification sources (if you use something other than the defaults)
Set up MARC matching rules for importing records from mrc files or Z39.50
Set up the Z39.50 targets you want to search for cataloging (and acquisitions)
Cataloging System Preferences
URLLinkText : Enter text to display when 856 fields do not have pre-defined labels
hide_marc : If you are unfamiliar with MARC you can have the MARC fields number hidden
LabelMARCView : Choose how you want duplicate fields to appear on the editor
DefaultClassificationSource : Choose which classification source is the default in your library
advancedMARCeditor : Decide if you need labels to appear on your MARC editor
marcflavour : Choose your MARC format
itemcallnumber : Enter which field and subfields to look into for the call number
MARCOrgCode : Enter your MARC Organizational Code (not the same as your OCLC number)
autoBarcode : Decide if Koha generates item barcodes for you
OpacSuppression : Decide if you want to hide items marked as suppressed from the OPAC search results
Set up your cron jobs
Decide when the system checks URLs in catalog records to see if they are still valid
There are several system preferences related to searching, it is not always recommended to make too many changes to these preferences since they are set to get you the most relevant results. If you would like to change the default way that Koha handles searching, view the Searching system preferences tab.
Set up your cron jobs
Decide how often your system rebuilds the search index (4-10 min)
Searching System Preferences
AdvancedSearchTypes : Decide which authorized value fields you want patrons and staff to be able to limit their advanced searches by
AdvancedSearchLanguages : Decide which languages you want people to be able to limit to via the search engine
UseAuthoritiesForTracings : Decide how you want Koha to handle subject searches in the OPAC
displayFacetCount : Decide whether to show facet counts on search results
There are a lot of ways you can customize your OPAC in Koha.
Decide how you want your OPAC to look & what content you want on the main page
Create a library branded stylesheet using CSS
Do not edit the default CSS files, instead create a new one, that way the system can always fall back on the original CSS.
Create a custom XSLT stylesheet to change the way search results and bib records appear in the OPAC
OPAC System preferences
OPACBaseURL : Enter your library’s url
opacuserlogin : Decide if you want to allow patrons to login to the OPAC to access customized functionality (searching will be allowed without logging in)
RequestOnOpac : Decide if patrons can place holds via the OPAC
OpacPasswordChange : Decide if patrons can change their password (don’t allow this if you’re using LDAP)
OpacRenewalAllowed : Decide if patrons can renew their checked out items via the OPAC
opacreadinghistory : Decide if patrons can view their reading/checkout history via the OPAC
reviewson : Decide if you want to allow patrons to comment on bib records via the OPAC
OpacStarRatings : Decide if patrons can leave star ratings
virtualshelves : Decide if you want patrons to be able to create Lists
OpacAllowPublicListCreation : If patrons can create lists then decide if they are allowed to create public lists
suggestion : Decide if you want patrons to be able to submit purchase suggestions
OPACViewOthersSuggestions : Decide if you want patrons to be able to see purchase suggestions made by other patrons
opacbookbag : Decide if patrons can save items into their cart
AnonSuggestions : Decide if you want non logged in users to be able to make purchase suggestions
LibraryName : Enter your library name for display in the <title> tag and on the top of the OPAC
opaccredits : Enter HTML to appear at the bottom of every page in the OPAC
OpacMainUserBlock : Enter HTML that will appear in the center of the main OPAC page
OpacNav : Enter HTML that will appear to the left on the main OPAC page
OpacNavBottom : Enter HTML that will appear below OpacNav
OpacNavRight : Enter HTML that will appear below the login box on the right
opacheader : Enter the HTML that will appear above the search box on the OPAC
OPACNoResultsFound : Enter the HTML that will appear when no results are found
OPACResultsSidebar : Enter the HTML that will appear below the facets on your search results
OPACMySummaryHTML : Enter the HTML that will appear in the far right of the circulation summary in the OPAC
Customize your stylesheets:
OpacHighlightedWords : Decide if you want search terms to be highlighted on the search results
hidelostitems : Decide if you want to show patrons items you have marked as lost
BiblioDefaultView : Decide what view is the default for bib records on the OPAC
OPACShelfBrowser : Decide if you want to enable the shelf browse functionality
OPACURLOpenInNewWindow : Decide if URLs clicked in the OPAC are opened in a new window
SearchMyLibraryFirst : If you have a multi-branch system decide if you want patrons to search their library first
OpacAuthorities : Decide if you want patrons to be able to search your authority file
OpacBrowser : Decide if you want patrons to browse your authority file (French libraries only)
OPACSearchForTitleIn : Choose which libraries you want patrons to be able to re-run their search in
OpacAddMastheadLibraryPulldown : If you’re a multi-branch system you can add a pull down to the search bar for patrons to search which library to search
EnableOpacSearchHistory : Decide if you want the system to keep a search history
Set up your cron jobs
Editable OPAC Regions
Using the OPAC system preferences you can customize various regions, the following graphic will define what preferences update each of the regions in the Bootstrap theme.
Enhanced Content Configuration
Koha allows you to pull in content from outside sources to enhance your bib records. All of this content can be toggled on and off using the enhanced content system preferences.
If you would like to have your OPAC and/or staff client show an ‘Editions’ tab on the bibliographic record, you want to enable one or the other FRBR preferences and then the ISBN service ThingISBN.
Using the Amazon preferences you can choose to show cover images from Amazon.
This is a pay service. Contact Babelthèque to learn how to enable this content in the OPAC.
This is a pay service from Baker & Taylor. Contact Baker & Taylor for the information to enter into these preferences.
This allows libraries to embed streaming media in their catalog
This service is free and does not require registration, simply enable GoogleJackets and you’re set to go.
This is a free service that compiles reviews for popular titles from many different sources.
With the exception of ThingISBN, you will need to contact LibraryThing for the information to enter into these preferences
Enabling ThingISBN will help to populate the editions tab on the bib record display if you have enabled FRBR.
This is a pay service from Ebsco. Contact Ebsco for the information to enter into these preferences
Open Library project is an open system that you can pull cover images (and in the future additional content) from
This is a pay service that libraries can subscribe to for ebook content. If the library subscribes to Overdrive they can integrate that content in to Koha for free.
This is a pay service from Syndetics to add content for your bib records. Contact Syndetics for the information to enter into these preferences.
Choose whether or not you want to allow patrons to add tags to records in Koha.
When using acquisitions in Koha you first need to define some defaults.
Set up your funds and budgets
Choose your default currency and enter others if you order from multiple countries
Enter in your vendor information
Create an Framework with the code ACQ (if you’re going to enter item records at the time of ordering or receiving)
Acquisitions System preferences
When you use serials there are a few options you can set before hand.
Serials System Preferences
Cataloging System Preferences
Planning for Go-Live
Once you have all of your settings ready, you need to prepare for making your system live:
Decide if you need training by an outside service or if your staff can do the training themselves.
Make sure that there is time for your staff to play with your test system and get comfortable with it
If this is a migration, work with your previous company to extract data right before you go live
Come up with URLs for your new Koha OPAC & Staff Client
Make sure that if you’re hosting your own system you have a backup plan