1 .. include:: images.rst
6 `OAI-PMH <#OAI-PMHservice>`__
7 -----------------------------
9 For the Open Archives Initiative-Protocol for Metadata Harvesting
10 (OAI-PMH) there are two groups of 'participants': Data Providers and
11 Service Providers. Data Providers (open archives, repositories) provide
12 free access to metadata, and may, but do not necessarily, offer free
13 access to full texts or other resources. OAI-PMH provides an easy to
14 implement, low barrier solution for Data Providers. Service Providers
15 use the OAI interfaces of the Data Providers to harvest and store
16 metadata. Note that this means that there are no live search requests to
17 the Data Providers; rather, services are based on the harvested data via
20 Koha at present can only act as a Data Provider. It can not harvest from
21 other repositories. The biggest stumbling block to having Koha harvest
22 from other repositories is that MARC is the only metadata format that
23 Koha indexes natively. Visit
24 http://www.oaforum.org/tutorial/english/page3.htm for diagrams of how
27 Learn more about OAI-PMH at: http://www.openarchives.org/pmh/
29 To enable OAI-PMH in Koha edit the `OAI-PMH <#OAI-PMH>`__ preference.
30 Once enabled you can visit http://YOURKOHACATALOG/cgi-bin/koha/oai.pl to
33 `Sample OAI Conf File <#oaiconfsample>`__
34 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 metadataNamespace: http://veryspecial.tamil.fr/vs/format-pivot/1.1/vs
42 schema: http://veryspecial.tamil.fr/vs/format-pivot/1.1/vs.xsd
43 xsl_file: /usr/local/koha/xslt/vs.xsl
45 metadataPrefix: marxml
46 metadataNamespace: http://www.loc.gov/MARC21/slim
47 http://www.loc.gov/standards/marcxml/schema/MARC21slim
48 schema: http://www.loc.gov/MARC21/slim
49 http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd
51 metadataPrefix: oai_dc
52 metadataNamespace: http://www.openarchives.org/OAI/2.0/oai_dc/
53 schema: http://www.openarchives.org/OAI/2.0/oai_dc.xsd
55 /usr/local/koha/koha-tmpl/intranet-tmpl/xslt/UNIMARCslim2OAIDC.xsl
57 `REST services <#Rest-services>`__
58 ----------------------------------
60 Koha can now be requested by REST http requests. BibLibre wrotes an
61 external module to adds more possibilities than ILS-DI can provide.There
62 is no authentication process, but authorized ips are listed in the
63 config file. Services have been tested in 3.10, 3.12 and 3.14 koha
64 versions. You can find more information about it into README file and
65 opac/rest.pl documentation on http://git.biblibre.com. If you want to
66 add features, send us a patch at dev\_patches AT biblibre DOT com.
68 Services provided in 1.4 version are:
73 GET user/byid/:borrowernumber/holds
74 GET user/:user_name/holds
75 GET user/byid/:borrowernumber/issues
76 GET user/:user_name/issues
77 GET user/:user_name/issues_history
78 GET user/byid/:borrowernumber/issues_history
83 GET biblio/:biblionumber/items
84 GET biblio/:biblionumber/holdable
85 GET biblio/:biblionumber/items_holdable_status
86 GET item/:itemnumber/holdable
87 PUT auth/change_password
89 GET /suggestions/:suggestionid
91 PUT /suggestions/:suggestionid
92 DELETE /suggestions/:suggestionid
98 `Using the SRU server <#usingsru>`__
99 ------------------------------------
101 Koha implements the Search/Retrieve via URL (SRU) protocol. More
102 information about the protocol itself can be found at
103 http://www.loc.gov/standards/sru/. The version implemented is version
106 `Explain <#sru_explain>`__
107 ~~~~~~~~~~~~~~~~~~~~~~~~~~
109 If you want to have information about the implementation of SRU on a
110 given server, you should have access to the Explain file using a request
111 to the server without any parameter. Like
112 <http://myserver.com:9999/biblios/>. The response from the server is an
113 XML file that should look like the following and will give you
114 information about the default settings of the SRU server.
119 <zs:version>1.1</zs:version>
121 <zs:recordSchema>http://explain.z3950.org/dtd/2.0/</zs:recordSchema>
122 <zs:recordPacking>xml</zs:recordPacking>
124 <explain xml:base="zebradb/explain-biblios.xml">
126 try stylesheet url: http://./?stylesheet=docpath/sru2.xsl
128 <serverInfo protocol="SRW/SRU/Z39.50">
129 <host>biblibre</host>
131 <database>biblios</database>
134 <title lang="en" primary="true">Koha 3 Bibliographic SRU/SRW/Z39.50 server</title>
135 <description lang="en" primary="true">Koha 3 Bibliographic Server</description>
137 <sru>http://biblibre:9999</sru>
141 <set name="cql" identifier="info:srw/cql-context-set/1/cql-v1.1">
142 <title>CQL Standard Set</title>
144 <index search="true" scan="true" sort="false">
145 <title lang="en">CQL Server Choice</title>
147 <name set="cql">serverChoice</name>
150 <attr type="1" set="bib1">text</attr>
153 <index search="true" scan="true" sort="false">
154 <title lang="en">CQL All</title>
156 <name set="cql">all</name>
159 <attr type="1" set="bib1">text</attr>
162 <!-- Record ID index -->
163 <index search="true" scan="true" sort="false">
164 <title lang="en">Record ID</title>
166 <name set="rec">id</name>
169 <attr type="1" set="bib1">rec:id</attr>
170 <attr type="4" set="bib1">3</attr>
175 `Search <#sru_search>`__
176 ~~~~~~~~~~~~~~~~~~~~~~~~
179 http://myserver.com:9999/biblios?version=1.1&operation=searchRetrieve&query=reefs
180 is composed of the following elements:
182 - base url of the SRU server : http://myserver.com:9999/biblios?
184 - search part with the 3 required parameters : version, operation and
185 query. The parameters within the search part should be of the
186 key=value form, and can be combined with the & character.
188 One can add optional parameters to the query, for instance
189 maximumRecords indicating the maximum number of records to be returned
191 http://myserver.com:9999/biblios?version=1.1&operation=searchRetrieve&query=reefs&maximumRecords=5
192 will only get the first 5 results results from the server.
194 http://www.loc.gov/standards/sru/sru1-1archive/search-retrieve-operation.html
195 gives more details about the search operations and in particular the
196 list of optional parameters for searching.
198 `More details about Search <#sru_search_more_details>`__
199 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
201 The "operation" key can take two values: scan or searchRetrieve.
203 If operation=searchRetrieve, then the search key should be query. As in
204 : operation=searchRetrieve&query=reefs
206 If operation=scan, then the search key should be scanClause. As in :
207 operation=scan&scanClause=reefs
209 etc/zebradb/biblios/etc/bib1.att defines Zebra/3950 indexes that exist
210 on your system. For instance you'll see that we have indexes for Subject
211 and for Title: att 21 Subject and att 4 Title respectively.
213 In the pqf.properties file located under etc/zebradb/pqf.properties I
214 see that an access point already uses my Subject index (index.dc.subject
215 = 1=21) while another uses my Title index (index.dc.title = 1=4) I know
216 this is my Subject index because as I've seen just before in my bib1.att
217 file, it's called with =1=21 in Z3950: so index.dc.subject = 1=21
218 correctly points to my Subject index. And Title was called with 1=4 so
219 index.dc.title = 1=4 correctly points to my Title index. I can now
220 construct my query just like I would in a search box, just preceding it
221 with the "query" key: query=Subject=reefs and Title=coral searches
222 "reefs" in the subject and "coral" in the title. The full url would be
223 http://myserver.com:9999/biblios?version=1.1&operation=searchRetrieve&query=Subject=reefs
224 and Title=coral If I want to limit the result set to just 5 records, I
226 http://myserver.com:9999/biblios?version=1.1&operation=searchRetrieve&query=Subject=reefs
227 and Title=coral&maximumRecords=5
229 I can also play with truncate, relations, etc. Those are also defined in
230 my pqf.properties file. I can see for instance the position properties
235 position.first = 3=1 6=1
237 position.any = 3=3 6=1
238 # "any position in field"
241 So as an example if I want "coral" to be at the beginning of the title,
242 I can do this query :
243 http://myserver.com:9999/biblios?version=1.1&operation=searchRetrieve&query=Title=coral
246 `Retrieve <#sru_retrieve>`__
247 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
250 http://univ\_lyon3.biblibre.com:9999/biblios?version=1.1&operation=searchRetrieve&query=coral
251 reefs&maximumRecords=1 retrieves just on record. The response looks like
256 <zs:searchRetrieveResponse>
257 <zs:version>1.1</zs:version>
258 <zs:numberOfRecords>1</zs:numberOfRecords>
261 <zs:recordPacking>xml</zs:recordPacking>
263 <record xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/ standards/marcxml/schema/MARC21slim.xsd">
264 <leader> cam a22 4500</leader>
265 <datafield tag="010" ind1=" " ind2=" ">
266 <subfield code="a">2-603-01193-6</subfield>
267 <subfield code="b">rel.</subfield>
268 <subfield code="d">159 F</subfield>
270 <datafield tag="020" ind1=" " ind2=" ">
271 <subfield code="a">FR</subfield>
272 <subfield code="b">00065351</subfield>
274 <datafield tag="101" ind1="1" ind2=" ">
275 <subfield code="c">ita</subfield>
277 <datafield tag="105" ind1=" " ind2=" ">
278 <subfield code="a">a z 00|y|</subfield>
280 <datafield tag="106" ind1=" " ind2=" ">
281 <subfield code="a">r</subfield>
283 <datafield tag="100" ind1=" " ind2=" ">
284 <subfield code="a">20091130 frey50 </subfield>
286 <datafield tag="200" ind1="1" ind2=" ">
287 <subfield code="a">Guide des récifs coralliens / A Guide to Coral Reefs</subfield>
288 <subfield code="b">Texte imprimé</subfield>
289 <subfield code="e">la faune sous-marine des coraux</subfield>
290 <subfield code="f">A. et A. Ferrari</subfield>
292 <datafield tag="210" ind1=" " ind2=" ">
293 <subfield code="a">Lausanne</subfield>
294 <subfield code="a">Paris</subfield>
295 <subfield code="c">Delachaux et Niestlé</subfield>
296 <subfield code="d">cop. 2000</subfield>
297 <subfield code="e">impr. en Espagne</subfield>
299 <datafield tag="215" ind1=" " ind2=" ">
300 <subfield code="a">287 p.</subfield>
301 <subfield code="c">ill. en coul., couv. ill. en coul.</subfield>
302 <subfield code="d">20 cm</subfield>
307 <localnumber>2</localnumber>
308 <filename>/tmp/nw10BJv9Pk/upd_biblio/exported_records</filename>
312 <zs:recordPosition>1</zs:recordPosition>
315 </zs:searchRetrieveResponse>
319 New titles slider for OPAC
320 ==========================
322 Often times libraries will want to add a flowing widget with new
323 materials at the library to their main public catalog page. To do this
324 you can use a widget from any number of services (usually for a cost) or
325 you can `enable plugins <#pluginsystem>`__ in Koha and use the `Cover
327 plugin <http://git.bywatersolutions.com/koha-plugins.git/shortlog/refs/heads/cover_flow>`__
328 which is based on the
329 `Flipster <https://github.com/drien/jquery-flipster>`__, a responsive
330 jQuery coverflow plugin.
332 Once the plugin is installed, the steps to get your coverflow to show up
335 First, you need to create one or more public reports for your coverflow
336 widget or widgets to be based on. This is how the plugin knows what the
337 content of your widget should contain. Each report needs only three
338 columns; title, biblionumber, and isbn. It is important that you have a
339 good and valid isbn, as that is the datum used to actually fetch the
340 cover. In the iteration of the plugin, we are using Amazon cover images,
341 but I believe in the end I will make the cover image fetcher
342 configurable so we can use any data source for cover image fetching.
344 Second, we need to configure the plugin. The plugin configuration is a
345 single text area that uses YAML ( actually, it’s JSON, whcih is a subset
346 of YAML ) to store the configuration options. In this example it looks
356 In this example, we are telling the plugin to use the report with id 42,
357 and use it to create a coverflow widget to replace the HTML element with
358 the id “coverflow”. The options list is passed directly to Flipster, so
359 any options supported by Flipster can be set from the plugin
360 configuration! In fact, in addition to the traditional coverflow,
361 Flipster has a “carousel” mode which is a much more compact version of
362 the coverflow. You can also configure which cover the widget will start
363 on, among other options.
365 At the time the plugins options are saved or updated, the plugin will
366 then generate some minified JavaScript code that is automatically stored
367 in the Koha system preference OPACUserJS. Here is an example of the
372 /* JS for Koha CoverFlow Plugin
373 This JS was added automatically by installing the CoverFlow plugin
374 Please do not modify */$(document).ready(function(){$.getScript("/plugin/Koha/Plugin/Com/ByWaterSolutions/CoverFlow/jquery-flipster/src/js/jquery.flipster.min.js",function(data,textStatus,jqxhr){$("head").append("<link id='flipster-css' href='/plugin/Koha/Plugin/Com/ByWaterSolutions/CoverFlow/jquery-flipster/src/css/jquery.flipster.min.css' type='text/css' rel='stylesheet' />");$('#coverflow').load("/coverflow.pl?id=42",function(){var opt={'items':'.item','minfactor':15,'distribution':1.5,'scalethreshold':0,'staticbelowthreshold':false,'titleclass':'itemTitle','selectedclass':'selectedItem','scrollactive':true,'step':{'limit':4,'width':10,'scale':true}};$('#coverflow').flipster({style:'coverflow',});});});});
375 /* End of JS for Koha CoverFlow Plugin */
377 Why do this? For speed! Rather than regenerating this code each and
378 every time the page loads, we can generate it once, and use it over and
381 If you inspect the code closely, you’ll notice it references a script
382 “coverflow.pl”. This is a script that is included with the coverflow
383 plugin. Since we need to access this from the OPAC ( and we don’t want
384 to set off any XSS attack alarms ), we need to modify the web server
385 configuration for the public catalog and add the followup to it:
389 ScriptAlias /coverflow.pl "/var/lib/koha/mykoha/plugins/Koha/Plugin/Com/ByWaterSolutions/CoverFlow/coverflow.pl"
391 This line gives us access to the coverflow.pl script from the OPAC. This
392 script retrieves the report data and passes it back to the public
393 catalog for creating the coverflow widget. Koha::Cache is supported in
394 order to make the widget load as quickly as possible!
396 The final step is to put your selector element somewhere in your public
397 catalog. In this example, I put the following in the system preference
402 <span id="coverflow">Loading...</span>
404 Once that is in place, you need only refresh your OPAC page, and there
405 you have it, your very own catalog coverflow widget! Not only do these
406 coverflows look great on a computer screen, but they look great on
407 mobile platforms as well, and are even touch responsive!Coverflow Widget
409 System Preference Defaults
410 ==========================
412 `ISBD Defaults <#isbddefaults>`__
413 ---------------------------------
415 Default values for the `ISBD <#isbdpref>`__ preference.
417 `MARC Default <#isbddefault>`__
418 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
420 #100\|\|{ 100a }{ 100b }{ 100c }{ 100d }{ 110a }{ 110b }{ 110c }{ 110d
421 }{ 110e }{ 110f }{ 110g }{ 130a }{ 130d }{ 130f }{ 130g }{ 130h }{ 130k
422 }{ 130l }{ 130m }{ 130n }{ 130o }{ 130p }{ 130r }{ 130s }{ 130t
425 #245\|\|{ 245a }{ 245b }{245f }{ 245g }{ 245k }{ 245n }{ 245p }{ 245s }{
428 #246\|\|{ : 246i }{ 246a }{ 246b }{ 246f }{ 246g }{ 246n }{ 246p }{ 246h
431 #242\|\|{ = 242a }{ 242b }{ 242n }{ 242p }{ 242h }\|
437 #250\| - \|{ 250a }{ 250b }\|
441 #255\|, \|{ 255a }{ 255b }{ 255c }{ 255d }{ 255e }{ 255f }{ 255g }\|
447 #258\|, \|{ 258a }{ 258b }\|
449 #260\| - \|{ 260a }{ 260b }{ 260c }\|
451 #300\| - \|{ 300a }{ 300b }{ 300c }{ 300d }{ 300e }{ 300f }{ 300g }\|
453 #306\| - \|{ 306a }\|
455 #307\| - \|{ 307a }{ 307b }\|
457 #310\| - \|{ 310a }{ 310b }\|
459 #321\| - \|{ 321a }{ 321b }\|
461 #340\| - \|{ 3403 }{ 340a }{ 340b }{ 340c }{ 340d }{ 340e }{ 340f }{
464 #342\| - \|{ 342a }{ 342b }{ 342c }{ 342d }{ 342e }{ 342f }{ 342g }{
465 342h }{ 342i }{ 342j }{ 342k }{ 342l }{ 342m }{ 342n }{ 342o }{ 342p }{
466 342q }{ 342r }{ 342s }{ 342t }{ 342u }{ 342v }{ 342w }\|
468 #343\| - \|{ 343a }{ 343b }{ 343c }{ 343d }{ 343e }{ 343f }{ 343g }{
471 #351\| - \|{ 3513 }{ 351a }{ 351b }{ 351c }\|
473 #352\| - \|{ 352a }{ 352b }{ 352c }{ 352d }{ 352e }{ 352f }{ 352g }{
476 #362\| - \|{ 362a }{ 351z }\|
478 #440\| - \|{ 440a }{ 440n }{ 440p }{ 440v }{ 440x }\|.
480 #490\| - \|{ 490a }{ 490v }{ 490x }\|.
482 #800\| - \|{ 800a }{ 800b }{ 800c }{ 800d }{ 800e }{ 800f }{ 800g }{
483 800h }{ 800j }{ 800k }{ 800l }{ 800m }{ 800n }{ 800o }{ 800p }{ 800q }{
484 800r }{ 800s }{ 800t }{ 800u }{ 800v }\|.
486 #810\| - \|{ 810a }{ 810b }{ 810c }{ 810d }{ 810e }{ 810f }{ 810g }{
487 810h }{ 810k }{ 810l }{ 810m }{ 810n }{ 810o }{ 810p }{ 810r }{ 810s }{
488 810t }{ 810u }{ 810v }\|.
490 #811\| - \|{ 811a }{ 811c }{ 811d }{ 811e }{ 811f }{ 811g }{ 811h }{
491 811k }{ 811l }{ 811n }{ 811p }{ 811q }{ 811s }{ 811t }{ 811u }{ 811v
494 #830\| - \|{ 830a }{ 830d }{ 830f }{ 830g }{ 830h }{ 830k }{ 830l }{
495 830m }{ 830n }{ 830o }{ 830p }{ 830r }{ 830s }{ 830t }{ 830v }\|.
497 #500\|<br/><br/>\|{ 5003 }{ 500a }\|
499 #501\|<br/><br/>\|{ 501a }\|
501 #502\|<br/><br/>\|{ 502a }\|
503 #504\|<br/><br/>\|{ 504a }\|
505 #505\|<br/><br/>\|{ 505a }{ 505t }{ 505r }{ 505g }{ 505u }\|
507 #506\|<br/><br/>\|{ 5063 }{ 506a }{ 506b }{ 506c }{ 506d }{ 506u }\|
509 #507\|<br/><br/>\|{ 507a }{ 507b }\|
511 #508\|<br/><br/>\|{ 508a }{ 508a }\|
513 #510\|<br/><br/>\|{ 5103 }{ 510a }{ 510x }{ 510c }{ 510b }\|
515 #511\|<br/><br/>\|{ 511a }\|
517 #513\|<br/><br/>\|{ 513a }{513b }\|
519 #514\|<br/><br/>\|{ 514z }{ 514a }{ 514b }{ 514c }{ 514d }{ 514e }{ 514f
520 }{ 514g }{ 514h }{ 514i }{ 514j }{ 514k }{ 514m }{ 514u }\|
522 #515\|<br/><br/>\|{ 515a }\|
524 #516\|<br/><br/>\|{ 516a }\|
526 #518\|<br/><br/>\|{ 5183 }{ 518a }\|
528 #520\|<br/><br/>\|{ 5203 }{ 520a }{ 520b }{ 520u }\|
530 #521\|<br/><br/>\|{ 5213 }{ 521a }{ 521b }\|
532 #522\|<br/><br/>\|{ 522a }\|
534 #524\|<br/><br/>\|{ 524a }\|
536 #525\|<br/><br/>\|{ 525a }\|
538 #526\|<br/><br/>\|{\\n510i }{\\n510a }{ 510b }{ 510c }{ 510d }{\\n510x
541 #530\|<br/><br/>\|{\\n5063 }{\\n506a }{ 506b }{ 506c }{ 506d }{\\n506u
544 #533\|<br/><br/>\|{\\n5333 }{\\n533a }{\\n533b }{\\n533c }{\\n533d
545 }{\\n533e }{\\n533f }{\\n533m }{\\n533n }\|
547 #534\|<br/><br/>\|{\\n533p }{\\n533a }{\\n533b }{\\n533c }{\\n533d
548 }{\\n533e }{\\n533f }{\\n533m }{\\n533n }{\\n533t }{\\n533x }{\\n533z
551 #535\|<br/><br/>\|{\\n5353 }{\\n535a }{\\n535b }{\\n535c }{\\n535d }\|
553 #538\|<br/><br/>\|{\\n5383 }{\\n538a }{\\n538i }{\\n538u }\|
555 #540\|<br/><br/>\|{\\n5403 }{\\n540a }{ 540b }{ 540c }{ 540d }{\\n520u
558 #544\|<br/><br/>\|{\\n5443 }{\\n544a }{\\n544b }{\\n544c }{\\n544d
559 }{\\n544e }{\\n544n }\|
561 #545\|<br/><br/>\|{\\n545a }{ 545b }{\\n545u }\|
563 #546\|<br/><br/>\|{\\n5463 }{\\n546a }{ 546b }\|
565 #547\|<br/><br/>\|{\\n547a }\|
567 #550\|<br/><br/>\|{ 550a }\|
569 #552\|<br/><br/>\|{ 552z }{ 552a }{ 552b }{ 552c }{ 552d }{ 552e }{ 552f
570 }{ 552g }{ 552h }{ 552i }{ 552j }{ 552k }{ 552l }{ 552m }{ 552n }{ 562o
573 #555\|<br/><br/>\|{ 5553 }{ 555a }{ 555b }{ 555c }{ 555d }{ 555u }\|
575 #556\|<br/><br/>\|{ 556a }{ 506z }\|
577 #563\|<br/><br/>\|{ 5633 }{ 563a }{ 563u }\|
579 #565\|<br/><br/>\|{ 5653 }{ 565a }{ 565b }{ 565c }{ 565d }{ 565e }\|
581 #567\|<br/><br/>\|{ 567a }\|
583 #580\|<br/><br/>\|{ 580a }\|
585 #581\|<br/><br/>\|{ 5633 }{ 581a }{ 581z }\|
587 #584\|<br/><br/>\|{ 5843 }{ 584a }{ 584b }\|
589 #585\|<br/><br/>\|{ 5853 }{ 585a }\|
591 #586\|<br/><br/>\|{ 5863 }{ 586a }\|
593 #020\|<br/><br/><label>ISBN: </label>\|{ 020a }{ 020c }\|
595 #022\|<br/><br/><label>ISSN: </label>\|{ 022a }\|
597 #222\| = \|{ 222a }{ 222b }\|
599 #210\| = \|{ 210a }{ 210b }\|
601 #024\|<br/><br/><label>Standard No.: </label>\|{ 024a }{ 024c }{ 024d }{
604 #027\|<br/><br/><label>Standard Tech. Report. No.: </label>\|{ 027a }\|
606 #028\|<br/><br/><label>Publisher. No.: </label>\|{ 028a }{ 028b }\|
608 #013\|<br/><br/><label>Patent No.: </label>\|{ 013a }{ 013b }{ 013c }{
609 013d }{ 013e }{ 013f }\|
611 #030\|<br/><br/><label>CODEN: </label>\|{ 030a }\|
613 #037\|<br/><br/><label>Source: </label>\|{ 037a }{ 037b }{ 037c }{ 037f
616 #010\|<br/><br/><label>LCCN: </label>\|{ 010a }\|
618 #015\|<br/><br/><label>Nat. Bib. No.: </label>\|{ 015a }{ 0152 }\|
620 #016\|<br/><br/><label>Nat. Bib. Agency Control No.: </label>\|{ 016a }{
623 #600\|<br/><br/><label>Subjects--Personal Names: </label>\|{\\n6003
624 }{\\n600a}{ 600b }{ 600c }{ 600d }{ 600e }{ 600f }{ 600g }{ 600h
625 }{--600k}{ 600l }{ 600m }{ 600n }{ 600o }{--600p}{ 600r }{ 600s }{ 600t
626 }{ 600u }{--600x}{--600z}{--600y}{--600v}\|
628 #610\|<br/><br/><label>Subjects--Corporate Names: </label>\|{\\n6103
629 }{\\n610a}{ 610b }{ 610c }{ 610d }{ 610e }{ 610f }{ 610g }{ 610h
630 }{--610k}{ 610l }{ 610m }{ 610n }{ 610o }{--610p}{ 610r }{ 610s }{ 610t
631 }{ 610u }{--610x}{--610z}{--610y}{--610v}\|
633 #611\|<br/><br/><label>Subjects--Meeting Names: </label>\|{\\n6113
634 }{\\n611a}{ 611b }{ 611c }{ 611d }{ 611e }{ 611f }{ 611g }{ 611h
635 }{--611k}{ 611l }{ 611m }{ 611n }{ 611o }{--611p}{ 611r }{ 611s }{ 611t
636 }{ 611u }{--611x}{--611z}{--611y}{--611v}\|
638 #630\|<br/><br/><label>Subjects--Uniform Titles: </label>\|{\\n630a}{
639 630b }{ 630c }{ 630d }{ 630e }{ 630f }{ 630g }{ 630h }{--630k }{ 630l }{
640 630m }{ 630n }{ 630o }{--630p}{ 630r }{ 630s }{ 630t
641 }{--630x}{--630z}{--630y}{--630v}\|
643 #648\|<br/><br/><label>Subjects--Chronological Terms: </label>\|{\\n6483
644 }{\\n648a }{--648x}{--648z}{--648y}{--648v}\|
646 #650\|<br/><br/><label>Subjects--Topical Terms: </label>\|{\\n6503
647 }{\\n650a}{ 650b }{ 650c }{ 650d }{ 650e
648 }{--650x}{--650z}{--650y}{--650v}\|
650 #651\|<br/><br/><label>Subjects--Geographic Terms: </label>\|{\\n6513
651 }{\\n651a}{ 651b }{ 651c }{ 651d }{ 651e
652 }{--651x}{--651z}{--651y}{--651v}\|
654 #653\|<br/><br/><label>Subjects--Index Terms: </label>\|{ 653a }\|
656 #654\|<br/><br/><label>Subjects--Facted Index Terms: </label>\|{\\n6543
657 }{\\n654a}{--654b}{--654x}{--654z}{--654y}{--654v}\|
659 #655\|<br/><br/><label>Index Terms--Genre/Form: </label>\|{\\n6553
660 }{\\n655a}{--655b}{--655x }{--655z}{--655y}{--655v}\|
662 #656\|<br/><br/><label>Index Terms--Occupation: </label>\|{\\n6563
663 }{\\n656a}{--656k}{--656x}{--656z}{--656y}{--656v}\|
665 #657\|<br/><br/><label>Index Terms--Function: </label>\|{\\n6573
666 }{\\n657a}{--657x}{--657z}{--657y}{--657v}\|
668 #658\|<br/><br/><label>Index Terms--Curriculum Objective:
669 </label>\|{\\n658a}{--658b}{--658c}{--658d}{--658v}\|
671 #050\|<br/><br/><label>LC Class. No.: </label>\|{ 050a }{ / 050b }\|
673 #082\|<br/><br/><label>Dewey Class. No.: </label>\|{ 082a }{ / 082b }\|
675 #080\|<br/><br/><label>Universal Decimal Class. No.: </label>\|{ 080a }{
678 #070\|<br/><br/><label>National Agricultural Library Call No.:
679 </label>\|{ 070a }{ / 070b }\|
681 #060\|<br/><br/><label>National Library of Medicine Call No.:
682 </label>\|{ 060a }{ / 060b }\|
684 #074\|<br/><br/><label>GPO Item No.: </label>\|{ 074a }\|
686 #086\|<br/><br/><label>Gov. Doc. Class. No.: </label>\|{ 086a }\|
688 #088\|<br/><br/><label>Report. No.: </label>\|{ 088a }\|
690 `UNIMARC Default <#unimarcdefault>`__
691 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
693 #200\|<h2>Title : \|{200a}{. 200c}{ : 200e}{200d}{. 200h}{. 200i}\|</h2>
695 #461\|<label class="ipt">A part of : </label>\|<a
696 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search{&q=461t&idx=ti}">{461t}</a>{N∞
697 461h} {v. 461v}{(461d)}<br/>\|
699 #200b\|<label class="ipt">Material Designation : </label>\| {200b
702 #101a\|<label class="ipt">Language(s): </label>\|<a
703 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search{&q=101a&idx=ln}">{101a}</a>\|<br/>
705 #200f\|<label class="ipt">Authors : </label>\|<a
706 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search{&q=200f&idx=au}">{200f
709 #200g\|<label class="ipt">Co-authors : </label>\|<a
710 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search{&q=200g&idx=au}">{200g
713 #210a\|<br/><label class="ipt">Place of pubblication : </label>\|<a
714 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search&idx=pl&q={210a}">{210a}</a>\|<br/>
716 #210c\|<label class="ipt">Publisher : </label>\|<a
717 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search&idx=pb&q={210c}">{210c
720 #210d\|<label class="ipt">Date of pubblication : </label>\|{
723 #215\|<label class="ipt">Description : </label>\|{215a}{ : 215c}{ ;
724 215d}{ + 215e}\|<br/>
726 #225a\|<label class="ipt">Series :</label>\|<a
727 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search{&q=225a&idx=se}">{225a
730 #225\|\|{ = 225d}{ : 225e}{. 225h}{. 225i}{ / 225f}{, 225x}{ ;
733 #686\|<label>Classification : </label>\|{ 686a }\|<br/>
735 #608\|<label>Form, Genre : </label>\|<a
736 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search&idx=su&q={608a}"><img
737 border="0" src="/opac-tmpl/css/en/images/filefind.png" height="15"
738 title="Search on {608a}">{ 608a}</a>\|<br/><br/>
740 #200\|\|<label class="ipt">Subjects : </label><br/>\|<ul>
742 #600\|<label class="ipt">Person(s) </label><br/> \|<li><a
743 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search&idx=su&q={600a}"><img
744 border="0" src="/opac-tmpl/css/en/images/filefind.png" height="15"
745 title="Search on {600a}">{ 600a}</a></li>\|<br/>
747 #601\|<label class="ipt">Organisation(s) </label><br/>\|<li><a
748 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search&idx=su&q={601a}"><img
749 border="0" src="/opac-tmpl/css/en/images/filefind.png" height="15"
750 title="Search on {601a}">{ 601a}</a></li>\|<br/>
752 #606\|<label class="ipt">Term(s) </label><br/>\|<li><a
753 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search&idx=su&q={606a}"><img
754 border="0" src="/opac-tmpl/css/en/images/filefind.png" height="15"
755 title="Search on {606a}">{ 606a}</a></li>\|<br/>
757 #607\|<label class="ipt">Place(s) </label><br/>\|<li><a
758 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search&idx=su&q={607a}"><img
759 border="0" src="/opac-tmpl/css/en/images/filefind.png" height="15"
760 title="Search on {607a}">{ 607a}</a></li>\|<br/>
762 #610\|<label>Keywords</label><br/>\|<li><a
763 href="/cgi-bin/koha/catalogue/search.pl?op=do\_search&idx=su&q={610a}"><img
764 border="0" src="/opac-tmpl/css/en/images/filefind.png" height="15"
765 title="Search on {610a}">{ 610a}</a></li>\|
769 #856\|<label class="ipt">Electronic resource : </label>\|<a
770 href="{856u}">click here</a> to go to the external resource<br/>
772 #010\|<label class="ipt">ISBN : </label>\|{010a ;}\|<br/>
774 #011\|<label class="ipt">ISSN : </label>\|{011a ;}\|<br/>
776 #200\|\|<label class="ipt">Notes : </label>\|<br/><ul>
778 #300\|\|<li>{300a}</li>\|
780 #307\|\|<li>{307a}</li>\|
782 #310\|\|<li>{310a}</li>\|
784 #326\|\|<li>{326a}</li>\|
786 #327\|\|<li>{327a}</li>\|
788 #333\|<li>Public : \|{333a}</li>\|
792 #330\|\|<label class="ipt">Abstract : </label>\|<br/>
794 #330\|\|{330a}\|<br/>
796 #200\|\|<br/><h2>Items</h2>\|
798 #200\|<table>\|<th>Call number</th><th>Copy
799 note</th><th>Fonds</th><th>Genre detail</th><th>Circulation
800 type</th><th>Barcode</th>\|
802 #995\|\|<tr><td> {995k}</td><td> {995u}</td><td>
803 {995y}</td><td>{995e} </td><td>
804 {995o}</td><td>{995f}</td></tr>\|</table>
806 `OPACISBD Defaults <#opacisbddefaults>`__
807 -----------------------------------------
809 Default values for the `OPACISBD <#OPACISBD>`__ preference.
811 `MARC <#opacisbdmarcdefault>`__
812 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
814 #100\|\|{ 100a }{ 100b }{ 100c }{ 100d }{ 110a }{ 110b }{ 110c }{ 110d
815 }{ 110e }{ 110f }{ 110g }{ 130a }{ 130d }{ 130f }{ 130g }{ 130h }{ 130k
816 }{ 130l }{ 130m }{ 130n }{ 130o }{ 130p }{ 130r }{ 130s }{ 130t
819 #245\|\|{ 245a }{ 245b }{245f }{ 245g }{ 245k }{ 245n }{ 245p }{ 245s }{
822 #246\|\|{ : 246i }{ 246a }{ 246b }{ 246f }{ 246g }{ 246n }{ 246p }{ 246h
825 #242\|\|{ = 242a }{ 242b }{ 242n }{ 242p }{ 242h }\|
831 #250\| - \|{ 250a }{ 250b }\|
833 #254\|, \|{ 254a }\| #255\|, \|{ 255a }{ 255b }{ 255c }{ 255d }{ 255e }{
834 255f }{ 255g }\| #256\|, \|{ 256a }\|
838 #258\|, \|{ 258a }{ 258b }\|
840 #260\| - \|{ 260a }{ 260b }{ 260c }\|
842 #300\| - \|{ 300a }{ 300b }{ 300c }{ 300d }{ 300e }{ 300f }{ 300g }\|
844 #306\| - \|{ 306a }\| #307\| - \|{ 307a }{ 307b }\|
846 #310\| - \|{ 310a }{ 310b }\|
848 #321\| - \|{ 321a }{ 321b }\|
850 #340\| - \|{ 3403 }{ 340a }{ 340b }{ 340c }{ 340d }{ 340e }{ 340f }{
853 #342\| - \|{ 342a }{ 342b }{ 342c }{ 342d }{ 342e }{ 342f }{ 342g }{
854 342h }{ 342i }{ 342j }{ 342k }{ 342l }{ 342m }{ 342n }{ 342o }{ 342p }{
855 342q }{ 342r }{ 342s }{ 342t }{ 342u }{ 342v }{ 342w }\|
857 #343\| - \|{ 343a }{ 343b }{ 343c }{ 343d }{ 343e }{ 343f }{ 343g }{
860 #351\| - \|{ 3513 }{ 351a }{ 351b }{ 351c }\|
862 #352\| - \|{ 352a }{ 352b }{ 352c }{ 352d }{ 352e }{ 352f }{ 352g }{
865 #362\| - \|{ 362a }{ 351z }\|
867 #440\| - \|{ 440a }{ 440n }{ 440p }{ 440v }{ 440x }\|. #490\| - \|{ 490a
870 #800\| - \|{ 800a }{ 800b }{ 800c }{ 800d }{ 800e }{ 800f }{ 800g }{
871 800h }{ 800j }{ 800k }{ 800l }{ 800m }{ 800n }{ 800o }{ 800p }{ 800q }{
872 800r }{ 800s }{ 800t }{ 800u }{ 800v }\|.
874 #810\| - \|{ 810a }{ 810b }{ 810c }{ 810d }{ 810e }{ 810f }{ 810g }{
875 810h }{ 810k }{ 810l }{ 810m }{ 810n }{ 810o }{ 810p }{ 810r }{ 810s }{
876 810t }{ 810u }{ 810v }\|.
878 #811\| - \|{ 811a }{ 811c }{ 811d }{ 811e }{ 811f }{ 811g }{ 811h }{
879 811k }{ 811l }{ 811n }{ 811p }{ 811q }{ 811s }{ 811t }{ 811u }{ 811v
882 #830\| - \|{ 830a }{ 830d }{ 830f }{ 830g }{ 830h }{ 830k }{ 830l }{
883 830m }{ 830n }{ 830o }{ 830p }{ 830r }{ 830s }{ 830t }{ 830v }\|.
885 #500\|<br/><br/>\|{ 5003 }{ 500a }\|
887 #501\|<br/><br/>\|{ 501a }\|
889 #502\|<br/><br/>\|{ 502a }\|
891 #504\|<br/><br/>\|{ 504a }\|
893 #505\|<br/><br/>\|{ 505a }{ 505t }{ 505r }{ 505g }{ 505u }\|
895 #506\|<br/><br/>\|{ 5063 }{ 506a }{ 506b }{ 506c }{ 506d }{ 506u }\|
897 #507\|<br/><br/>\|{ 507a }{ 507b }\| #508\|<br/><br/>\|{ 508a }{ 508a
900 #510\|<br/><br/>\|{ 5103 }{ 510a }{ 510x }{ 510c }{ 510b }\|
902 #511\|<br/><br/>\|{ 511a }\|
904 #513\|<br/><br/>\|{ 513a }{513b }\|
906 #514\|<br/><br/>\|{ 514z }{ 514a }{ 514b }{ 514c }{ 514d }{ 514e }{ 514f
907 }{ 514g }{ 514h }{ 514i }{ 514j }{ 514k }{ 514m }{ 514u }\|
909 #515\|<br/><br/>\|{ 515a }\|
911 #516\|<br/><br/>\|{ 516a }\|
913 #518\|<br/><br/>\|{ 5183 }{ 518a }\|
915 #520\|<br/><br/>\|{ 5203 }{ 520a }{ 520b }{ 520u }\|
917 #521\|<br/><br/>\|{ 5213 }{ 521a }{ 521b }\|
919 #522\|<br/><br/>\|{ 522a }\|
921 #524\|<br/><br/>\|{ 524a }\|
923 #525\|<br/><br/>\|{ 525a }\|
925 #526\|<br/><br/>\|{\\n510i }{\\n510a }{ 510b }{ 510c }{ 510d }{\\n510x
928 #530\|<br/><br/>\|{\\n5063 }{\\n506a }{ 506b }{ 506c }{ 506d }{\\n506u
931 #533\|<br/><br/>\|{\\n5333 }{\\n533a }{\\n533b }{\\n533c }{\\n533d
932 }{\\n533e }{\\n533f }{\\n533m }{\\n533n }\|
934 #534\|<br/><br/>\|{\\n533p }{\\n533a }{\\n533b }{\\n533c }{\\n533d
935 }{\\n533e }{\\n533f }{\\n533m }{\\n533n }{\\n533t }{\\n533x }{\\n533z
938 #535\|<br/><br/>\|{\\n5353 }{\\n535a }{\\n535b }{\\n535c }{\\n535d }\|
940 #538\|<br/><br/>\|{\\n5383 }{\\n538a }{\\n538i }{\\n538u }\|
942 #540\|<br/><br/>\|{\\n5403 }{\\n540a }{ 540b }{ 540c }{ 540d }{\\n520u
945 #544\|<br/><br/>\|{\\n5443 }{\\n544a }{\\n544b }{\\n544c }{\\n544d
946 }{\\n544e }{\\n544n }\|
948 #545\|<br/><br/>\|{\\n545a }{ 545b }{\\n545u }\|
949 #546\|<br/><br/>\|{\\n5463 }{\\n546a }{ 546b }\|
951 #547\|<br/><br/>\|{\\n547a }\| #550\|<br/><br/>\|{ 550a }\|
953 #552\|<br/><br/>\|{ 552z }{ 552a }{ 552b }{ 552c }{ 552d }{ 552e }{ 552f
954 }{ 552g }{ 552h }{ 552i }{ 552j }{ 552k }{ 552l }{ 552m }{ 552n }{ 562o
957 #555\|<br/><br/>\|{ 5553 }{ 555a }{ 555b }{ 555c }{ 555d }{ 555u }\|
959 #556\|<br/><br/>\|{ 556a }{ 506z }\| #563\|<br/><br/>\|{ 5633 }{ 563a }{
962 #565\|<br/><br/>\|{ 5653 }{ 565a }{ 565b }{ 565c }{ 565d }{ 565e }\|
964 #567\|<br/><br/>\|{ 567a }\|
966 #580\|<br/><br/>\|{ 580a }\|
968 #581\|<br/><br/>\|{ 5633 }{ 581a }{ 581z }\|
970 #584\|<br/><br/>\|{ 5843 }{ 584a }{ 584b }\|
972 #585\|<br/><br/>\|{ 5853 }{ 585a }\|
974 #586\|<br/><br/>\|{ 5863 }{ 586a }\|
976 #020\|<br/><br/><label>ISBN: </label>\|{ 020a }{ 020c }\|
978 #022\|<br/><br/><label>ISSN: </label>\|{ 022a }\|
980 #222\| = \|{ 222a }{ 222b }\|
982 #210\| = \|{ 210a }{ 210b }\|
984 #024\|<br/><br/><label>Standard No.: </label>\|{ 024a }{ 024c }{ 024d }{
987 #027\|<br/><br/><label>Standard Tech. Report. No.: </label>\|{ 027a }\|
989 #028\|<br/><br/><label>Publisher. No.: </label>\|{ 028a }{ 028b }\|
991 #013\|<br/><br/><label>Patent No.: </label>\|{ 013a }{ 013b }{ 013c }{
992 013d }{ 013e }{ 013f }\|
994 #030\|<br/><br/><label>CODEN: </label>\|{ 030a }\|
996 #037\|<br/><br/><label>Source: </label>\|{ 037a }{ 037b }{ 037c }{ 037f
999 #010\|<br/><br/><label>LCCN: </label>\|{ 010a }\|
1001 #015\|<br/><br/><label>Nat. Bib. No.: </label>\|{ 015a }{ 0152 }\|
1003 #016\|<br/><br/><label>Nat. Bib. Agency Control No.: </label>\|{ 016a }{
1006 #600\|<br/><br/><label>Subjects--Personal Names: </label>\|{\\n6003
1007 }{\\n600a}{ 600b }{ 600c }{ 600d }{ 600e }{ 600f }{ 600g }{ 600h
1008 }{--600k}{ 600l }{ 600m }{ 600n }{ 600o }{--600p}{ 600r }{ 600s }{ 600t
1009 }{ 600u }{--600x}{--600z}{--600y}{--600v}\|
1011 #610\|<br/><br/><label>Subjects--Corporate Names: </label>\|{\\n6103
1012 }{\\n610a}{ 610b }{ 610c }{ 610d }{ 610e }{ 610f }{ 610g }{ 610h
1013 }{--610k}{ 610l }{ 610m }{ 610n }{ 610o }{--610p}{ 610r }{ 610s }{ 610t
1014 }{ 610u }{--610x}{--610z}{--610y}{--610v}\|
1016 #611\|<br/><br/><label>Subjects--Meeting Names: </label>\|{\\n6113
1017 }{\\n611a}{ 611b }{ 611c }{ 611d }{ 611e }{ 611f }{ 611g }{ 611h
1018 }{--611k}{ 611l }{ 611m }{ 611n }{ 611o }{--611p}{ 611r }{ 611s }{ 611t
1019 }{ 611u }{--611x}{--611z}{--611y}{--611v}\|
1021 #630\|<br/><br/><label>Subjects--Uniform Titles: </label>\|{\\n630a}{
1022 630b }{ 630c }{ 630d }{ 630e }{ 630f }{ 630g }{ 630h }{--630k }{ 630l }{
1023 630m }{ 630n }{ 630o }{--630p}{ 630r }{ 630s }{ 630t
1024 }{--630x}{--630z}{--630y}{--630v}\|
1026 #648\|<br/><br/><label>Subjects--Chronological Terms: </label>\|{\\n6483
1027 }{\\n648a }{--648x}{--648z}{--648y}{--648v}\|
1028 #650\|<br/><br/><label>Subjects--Topical Terms: </label>\|{\\n6503
1029 }{\\n650a}{ 650b }{ 650c }{ 650d }{ 650e
1030 }{--650x}{--650z}{--650y}{--650v}\|
1032 #651\|<br/><br/><label>Subjects--Geographic Terms: </label>\|{\\n6513
1033 }{\\n651a}{ 651b }{ 651c }{ 651d }{ 651e
1034 }{--651x}{--651z}{--651y}{--651v}\|
1036 #653\|<br/><br/><label>Subjects--Index Terms: </label>\|{ 653a }\|
1038 #654\|<br/><br/><label>Subjects--Facted Index Terms: </label>\|{\\n6543
1039 }{\\n654a}{--654b}{--654x}{--654z}{--654y}{--654v}\|
1041 #655\|<br/><br/><label>Index Terms--Genre/Form: </label>\|{\\n6553
1042 }{\\n655a}{--655b}{--655x }{--655z}{--655y}{--655v}\|
1044 #656\|<br/><br/><label>Index Terms--Occupation: </label>\|{\\n6563
1045 }{\\n656a}{--656k}{--656x}{--656z}{--656y}{--656v}\|
1047 #657\|<br/><br/><label>Index Terms--Function: </label>\|{\\n6573
1048 }{\\n657a}{--657x}{--657z}{--657y}{--657v}\|
1050 #658\|<br/><br/><label>Index Terms--Curriculum Objective:
1051 </label>\|{\\n658a}{--658b}{--658c}{--658d}{--658v}\|
1053 #050\|<br/><br/><label>LC Class. No.: </label>\|{ 050a }{ / 050b }\|
1055 #082\|<br/><br/><label>Dewey Class. No.: </label>\|{ 082a }{ / 082b }\|
1057 #080\|<br/><br/><label>Universal Decimal Class. No.: </label>\|{ 080a }{
1060 #070\|<br/><br/><label>National Agricultural Library Call No.:
1061 </label>\|{ 070a }{ / 070b }\|
1063 #060\|<br/><br/><label>National Library of Medicine Call No.:
1064 </label>\|{ 060a }{ / 060b }\|
1066 #074\|<br/><br/><label>GPO Item No.: </label>\|{ 074a }\|
1068 #086\|<br/><br/><label>Gov. Doc. Class. No.: </label>\|{ 086a }\|
1070 #088\|<br/><br/><label>Report. No.: </label>\|{ 088a }\|
1072 Configuring Receipt Printers
1073 ============================
1075 The following instructions are for specific receipt printers, but can
1076 probably be used to help with setup of other brands as well.
1078 `For Epson TM-T88III (3) & TM-T88IV (4) Printers <#epsonprinters>`__
1079 --------------------------------------------------------------------
1081 `In the Print Driver <#epsonprintdriver>`__
1082 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1084 For these instructions, we are using version 5,0,3,0 of the Epson
1085 TM-T88III print driver; the EPSON TM-T88IV version is ReceiptE4.
1086 Register at the `EpsonExpert Technical Resource Center
1087 website <https://www.epsonexpert.com/login>`__ to gain access to the
1088 drivers; go to Technical Resources, then choose the printer model from
1089 the Printers drop-down list.
1091 Click Start > Printers and Faxes > Right click the receipt printer >
1094 - Advanced Tab, click Printing Defaults button
1096 - Layout Tab: Paper size: Roll Paper 80 x 297mm
1098 - TM-T88III: Layout Tab: Check Reduce Printing and Fit to Printable
1101 - TM-T88IV: Check Reduced Size Print; Click OK on the popup window that
1102 appears. Fit to Printable Width should be automatically selected.
1104 - OK your way out of there.
1106 `In Firefox <#epsonfirefox>`__
1107 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1109 Under File > Page Setup:
1111 - Shrink to fit page on Format & Options tab
1113 - 0,0,0,0 for Margins on Margins & Header/Footer Tab. This makes the
1114 receipts use all available space on the paper roll.
1116 - Set all Headers/Footers to -blank-. This removes all of the gunk you
1117 might normally find on a print from Firefox, such as the URL, number
1122 Set the default printer settings in Firefox so you don't see a "Print"
1125 - Go to File > Print
1127 - Set the Printer to the receipt printer.
1129 - Click the Advanced (or Properties) button
1131 - Layout Tab: Paper size: Roll Paper 80 x 297mm
1133 - TM-T88III: Layout Tab: Check Reduce Printing and Fit to Printable
1136 - TM-T88IV: Check Reduced Size Print; click OK on the popup window that
1137 appears. Fit to Printable Width should be automatically selected.
1139 - OK your way out, go ahead and print whatever page you are on.
1141 - Type about:config, in the address bar. Click "I'll be careful, I
1142 promise!" on the warning message.
1144 - Type, print.always in Filter.
1146 - Look for print.always\_print\_silent.
1148 - If the preference is there then set the value to true.
1150 - If the preference is not there (and it shouldn't be in most browsers)
1151 you have to add the preference.
1153 - Right click the preference area and select New > Boolean
1155 - Type print.always\_print\_silent in the dialog box and set the
1156 value to True. This sets the print settings in Firefox to always
1157 use the same settings and print without showing a dialog box.
1161 Setting the print.always\_print\_silent setting in about:config
1162 DISABLES the ability to choose a printer in Firefox.
1164 `For Epson TM-T88II (2) Printers <#epson2>`__
1165 ---------------------------------------------
1167 Register at the `EpsonExpert Technical Resource Center
1168 website <https://www.epsonexpert.com/login>`__ to gain access to the
1169 drivers; go to Technical Resources, then choose the printer model from
1170 the Printers drop-down list.
1172 `In Firefox <#epson2firefox>`__
1173 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1175 Under File > Page Setup:
1177 - Shrink to fit page on Format & Options tab
1179 - 0,0,0,0 for Margins on Margins & Header/Footer Tab. This makes the
1180 receipts use all available space on the paper roll.
1182 - Set all Headers/Footers to -blank-. This removes all of the gunk you
1183 might normally find on a print from Firefox, such as the URL, number
1188 Set the default printer settings in Firefox so you don't see a "Print"
1191 - Go to File > Print
1193 - Set the Printer to the receipt printer.
1195 - Print whatever page you are on.
1197 - Type about:config, in the address bar. Click "I'll be careful, I
1198 promise!" on the warning message.
1200 - Type, print.always in Filter.
1202 - Look for, print.always\_print\_silent.
1204 - If the preference is there then set the value to true.
1206 - If the preference is not there (and it shouldn't be in most browsers)
1207 you have to add the preference.
1209 - Right click the preference area and select New > Boolean
1211 - Type, print.always\_print\_silent in the dialog box and set the
1212 value to True. This sets the print settings in Firefox to always
1213 use the same settings and print without showing a dialog box.
1217 Setting the print.always\_print\_silent setting in about:config
1218 DISABLES the ability to choose a printer in Firefox.
1220 `For Star SP542 Printers <#starprinter>`__
1221 ------------------------------------------
1223 `Installing the Printer <#installstarprinter>`__
1224 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1226 While the following comments are based on the Star SP542 receipt
1227 printer, they probably apply to all printers in the SP5xx series.
1229 The Star SP542 receipt printer works well with Koha and **Firefox on
1230 Windows XP SP3**. This printer, with either the parallel or USB
1231 interface, is fairly easy to install and configure. You will need the
1232 following executable file which is available from numerous places on the
1235 linemode\_2k-xp\_20030205.exe
1237 This executable actually does all of the installation; you will not need
1238 to use the Microsoft Windows "Add Printer" program. We recommend that
1239 when installing, the option for the software monitor not be selected; we
1240 have experienced significant pauses and delays in printing with it.
1241 Instead, simply choose to install the receipt printer without the
1244 Additionally, the install program may not put the printer on the correct
1245 port, especially if using the USB interface. This is easily corrected by
1246 going to "Start -> Printers and Faxes -> Properties for the SP542
1247 printer -> Ports", then check the appropriate port.
1249 A reboot may be required, even if not indicated by the installation
1250 software or the operating system.
1252 **Windows 7** users should refer to this page:
1253 http://www.starmicronics.com/supports/win7.aspx.
1255 `Configuring Firefox to Print to Receipt Printer <#firefoxreceipt>`__
1256 ---------------------------------------------------------------------
1258 - Open File > Page Setup
1260 - Make all the headers and footers blank
1262 - Set the margins to 0 (zero)
1264 - In the address bar of Firefox, type about:config
1266 - Search for print.always\_print\_silent and double click it
1268 - Change it from false to true
1270 - This lets you skip the Print pop up box that comes up, as well as
1271 skipping the step where you have to click OK, automatically
1272 printing the right sized slip.
1274 - If print.always\_print\_silent does not come up
1276 - Right click on a blank area of the preference window
1278 - Select new > Boolean
1280 - Enter "print.always\_print\_silent" as the name (without quotes)
1284 - Select true for the value
1286 - You may also want to check what is listed for print.print\_printer
1288 - You may have to choose Generic/Text Only (or whatever your receipt
1289 printer might be named)
1291 Notice & Slips Guides
1292 =====================
1294 `Field Guide for Notices & Slips <#noticesfieldguide>`__
1295 --------------------------------------------------------
1297 This guide will break down the notices and slips information in 3 ways.
1298 First it will tell you what file generates the notice, then how you will
1299 present the item info in that notice and finally if the notice can be
1300 branch specific or not.
1302 +---------------------+----------------------------+---------------------------------------+--------------------------+
1303 | Letter Code | Used In | Detail tag | Can be branch specific |
1304 +=====================+============================+=======================================+==========================+
1305 | DUE | advance\_notices.pl | <<items.content>> | No |
1306 +---------------------+----------------------------+---------------------------------------+--------------------------+
1307 | DUEDGST | advance\_notices.pl | <<items.content>> | No |
1308 +---------------------+----------------------------+---------------------------------------+--------------------------+
1309 | PREDUE | advance\_notices.pl | <<items.content>> | No |
1310 +---------------------+----------------------------+---------------------------------------+--------------------------+
1311 | PREDUEDGST | advance\_notices.pl | <<items.content>> | No |
1312 +---------------------+----------------------------+---------------------------------------+--------------------------+
1313 | ODUE\* | overdue\_notices.pl | <<items.content>> or <item> </item> | Yes |
1314 +---------------------+----------------------------+---------------------------------------+--------------------------+
1315 | CHECKOUT | C4/Circulation.pm | N/A | Yes |
1316 +---------------------+----------------------------+---------------------------------------+--------------------------+
1317 | RENEWAL | C4/Circulation.pm | N/A | Yes |
1318 +---------------------+----------------------------+---------------------------------------+--------------------------+
1319 | TRANSFERSLIP | C4/Circulation.pm | N/A | Yes |
1320 +---------------------+----------------------------+---------------------------------------+--------------------------+
1321 | ISSUESLIP | C4/Members.pm | <checkedout> </checkedout> | Yes |
1323 | | | <overdue> </overdue> | |
1325 | | | <news> </news> | |
1326 +---------------------+----------------------------+---------------------------------------+--------------------------+
1327 | ISSUEQSLIP | C4/Members.pm | <checkedout> </checkedout> | Yes |
1328 +---------------------+----------------------------+---------------------------------------+--------------------------+
1329 | HOLDPLACED | C4/Reserves.pm | N/A | Yes |
1330 +---------------------+----------------------------+---------------------------------------+--------------------------+
1331 | RESERVESLIP | C4/Reserves.pm | N/A | Yes |
1332 +---------------------+----------------------------+---------------------------------------+--------------------------+
1333 | ASKED | C4/Suggestions.pm | N/A | Yes |
1334 +---------------------+----------------------------+---------------------------------------+--------------------------+
1335 | CHECKED | C4/Suggestions.pm | N/A | Yes |
1336 +---------------------+----------------------------+---------------------------------------+--------------------------+
1337 | ACCEPTED | C4/Suggestions.pm | N/A | Yes |
1338 +---------------------+----------------------------+---------------------------------------+--------------------------+
1339 | REJECTED | C4/Suggestions.pm | N/A | Yes |
1340 +---------------------+----------------------------+---------------------------------------+--------------------------+
1341 | OPAC\_REG\_VERIFY | opac/opac-memberentry.pl | N/A | No |
1342 +---------------------+----------------------------+---------------------------------------+--------------------------+
1351 Philadelphia, PA 19107
1353 Dear Nicole Engard (23529000035726),
1355 According to our records, at the time of this notice, you have items
1356 that are overdue. Please return or renew them as soon as possible to
1357 avoid increasing late fines.
1359 If you have registered a password with the library, you may use it with
1360 your library card number to renew online.
1362 If you believe you have returned the items below please call at and
1363 library staff will be happy to help resolve the issue.
1365 The following item(s) are currently overdue:
1367 07/08/2008 Creating drug-free schools and communities : 502326000054
1370 06/27/2008 Eating fractions / 502326000022 McMillan, Bruce.
1372 Sincerely, Library Staff
1377 `Reader's Digest (0034-0375) <#readersdigestsample>`__
1378 ------------------------------------------------------
1380 - Published 12 times a year (monthly)
1382 - The Volume number changes every 6 months and the numbers continues on
1383 (requires an advanced pattern).
1385 Sample Reader's Digest Subscription
1388 `People Weekly (1076-0091) <#peoplesample>`__
1389 ---------------------------------------------
1393 - The website says "on Saturday except the first week of August,
1394 Thanksgiving week, the first and last weeks of the year" but this
1395 does not match the pattern for 2007 or 2008
1397 - In the Jul-Dec there are 26 issues
1399 - In the Jan-Jun there are 25 issues (no issue for the first week of
1402 Since the irregularity on the first # 26 does not skip a week, this
1403 would be set up as to roll over on issue 25. The 26th issue in the
1404 second half of the year would have to be received as a supplemental.
1406 The irregularity check will complain that 52 issues were expected, but
1407 25 entered. The current irregularity check can only check that the first
1408 position of the numbering pattern matches the expected issue count of
1409 the periodicity. But we do need to trigger the rollover on the volume,
1410 so we need to define the last two weeks of the year as irregularities.
1411 So we receive 50 issues the first 50 weeks, then one supplemental issue
1412 in week 51, which we have to define the enumeration for, then the next
1413 predicted issue will be the following year's first week.
1415 `Et-Mol <#hebrewserialsample>`__
1416 --------------------------------
1418 This journal is published with the following rules:
1420 - 6 issues a year (every 2 months)
1422 - year changes every 6 issues
1426 - the issue number goes up indefinitely
1428 - starting from issue 215
1430 The planning would look like this:
1432 Sample for this Hebrew Journal
1435 `Backpacker (0277-867X) <#backpackerserial>`__
1436 ----------------------------------------------
1438 Published 9 times a year irregularly. The issues continues while the
1439 volume and number rolls over every 9 issues. If you're holding Volume
1440 41, Number 3, Issue 302 in your hand the prediction would look like
1443 Backpacker numbering pattern
1446 And the received issues would number like this:
1448 v. 41, no. 3, iss. 302
1450 v. 41, no. 4, iss. 303
1452 v. 41, no. 5, iss. 304
1454 v. 41, no. 6, iss. 305
1456 v. 41, no. 7, iss. 306
1458 v. 41, no. 8, iss. 307
1460 v. 41, no. 9, iss. 308
1462 v. 42, no. 1, iss. 309
1464 v. 42, no. 2, iss. 310
1466 v. 42, no. 3, iss. 311
1468 v. 42, no. 4, iss. 312
1470 `Keats-Shelley Journal (0453-4387) <#keatsserial>`__
1471 ----------------------------------------------------
1473 This journal is published once per year in July. The numbering follows
1482 Setup should look like this (if you're starting in July 2014):
1487 `Computers in Libraries (1041-7915) <#cilserial>`__
1488 ---------------------------------------------------
1490 Computers in Libraries is published ten times per year (monthly with
1491 January/February and July/August combined issues).
1493 Subscription details
1502 Sample List & Cart Emails
1503 =========================
1505 `Example Email from List <#examplelistemail>`__
1506 -----------------------------------------------
1508 Below is an example of an email from a list in Koha.
1514 Here is your list called If You Like Jodi Picoult, sent from our online catalog.
1516 Please note that the attached file is a MARC bibliographic records file
1517 which can be imported into a Personal Bibliographic Software like EndNote,
1518 Reference Manager or ProCite.
1519 ---------------------------------------------
1521 Home safe : a novel /
1525 Published by: Random House,, 260 p. ;, 25 cm.
1526 Copyright year: 2009
1528 In the online catalog:
1529 http://MYCATALOG/cgi-bin/koha/opac-detail.pl?biblionumber=12113
1531 North Branch FIC (FIC Ber) TVSN500088894O
1532 Main Library FIC (FIC Boh) TVSN5000921548
1533 South Branch FIC (FIC Boh) TVSN500092156A
1534 West Branch FIC (FIC Boh) TVSN5000921559
1536 ---------------------------------------------
1542 Published by: Farrar, Straus, and Giroux,, 402 p. ;, 24 cm.
1543 Copyright year: 2000
1545 In the online catalog:
1546 http://MYCATALOG/cgi-bin/koha/opac-detail.pl?biblionumber=12501
1548 East Branch (813/.54)
1549 South Branch FIC (FIC Bro) TVSN5000451333
1551 `Example Email from Cart <#examplecartemail>`__
1552 -----------------------------------------------
1554 Below is a sample of what an email from the Cart in Koha will look like:
1560 Joaquin D'Planque sent you a cart from our online catalog.
1562 Please note that the attached file is a MARC bibliographic records
1563 file which can be imported into personal bibliographic software like
1564 EndNote, Reference Manager or ProCite.
1566 ---------------------------------------------------------------------
1570 Author(s): Brookfield, Karen. ;
1571 Published by: Knopf : | Distributed by Random House, , 63 p. : ,
1573 Copyright year: 1993
1574 Notes : Includes index.
1578 http://MYCATALOG/cgi-bin/koha/opac-detail.pl?biblionumber=31644
1582 * East Branch (JNF 002 Bro) TVSN500017618A
1584 -----------------------------------------------------------------
1586 2. The 1965 World book year book :
1588 Published by: Field Enterprises Educational Corp., , 628 p. : , 26
1590 Copyright year: 1965
1591 Notes : Includes index. | Spine title: Year book, 1965. | Cover
1592 title: The World book year book, 1965.
1594 http://www.archive.org/details/1965worldbookyea00chic%20%7C%20http://www.openlibrary.org/books/OL24199089M
1597 http://MYCATALOG/cgi-bin/koha/opac-detail.pl?biblionumber=88666
1599 -----------------------------------------------------------------
1601 Using Koha as a Content Management System (CMS)
1602 ===============================================
1604 `Setup <#kohacmssetup>`__
1605 -------------------------
1607 These are instructions for taking a default install of Koha and allowing
1608 it to function as a little content management system. This will allow a
1609 library to publish an arbitrary number of pages based on a template.
1610 This example uses the template for the main opac page, but you could
1611 just as well use any template you wish with a bit more editing. This may
1612 be appropriate if you have a small library, want to allow librarians to
1613 easily add pages, and do not want to support a complete CMS.
1615 - Copy /usr/share/koha/opac/cgi-bin/opac/opac-main.pl to
1616 /usr/share/koha/opac/cgi-bin/opac/pages.pl (in the same directory)
1618 - Edit pages.pl in an editor
1620 - At approximately line 33 change this code:
1624 template_name => "opac-main.tmpl",
1630 template_name => "pages.tmpl",
1632 - At approximately line 62 after this code:
1637 koha_news => $all_koha_news,
1638 koha_news_count => $koha_news_count,
1639 display_daily_quote => C4::Context->preference('QuoteOfTheDay'),
1640 daily_quote => $quote,
1647 my $page = "page_" . $input->param('p'); # go for "p" value in URL and do the concatenation
1648 my $preference = C4::Context->preference($page); # Go for preference
1649 $template->{VARS}->{'page_test'} = $preference; # pass variable to template pages.tt
1651 - Note pages.pl file must have Webserver user execution permissions,
1652 you can use `chmod <http://en.wikipedia.org/wiki/Chmod>`__ command if
1653 you are actually logged in as such user:
1659 - In the browser go to Home > Administration > System Preferences >
1660 Local Use and add a New Preference called "page\_test"
1664 - Explanation: test page for pages tiny cms
1666 - Variable: page\_test
1668 - Value: Lorem ipsum
1670 - Click the TextArea link (or enter "TextArea" into the input field
1673 - variable options (last field): 80\|50
1675 - In a browser go to http://youraddress/cgi-bin/koha/pages.pl?p=test
1676 The page should come up with the words "Lorem ipsum" in the main
1677 content area of the page. (replace "youraddress" with localhost,
1678 127.0.0.1, or your domain name depending on how you have Apache set
1681 - To add more pages simply create a system preference where the title
1682 begins with "page\_" followed by any arbitrary letters. You can add
1683 any markup you want as the value of the field. Reference the new page
1684 by changing the value of the "p" parameter in the URL.
1686 To learn more visit the Koha wiki page on this topic:
1687 http://wiki.koha-community.org/wiki/Koha_as_a_CMS
1689 `Editing the pages template <#kohacmstmpl>`__
1690 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1692 The file to create / edit for the pages template will depend on your
1693 `opacthemes <#opacthemes>`__ system preference setting
1695 `Editing 'bootstrap' theme template (current) <#kohacmstmplboot>`__
1696 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1699 /usr/share/koha/opac/htdocs/opac-tmpl/bootstrap/en/modules/opac-main.tt
1701 /usr/share/koha/opac/htdocs/opac-tmpl/bootstrap/en/modules/pages.tt
1704 /usr/share/koha/opac/htdocs/opac-tmpl/bootstrap/en/modules/pages.tt
1706 - At approximately line 61, change this:
1710 [% IF ( OpacMainUserBlock ) %]<div id="opacmainuserblock">[% OpacMainUserBlock %]</div>[% END %]
1716 [% IF ( page_test ) %]<div id="opacmainuserblock">[% page_test %]</div>[% END %]
1718 Remark: You may wish to disable your News block of these CMS style pages
1719 e.g. when you do not want it displayed on the CMS style pages or where
1720 the News block is long enough that it actually makes the 'page\_test'
1721 include scroll outside the default viewport dimensions. In that case,
1722 remove the following code from your pages.tt template.
1726 [% IF ( koha_news_count ) %]
1728 <table class="table table-bordered">
1729 [% FOREACH koha_new IN koha_news %]
1730 <thead><tr><th>[% koha_new.title %]</th></tr></thead>
1731 <tbody><tr><td><p>[% koha_new.new %]</p>
1732 <p class="newsfooter"><i>(published on [% koha_new.newdate %])</i></p></td></tr></tbody>
1739 `Troubleshooting <#kohacmstrouble>`__
1740 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1742 If you have problems check file permissions on pages.pl and pages.tmpl.
1743 They should have the same user and group as other Koha files like
1746 `Bonus Points <#kohacmsbonus>`__
1747 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1749 Instead of using the address
1750 http://youraddress/cgi-bin/koha/pages.pl?p=test you can shorten it to
1751 http://youraddress/pages.pl?p=test Just open up
1752 /etc/koha/koha-httpd.conf and add the follow at about line 13:
1756 ScriptAlias /pages.pl "/usr/share/koha/opac/cgi-bin/opac/pages.pl"
1758 Then restart Apache.
1760 `Usage <#kohacmsusage>`__
1761 -------------------------
1763 After setting up Koha as a CMS you can create new pages following these
1766 `Adding Pages <#kohacmspages>`__
1767 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1769 To add a new page you need to add a system preference under Local Use.
1771 - Get there: More > Administration > Global System Preferences > Local
1774 - Click 'New Preference'
1776 - Enter in a description in the Explanation field
1778 - Enter a value that starts with 'page\_' in the Variable field
1780 - Enter starting HTML in the Value field
1782 Add a new preference
1785 - Set the Variable Type to Textarea
1787 - Set the Variable options to something like 20\|20 for 20 rows and 20
1790 Settings for the new preference
1793 `Viewing your page <#kohacmsview>`__
1794 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1796 You can view your new page at
1797 http://YOUR-OPAC/cgi-bin/koha/pages.pl?p=PAGENAME where PAGENAME is the
1798 part you entered after 'page\_' in the Variable field.
1800 `Example <#kohacmsexpage>`__
1801 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1803 This process can be used to create recommended reading lists within
1804 Koha. So once the code changes have been made per the instructions on
1805 'Koha as a CMS' you go through the 'Adding a New Page' instructions
1806 above to great a page for 'Recommended Reading Lists'
1808 Create page by modifying a system preference
1811 Next we need to create pages for our various classes (or categories). To
1812 do this, return to the 'Adding a New Page' section and create a
1813 preference for the first class.
1815 Add a new sys pref for another page
1818 Next you'll want to link your first page to your new second page, go to
1819 the page\_recommend preference and click 'Edit.' Now you want to edit
1820 the HTML to include a link to your newest page:
1822 Edit original preference to add new page
1825 `Live Examples <#examplecms>`__
1826 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1828 - The Crawford Library at Dallas Christian College is using this method
1829 for their recommended reading lists: http://opac.dallas.edu/
1831 Resetting the Koha Database
1832 ===========================
1834 These notes on how to reset the database for Koha were derived from the
1835 following email thread:
1836 http://lists.koha-community.org/pipermail/koha-devel/2009-January/008939.html
1837 and http://lists.katipo.co.nz/public/koha/2014-June/039701.html
1839 Resetting the database may be useful if you install Koha with the sample
1840 data, and then wish to use real data without reinstalling the software.
1842 `Delete sample data from Tables <#deletetables>`__
1843 --------------------------------------------------
1845 Use your preferred MySQL client to
1846 `delete <http://dev.mysql.com/doc/refman/5.5/en/delete.html>`__ the
1861 You may need to disable foreign key checks to delete data from same
1862 tables. For instructions follow this thread:
1863 https://lists.katipo.co.nz/pipermail/koha/2013-July/036853.html.
1865 `Reset the Zebra Index <#resetzebra>`__
1866 ---------------------------------------
1868 Run the following commands to reset the authorities and biblios Zebra
1873 $ zebraidx -c /etc/koha/zebradb/zebra-authorities-dom.cfg -g iso2709 -d authorities init
1874 $ zebraidx -c /etc/koha/zebradb/zebra-biblios.cfg -g iso2709 -d biblios init
1876 If you are running a package install then you'll want to run the
1877 following commands to reset the authorities and biblios Zebra indices
1882 $ sudo zebraidx -c /etc/koha/sites/YOURLIBRARY/zebra-authorities-dom.cfg -g iso2709 -d authorities init
1883 $ sudo zebraidx -c /etc/koha/sites/YOURLIBRARY/zebra-biblios.cfg -g iso2709 -d biblios init
1885 Replacing YOURLIBRARY with your Koha installation name.
1890 `Koha Related <#koharelatedlinks>`__
1891 ------------------------------------
1893 - Report Koha Bugs - http://bugs.koha-community.org
1895 - Koha Versioning Control - http://git.koha-community.org/
1897 - Database Structure - http://schema.koha-community.org
1899 - Koha Community Statistics - http://hea.koha-community.org
1901 - Koha as a CMS - http://wiki.koha-community.org/wiki/Koha_as_a_CMS
1903 - Kyles's Koha Tools - http://kylehall.info/index.php/projects/koha/
1905 - Koha Bibliography - http://www.zotero.org/groups/koha
1907 - Koha Shared Links - http://groups.diigo.com/group/everything-koha
1909 `Circulation Related <#circrelatedlinks>`__
1910 -------------------------------------------
1912 - Koha Desktop Offline Circulation:
1913 https://github.com/bywatersolutions/koha-offline-circulation/releases
1915 - Koha Firefox Offline Circulation:
1916 https://addons.mozilla.org/en-US/firefox/addon/koct/
1918 `Cataloging Related <#catalogrelatedlinks>`__
1919 ---------------------------------------------
1921 - Koha MARC Tutorials - http://www.pakban.net/brooke/
1923 - IRSpy Open Z39.50 Server Search - http://irspy.indexdata.com/
1925 - Z39.50 Server List -
1926 http://staff.library.mun.ca/staff/toolbox/z3950hosts.htm
1928 - Open Koha Z39.50 Targets -
1929 http://wiki.koha-community.org/wiki/Koha_Open_Z39.50_Sources
1931 - Library of Congress Authorities - http://authorities.loc.gov/
1933 - MARC Country Codes - http://www.loc.gov/marc/countries/
1935 - Search the MARC Code List for Organizations -
1936 http://www.loc.gov/marc/organizations/org-search.php
1938 - Search for Canadian MARC Codes -
1939 http://www.collectionscanada.gc.ca/illcandir-bin/illsear/l=0/c=1
1941 - Z39.50 Bib-1 Attribute -
1942 http://www.loc.gov/z3950/agency/defns/bib1.html
1944 `Enhanced Content Related <#enhancedcontentlinks>`__
1945 ----------------------------------------------------
1947 - Amazon Associates -
1948 `https://affiliate-program.amazon.com <https://affiliate-program.amazon.com/>`__
1950 - Amazon Web Services - http://aws.amazon.com
1952 - WorldCat Affiliate Tools -
1953 http://www.worldcat.org/wcpa/do/AffiliateUserServices?method=initSelfRegister
1955 - XISBN - http://www.worldcat.org/affiliate/webservices/xisbn/app.jsp
1957 - LibraryThing for Libraries - http://www.librarything.com/forlibraries
1959 `Design Related <#opaclinks>`__
1960 -------------------------------
1962 - JQuery Library - http://wiki.koha-community.org/wiki/JQuery_Library
1964 - HTML & CSS Library -
1965 http://wiki.koha-community.org/wiki/HTML_%26_CSS_Library
1967 - Owen Leonard's Koha Blog - http://www.myacpl.org/koha
1969 `Reports Related <#reportlinks>`__
1970 ----------------------------------
1972 - SQL Reports Library -
1973 http://wiki.koha-community.org/wiki/SQL_Reports_Library
1975 - Database Schema - http://schema.koha-community.org
1977 - Sample reports from NEKLS -
1978 http://www.nexpresslibrary.org/training/reports-training/
1980 `Installation Guides <#installlinks>`__
1981 ---------------------------------------
1983 - Installing Koha 3 on Ubuntu -
1984 http://www.blazingmoon.org/guides/k3-on-u810-1.html
1986 - Koha on Debian installation documentation -
1987 http://openlib.org/home/krichel/courses/lis508/doc/koha_installation_overview.html
1989 - Koha 3.2 on Debian Squeeze -
1990 http://wiki.koha-community.org/wiki/Koha_3.2_on_Debian_Squeeze
1992 `Misc <#misclinks>`__
1993 ---------------------
1995 - Zotero - http://zotero.org
1997 - SOPAC - `http://thesocialopac.net <http://thesocialopac.net/>`__
1999 Koha XSLT Item Types
2000 ====================
2002 When you have any of the XSLT system preferences
2003 (`OPACXSLTDetailsDisplay <#OPACXSLTDetailsDisplay>`__,
2004 `OPACXSLTResultsDisplay <#OPACXSLTResultsDisplay>`__,
2005 `XSLTDetailsDisplay <#XSLTDetailsDisplay>`__, and/or
2006 `XSLTResultsDisplay <#XSLTResultsDisplay>`__) along with the
2007 `DisplayOPACiconsXSLT <#DisplayOPACiconsXSLT>`__ and
2008 `DisplayIconsXSLT <#DisplayIconsXSLT>`__ preferences turned on you will
2009 see item type icons on the related screen.
2013 These images are coming from values found in your leader, if your
2014 leader is not cataloged properly it might be best to turn off the
2015 `DisplayOPACiconsXSLT <#DisplayOPACiconsXSLT>`__ preference (which
2016 can be done while leaving the other XSLT preferences turned on).
2023 - leader6 = a (and one of the leader7 values below)
2038 - Computer File [CF]
2042 Continuing Resource Image
2045 - Continuing Resource [CR]
2062 Mixed Materials Image
2082 Visual Material Image
2085 - Visual Material [VM]
2103 Many libraries like to use MarcEdit for modifications or data cleanup.
2104 If you'd like to do this you will need to download it at:
2105 http://marcedit.reeset.net/
2109 Many of the actions described in this chapter can be done in Koha
2110 using `Marc Modification Templates <#marcmodtemplates>`__, but this
2111 section is here for those who are used to MarcEdit.
2113 `Adding a prefix to call numbers <#marceditprefix>`__
2114 -----------------------------------------------------
2116 When bringing data into Koha, you may want to first clean it up. One
2117 common action among Koha users is to add a prefix to the call number.
2124 - Click 'MarcEditor'
2126 - Go to Tools > Edit Subfield Data
2131 - To prepend data the special character is: ^b To simply prepend data
2132 to the beginning of a subfield, add ^b to the Field Data: textbox and
2133 the data to be appended in the Replace
2135 Prepend data to a field
2138 - To prepend data to the beginning of the subfield while replacing a
2139 text string, add ^b[string to replace] to the Field Data textbox
2140 and the data to be appended in the Replace With textbox.
2142 `Importing Excel data into Koha <#marceditexcel>`__
2143 ---------------------------------------------------
2145 Suppose you have records of your library in excel data sheet format and
2146 want them to import into Koha. But how will you do this? Koha will not
2147 let you import excel records directly. Well here is a very simple
2148 solution for you which will let you import your excel records in Koha
2149 easily. First, we will convert excel file into Marc file and then will
2150 import it into Koha.
2152 Follow the given steps to import your excel records into Koha
2154 `Converting from Excel format into .mrk format <#convertexcel>`__
2155 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2157 First, we will convert excel format into .mrk format. For this we will
2158 use MarcEdit. You can download it from http://marcedit.reeset.net/
2160 Now open it and select Add-ins-->Delimited Text Translator.
2162 Delimited Text Translator
2165 Click Next when the following window appears.
2167 Delimited Text Translator
2170 Browse for your excel file.
2172 Delimited Text Translator
2175 Locate your excel file by choosing the format Excel File(\*.xls).
2177 Delimited Text Translator
2180 Similarly, fill all the other entries such as Output File, Excel Sheet
2181 Name and check UTF-8 Encoded (if required) and Click Next.
2183 Delimited Text Translator
2186 Now you will be prompted for mapping the fields to recognise the fields
2187 by standard marc format.
2189 Suppose for Field 0 that is first column I entered Map to: 022$a( Valid
2190 ISSN for the continuing resource) and then click on Apply.
2192 Delimited Text Translator
2197 You can customize Indicators and all other things, for more
2198 information on marc21 format visit the `official library of congress
2199 site <http://www.loc.gov/marc/bibliographic/>`__.
2201 Similarly map all other fields and then Click on Finish.
2203 Delimited Text Translator
2206 And then a window will appear indicating that your Marc Text
2207 File(\*.mrk) has been created.
2209 Delimited Text Translator
2212 Click Close and we have created a .mrk file from .xls file in this step.
2213 You can view the file by double clicking on it.
2215 `Convert .mrk file to .mrc <#convertmrk>`__
2216 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2218 We will convert .mrk file that we have created in the above step into
2219 raw Marc format that can be directly imported into Koha.
2221 For this again open MarcEdit and Select MARC Tools.
2226 Next Select MarcMaker to convert .mrk file into .mrc format.
2231 Locate your input file and name your output file. Then Click Execute.
2236 And it will show you the Result.
2241 Click Close and now we have raw Marc records with us (.mrc file).
2243 `Import .mrc into Koha <#importmrc>`__
2244 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2246 More information on importing records into Koha can be found in the
2247 '`Stage MARC Records for Import <#stagemarc>`__' section of this manual.
2249 Finally we will import above created .mrc file into Koha.
2251 Click on Tools in your Koha staff client.
2256 Next Click on Stage MARC Records for Import.
2258 Stage MARC Records for Import
2261 After this, choose your previously created .mrc file and click on
2267 You can also add comment about file and finally click on Stage For
2273 When the import is done, you will get a result something like this
2275 Staged Records Summary
2278 Next, click on Manage staged records.
2280 Here you can even change matching rules.
2282 Manage Staged Records
2285 Click on Import this batch into catalog when you are done.
2287 Thats it. After all the records get imported, check Status and it should
2293 You can even undo the Import operation.
2295 And within few minutes, we have imported around 10,000 records in Koha
2300 Talking Tech I-tiva is a third party, proprietary, product that
2301 libraries can subscribe to. Learn more here:
2302 http://www.talkingtech.com/solutions/library.
2304 `Installation and Setup Instructions <#talkingtechinstall>`__
2305 -------------------------------------------------------------
2308 installer/data/mysql/atomicupdate/Bug-4246-Talking-Tech-itiva-phone-notifications.pl
2309 to install the required data pack (new syspref, notice placeholders and
2310 messaging transport preferences)
2313 `TalkingTechItivaPhoneNotification <#TalkingTechItivaPhoneNotification>`__
2314 syspref must be turned on.
2316 If you wish to process PREOVERDUE or RESERVES messages, you'll need the
2317 `EnhancedMessagingPreferences <#EnhancedMessagingPreferences>`__ system
2318 preference turned on, and patrons to have filled in a preference for
2319 receiving these notices by phone.
2321 For OVERDUE messages, overdue notice triggers must be configured under
2322 Koha -> Tools -> `Overdue Notice Triggers <#noticetriggers>`__. Either
2323 branch-specific triggers or the default level triggers may be used
2324 (script will select whichever is appropriate).
2326 `Sending Notices File <#talkingtechsend>`__
2327 -------------------------------------------
2329 1. Add the `TalkingTech\_itiva\_outbound.pl <#talkingtechsendcron>`__
2330 script to your crontab
2332 2. Add an FTP/SFTP or other transport method to send the output file to
2335 3. If you wish, archive the sent notices file in another directory after
2338 Run TalkingTech\_itiva\_outbound.pl --help for more information
2340 `Receiving Results File <#talkingtechreceive>`__
2341 ------------------------------------------------
2343 1. Add an FTP/SFTP or other transport method to send the Results file to
2344 a known directory on your Koha server
2346 2. Add the `TalkingTech\_itiva\_inbound.pl <#talkingtechreceivecron>`__
2347 script to your crontab, aimed at that directory
2349 3. If you wish, archive the results file in another directory after
2352 Run TalkingTech\_itiva\_inbound.pl --help for more information
2354 Integrating SIP2 with Koha
2355 =============================
2357 SIP2 (Session Initiation Protocol) is a protocol for communication between devices.
2359 In the context of Koha SIP2 is used for communication between Self Check (SC) machines i.e. self checkout machines, and the Automated Circulation System (also known as ACS which in this case is the server running Koha).
2361 SIP2 communications consist of requests and responses.
2363 The self checkout machines are ‘dumb’ and so they send requests to the Koha server which runs logic which determines a particular outcome which is sent as a response message back to the client self checkout machine, and this is then conveyed to the user.
2365 .. warning:: Security notice regarding using SIP2 service
2366 To ensure that your SIP2 traffic is secure as it passes over the internet you need to make sure that you are using a VPN or stunnel.
2369 ----------------------
2371 If you installed Koha using Debian packages then SIP2 setup is easy, simply follow these steps:
2374 1. In your terminal (in the root Koha directory) write in:
2375 *sudo koha-enable-sip <instancename>*
2378 2. Now you need to configure the SIP2 settings, to do this you need to edit the SIPconfig.xml file which exists in the /etc/koha/sites/<instancename>/ directory.
2379 You will need to edit this file as root because it contains passwords (to do so write ‘sudo’ at the start of your command).
2382 *sudo vi /etc/koha/sites/<instancename>/SIPconfig.xml*
2384 .. note:: Important note: There are three areas of interest in the SIPconfig.xml file that you need to change. These are: service, account and institution.
2390 2.1 Change the port value near the top of the SIPconfig.xml file (identified by the number 1 in the below screen shot), so it has the same IP address as set further down the SIPconfig.xml file identified by 2.
2392 .. note:: Make sure the two port values don’t have the same port number as you cannot have the same port being listened to by two different services. When deciding upon the port number make sure it is a high number (i.e. above 1000) because all ports below 1000 require root permissions.
2400 The account(s) you define in the SIPconfig.xml file are simply account(s) permitted to use the SIP2 service i.e. your defining who can send and receive SIP2 commands.
2402 .. warning:: Account information that you write here must also exist in the Koha database i.e. you need to create a patron in the Koha staff interface with the same username, password (making sure to assign them circulate permissions) as the user account you write into the SIPconfig.xml file.
2404 .. note:: It is highly recommended that you only write in Koha user accounts with circulate permissions.
2406 The reason we want SIP2 users to only have circulate permissions rather than superlibrarian permissions is to reduce the access SIP2 users have to confidential patron data in case the system was compromised.
2408 If the ACS or the SC were compromised then having all SIP2 users only having circulation permissions means that an intruder would only be able to access patron data via the terminal rather than the web interface as well (which would be available with superlibrarian permissions). So it is simply a matter of protecting your users.
2413 **Account value definitions:**
2416 1. Login id: This is the account username. - Modify this accordingly
2417 2. Password: Account password - Modify this accordingly
2418 3. Delimiter: The type of delimiter for account information - Leave as default
2419 4. error-detect - Leave as default
2420 5. Institution: This is the branchcode for the library that the user belongs to. NOTE: This institution needs to be defined further down in the institution area of the SIPconfig.xml file and it must also exist in the Koha database. i.e. you need to create a library with the same branchcode in Koha staff interface.
2421 6. encoding: This is the standard used to encode the account data
2422 7. Terminator: This needs to match the terminator value of the SIP2 server. - Modify this if you know the terminator value of the SIP2 server.
2427 The institution information you define here must match a library created in the Koha staff interface.
2429 .. warning:: You need to make sure all the institutions that accounts are assigned to further up in the SIPconfig.xml file are also defined in the institution area of the same file.
2433 **Institution value definitions:**
2436 1. Institution id: The branchcode of the library. - Modify this accordingly.
2437 Must be the same as created in Koha and the account area.
2439 2. Implementation: Defines the code that will be run. - Leave as default
2441 3. Policy: Policy defines the permitted SIP2 commands allowed from SC’s in this institution.
2442 For example: renewal=”true” means that SC’s at that institution have permission to send renewal item SIP2 commands.
2445 Simply write in the command:
2446 *sudo koha-start-sip <instancename>*
2448 .. note:: Now you have a running SIP2 server.
2453 SIP2 is a communication protocol. The messages sent in SIP2 are either requests or responses. The SC’s send request messages to the ACS which will run some logic and send back the resulting value to the SC as a response message.
2455 The request messages contain arguments, which are data values used by the ACS in its functions to perform the required task such as renewing items.
2459 If you want to manually use/test SIP2 then you will be writing and receiving messages via the Linux terminal.
2461 To be able to send and receive messages with the SIP2 server you need to use telnet to open a SIP2 connection. You need to specify the port number you want telnet to use.
2463 To find this information look at the service area at the top of the SIPconfig.xml file (look for the port number as pointed out by the arrow in the below screenshot).
2468 1. Write into the terminal
2470 *telnet localhost <portnumber>*
2472 e.g. *telnet localhost 8023*
2474 2. Now write in the username and password set in one of the accounts in the SIPconfig.xml file.
2476 3. Now you are connected to the SIP2 server you can start writing and sending request commands. The connection to the SIP2 server does time out fast so if haven’t finished writing and receiving commands simply write in:
2478 *telnet localhost <portnumber>*
2480 to restart the SIP2 connection.
2482 **SIP2 command syntax**
2484 Every SIP2 command has a 2 digit numerical prefix which defines what the command is doing.
2486 e.g. To get information about a patron you start your command with the prefix: 63. The response from the server also has a corresponding numerical prefix.
2488 Below is an example of a SIP2 request message to request patron information (in this example a Koha patron account with the user name ‘joe’, password ‘joes’, and card number ‘y76t5r43’ has been created in the Koha staff interface).
2490 Additionally a library with the branchcode of ‘WEL’ has been created in the Koha staff interface and is also defined in the institution area of the SIPconfig.xml file):
2494 So the format of this SIP2 request message is:
2498 .. note:: The summary value is a 10 character value. If a Y is written in for the summary value then you will be able to get both a summary and more detailed informational output.
2500 The value in the <YYYYMMDD> <HHMMSS> is the current datetime, by leaving a 4 space gap between the YYYYMMDD and HHMMSS this indicates you want to use local time rather than UTC.
2502 .. note:: In this manual letter codes for the various fields are used where possible in describing the SIP2 message fields e.g. AO<institutionid>.
2504 These letter codes can be written in the SIP2 commands into the Linux terminal, but make sure when substituting values in for the fields (values inside the <>) that you do not write in the <> brackets.
2512 This uses the prefix 01 for request messages and 24 for response messages.
2519 .. note:: Card retained is a single character field of either ‘Y’ or ‘N’ which tells the ACS that a card has been retained by the self checkout machine.
2525 .. note:: <patronstatus> is a 14 character long value. The value Y in the string means true. Each position in this string (starting at 0) has a single corresponding value (Y or N) in the string.
2527 e.g. a Y at position 1 (the second value in the string) means that the patrons renewal privileges are denied.
2533 This uses the request message (messages sent to the ACS) prefix of 09 and the response prefix of 10 (sent to the SC).
2539 .. note:: * <no block (Offline)> is a single character field of either ‘Y’ or ‘N’ which indicates if the transaction is being performed offline. As offline transactions are not supported you need to write ‘N’ if you are testing this message out manually.
2541 * <transactiondate> this is a 18 character field with the date is the format: YYYYMMDDZZZZHHMMSS.
2543 ZZZZ is the timezone, if you want to set it to local you need to leave 4 blank spaces, but if you want to set it to the UTC (Coordinated Universal Time) then you need to write in 3 blank spaces and a Z.
2549 .. note:: Alert type could have one of several values:
2557 If an item is resensitized then the value of <resentitize> should be Y otherwise it should be N. Rensensitizing items is done to ensure that if someone tries to steal the item they are detected.
2561 This uses the request message prefix of 11 and the response message prefix of 12.
2562 It has similar syntax to the check-in command, outlined above except the prefixes are different.
2564 **Hold** – May not yet be supported on some systems. This has a request message numerical prefix of 15 and a response message prefix of 16.
2570 .. note:: <holdmode> is a single character value. + means add a hold, - means delete a hold and * means change a hold.
2576 .. note:: * <ok> is a single length value which is either 0 (for hold is not permitted or was not successful) or 1 (for hold is permitted and was successful).
2578 * <available> is a single length value which is either Y or N. Y means the item is currently in the library, whilst N means the item is currently on loan/someone else has created a hold on the item.
2581 **Item information: This uses the request command prefix of 17, and the response command prefix of 18**
2587 .. note:: See the check-in items command (described above) to find out what the <xact_date> value is.
2589 The terminal password is optional.
2595 **Item status update This uses the request message prefix of 19 and the response message prefix of 20**
2601 .. note:: <itemproperties> is not a fixed length value, and you can optionally write in values such as item size and these values will be stored in the Koha database for the item.
2607 .. note:: <itempropertiesok> is a single length character value which is either 0 or 1. 1 identifies that the <itemproperties> value defined in the item status update request message was successfully stored in the Koha database.
2611 This uses the request message prefix 23 and the response message prefix of 24.
2621 .. note:: The value displayed for <patronvalidity> is Y (valid) and N (invalid)
2622 The value in the <YYYYMMDD> < HHMMSS> is the current date/time.
2624 The reason for the gap between the two values is to define that you want to use localtime rather than UTC.
2627 **Patron enable - This is not yet supported. This uses the request message prefix of 25 and the response message prefix of 26**
2629 .. note:: This command undoes the block patron command.
2639 **Renew This uses the request message prefix of 29 and the response message prefix of 30**
2645 .. note:: * <thirdpartyallowed> is a single character value which is either Y or N. If it is Y then third parties can renew items.
2647 * <noblock> is a single character value which is either Y or N. If it is Y then this means that the item was checkin/out when the ACS was offline.
2649 * <nbduedate> is the transaction date of checkin/checkout when the ACS was offline.
2651 * <feeacknowledged> is a single character value which is either Y or N. This indicates if the user accepts the fee associated with the item they are renewing.
2657 .. note:: * <ok> is a single character value which is either 0 or 1. A value of 1 means the item was successfully renewed, 0 means item was not successfully renewed.
2659 * <renewalok> is a single character value which is either Y or N. The logic for the setting of the value of <renewalok> is Y is set when the item is already checkout by the user and so it should be desensitized thereby renewing it, whereas N is set if the item is not already checkout to the patron and so it should not be renewed.
2661 In other words don’t let patrons renew books when they are not currently checked out to them.
2663 * <magneticmedia> is a single character value which is either Y (for yes), N ( for no), or U (for unknown).
2665 * <mediatype> is a three numerical character long value. For a list of the values go to: http://multimedia.3m.com/mws/media/355361O/sip2-protocol.pdf
2670 This uses the request message prefix of 35 and the response message prefix of 36
2680 .. note:: <success_or_failure> is either Y for success or N for failure.
2682 **Fee Paid – May not be implemented yet. This uses a request message prefix of 37 and a response message prefix of 38**
2688 .. note:: * <feetype> is a two numerical character value which is between 01 and 99. To see a list of fee type values go to http://multimedia.3m.com/mws/media/355361O/sip2-protocol.pdf
2690 * <paymenttype> is a two character numerical value between 00 and 99. 00 is cash, 01 is Visa, and 02 is credit card.
2692 * <currencytype> is a 3 alphanumeric character long value identifying the currency the fee paid was in.
2698 .. note:: <paymentaccepted> is a single alphanumeric character long value which is either Y (payment has been accepted) or N (payment has not been accepted).
2701 **Patron information**
2703 This uses the request message prefix of 63 and the response message prefix of 64
2713 .. note:: <valid patron> is Y for valid and N for not valid.
2715 .. note:: <hold itemcount><overdueitemcount><chargeditemscount><fienitemscount><recallitemscount><unavaliableholdscount> are all 4 numerical character long values.
2719 This uses the request message prefix of 65 and the response message prefix of 66.
2729 .. note:: * <renewedcount> is a 4 numerical character long value denoting the number of items that were renewed.
2731 * <unrenewedcount>, has the same format as the <renewedcount> but it denotes the number of items not renewed.
2735 This uses the request message prefix of 93, and the response message prefix of 94.
2741 .. note:: <UIDalgorithm> and <PWDalgorithm> are one character long values indicating the type of algorithm to use to encrypt the loginuserid and loginpassword respectively.
2743 Writing in the value of 0 means these values will not be encrypted.
2746 *941* is a successful login.
2747 *940* is an unsuccessful login
2748 *[connection closed by foreign host.]* is a unsuccessful login
2753 This requests the receiving device to resend its last message.
2755 SC -> ACS resend request is *97*
2757 ACS -> SC resend request is *96*
2760 **Status of the ACS and SC**
2762 This has the request message prefix of 99 and the response message prefix of 98.
2769 .. note:: The status code is one of 3 values.
2771 * 1: SC is out of paper
2772 * 2: SC is shutting down
2773 max print width is a 3 character long value which is the integer number of characters the client can print
2774 Protocol version is a 4 character value in the format x.xx
2780 .. note:: If you get the response message ‘96’ this means that the request message is not valid/understood.
2783 **Troubleshooting SIP2**
2785 Can’t connect to remote host when writing in the command telnet localhost <portnumber>
2787 3 solutions for this issue to try are:
2789 1. Check the portnumber your writing in the above command is the port number written in the SIPconfig.xml file at the location indicated by the number 1.
2790 i.e. in the below example because the portnumber is 6001 the correct command would be:
2791 telnet localhost 6001
2793 2. Check if any userid is written more than once in the SIPconfig.xml file.
2794 The userid (which is simply the username of the Koha user) needs to be unique within the SIPconfig.xml file. If you have the same userid multiple times in your SIPconfig.xml file this will cause the connection to SIP2 to fail before you get a chance to authenticate.
2796 3. Check the account defined in the SIPconfig.xml file also exists in the Koha database with the same username, password and has circulate permissions.
2797 If you have dropped and recreated the Koha database after creating the patron account in the Koha staff interface and the SIPconfig.xml file then that patron account will not exist in the Koha database and so you will need to recreate them in the Koha staff interface.
2801 Further troubleshooting
2802 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2803 To access the SIP2 logs in your Koha home directory navigate to the following directory:
2804 /var/log/koha/<instancename>
2806 Then view the output of the sip-error.log and the sip-output.log files which give more detailed information about the SIP2 error.
2809 * cat sip-output.log
2812 **Useful links on SIP2 commands:**
2814 http://multimedia.3m.com/mws/media/355361O/sip2-protocol.pdf
2818 Integrating LDAP with Koha
2819 ==============================
2820 Setting up LDAP (Lightweight Directory Access Protocol) for Koha allows you to store all user information in a central database which is accessed both by your organisations Koha instance and for users to authenticate on other existing systems.
2822 LDAP is a protocol used for file discovery over networks and network authentication.
2824 LDAP configurations are powerful allowing you to customise how Koha and LDAP interact. LDAP can be configured so that new accounts created in LDAP can be synced down into the Koha database, additionally updates to the LDAP user account are synced down to the Koha database.
2826 However Koha cannot sync data up to the LDAP server, thus the data traffic when using LDAP is only one directional.
2828 Auth_By_Bind is set to 1 where a Microsoft Windows Active Directory system is in use in the LDAP database.
2830 **Before going through the steps to configure LDAP you will need the following
2831 information/actions from the organisation**
2833 * The organisation will need to open a port to allow access to their AD from the server.
2835 * Information on the access to the AD server (IP address/hostname, port, SSL info)
2837 * Information on the configuration of the AD server (relevant OUs, DCs, CN formats relative to usernames)
2839 * Mapping between AD fields and Koha fields, including defaults
2841 * Default values for things not provided by AD (categorycode, branchcode for example)
2843 * To authenticate a user do we bind as them (seems to be common for AD) or do we use an account and login with that and then check? If the latter, we'll need details of how to log in
2845 * Do the existing usernames in Koha match the usernames that we'll be using to look them up in AD? If so, good. If not, how will we deal with duplicate users?
2847 **Steps to set up LDAP with your Koha instance**
2850 1 In Linux terminal navigate to the directory containing the koha-conf.xml file which will either be in:
2851 * /etc/koha/sites/<instance-name>/
2855 2 Open the koha-conf.xml file with root permissions:
2856 sudo vi koha-conf.xml
2858 3 Scroll down to the line containing ‘<useldapserver>0</useldapserver>’ and change it to:
2859 <useldapserver>1</useldapserver>
2861 4 Then in the next line below write in the LDAP configurations below: Note all fields highlighted in yellow need to be replaced with the appropriate values for your organisations LDAP server.
2863 <ldapserver id="<ldapserverid>">
2865 <hostname><hostname></hostname>
2867 <base>dc=<domaincontroller>,dc=<domaincontroller></base>
2869 <user>cn=<nameofuser>, dc=<domaincontroller>,dc=<domaincontroller></user> <!--This is the username of user account with permissions to query the LDAP server -->
2871 <pass><password></pass> <!-- This is password of the user account with permissions to query the LDAP server-->
2873 <replicate><either0or1></replicate> <!-- add new users from LDAP to Koha database -->
2875 <update><either0or1></update> <!-- update existing users in Koha database -->
2877 <auth_by_bind><either0or1></auth_by_bind> <!-- set to 1 to authenticate by binding instead of password comparison, e.g., to use Active Directory -->
2879 <principal_name><principalname></principal_name> <!-- optional, for auth_by_bind: a printf format to make userPrincipalName from koha userid -->
2881 <mapping> <!-- match koha SQL field names to your LDAP record field names-->
2883 <firstname is="givenname"></firstname>
2885 <surname is="sn"></surname>
2887 <address is="postaladdress"></address>
2889 <city is="l">Athens, OH</city> <!-- Athens,OH is the default value for
2890 city of all users logging into Koha -->
2892 <zipcode is="postalcode"></zipcode>
2894 <branchcode is="branch">Central</branchcode>
2896 <userid is="uid"></userid>
2898 <password is="userpassword"></password>
2900 <email is="mail"></email>
2902 <categorycode is="employeetype">EM</categorycode>
2904 <phone is="telephonenumber"></phone>
2910 5 Save and exit the koha-conf.xml file
2912 6 Check the LDAP connection works by writing in:
2914 ldapsearch -H ldaps://host.name -s base -x -w "" -d 1
2917 .. note:: Note about hostname
2918 Hostname can either be a alphanumerical name or it can be the LDAP server IP address (its optional to write port number). By default the ldaps default port number is 636, whilst ldap default port number is 389
2921 .. note:: Note about the replicate and update fields
2922 The replicate LDAP config field for LDAP in the koha-conf.xml file allow the Koha database to be added to with a new borrower account whenever a user logs into Koha (either the staff client or OPAC) with their LDAP username and password (assuming the same username and password does not already exist in the Koha database).
2924 Whereas the update LDAP config field (in the same file allows) allows for user information in the LDAP database to be synced down to the Koha database.
2925 e.g. if someone gets married and their surname changes then the new surname only needs to be updated in the existing LDAP database and that will be synced down to the Koha database automatically if the update configuration is set to 1.
2928 About the mapping fields (the fields highlighted green)
2929 <city is="l">Athens, OH</city>
2931 The left hand column name (highlighted yellow) is the name of the column in the LDAP database.
2933 The column name inside quote marks (highlighted pink) is the name of the column in the Koha database. NOTE: This can be filled with any value if there is no equivalent column name in the Koha database as exists in the LDAP database.
2935 The value highlighted cyan is the default value for the specified Koha and LDAP columns. So in the above example all user records in the Koha and LDAP databases will by default have the city value of ‘Athens, OH’.
2937 Example of the LDAP configurations:
2939 <useldapserver>1</useldapserver><!-- see C4::Auth_with_ldap for extra configs you must add if you want to turn this on -->
2941 <ldapserver id="ldapserver" listenref="ldapserver">
2943 <hostname>ldaps://example.co.au</hostname>
2945 <base>ou=employees,dc=companya,dc=com,dc=au</base>
2947 <user></user> <!-- DN, if not anonymous -->
2949 <pass></pass> <!-- password, if not anonymous -->
2951 <auth_by_bind>1</auth_by_bind>
2953 <replicate>1</replicate> <!-- add new users from LDAP to Koha database -->
2955 <update>0</update> <!-- update existing users in Koha database -->
2957 <principal_name>ou=employees,dc=companya,dc=com,dc=au</principal_name>
2961 <userid is="uid" ></userid>
2963 <cardnumber is="uid" ></cardnumber>
2965 <email is="mail" ></email>
2967 <surname is="sn" ></surname>
2969 <firstname is="givenname" ></firstname>
2971 <categorycode is="1">EM</categorycode>
2973 <branchcode is="1">SYD</branchcode>
2981 The values in the mapping area are not always the same, and it depends on what is in your organisations LDAP database. For example some organisations do not use <userid> instead each user is only identified by the <email> field and so no <userid> is written.
2985 **Troubleshooting LDAP**
2987 The log that LDAP errors are printed to depends on several factors:
2989 If plack is not disabled then LDAP errors are displayed in the plack-error.log file
2990 If plack is disabled then the location that LDAP errors are printed to is either the opac-error.log file (if the user is logging into the OPAC) or the intranet-error.log file (if the user is logging into the staff client)
2991 All of these three log files are accessible in the following directory:
2993 /var/log/koha/<instance>/
2995 OCLC Connexion Gateway
2996 ======================
2998 Koha can be set to work with the OCLC Connextion Gateway. This allows
2999 libraries to use OCLC Connexion as their cataloging tool and simply send
3000 those records to Koha with a single click. The following instructions
3001 will help you set up the OCLC Connexion Gateway, if you have a system
3002 administrator you will want to consult with them on this process.
3004 `Setting up OCLC service on Koha <#oclckohasetup>`__
3005 ----------------------------------------------------
3007 First, you'll need to create a file somewhere on your system with
3008 configuration information. You could put this anywhere that is visible
3009 to the account that will be running the service.
3011 The file contains 11 lines. The first 6 will be about your Koha system:
3015 host: The IP address of your Koha server
3016 port: The port you want to use for the Connexion service. This port must be different from your SIP port, or any other service
3017 koha: The full URL of your staff client
3018 log: The location (full file specification) of your log for the service
3019 user: The default Koha username to use for importing
3020 password: The password that goes with that username
3022 The remaining lines describe how to do the staging:
3026 match: The name of the matching rule from your system to use
3027 overlay_action: "replace", "create_new", or "ignore"-- what to do if there is a match
3028 nomatch_action: "create_new" or "ignore"-- what to do if there is no match
3029 item_action: "always_add","add_only_for_matches","add_only_for_new", or "ignore" -- what to do with embedded 952 item data
3030 import_mode: "direct" or "stage"
3032 A sample file would look like this:
3038 log: /home/koha/koha-dev/var/log/connexion.log
3039 koha: http://kohastaff.myuniversity.edu
3040 user: koha_generic_staff
3043 overlay_action: replace
3044 nomatch_action: create_new
3048 When choosing an 'import\_mode' if you use "direct" then the staged
3049 record will be immediately imported into Koha, and should be searchable
3050 after your indexes catch up. If you choose "stage", then the record
3051 will be placed in a staged batch for you to later go the `Manage Staged
3052 MARC Records <#managestaged>`__ tool to finish the import.
3054 If you import multiple records, they'll be in the same batch, until that
3055 batch is imported, then a new batch will be created.
3057 In "direct" mode, each record will be in its' own batch.
3059 To start the service, run the script:
3063 /location/of/connexion/import/daemon/connexion_import_daemon.pl -d -c /location/of/config/file.cnf
3065 `Setting up your OCLC desktop client <#oclcdesktopsetup>`__
3066 -----------------------------------------------------------
3070 Screenshots are OCLC Connexion Client v.2.50, Koha v.3.12
3072 To set up the OCLC Connexion desktop client to connect to Koha, go to
3073 Tools > Options, then choose the Export tab. Connexion Export Tab
3075 - Click the "Create..." button to set up a new destination, then choose
3076 "OCLC Gateway Export" and click OK.
3078 - Enter the following information:
3080 - "Host Name:" Your catalog’s appropriate IP address (from your
3081 `config file above <#oclckohasetup>`__)
3083 - "Port:" Your catalog's appropriate port number (from your
3084 `config file above <#oclckohasetup>`__)
3086 - "Login ID:" The cataloger's Koha login
3088 - "Password:" The cataloger's Koha password
3090 - "Notify Host Before Disconnect" = checked,
3092 - "Timeout" = 100, "Retries" = 3, "Delay" = 0 (zero),
3094 - "Send Local System Logon ID Password" = checked.
3096 OCLC Gateway Export Settings
3099 - Select "OK" when finished, and you should see your new "Gateway
3100 Export" option listed (The catalog's IP address and port are blacked
3101 out in the following screenshot)
3103 Gateway Export Added
3105 - Click on "Record Characteristics" and make sure that the
3106 bibliographic records are using MARC21, UTF-8 Unicode, and click OK
3109 Record Characteristics
3111 You should be ready to go! To export a record from OCLC Connexion
3112 Client to Koha, just press F5 while the record is on-screen. The export
3113 dialog will pop up, and you'll see Connexion attempting to talk to Koha.
3114 You should get a message that the record was added or overlaid,
3115 including its biblio number, and a URL that you can copy into your web
3116 browser to jump straight to the record.
3118 `Using the OCLC Connexion Gateway <#oclcgateway>`__
3119 ---------------------------------------------------
3121 Records can be exported from Connexion either in a batch or one by one.
3123 `Exporting records one by one <#oclconeexport>`__
3124 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3126 To export bibliographic records one by one, be sure your "Batch" options
3127 are correct: from the "Tools" menu, select "Options", and select the
3128 "Batch" tab. In the "Perform local actions in batch" area,
3129 "Bibliographic Record Export" should be uncheckedConnexion batch options
3131 When ready to export, from the "Action" menu, select "Export" or use the
3132 F5 key. You will see a screen similar to the following if the import is
3133 successful and if the record is new to the Catalog; you may copy & paste
3134 the resulting URL into your Koha catalog to see the new record.Connexion
3137 If the record was overlaid, you will see a message to that effect in the
3138 "OCLC Gateway Export Status" windowOverlay confirmation
3140 `Exporting records in a batch <#oclcbatchexport>`__
3141 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3143 To export bibliographic records in a batch, be sure your "Batch" options
3144 are correct: from the "Tools" menu, select "Options", and select the
3145 "Batch" tab. In the "Perform local actions in batch" area,
3146 "Bibliographic Record Export" should be checkedOCLC Batch Export Options
3148 When a record is ready to export, from the "Action" menu, select
3149 "Export" or use the F5 key, and it’s export status will be "ready."
3151 When ready to export the batch, from the "Batch" menu, select "Process
3152 batch" and check the appropriate "Path" and "Export" boxesBatch import
3155 The export will begin, and the bib records will be exported & imported
3156 into Koha one by one; you will see "OCLC Gateway Export Status" windows,
3157 as above, showing you the results of each export. That window will stay
3158 there until you select "Close," and then the next record’s export/import
3159 will begin. The process will continue until all records in the batch are
3160 completed. Then you may or may not see the Connexion Client export
3161 report (depending on your Client options for that).
3163 `Items in OCLC <#oclcitems>`__
3164 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3166 If you'd like to create your item records in OCLC you can do so by
3167 addding a 952 for each item to the bib record you're cataloging. The
3168 `Item/Holdings Cataloging Guide <#itemcatguide>`__ will break down what
3169 subfields you can use in the 952, but at the minimum you want to have
3170 subfield 2, a, b, and y on your items.
3173 \\\\$2CLASSIFICATION$aHOMEBRANCHCODE$bHOLDINGBRANCHCODE$yITEMTYPECODE
3175 - The subfield 2 holds the classification code. This can be ddc for
3176 Dewey or lcc for Library of Congress or z for Custom. Other
3177 classification sources can be found in the `Classification
3178 Sources <#classificationsources>`__ area in administration
3180 - Subfield a is your home library and needs to be the code for your
3181 home library, not the library name. You can find these codes in the
3182 `Libraries & Groups <#libsgroups>`__ administration area.
3184 - Subfield b is your holding library and needs to be the code for your
3185 holding library, not the library name. You can find these codes in
3186 the `Libraries & Groups <#libsgroups>`__ administration area.
3188 - Subfield y is your item type code. It needs to be the code, not the
3189 item type name. You can find these codes in the `Item
3190 Types <#itemtypeadmin>`__ administration area.
3192 952 \\\\$2ddc$aMAIN$bMAIN$yBOOK
3194 In addition to these required fields you can enter any other subfield
3195 you'd like. Most libraries will enter a call number in subfield o and a
3196 barcode in subfield p as well. Review the `Item/Holdings Cataloging
3197 Guide <#itemcatguide>`__ for a full list of subfields and values.
3202 `Display <#displayfaq>`__
3203 -------------------------
3205 `Custom Item Type/Authorized Value Icons <#customicons>`__
3206 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3208 **Question:** Can I have my own set of item type images (or authorized
3211 **Answer:**\ Absolutely. To add additional icons to your system you
3212 simply add a new directory to
3213 koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/ and to
3214 koha-tmpl/opac-tmpl/prog/itemtypeimg and put your icons in the new
3215 directory. Your icons will show up in a new tab as soon as they are in
3220 Remember to put the icons in both places (on the OPAC and the
3223 `Customizing Koha Images <#customkohaimages>`__
3224 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3226 **Question**: Can I customize the images in the OPAC?
3228 **Answer**: Absolutely. Koha comes with a series of original images that
3229 you can alter to meet your needs. The originals can be found in the
3230 misc/interface\_customization/ directory.
3232 `OPAC Display Fields <#opacdisplayfaq>`__
3233 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3235 **Question**: What MARC fields print to the different OPAC screens in
3238 **Answer**: The XSLT preference must be set as follows for the following
3241 - `OPACXSLTResultsDisplay <#OPACXSLTResultsDisplay>`__ = using XSLT
3244 - `OPACXSLTDetailsDisplay <#OPACXSLTDetailsDisplay>`__ = using XSLT
3247 - `DisplayOPACiconsXSLT <#DisplayOPACiconsXSLT>`__ = show
3249 The OPAC Results page shows:
3265 The OPAC Details page shows:
3307 - plus all of the 5xx fields in the Notes tab at the bottom
3309 `Subtitle Display on Bib Records <#displaysubtitle>`__
3310 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3312 **Question**: How do I get the subtitle to display on the detail pages
3315 **Answer**: Subtitle display now depends on there being a `keyword
3316 mapping <#keywordmapping>`__ for the MARC field in question. Adding a
3317 mapping for "subtitle" -> "245b" for an item's framework results in
3318 display of the subtitle in OPAC and staff client search and detail pages
3319 (although not in all instances where subtitles might be displayed, e.g.
3322 `Show patrons the barcodes of items they have checked out <#opacbarcodesfaq>`__
3323 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3325 **Question**: Can patrons see the barcodes for the items they have
3328 **Answer**: Not by default, but with a few edits to the patron record
3329 you can make a barcode column appear on the patron's check out summary
3330 in the OPAC. You can set up a `patron
3331 attribute <#patronattributetypes>`__ with the value of SHOW\_BCODE and
3332 `authorized value <#authorizedvalues>`__ of YES\_NO to make this happen.
3334 Add SHOW\_BCODE patron attribute
3337 Then on the `patron's record set the value <#editpatrons>`__ for
3340 Setting value for SHOW\_BCODE on patron record
3343 This will add a column to the check out summary in the OPAC that shows
3344 the patrons the barcodes of the items they have checked out.
3346 Barcode number on checkout list in OPAC
3349 Clicking on the 'Overdue' tab will show only the items that are overdue.
3351 `Circulation/Notices <#circfaq>`__
3352 ----------------------------------
3354 `Book drop Date <#dropboxfaq>`__
3355 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3357 **Question**: How is the book drop date is determined? Is it the last
3358 open date for the checkout branch? Is it today's date minus one? Can the
3359 book drop checkin date be set?
3361 **Answer**: If the library is closed for four days for renovations, for
3362 example, there would be more than one day needed for the book drop date.
3363 You will only have one book drop date and that will be the last day that
3364 the library open (determined by the holiday calendar) because there is
3365 no real way to know what day the books were dropped into the box during
3366 the 4 closed days. The only way to change the effective checkin date in
3367 book drop mode is to modify the calendar.
3369 `Holds to Pull and Holds Queue <#holdsreportsfaq>`__
3370 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3372 **Question**: What is the difference between the `Holds
3373 Queue <#holdsqueue>`__ and `Holds to Pull <#holdspull>`__?
3375 **Answer**: The holds to pull report gives a simple list of what holds
3376 need to be filled with available items. It should only be used in Koha
3377 installations where there is only one library.
3379 The holds queue tries to do the same thing, but in a 'smarter' way. This
3380 allows it to split up the list by library, consult the `transport cost
3381 matrix <#transportcostmatrix>`__ and refresh regularly to provide
3382 different pull lists to each library.
3384 `Duplicate Overdue Notices <#dupoverduefaq>`__
3385 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3387 **Question**: Why are patrons getting two overdue notices?
3389 **Answer**: This tool takes all branches in the overdue rules and sent
3390 notifications to them. So, if you have a default rule & a branch rule,
3391 the notification will be generated twice. A quick fix is to discard
3392 "default rule" for instance.
3394 `Printing Overdue Notices <#printoverduefaq>`__
3395 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3397 **Question**: Can I print overdue notices for patrons without email
3400 **Answer**: Yes. The `overdue notice cron job <#overduenoticecron>`__
3401 has a setting to generate the overdue notices as HTML for printing. An
3402 example of this usage would be:
3406 overdue_notices.pl -t -html /tmp/noticedir -itemscontent issuedate,date_due,title,barcode,author
3408 In this example, we wanted to use only certain item fields in our
3409 notices, so we specified itemscontent fields in the cron entry; that's
3410 not a requirement for the feature.
3412 The command line needs to specify a web-accessible directory where the
3413 print notices will go -- they get a filename like
3414 notices-2009-11-24.html (or holdnotices-2009-11-24.html). The overdue
3415 notice itself can be formatted to fit a Z-mailer. Within the notice
3416 file, the text is spaced down or over to where it will print properly on
3417 the form. The script has code that wraps around the notice file to tell
3418 the HTML to obey the formatting, and to do a page break between notices.
3419 That's so that when staff print it out, they get one per page. We had to
3420 add an extra syspref (`PrintNoticesMaxLines <#PrintNoticesMaxLines>`__)
3421 to specify page length because our client allows a \_lot\_ of checkouts
3422 which meant some notices were running onto multiple pages. That syspref
3423 says to truncate the print notice at that page length and put in a
3424 message about go check your OPAC account for the full list.
3426 The print and email overdues use the same notice file. The print notices
3427 for holds are different -- there's a separate HOLD\_PRINT notice file
3428 and the system uses it if there's no email address. Then a nightly cron
3429 job runs to gather those up from the message queue and put them in an
3430 HTML file in the notice directory, as above.
3432 The cron entry is gather\_print\_notices.pl /tmp/noticedir
3434 `Unable to Renew Items <#renewfaq>`__
3435 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3437 **Question**: We're trying to renew some items for our patron. One of
3438 the items is on hold and ineligible for renewal, but the other two items
3439 refuse to renew even though they should be eligible. When I try to use
3440 the override renewal limit, it just returns a little message that says
3441 "renewal failed". Any idea what's going on here?
3443 **Answer**: At the very least you will need to set an absolute `default
3444 circulation rule <#circfinerules>`__. This rule should be set for the
3445 default itemtype, default branchcode and default patron category. That
3446 will catch anyone who doesn't match a specific rule. Patrons who do not
3447 match a specific rule will get blocked from placing holds or renewing
3448 items, since there was no baseline number of holds or renewals to
3451 `Unable to Place Holds <#holdsfaq>`__
3452 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3454 **Question**: Why can't I place holds when I have all of the preferences
3457 **Answer**: You probably need to set a default circulation rule. At the
3458 very least you will need to set an default circulation rule. This rule
3459 should be set for all item types, all branches and all patron
3460 categories. That will catch all instances that do not match a specific
3461 rule. When checking out if you do not have a rule for the default
3462 branch, default item and default patron category then you may see
3463 patrons getting blocked from placing holds.
3465 `Keyboard Shortcuts <#keyboardshort>`__
3466 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3468 **Question**: Do I have to use my mouse to access the checkout, checkin
3469 and cataloging tabs at the top of the circulation pages?
3471 **Answer**: You can jump between the tabs on the quick search box at the
3472 top of the screen by using the following hot keys (if the tab is
3475 - jump to the catalog search with Alt+Q
3477 - jump to the checkout with Alt+U
3479 - this will not work for Mac user
3481 - jump to the checkin with Alt+R
3485 Mac users use the OPTION button in place of ALT
3487 `SMS Notices/Messages <#smsnoticefaq>`__
3488 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3490 **Question**: I want Koha to send notices via SMS, what do I need to do?
3492 **Answer**: First you need to choose a SMS service to use with Koha.
3493 There is a list available here:
3494 http://search.cpan.org/search?query=sms%3A%3Asend&mode=all Not all SMS
3495 services available to libraries have Perl drivers, so be sure to check
3496 this list to see if the provider you're considering is listed. If not
3497 you want to ask your provider if they have a Perl module, if not you
3498 should consider another service. Some common options in the US (that
3499 have Perl drivers) are:
3501 - AQL (`www.aql.com <http://www.aql.com>`__)
3503 - Wadja (`wadja.com <http://wadja.com>`__)
3505 - Ipipi (`ipipi.com <http://ipipi.com>`__)
3509 - SMSDiscount (`smsdiscount.com <http://smsdiscount.com>`__)
3513 **Question**: What about in India?
3515 **Answer**: India does not yet have too many options here. This is
3516 partly due to the Telecom regulatory authority's (TRAI) stipulations
3517 about transactional SMSes and limits on the number of SMSes that may be
3518 sent / received per users per day. India specific drivers include:
3520 - Unicel Technologies Pvt Ltd (`unicel.in <http://unicel.in>`__)
3522 `Cataloging <#catfaq>`__
3523 ------------------------
3525 `Authority Fields <#authorityfaq>`__
3526 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3528 **Question:**\ Why can't I edit 1xx, 6xx, or 7xx fields in my catalog
3531 **Answer:** These fields are authority controlled and you probably have
3532 the `BiblioAddsAuthorities <#BiblioAddsAuthorities>`__ set to "Don't
3533 allow". When it is set to "Don't allow" these fields will be locked and
3534 require you to search for an existing authority record to populate the
3535 field with. To allow typing in these authority fields set
3536 `BiblioAddsAuthorities <#BiblioAddsAuthorities>`__ to 'Allow'.
3540 Fields affected by this preference will show a lock symbol in them
3542 Fields affected by this preference show a lock in the field
3545 `Koha to MARC Mapping <#kohamarcfaq>`__
3546 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3548 **Question**: What's the relationship between 'Koha to MARC Mapping' and
3549 'MARC Bibliographic Frameworks'?
3551 **Answer**: Mapping can be defined through 'MARC Bibliographic
3552 Frameworks' OR 'Koha to MARC Mapping'. 'Koha to MARC Mapping' is just a
3553 shortcut to speed up linkage. If you change a mapping in one of these
3554 modules, the mapping will change in the other as well. (In other words,
3555 the two modules 'overwrite' each other in order to prevent conflicts
3556 from existing in Koha).
3558 `Number of Items Per Bib Record <#itemsperbibfaq>`__
3559 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3561 **Question**: Is there a limit on the number of items I can attach to a
3564 **Answer**: There is no explicit limit to the number of items you can
3565 attach to a bibliographic record, but if you attach enough of them, your
3566 MARC record will exceed the maximum file size limit for the ISO 2709
3567 standard, which breaks indexing for that record. I've found this occurs
3568 somewhere between 600 and 1000 items on a 'normal' bibliographic record.
3570 `Analytics <#analyticsfaq>`__
3571 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3573 **Question**: I am using the
3574 `EasyAnalyticalRecords <#EasyAnalyticalRecords>`__ feature, but my links
3575 in the OPAC and Staff Client to 'Show Analytics' are not working.
3577 **Answer**: If you plan on using
3578 `EasyAnalyticalRecords <#EasyAnalyticalRecords>`__ you will want to make
3579 sure to set your `UseControlNumber <#UseControlNumber>`__ preference to
3580 "Don't use," this will prevent broken links.
3582 `Acquisitions <#acqfaq>`__
3583 --------------------------
3585 `Planning Categories <#planningcatfaq>`__
3586 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3588 **Question**: What is a planning category?
3590 **Answer**: When you plan in advance for the way your budget is going to
3591 be spent, you initially plan for how it's going to be spent over time,
3592 that's the most natural thing to do.
3594 So you plan for $1000 in Jan. $1000 in Feb., $3000 in March, etc. You
3595 can basically do the same thing with a list of values in lieu of the
3598 Say you have a list like this one:
3612 The list is meant to represent when the books acquired where published.
3613 Then you plan for it, saying: we went to spend at list 40% of our
3614 budgets on books published less than a year ago, 10% on books more than
3617 Upon acquiring new material, you'll be able to select, for a given item,
3618 a value from this list in a drop down. Then, after the material has been
3619 acquired, at the end of the year, you'll be able to compare the goals
3620 set, with what's been achieved.
3622 `Serials <#serialsfaq>`__
3623 -------------------------
3625 `Advanced Patterns <#advancedpatternfaq>`__
3626 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3628 **Question**: What is the 'inner counter' on the advanced serials
3631 **Answer**: I think it is better to give an example to understand this :
3633 Example for a monthly subscription :
3635 - First issue publication date : April 2010
3637 - Numbering : No {X}, year {Y}
3639 - First issue : No 4, year 2010
3641 For the year Y : you will want the year change on January 2011
3643 So, the advanced pattern for Y will be :
3649 - When more than 9999999
3657 Year is going to change after 12 received issues from April 2010, that
3658 is in April 2011 if you don't set inner counter. Set inner counter to 3
3659 will say to Koha : change year after 12-3 = 9 received issues.
3661 Inner counter says to Koha to take into account the first issues of the
3662 year, even if they are not received with Koha. If you begin with first
3663 issue of the year write nothing or 0.
3665 `Reports <#reportsfaq>`__
3666 -------------------------
3668 `Define Codes Stored in DB <#accounttypefaq>`__
3669 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3671 `Fines Table <#finescodefaq>`__
3672 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3674 **Question:** What do the codes in the accounttype field in the
3675 accountlines table stand for?
3679 - A = Account management fee
3687 - FU = Overdue, still acccruing
3691 - LR = Lost item returned/refunded
3701 `Statistics Table <#statscodefaq>`__
3702 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3704 **Question:**\ What are the possible codes for the type field in the
3711 - Registers if an item that had been checked out to a statistics
3712 patron (category type = 'X') is returned
3726 - The XXX stores different types of fee credits, so a query to catch
3727 them all would include a clause like "type LIKE 'Credit%'"
3729 `Reserves Table <#rescodefaq>`__
3730 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3732 **Question**: What are the possible codes for the found field in the
3733 reserves and old\_reserves tables?
3737 - NULL: means the patron requested the 1st available, and we haven't
3740 - T = Transit: the reserve is linked to an item but is in transit to
3743 - W = Waiting: the reserve is linked to an item, is at the pickup
3744 branch, and is waiting on the hold shelf
3746 - F = Finished: the reserve has been completed, and is done
3748 `Reports Dictionary Table <#reportdicfaq>`__
3749 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3751 **Question**: What are the possible codes for the area field in the
3752 reports\_dictionary table?
3766 `Messages Table <#msgtablefaq>`__
3767 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3769 **Question**: What are the possible codes for the message\_type field in
3774 - L = For Librarians
3776 - B = For Patrons/Borrowers
3778 `Serial Table <#serialtablefaq>`__
3779 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3781 **Question**: What are the possible codes for the status field in the
3802 - 41 = Missing (not received)
3804 - 42 = Missing (sold out)
3806 - 43 = Missing (damaged)
3808 - 44 = Missing (lost)
3810 `Borrowers Table <#borrowerprivacyvalues>`__
3811 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3813 **Question**: What are the possible codes for the privacy field in the
3824 `Messaging Preferences <#messpreffaq>`__
3825 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3827 **Question**: What are the possible codes in the message\_attribute\_id
3828 field in the borrower\_message\_preferences table?
3832 - 2 = advanced notice
3842 `Runtime Parameters <#runtimefaq>`__
3843 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3845 **Question**: Is there a way to filter my custom SQL reports before they
3848 **Answer**: If you feel that your report might be too resource intensive
3849 you might want to consider using runtime parameters to your query.
3850 Runtime parameters basically make a filter appear before the report is
3851 run to save your system resources.
3853 There is a specific syntax that Koha will understand as 'ask for values
3854 when running the report'. The syntax is <<Question to
3855 ask\|authorized\_value>>.
3857 - The << and >> are just delimiters. You must put << at the beginning
3858 and >> at the end of your parameter
3860 - The 'Question to ask' will be displayed on the left of the string to
3863 - The authorized\_value can be omitted if not applicable. If it
3864 contains an authorized value category, or branches or itemtype or
3865 categorycode or biblio\_framework, a list with the Koha authorized
3866 values will be displayed instead of a free field Note that you can
3867 have more than one parameter in a given SQL Note that entering
3868 nothing at run time won't probably work as you expect. It will be
3869 considered as "value empty" not as "ignore this parameter". For
3870 example entering nothing for : "title=<<Enter title>>" will display
3871 results with title='' (no title). If you want to have to have
3872 something not mandatory, use "title like <<Enter title>>" and enter a
3873 % at run time instead of nothing
3877 - SELECT surname,firstname FROM borrowers WHERE branchcode=<<Enter
3878 patrons library\|branches>> AND surname like <<Enter filter for
3879 patron surname (% if none)>>
3881 - SELECT \* FROM items WHERE homebranch = <<Pick your
3882 branch\|branches>> and barcode like <<Partial barcode value here>>
3884 - SELECT title , author FROM biblio WHERE frameworkcode=<<Enter the
3885 frameworkcode\|biblio\_framework>>
3889 To generate a date picker calendar to the right of the field when
3890 running a report you can use the 'date' keyword like this: <<Enter
3898 You have to put "%" in a text box to 'leave it blank'. Otherwise, it
3899 literally looks for "" (empty string) as the value for the field.
3903 In addition to using any authorized value code to generate a
3904 dropdown, you can use the following values as well: Framework codes
3905 (biblio\_framework), Branches (branches), Item Types (itemtypes) and
3906 Patron Categories (categorycode). For example a branch pull down
3907 would be generated like this <<Branch\|branches>>
3912 `Results Limited <#reportlimitfaq>`__
3913 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3915 **Question**: When I download my report it's limited to 10,000 results,
3916 how do I get all of the results to download?
3918 **Answer**: There is a limit of 10,000 records put on SQL statements
3919 entered in Koha. To get around this you want to add 'LIMIT 100000' to
3920 the end of your SQL statement (or any other number above 10,000.
3922 `Searching <#searchfaq>`__
3923 --------------------------
3925 `Advanced Search <#advancedsearchfaq>`__
3926 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3928 `Scan Indexes <#scanindexfaq>`__
3929 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3931 **Question**: What does 'scan indexes' on the advanced search page mean?
3933 **Answer**: When you choose an index, enter a term, click 'scan indexes'
3934 and do the search, Koha displays the searched term and the following
3935 terms found in this index with the number of corresponding records That
3936 is search is not made directly in the catalog, but first in the indexes
3937 It works only for one index at once, and only with no limit in Location
3938 (All libraries needed)
3940 `Searching for Terms that Start With a Character <#searchstartswith>`__
3941 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3943 **Question**: How do I search for all titles that start with the letter
3946 **Answer**: You can choose to search for things that start with a
3947 character or series of characters by using the CCL 'first-in-subfield'
3949 - example: ti,first-in-subfield=C
3951 `Wildcard Searching <#wildcardsearchfaq>`__
3952 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3954 **Question**:What is the difference between a keyword search using the
3955 '\*' (asterisk) versus a keyword search using the '%' (percent)? Both
3956 work in the catalog, but return different sets. Why?
3958 **Answer**: A wildcard is a character (\*,?,%,.) that can be used to
3959 represent one or more characters in a word. Two of the wildcard
3960 characters that can be used in Koha searches are the asterisk ('\*') and
3961 the percent sign ('%'). However, these two characters act differently
3962 when used in searching.
3964 The '\*' is going to force a more exact search of the first few
3965 characters you enter prior to the '\*'. The asterisk will allow for an
3966 infinite number of characters in the search as long as the first few
3967 characters designated by your search remain the same. For example,
3968 searching for authors using the term, Smi\*, will return a list that may
3969 include Smith, Smithers, Smithfield, Smiley, etc depending on the
3970 authors in your database.
3972 The '%' will treat the words you enter in the terms of "is like". So a
3973 search of Smi% will search for words like Smi. This results in a much
3974 more varied results list. For example, a search on Smi% will return a
3975 list containing Smothers, Smith, Smelley, Smithfield and many others
3976 depending on what is your database.
3978 The bottom line in searching with wildcards: '\*' is more exact while
3979 '%' searches for like terms.
3981 `Title Searching <#titlesearchingfaq>`__
3982 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3984 **Question**: Why does my Zebra title search for 'Help' not turn up 'The
3985 help' in the first pages of results?
3987 **Answer**: When doing a title search, you actually want to search for
3988 the title (i.e., 'the help' rather than just 'help'), and it will bubble
3989 right up to the top. If you're just searching for 'help' then the
3990 relevance ranking is going to affect the results you see.
3992 When it comes to relevance in Zebra, here's what's happening. First, the
3993 search is done. If you search for the title "help", then any title that
3994 has "help" in it comes back. Then from those records, separately, it
3995 does relevance on the \*whole\* record. The more your word appears, the
3996 more relevant, and some MARC tags are worth more points than others. So
3997 a self-help book with 505 notes where "help" appears a \*lot\* will be
3998 at the top, regardless of keyword or title.
4000 But when you add a \*second word\*, that helps it figure things out, as
4001 it's weighing the relevance of both words and the phrase. Because of the
4002 way relevance works, if you search "the help", then "the help" or "the
4003 help I need" are more relevant than "the way to help", because they
4004 appear together in order. Likewise, "help the girl" would be lower
4005 relevance, because it's out of order, and "help for the homeless" would
4006 be lower still, as they're out of order, and apart.
4008 The moral of the story is that single word searches, particularly on
4009 common words, will always struggle a bit; it can't evaluate relevance
4010 well, because you've not given it enough input.
4012 `Enhanced Content <#enhancedcontentfaq>`__
4013 ------------------------------------------
4015 `FRBRizing Content <#frbrfaq>`__
4016 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4018 **Question:**\ At our public library we are running a Koha installation
4019 and we've tried to turn on all the nice functionalities in Koha such as
4020 the frbrising tool, but do not get the same result as Nelsonville public
4023 **Answer:**\ In fact, this feature is quite tricky to make that right.
4024 First it looks at XISBN service. And then search in your database for
4025 that ISBN. So both XISBN and your internal ISBN (in biblio table) have
4026 to be normalized. You could therefore use the script
4027 misc/batchupdateISBNs.pl (it removes all the - in your local ISBNs)
4029 `Amazon <#amzfaq>`__
4030 ~~~~~~~~~~~~~~~~~~~~
4032 `All Amazon Content <#amazonfaq>`__
4033 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4035 **Question**: I have all of the Amazon preferences turned on and have
4036 entered both of my keys, but none of the content appears in my system,
4039 **Answer**: Amazon's API checks your server time on all requests and if
4040 your server time is not set properly requests will be denied. To resolve
4041 this issue be sure to set your system time appropriately. Once that
4042 change in made Amazon content should appear immediately.
4044 On Debian the the command is *date -s "2010-06-30 17:21"* (with the
4045 proper date and time for your timezone).
4047 `System Administration <#systemfaq>`__
4048 --------------------------------------
4050 `Errors in Zebra Cron <#zebracronfaq>`__
4051 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4053 **Question**: I am noticing some errors in the
4054 koha-zebradaemon-output.log file. When new records are added it takes a
4055 bit longer to index than we think they should. Running rebuild zebra is
4056 often faster. Zebra ends up indexing and search works, but I am
4057 concerned about the errors. Any ideas?
4059 **Answer**: Rebuild\_zebra.pl -r deletes all of the files in the Zebra
4060 db directories (such as reci-0.mf) and then recreates them. Thus,
4061 permissions will be lost, and the files will be owned by the user who
4062 ran rebuild\_zebra.pl. If one rebuilds the zebra indexes as root, the
4063 daemons, which typically run under the user Koha, will not be able to
4064 update the indexes. Thus, it's important then that the zebra rebuilds
4065 are put in the cronjob file of the user Koha, and not root. Also
4066 important is that other users, such as root, don't manually execute
4069 If one desires that another user be able to execute rebuild\_zebra.pl,
4070 he should be given the permission to execute 'sudo -u Koha
4071 .../rebuild\_zebra.pl,' (if you want to do this, you also have to edit
4072 the sudoers file to pass the PERL5LIB variable with the env\_keep option
4073 as by default sudo strips away almost all environment variables). Or, as
4074 root user, one can use a simple 'su koha' and then the rebuild\_zebra.pl
4077 I've also tried to set the sticky bit on rebuild\_zebra.pl, but for
4078 whatever reason it didn't seem to work due to some problem with the
4079 PERL5LIB variable that I wasn't able to figure. That seems to me the
4080 easiest thing to do, if anybody has any idea how to make it work. If it
4081 worked and were the default, I think it would help folks to avoid a
4082 great deal of the problems that come up with zebra.
4084 `Making Z39.50 Target Public <#publicztarget>`__
4085 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4087 **Question**: Could someone tell me the exact steps I need to take to
4088 configure Zebra to expose my Koha 3 db as a public Z39.50 service?
4090 **Answer**: Edit the KOHA\_CONF file that your Koha is using. Uncomment
4091 the publicserver line like:
4093 <!-- <listen id="publicserver" >tcp:@:9999</listen> -->
4097 <listen id="publicserver" >tcp:@:9999</listen>
4099 Then restart zebasrv and connect on the port specified (9999).
4101 `Shelving Location Authorized Values <#authvalfaq>`__
4102 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4104 **Question**: When editing an item, the new shelving location I created
4105 is not showing up by default in the items where I assigned it to.
4107 **Answer**: This is because you created the new shelving location with a
4108 code value of 0 (zero) Just FYI the system interprets authorized values
4109 of 0 as equaling a null so when you edit a record in cataloging where
4110 the authorized value in a field was assigned where the code was 0, the
4111 value displays as null in the item editor (or MARC editor) instead of
4112 the value the library meant it to be.
4114 `Why do I need Authorized Values? <#whyauthvals>`__
4115 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4117 **Question**: Why would I want to define authorized values for MARC
4120 **Answer**: Authorized Values create a 'controlled vocabulary' for your
4121 staff. As an example, let us assume that your Koha installation is used
4122 by several libraries, and you use MARC 21. You might want to restrict
4123 the 850a MARC subfield to the institution codes for just those
4124 libraries. In that case, you could define an authorized values category
4125 (perhaps called "INST") and enter the institution codes as the
4126 authorized values for that category.
4130 Koha automatically sets up authorized value categories for your item
4131 types and branch codes, and you can link these authorized values to
4132 MARC subfields when you set up your MARC tag structure.
4134 `How do I clean up the sessions table? <#sessionstblfaq>`__
4135 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4137 **Question**: Is there a periodic job that can be run to cull old
4138 sessions from the table? We don't want to backup all the useless session
4141 **Answer**: You can run `cleanup database cron job <#cleandbcron>`__.
4143 Or just before doing a backup command (mysqldump), you can truncate
4148 mysql -u<kohauser -p<password <koha-db-name -e 'TRUNCATE TABLE sessions'
4150 `Hardware <#hardwarefaq>`__
4151 ---------------------------
4153 `Barcode Scanners <#barcodefaq>`__
4154 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4156 **Question**: What barcode scanners have been known to work with Koha?
4158 **Answer**: The simple rule of thumb is, does it act like a keyboard
4159 device?, if so, it will work. (i.e. can you take the scanner, scan a
4160 barcode and have it show up in a text editor, if so, it will work.)
4162 The main points to check are that it connects to your PC conveniently
4163 (can be USB or "keyboard wedge" which means it connects in line with the
4164 keyboard, which is useful with older computers), and that it scans the
4165 barcode type that you are using.
4167 It is a good idea to test some 'used' barcodes if you have any, to see
4168 whether the scanner can read scuffed or slightly wrinkled ones
4169 successfully. Most scanners are capable of reading several barcode types
4170 - there are many, and the specification should list the ones it can
4171 read. You may need to adjust settings slightly, such as prefix and
4172 suffix characters, or whether you want to send an 'enter' character or
4175 One more tip - some can be set 'always on' and may come with a stand,
4176 some have triggers under the handle, some have buttons on top, some are
4177 held like a pen. Think about the staff working with the hardware before
4178 choosing, as a button in the wrong place can be very awkward to use.
4180 `Printers <#printersfaq>`__
4181 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
4183 `Printers used by Koha libraries <#kohaprinters>`__
4184 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4186 - POS-X receipt printer
4188 - Star Micronics printer (exact model unknown) with a generic/plain
4191 - Star SP2000 (Nelsonville)
4193 - Star TSP-100 futurePRINT (Geauga)
4195 - "I know there have been a lot of questions on receipt printers so
4196 I thought I'd pass on my findings. We have been testing the Star
4197 TSP-100 futurePRINT. I found this print to be VERY easy to
4198 configure for Koha. I was even able to customize the print job by
4199 adding our system logo (a .gif) to the top of every receipt. Also
4200 with a bitmap created in Paint was able to add a message at the
4201 bottom of each receipt with the contact information, hours and
4202 website for the library that the materials were checked out at."
4204 - Epson TM 88 IIIP thermal receipt printers
4208 - 1x1 labels using a Dymolabelwriter printer
4210 `Braille Support <#braillefaq>`__
4211 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4213 **Question**: Are there any braille embosser or printer which has
4214 inbuilt braille converter and it is accessible with UNIX environment?
4216 **Answer**: You may want to look into BRLTTY
4217 (http://www.emptech.info/product_details.php?ID=1232).
4219 `Additional Support <#hardwaresupport>`__
4220 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4222 - http://www.nexpresslibrary.org/go-live/configure-your-receipt-printers/
4227 `Amazon lookup script for Koha libraries <#amzlookup>`__
4228 --------------------------------------------------------
4230 We order most of our materials from Amazon, so I've been looking for a
4231 convenient way to tell if a book under consideration is in our catalog
4234 Greasemonkey & a custom user script fit the bill nicely:
4236 - https://addons.mozilla.org/en-US/firefox/addon/748
4238 - http://userscripts.org/scripts/show/56847
4242 - Like most scripts, this one was designed to work with Firefox; I
4243 haven't explored getting it to work with other browsers.
4245 - I'm not a JavaScript programmer -- this was adapted from others'
4246 work. Just a few lines would have to be changed to get the script to
4247 work with your catalog.
4249 - It depends on the existence of ISBN for the item in question, so
4250 movies, older books, etc. would not work.
4252 Others have added all sorts of bells & whistles: XISBN lookups to search
4253 for related titles, custom messages based on the status of items (on
4254 order, on hold, etc.), ... just search the UserScripts site for Amazon +
4255 library. For a later date!
4257 `Keyword Clouds <#extendkeywordclouds>`__
4258 -----------------------------------------
4260 In addition to the traditional tag cloud available in Koha, there is a
4261 way to generate clouds for popular subjects within Koha.
4263 The `Author/Subject Cloud cron job <#keywordclouds>`__ is used to help
4264 with this process. This cron job sends its output to files.
4266 - /home/koha/mylibrary/koharoot/koha-tmpl/cloud-author.html
4268 - /home/koha/yourlibrary/koharoot/koha-tmpl/cloud-subject.html
4270 This means that you can produce clouds for authors, collective author,
4271 all kind of subjects, classifications, etc. And since it works on zebra
4272 indexes, it is quick, even on large DBs. Tags clouds are sent to files.
4273 It's up to library webmaster to deal with those files in order to
4274 include them in `OPACMainUserBlock <#OpacMainUserBlock>`__, or include
4275 them into their library CMS.
4277 Some libraries even send the file into a Samba shared folder where
4278 webmaster take them, eventually clean them a little bit before
4279 integrating them into navigation widgets or pages.
4281 `Newest Titles Pulldown <#newtitlesoption>`__
4282 ---------------------------------------------
4284 Often we want to add a way for our patrons to do searches for the newest
4285 items. In this example I'll show you how to create a pull down menu of
4286 the newest items by item type. These tips will work (with a couple
4287 changes) for collection codes or shelving locations as well.
4289 First, it's important to note that every link in Koha is a permanent
4290 link. This means if I do a search for everything of a specific item type
4291 sorted by the acquisitions date and bookmark that URL, whenever I click
4292 it I'll see the newest items of that type on the first few pages of the
4295 I took this knowledge and wrote a form takes this functionality in to
4296 consideration. It basically just does a search of your Koha catalog for
4297 a specific item type and sorts the results by acquisitions date.
4299 The first thing I did was write a MySQL statement to generate a list of
4300 item types for me - why copy and paste when you can use the power of
4305 select concat('<option value=\"mc-itype:', itemtype, '\">',description,'</option>') from itemtypes
4307 The above looks at the itemtypes table and slaps the necessary HTML
4308 around each item type for me. I then exported that to CSV and opened it
4309 in my text editor and added the other parts of the form.
4313 <p><strong>New Items</strong></p>
4314 <p><form name="searchform" method="get" action="/cgi-bin/koha/opac-search.pl">
4315 <input name="idx" value="kw" type="hidden">
4316 <input name="sort_by" value="acqdate_dsc" type="hidden">
4317 <input name="do" value="OK" type="hidden">
4318 <select name="limit" onchange="this.form.submit()">
4319 <option>-- Please choose --</option>
4320 <option value="mc-itype:BOOK">Book</option>
4321 <option value="mc-itype:BOOKCD">Book on CD</option>
4322 <option value="mc-itype:DVD">DVD</option>
4323 <option value="mc-itype:LRG_PRINT">Large print book</option>
4324 <option value="mc-itype:MAGAZINE">Magazine</option>
4325 <option value="mc-itype:NEWSPAPER">Newspaper</option>
4326 <option value="mc-itype:VIDEO">Videocassette</option>
4331 Now, what does all of that mean? The important bits are these:
4333 First the starting of the form.
4337 <p><form name="searchform" method="get" action="/cgi-bin/koha/opac-search.pl">
4339 This tells the browser to take any value selected and put it at the end
4340 of this http://YOURSITE/cgi-bin/koha/opac-search.pl. If you want to
4341 embed this form on your library website (and not on your OPAC) you can
4342 put the full OPAC URL in there.
4344 Next, there is a hidden value that is telling the search to sort by
4345 acquisitions date descending (newest items at the top):
4349 <input name="sort_by" value="acqdate_dsc" type="hidden">
4351 And finally you have an option for each item type you want people to
4356 <option value="mc-itype:BOOK">Book</option>
4358 These options each include the string "mc-itype:" which tells Koha to do
4359 an item type search.
4361 Once you have all of that in place you can copy and paste the form to
4362 somewhere on your OPAC. The `Farmington Public Libraries
4363 OPAC <http://catalog.farmingtonlibraries.org>`__ has a few examples of
4366 `Cataloging and Searching by Color <#colorsearch>`__
4367 ----------------------------------------------------
4369 One of the icon sets installed in Koha includes a series of colors. This
4370 set can be used to catalog and search by color if you'd like. This guide
4371 will walk you use changing collection code to color in Koha so that you
4374 The following SQL could be used to add these colors to the CCODE
4375 authorized value category in a batch. If you wanted to use these colors
4376 for another authorized value you'd have to edit this to use that
4381 insert into authorised_values (category, authorised_value, lib,
4382 lib_opac, imageurl) values ('CCODE','000000','Black','','colors/000000.png');
4383 insert into authorised_values (category, authorised_value, lib,
4384 lib_opac, imageurl) values ('CCODE','66cc66','Bright Green','','colors/66cc66.png');
4385 insert into authorised_values (category, authorised_value, lib,
4386 lib_opac, imageurl) values ('CCODE','99cc33','Olive','','colors/99cc33.png');
4387 insert into authorised_values (category, authorised_value, lib,
4388 lib_opac, imageurl) values ('CCODE','3333cc','Dark Blue','','colors/3333cc.png');
4389 insert into authorised_values (category, authorised_value, lib,
4390 lib_opac, imageurl) values ('CCODE','006600' ,'Dark Green','','colors/006600.png');
4391 insert into authorised_values (category, authorised_value, lib,
4392 lib_opac, imageurl) values ('CCODE','6600cc','Plum','','colors/6600cc.png');
4393 insert into authorised_values (category, authorised_value, lib,
4394 lib_opac, imageurl) values ('CCODE','6666cc','Purple','','colors/6666cc.png');
4395 insert into authorised_values (category, authorised_value, lib,
4396 lib_opac, imageurl) values ('CCODE','9999cc','Light Purple','','colors/9999cc.png');
4397 insert into authorised_values (category, authorised_value, lib,
4398 lib_opac, imageurl) values ('CCODE','660000' ,'Burgundy','','colors/660000.png');
4399 insert into authorised_values (category, authorised_value, lib,
4400 lib_opac, imageurl) values ('CCODE','663333' ,'Brown','','colors/663333.png');
4401 insert into authorised_values (category, authorised_value, lib,
4402 lib_opac, imageurl) values ('CCODE','990000' ,'Red','','colors/990000.png');
4403 insert into authorised_values (category, authorised_value, lib,
4404 lib_opac, imageurl) values ('CCODE','996633' ,'Tan','','colors/996633.png');
4405 insert into authorised_values (category, authorised_value, lib,
4406 lib_opac, imageurl) values ('CCODE','999999' ,'Gray','','colors/999999.png');
4407 insert into authorised_values (category, authorised_value, lib,
4408 lib_opac, imageurl) values ('CCODE','cc66cc','Pink','','colors/cc66cc.png');
4409 insert into authorised_values (category, authorised_value, lib,
4410 lib_opac, imageurl) values ('CCODE','cc99cc','Bubble Gum','','colors/cc99cc.png');
4411 insert into authorised_values (category, authorised_value, lib,
4412 lib_opac, imageurl) values ('CCODE','cc3333' ,'Orange','','colors/cc3333.png');
4413 insert into authorised_values (category, authorised_value, lib,
4414 lib_opac, imageurl) values ('CCODE','cc6666' ,'Peach','','colors/cc6666.png');
4415 insert into authorised_values (category, authorised_value, lib,
4416 lib_opac, imageurl) values ('CCODE','cc9999' ,'Rose','','colors/cc9999.png');
4417 insert into authorised_values (category, authorised_value, lib,
4418 lib_opac, imageurl) values ('CCODE','cccc00' ,'Gold','','colors/cccc00.png');
4419 insert into authorised_values (category, authorised_value, lib,
4420 lib_opac, imageurl) values ('CCODE','ffff33' ,'Yellow','','colors/ffff33.png');
4421 insert into authorised_values (category, authorised_value, lib,
4422 lib_opac, imageurl) values ('CCODE','ffffcc','Cream','','colors/ffffcc.png');
4423 insert into authorised_values (category, authorised_value, lib,
4424 lib_opac, imageurl) values ('CCODE','ffffff','White','','colors/ffffff.png');
4426 If you would like to choose the colors manually you can do that via the
4427 `Authorized Values <#authorizedvalues>`__ administration area.
4432 Next you'll want to `update the frameworks <#marcbibframeworks>`__ so
4433 that the 952$8 (if you're using collection code) label to says Color.
4435 Once you have that in place you can start to catalog items by color.
4437 Finally you'll want to add the following JQuery to your preferences so
4438 that it will relabel 'Collection' to 'Color'
4440 `IntranetUserJS <#intranetuserjs>`__
4444 $(document).ready(function(){
4445 $("#advsearch-tab-ccode a:contains('Collection')").text("Color");
4446 $("#holdings th:contains('Collection')").text("Color");
4449 `OPACUserJS <#opacuserjs>`__
4453 $(document).ready(function(){
4454 $("#advsearch-tab-ccode a:contains('Collection')").text("Color");
4455 $('#item_ccode').text("Color");
4458 Koha and Your Website
4459 =====================
4461 This appendix will include tips for integrating Koha in to your library
4464 `Koha search on your site <#embedsearch>`__
4465 -------------------------------------------
4467 Often you'll want to add a Koha search box to your library website. To
4468 do so, just copy and paste the following code in to your library website
4469 and update the YOURCATALOG bit with your catalog's URL and you're set to
4474 <form name="searchform" method="get" action="http://YOURCATLOG/cgi-bin/koha/opac-search.pl" id="searchform">
4475 <input id="transl1" name="q" type="text"><p>
4476 <select name="idx" id="masthead_search">
4477 <option value="kw">Keyword</option>
4478 <option value="ti">Title</option>
4479 <option value="au">Author</option>
4480 <option value="su">Subject</option>
4481 <option value="nb">ISBN</option>
4482 <option value="se">Series</option>
4483 <option value="callnum">Call Number</option>
4485 <input value="Search" id="searchsubmit" type="submit">