Question: How can I find out what version of Koha I am using?
Answer: The easiest way to find out your Koha version is taking a look at the About page of the staff interface.
You can also find out from the OPAC by taking a look at the HTML source. It will look something like:
<meta name="generator" content="Koha 18.1200000" /> <!-- leave this for stats -->
Question: Should I use the Debian packages or the tarball to install Koha?
Answer: For the beginning user, it is highly recommended to use the package install of Koha - it provides many simple commands to do powerful things to your Koha installation. Packages should almost always be your choice of install on an ordinary production Koha install. A relative minimum of system administration skill is required to install Koha using the Debian packages.
Instructions for using the packages with Debian.
Installing from tarball or git is the only option for people not installing on Debian or Ubuntu.
Developers should give the KohaDevBox a look, it’s the easiest, quickest way to get a Developer instance of Koha going.
OPAC and staff interface
Customizing Koha images
問：可以客製化 OPAC 內的圖片嗎？
答：一定可以的。Koha 預設若干圖片供您選用。置於 misc/interface_customization/ 資料夾內。
OPAC display fields
問：可以在 Koha 的 OPAC 顯示不同的 MARC 欄位嗎？
答：必須設定 XSLT 偏好才能顯示以下的欄位
The OPAC results page shows:
100, 110, 111
700, 710, 711
The OPAC details page shows:
100, 110, 111
700, 710, 711
plus all of the 5xx fields in the 『Notes』 tab at the bottom
然後在 讀者紀錄設定值 裡把 SHOW_BCODE 設為 yes。
將在 OPAC 新增借出摘要欄，顯示借出館藏的條碼。
按 『逾期』 分頁將祗顯示逾期的館藏。
Fees and fines
Question: Why am I getting fined 5.00 for every loan?
Answer: The money you are seeing on your patron’s account isn’t a fine, but a rental fee. The optional default item types that come with the Koha sample data might contain a rental fee. To remove this fee, do the following:
Click More > Administration
Click Item types
Note which item types have a 5.00 fee associated with them, select them for editing
Remove the fee, and save the item type
Question: How is the book drop date determined? Is it the last open date for the checkout library? Is it today’s date minus one? Can the book drop checkin date be set?
Answer: If the library is closed for four days for renovations, for example, there would be more than one day needed for the book drop date. You will only have one book drop date and that will be the last day that the library was open (determined by the holiday calendar) because there is no real way to know what day the books were dropped into the box during the 4 closed days.
If you need to set a different checkin date, you can use the SpecifyReturnDate system preference. This will allow you to set an arbitrary date and any overdue fines will be recalculated accordingly.
Holds to pull and holds queue
Answer: The holds to pull report gives a simple list of what holds need to be filled with available items. It shows the 『live』 data of your database, so new holds will turn up there immediately. It shows information about each hold including all libraries where items of the requested title are available.
The holds queue report is divided by libraries and will list the hold only for one library where it is available. For libraries with lots of holds and multiple branches this will prevent multiple libraries pulling the item off the shelf at the same time.
The holds queue report is generated by the build_holds_queue.pl cron job. By default it runs hourly, but it might be changed to run at any other interval. There are various configuration options to determine the library to provide the item. For example:
Printing overdue notices
Answer: Yes. By default Koha will email all overdue notices to patrons without email address to the library.
Additionally the overdue notice cron job has a setting to generate the overdue notices as HTML for printing. An example of this usage would be:
overdue_notices.pl -t -html /tmp/noticedir -itemscontent issuedate,date_due,title,barcode,author
在此例中，我們在通知內祗使用館藏的特定欄位，因此指定 itemscontent 欄位於排程款目內；這個不是必備的功能。
The command line needs to specify a web-accessible directory where the print notices will go – they get a filename like notices-2018-11-24.html (or holdnotices-2018-11-24.html). The overdue notice itself can be formatted to fit a Z-mailer. Within the notice file, the text is spaced down or over to where it will print properly on the form. The script has code that wraps around the notice file to tell the HTML to obey the formatting, and to do a page break between notices. The system preference PrintNoticesMaxLines can be used to specify the page length for libraries that allow a lot of checkouts which can lead to some notices running onto multiple pages. That system preference says to truncate the print notice at that page length and put in a message about go check your OPAC account for the full list.
The cron entry is gather_print_notices.pl /tmp/noticedir
Unable to renew items
問：我們想為讀者續借。其中一個館藏被別人預約無法續借，另兩個館藏沒人預約卻不能續借。我想啟用凌駕續借限制功能，卻得到 「續借失敗」 訊息。怎麼辦？
Answer: At the very least you will need to set an absolute default circulation rule. This rule should be as standard rule for all libraries, 『All』 itemtype』, and 『All』 patron category. That will catch anyone who doesn’t match a specific rule. Patrons who do not match a specific rule will get blocked from placing holds or renewing items, since there was no baseline number of holds or renewals to utilize.
Unable to place holds
Question: Why can’t I place holds when I have all of the preferences turned on?
Answer: You probably need to set a default circulation rule in your circulation and fines rules. This should be a standard rule for all libraries, and all patron categories and item types. That will catch all instances that do not match a specific rule.
The ability to place holds also depends on the 『On shelf holds allowed』 setting in the circulation rule that is used. Depending on the setting, it might not be possible to place a hold if any or all items for a record are checked out.
Question: Do I have to use my mouse to access the checkout, checkin, renewal and catalog tabs at the top of the circulation pages?
jump to the catalog search with Alt+q
jump to the checkout with Alt+u
jump to the renewal tab with Alt+w
jump to the checkin with Alt+r
Mac users use the OPTION button in place of Alt
問：讓 Koha 以 SMS 方式送出通知，怎麼做？
Alternatively you can configure Koha to send SMS via Email. In order to use this feature you need to set the SMSSendDriver system preference to 『Email』 and configure the email gateways for the different SMS cellular providers of your patrons.
In any case you might want to check if sending SMS to your patrons is legal in your location.
Answer: India does not yet have too many options here. This is partly due to the Telecom regulatory authority’s (TRAI) stipulations about transactional SMSes and limits on the number of SMSes that may be sent/received per users per day. India specific drivers include:
Unicel Technologies Pvt Ltd (unicel.in)
Question: How do I prevent my libraries notices ending up marked as spam?
Answer: This is a complicated topic, but thankfully Koha gives you a good degree of control via various system preferences.
For every email sent out from Koha there are three important addresses for the system to get correct, From, Reply-to and Sender. These are configurable at both the system and library level and should fall back in a suitable manner if any of them are not defined.
KohaAdminEmailAddress - This will act as the From address and should be an address in the same domain as the koha server [for example firstname.lastname@example.org]
ReplytoDefault - This will act as the Reply-to address and can be in any domain [for example email@example.com] and this is the address which will be used if/when a patron hits 『Reply』 in their email client. Note: This will fall back to KohaAdminEmailAddress when it is not set.
ReturnpathDefault - This will act as the Sender address and also needs to be within the koha/email servers domain [for example firstname.lastname@example.org] and this is the address which will be used to report if an email bounces for any reason.
There are parallels to all the above preferences at the per branch level which fall back in the same order as mentioned above before falling back to the system level preferences above when required.
If you have the above configured correctly and your emails are still being treated as spam then you likely need to contact your email service provider/dns provider and look into MX, SPF and DKIM records.
Koha to MARC mapping
Question: What’s the relationship between 『Koha to MARC mapping』 and 『MARC bibliographic frameworks』?
Answer: Mappings can be defined through 『MARC bibliographic frameworks』 OR 『Koha to MARC mapping』. 『Koha to MARC mapping』 is just a shortcut to speed up linkage. If you change a mapping in one of these modules, the mapping will change in the other as well. In other words, the two modules 『overwrite』 each other in order to prevent conflicts from existing in Koha.
Number of items per bibliographic record
Answer: There is no limit to the number of items you can attach to a bibliographic record. For records with a big number of items exporting the MARC record as ISO 2709 might be problematic as this format has a size limit. Item numbers somewhere between 600 and 1000 items on a 『normal』 bibliographic record should be OK.
Question: I am using the EasyAnalyticalRecords feature, but my links in the OPAC and Staff client to 『Show analytics』 are not working.
假設計畫在一月使用 $1000、二月使用 $1000、三月使用 $3000 等。就可依月份規畫它。
小於 1 個月
小於 6 個月
小於 1 年
小於 3 年
小於 10 年
大於 10 年
The list is meant to represent when the books acquired were published. Then you plan for it, saying: we want to spend at least 40% of our budgets on books published less than a year ago, 10% on books more than 10 years old, etc.
Upon acquiring new material, you’ll be able to select, for a given item, a value from this list in a drop down. Then, after the material has been acquired, at the end of the year, you’ll be able to compare the goals set with what’s been achieved.
問：在進階期刊模式介面裡 『內部計數器』 是什麼？
第一期的出版年：2010 年 4 月
第一期：4 號，2010 年
對 Y 年而言：您需要在 2011 年元月變更它
Every : 12
When more than: 9999999
Inner counter: 3
Set back to: 0
Begins with: 2010
Year is going to change after 12 received issues from April 2010, that is in April 2011 if you don’t set inner counter. Set inner counter to 3 will say to Koha: change year after 12-3 = 9 received issues.
內部計數器告訴 Koha 把第一期的出版月份納入考量，即使沒有簽收亦然。若第一期從一月開始可以設定為 0 或不設定。
Question: I don’t know SQL, but I want to write a report that does X. Can you tell me how?
Answer: The Koha reports library on the Koha wiki is a good starting point and contains a lot of SQL reports shared by other libraries that can be reused and adapted.
Koha’s database schema is also publicly documented and contains helpful notes on how the columns in the various tables are used.
If you get stuck people on the community mailing lists will often be willing to help you.
Codes stored in the database
Question: What are the possible codes for the type field in the statistics table?
若館藏已被統計讀者 (類型 = 『X』) 借出，登記為還回
以 XXX 代表不同類型的罰款額度，所以詢問時將包括像這樣的句子 「type LIKE 『Credit%』」
詢問：在 reserves 與 old_reserves 表單裡可能的代碼為何？
NULL：表示讀者要求第 1 個可用的館藏，我們沒有選擇該館藏
T = Transit: the hold is linked to an item but is in transit to the pickup library
W = Waiting: the hold is linked to an item, is at the pickup library, and is waiting on the hold shelf
F ＝ 完成：完成保留並做好
Reports dictionary table
詢問：在 reports_dictionary 表單裡可能的區域代碼為何？
1 = 流通
2 = 目錄
3 = 讀者
4 = 採訪
5 = 帳號
詢問：在訊息表單的 message_type 欄位裡可能的代碼為何？
L = 圖書館員
B = 供讀者之用
1 = 預期
2 = 到館
3 = 遲到
4 = 遺失
5 = 不可得
6 = 刪除
7 = 催缺
8 = 停訂
41 = 遺失 (未簽收)
42 = 遺失 (售完)
43 = 遺失 (毀損)
44 = 遺失 (不見)
Question: What are the possible codes for the privacy field in the borrowers and deleted_borrowers tables?
0 = 永遠
1 = 預設
2 = 永不
Patron categories table
Question: What are the possible codes for the category types?
A = Adult
C = Child
I = Organization
P = Professional
S = Staff
X = Statistical
問： borrower_message_preferences 表單的 message_attribute_id 欄位裡有那些代碼？
2 = 進階通知
6 = 借出館藏
4 = 預約到館
1 = 館藏到期
5 = 館藏還入
Question: What are the possible codes for the status field in the recalls table?
A new recall request has been made and the item must be returned
A recalled item is awaiting pickup at the requester’s chosen branch
An item has been allocated to a recall and is in transit to the requester’s chosen pickup branch
A recalled item is overdue to be returned
A recalled item has been checked out to the recall requester, and the recall is complete
The recall was not completed before a defined expiration date or the recall requester failed to pick up their waiting recall within the pickup period
The recall request was cancelled.
Only requested or overdue recalls can be cancelled.
Action logs modules and actions
Question: What are the possible modules in the action_logs table and what are the possible actions for each?
ADD_BASKET: a new basket was created
APPROVE_BASKET: an EDI basket was approved
CANCEL_ORDER: an order was cancelled
CLOSE_BASKET: a basket was closed
CREATE_FUND: a fund was created
CREATE_INVOICE_ADJUSTMENT: an adjustment was added to an invoice
CREATE_ORDER: an order was added to a basket
DELETE_FUND: a fund was deleted
DELETE_INVOICE_ADJUSTMENT: an adjustment was deleted from an invoice
MODIFY_BASKET: a basket was edited (adding or modifying orders)
MODIFY_BASKET_HEADER: a basket’s information (such as the basket name or billing place) was edited
MODIFY_BASKET_USERS: a basket’s users were edited
MODIFY_BUDGET: a budget was edited (this does not include clo)
MODIFY_FUND: a fund was edited
MODIFY_ORDER: an order was edited
RECEIVE_ORDER: an order was received
REOPEN_BASKET: a closed basket was reopened
UPDATE_INVOICE_ADJUSTMENT: an adjustment to an invoice was edited
Enabled by the AcquisitionLog system preference
Records changes to bibliographic records and items
ADD: bibliographic record or item was created
DELETE: bibliographic record or item was deleted
MODIFY: bibliographic record or item was modified, or a cover image was added to the record
Enabled by the CataloguingLog system preference
Records when a cronjob is run
Run: a cron job was executed
Records changes to charges
CREATE: a charge was added to a patron’s account (manually or automatically)
MODIFY: a charge was modified (forgiven)
UPDATE: a charge was updated (only in the case of fines that are still accruing)
VOID: a payment was voided
Enabled by the FinesLog system preference
Records changes to holds
CANCEL: a hold was cancelled
CREATE: a hold was placed
DELETE: a hold was deleted, an item on hold was checked out by the patron
FILL: a hold was confirmed and put aside to await pickup
MODIFY: a hold was modified (the priority was changed, the expiration date changed, etc.)
RESUME: a suspended hold was resumed
SUSPEND: a hold was suspended
Enabled by the HoldsLog system preference
Records changes to the patron files
ADDCIRCMESSAGE: an internal message or OPAC message was added to the patron’s account
CHANGE PASS: a patron’s password was changed
CREATE: a new patron was added
DELCIRCMESSAGE: an internal message or OPAC message was deleted
DELETE: a patron’s account was deleted
MODIFY: a patron’s account was edited
RENEW: a patron’s membership was renewed
Enabled by the BorrowersLog system preference
Records changed to recalls
CANCEL: a recall was cancelled
EXPIRE: a recall expired
FULFILL: a recall was filled (confirmed and set aside to wait for pickup)
OVERDUE: the status of a recall was set to 『overdue』
Enabled by the RecallsLog system preference
Records changes to mappings
EDIT_MAPPINGS: mappings were modified (edited, deleted)
RESET_MAPPINGS: mappings were reset to the original configuration
問：可以在執行前篩選客製化的 SQL 報表嗎？
Answer: If you want to make your reports easy to reuse with different filters and date ranges, you can add runtime parameters to your query. Runtime parameters basically make a filter appear before the report is run.
問：在進階搜尋頁面 『掃瞄索引』 是什麼意思？
Answer: When you choose an index, enter a term, click 『scan indexes』 and do the search, Koha displays the searched term and the following terms found in this index with the number of corresponding records. That search is not made directly in the catalog, but first in the indexes. It works only for one index at once, and only with no limit on library or library group (All libraries needed).
Searching for terms that start with a character
問：如何搜尋以 『C』 起頭的館藏？
答：使用 CCL 『first-in-subfield』 功能就可以搜尋開始的單一或一群字元
問：使用 『*』 (星號) 與使用 『%』 (百分號) 的鍵詞搜尋有何不同？搜尋目錄時，兩者送回不同的結果。為什麼？
答：可用四個萬用字元 (*、?、%、.) 代表英文字裡的一個或多個字母。Koha 祗使用星號 (』*』) 與百分號 (『%』) 兩個萬用字元。然而，這兩個字元在搜尋時作用不同。
星號 『*』 取代在 『*』 之後的字元。搜尋時祗要前幾個字元相同，星號就可取代無限制的字元。例如，搜尋作者，Smi*，將搜尋 Smith、Smithers、Smithfield、Smiley 等，在資料庫裡的作者。
百分號 『%』 將輸入的鍵詞視為 「是這樣」。所以搜尋 Smi% 會搜尋出像 Smi 的鍵詞。此結果與搜尋清單大為不同。例如，搜尋 Smi% 將送回資料庫裡包括 Smothers、Smith、Smelley、Smithfield 與其他鍵詞。
The bottom line in searching with wildcards: 『*』 is more exact while 『%』 searches for similar terms.
問：為什麼我的 Zebra 題名搜尋 『Help』，在第一頁的搜尋結果，找不到 『The help』 呢？
Answer: In general, the more terms you enter, the better your results will be. Koha doesn’t use stop words, so searching for 「the」 and 「an」 will work just fine. So 「the help」 should bring better results than just a title search for help. Also using 「Title, phrase」 would further improve the results as it means that these terms have to appear in this sequence and with no other terms in between.
Note: If multiple results have the same relevancy score, they will be sorted by biblionumber as second criteria.
Reset the Zebra index
執行以下的指令以重設 Zebra 的權威與書目索引。
$ zebraidx -c /etc/koha/zebradb/zebra-authorities-dom.cfg -g iso2709 -d authorities init $ zebraidx -c /etc/koha/zebradb/zebra-biblios.cfg -g iso2709 -d biblios init
執行套件安裝時，需執行下列指令以重設 Zebra 權威與書目索引：
$ sudo zebraidx -c /etc/koha/sites/YOURLIBRARY/zebra-authorities-dom.cfg -g iso2709 -d authorities init $ sudo zebraidx -c /etc/koha/sites/YOURLIBRARY/zebra-biblios.cfg -g iso2709 -d biblios init
以安裝 Koha 時的名稱取代 YOURLIBRARY。
All Amazon content
問：我打開 Amazon 所有的偏好，且鍵入我的密碼，但沒有任何內容顯示在系統內，為什麼？
答：Amazon 的 API 檢查所有詢問的伺服器時間，若沒有適當的設定伺服器時間，不會回應詢問。祗要妥當地設定系統時間，就可解決此問題。改變後，Amazon 內容應會立即出現。
Debian 的指令是 date -s 「2010-06-30 17:21」 (就是您時區的日期與時間)。
Amazon also requires an ISBN for displaying book covers - make sure that you have the correct ISBN for your title. If you are having trouble with a book that seems like it should have a cover but doesn’t turn one up, give it a try with the 10 digit ISBN in the first 020a. If you have a 10 digit and it’s not turning up, try with the 13 digit ISBN in the first 020a.
Making Z39.50 target public
Question: How can I configure Zebra to make my database searchable via Z39.50?
答：編輯 KOHA_CONF 檔案。其 publicserver 列如下：
<!– <listen id=」publicserver」 >tcp:@:9999</listen> –>
<listen id=」publicserver」 >tcp:@:9999</listen>
然後重新啟動 zebasrv 並連結至指定的埠 (9999)。
Answer: You can regularly run the cleanup database cron job.
或在執行備份指令 (mysqldump) 前，先切截活動表單：
mysql -u<kohauser -p<password <koha-db-name -e 'TRUNCATE TABLE sessions'
Answer: The simple rule of thumb is: does it act like a keyboard device? If so, it will work. (i.e. can you take the scanner, scan a barcode and have it show up in a text editor.)
檢查的重點是，它和您的 PC 可以輕鬆地連結 (經由 USB 或 「鍵盤機制」 就是與鍵盤連在一起，舊型電腦用這種方法)，且可掃瞄您使用的條碼類型。
測試 『使用中』 的條碼不失為好主意，可以讀出資料就可以。大部份的掃瞄器可以讀取多種格式的條碼 – 有很多，且列出可以讀者的規格。或許需要稍為調整設定，前置或後置字元，或同時送出 『歸位』 字元。
還有一點 - 某些機種可以設為 『總是開啟』 且有支架，有些在把手下有個按鈕，有些在上方有個鈕，有些看起來像隻筆。以館員工作的舒適度為選取的依據，錯誤位置的鈕使用起來很怪。
General rule of thumb here is that if you can print with the printer from your browser, it will work with Koha.
Star Micronics 列表機 (正確型號不詳) 含通用/文字驅動程式。
Star SP2000 (Nelsonville)
Star TSP-100 futurePRINT (Geauga)
「我知道收條印表很有問題，所以提供我的經驗。我們試過 Star TSP-100 futurePRINT。該款印表機很容易組態給 Koha 使用。甚至在每個收條加上我們系統的標籤 (一個 .gif 檔案)。也可在收條最後加上若干連絡資訊、開館時間與圖書館網址等與借出有關的資料」。
Epson TM 88 IIIP 熱感應收條印表機
Dymolabelwriter 印表機用的 1x1 書標
Question: Are there any braille embossers or printers which have inbuilt braille converters and are accessible within the UNIX environment?
Answer: You may want to look into BRLTTY.