nyuuzyou/wikis huggingface dataset:
Namespace QA Rules

===QA Rules For Koha:: Namespace===
In order for a module to be included in Koha:: or patches submitted against an existing module in Koha:: to be committed, the code must adhere to the following QA standards:
* use "strict" and "warning" pragmata
* include valid POD
* include complete and functioning documented test cases
* not create circular dependencies
* use Object Oriented (OO) style everywhere it makes sense
* minimize exports
* maintain mod_perl, etc. compatibility
* separate data access methods from business logic
Category:Development
Category:Quality_Assurance_Testing
New Zealand User Group

New Zealander's interested in Koha. No formal group... 
== 2018 User Group Day - 22 March 2018 ==
Whanganui Libraries and the Catalyst Koha team are organising a Koha user group day on Thursday 22 March 2018, in Whanganui: 
For details and to RSVP see: 
*Catalyst - 12 February 2018 
*Mailing list announcement - 25 January 2018 
*Koha Newsletter - February 2018 edition
=== Travel plans ===
Travelling to Whanganui? Add your details here if you wish: 
*David Nind - by car, Wellington to Whanganui and return, leaving on Wednesday evening (probably around 4pm ish), returning Thursday evening, can take 2-3 people (contact david DOT nind AT gmail DOT com, 021 0537 847)
== Previous User Group Days ==
Previous user group days: 
*Wellington - 18 May 2012, hosted by The Treasury 
*Levin - 26 July 2011
Also, KohaCon 2010 was held in Wellington! 
Category:Participation
Next meetings

===Next meetings===
* Development meeting: Development_IRC_meeting_19_February_2025
*General meeting: General_IRC_meeting_8_April_2025
*Documentation meeting: Documentation meeting 26 February 2025
*Other meetings and events:
**Koha Community calendar
**koha-US Special Interest Groups: see koha-US (also included in the Koha Community calendar)
Chairing meetings (includes Meetbot commands)
Previous meetings (no longer maintained)
Category:General_IRC_Meetings
Category:Developers_IRC_Meetings
Category:Documentation_IRC_Meetings
Nginx conf sample for load balancing with many servers

If you want to use Koha for clustered environment, nginx can be one of the solutions for multiple servers. This can be used for load balancing and link forwarding. 
We share a configuration file for nginx for many servers. 
This is the first and quick share for conf file from our past installations. There may need some editing. 
 
 server {
 	listen *:8081;
 	server_name localhost;
 	root /var/www/html/maint;
 	try_files = $uri @missing;
 	location @missing {
 		rewrite ^ $scheme://$host/index.html permanent;
 	}
 }
 upstream koha_opac {
 #ip_hash;
 server 192.168.110.11:80;
 server 192.168.110.12:80;
 server 192.168.110.13:80;
 server localhost:8081 down;
 }
 
 upstream koha_intranet {
 #ip_hash;
 server 192.168.110.11:8080;
 server 192.168.110.12:8080;
 server 192.168.110.13:8080;
 server localhost:8081 down;
 }
 
 upstream koha_statistics {
 server 200.1.1.12:8080; <- Real IP maybe
 }
 
 server {
 listen *:80;
 server_name koha.devinim.com.tr;
 location / {
 
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
 proxy_pass http://koha_opac;
 }
 }
 
 server {
 listen *:8080;
 server_name koha.devinim.com.tr;
 
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
 
 location /cgi-bin/koha/statistics/stats-home.pl {
 proxy_pass http://koha_statistics;
 }
 
 proxy_pass http://koha_intranet;
 }
 }
Non-English Koha Sites

== Koha web sites in different languages ==
This is a list of all sites that speaks about Koha that not are in english language. Hera are listed only user's site. 
If you want a list of support companies go here 
Language/Country	Sites 	Description
Spanish 	es.koha-community.org Koha-es Group	The Spanish Community site and group
French 	koha-fr 	The web site of french community around Koha
Italian 	koha.it 	The web site of italian users of Koha
Chinese 	kohataiwan 	The web site of Koha in Chinese 臺灣
Brazil 	wiki.ibict.br/index.php/Koha 	Brazilian wiki for users in portuguese.
Czech 	KohaCZ 	The web site of czech community around Koha
Greece 	kohahug 	The web site of the greek community around Koha
Category:About_Koha
Category:Participation
Norwegian national patron database

added support for the Norwegian national patron database (a.k.a. Norwegian national library card, a.k.a. NL) to Koha. This page provides some information about how to set up Koha to talk to this database. 
The patch is currently undergoing QA. The following description is based on the current state of the patch. Things might change before the functionality becomes part of Koha. 
==Passwords and keys==
The following is needed to authenticate with NL:
* a username/password from the Norwegian national database of libraries (Base Bibliotek), available to all Norwegian libraries
* a special key in order to decrypt and encrypt PIN-codes/passwords, which is only available to Norwegian library system vendors
* a Norwegian library system vendor username/password
The library username and password should be stored in the NorwegianPatronDBUsername and NorwegianPatronDBPassword system preferences, respectively. 
The key and the library vendor username/password should be stored in koha-conf.xml, like this:
 <yazgfs>
 <config>
 ...
 <nlkey>***</nlkey>
 <nlvendoruser>***</nlvendoruser>
 <nlvendorpass>***</nlvendorpass>
 </config>
 </yazgfs>
==Cron-jobs==
The following scripts should be run regularly as cronjobs
* misc/cronjobs/nl-sync-from-koha.pl (every few minutes)
* misc/cronjobs/nl-sync-to-koha.pl (once every night)
The first script is needed in order to catch any updates that failed in real time (e.g. because NL was unavailable for some period of time). The second script is responsible for updating patron records in Koha when other libraries have changed corresponding records in the central NL database.
Example:
 */15 * * * * koha-shell -c "perl /usr/share/koha/bin/cronjobs/nl-sync-from-koha.pl --run" <site>
 5 1 * * * koha-shell -c "perl /usr/share/koha/bin/cronjobs/nl-sync-to-koha.pl --run" <site>
==Extended patron attributes==
* Make sure ExtendedPatronAttributes = Enable
* Create a patron attribute type with:
** Patron attribute type code = fnr
** Description = probably something like "Fødseslnummer" 
** Unique identifier = yes
** Searchable = yes
==Links==
* More information about NL, in Norwegian
* Base Bibliotek
* A "Norwegian library system vendor" is by definition one of the members of Biblioteksystemleverandørene i Norge
Category:Technical
Notice documentation rfc

Koha doesn't currently have a single point of truth for documentation of notices and slips, which has lead to a proliferation of markup syntaxes, especially in regard to repeating detail, e.g.
DUEDGST/PREDUEDGST:
 <<items.content>>
ODUE*
 <<items.content>> 
 or <item> </item>
CHECKOUT/CHECKIN/RENEWAL
 
 ----
 Detail here
 ----
These have been documented in https://wiki.koha-community.org/wiki/Customising_Notices_and_Slips#Notice_Markup , but this has gotten out of date as new notices get added in each version of Koha.
Work to be done:
Add Koha/Notices.pod which will document the following for each notice in the Letter table:
* Letter Code
* Source file where the notice is populated
* Logic that triggers the notice
* Detail syntax (if any)
* Available data (tables and substitutions)
* Message transport restrictions
The output from this pod should be used as the basis for the Koha user documentation.
I've also requested that we add a coding standard, requiring all notices to be documented in Koha/Notices.pod.
Also related: Bug 21859 - Fields to choose on Notice editor often contains non-applicable tables and fields
OAI-PMH XSLT library

This is an independent list of XSLTs. Check here for the main XSLT library on this wiki.
You can use XSLT to alter the MARCXML output by Koha's OAI-PMH server. This paqe aims to collect some tips and tricks that might be useful. 
See the documentation for advice on how you configure Koha to use custom XSLT for OAI-PMH output. 
==Put the biblionumber in 001==
*Developer: Magnus Enger
*Module: OAI-PMH
*Purpose: This transformation will remove the existing 001 field, and add a new 001 field that hs the biblionumber as its value. 
 <xsl:stylesheet version="1.0"
 xmlns:marc="http://www.loc.gov/MARC21/slim"
 xmlns:items="http://www.koha-community.org/items"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:package="info:srw/extension/13/package-v1.0"> 
 
 <xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>
 
 <xsl:template match="node()|@*">
 <xsl:copy>
 <xsl:apply-templates select="node()|@*"/>
 </xsl:copy>
 </xsl:template>
 
 <!-- Remove the original versions of these fields -->
 <xsl:template match="marc:controlfield[@tag=001]"/>
 
 <!-- Add a new 001 that contains the biblionumber from 999$c -->
 <xsl:template match="marc:leader">
 <xsl:copy>
 <xsl:apply-templates select="@*|node()"/>
 </xsl:copy>
 <xsl:if test="not(marc:controlfield[@tag=001])">
 <xsl:text>
 </xsl:text><xsl:element name="controlfield" xmlns="http://www.loc.gov/MARC21/slim">
 <xsl:attribute name="tag">001</xsl:attribute>
 <xsl:value-of select="//marc:datafield[@tag=999]/marc:subfield[@code='c']/text()"/>
 </xsl:element>
 </xsl:if>
 </xsl:template>
 
 </xsl:stylesheet>
Category:Library Category:Documentation Category:Tips & Tricks
OPACMySummaryHTML

This preference lets you add a column of custom HTML to “My summary” that can be used to for example share the OPAC-page for each book on Facebook. Four variables are available for use: 
* {AUTHOR}
* {TITLE}
* {ISBN}
* {BIBLIONUMBER} 
and Koha replaces these with the proper value when rendering the page. The following code creates a simple text-link to share on Facebook.
 <a href=”http://www.facebook.com/share.php?u=http://www.YOUR-KOHA-OPAC-HERE.com/cgi-bin/koha/opac-detail.pl?biblionumber={BIBLIONUMBER}”>Share on Facebook</a>
You’d need to insert your own OPAC url of course, but otherwise it should be fine to use.
Should you wonder how to activate this function then this is what you need to do:
# Log in to the staff interface and click “System preferences”. You may need help from an administrator if you don’t have access to the system preferences.
# Search the preferences for “mysummaryhtml” and click the link “Click to edit”. It can also be found in the “Appearance”-section of the OPAC-tab in the preferences.
# Paste the code above, change the URL to the one you use for your OPAC and save.
There are of course many potential uses so feel free to share examples should you do something fun with it :)
==Links==
* 3.4 Manual
Category:System_Preferences
OPAC suggestions: Put a hold on item when suggestion is received RFC

== RFC: OPAC suggestion : Put a hold on Item when suggestion is received ==
General idea would be to allow logged-in patrons to say that they want the suggestion they are making, if accepted, to be put on hold for them once the item gets to the library.
Logged-in users on page opac-suggestions.pl?op=add would see an extra tickbox saying "I want this document to be put on hold for me once it arrives at the library"
The hold is cancelled if:
* suggestion is rejected
* suggestion is deleted
* order is deleted
* item is deleted
The implementation of this feature would be in a system preference. If at OFF, tickbox on opac-suggestions.pl won't show up.
Category:OPAC RFCs
Category:Circulation_RFCs
Category:Koha_3.2_RFCs
Category:3.2
OPAC suggestions: search catalogue and suggestions before adding RFC

== Opac suggestions: search test ==
Reader adds a suggestion on page opac-suggestions.pl?op=add (as today). 
But when she clicks on "validate", Koha searches the catalog using the elements it has in the suggestion form. It also searches the pending suggestions.
The search should be focused rather that wide, title being searched on title index rather than on a catch-all index: we don't want to have the patron go through any extra screen/click if that's not necessary.
Case #1 : results = 0. User moves on to opac-suggestions.pl (nothing changes here for the user)
Case #2 : results > 0. 
* User gets a message on the top of the page that says: "//You suggest title "value-of-what-she-entered-in-form". We think that suggestion might have already been taken into account: items bellow look a lot like what you are suggesting. Do you want to <link>confirm your suggestion</link>? Or go <link>back to the catalog</link>//? 
* list of results
If she clicks on "confirm suggestion", she moves on to opac-suggestion.pl.
Category:RFCs
Category:Acquisitions_RFCs
Category:OPAC_RFCs
Category:RFCs_not_targeted_at_a_particular_Koha_version
Onleihe

= Onleihe =
This page should more or less be a base for German Koha libraries that want to integrate Onleihe. Onleihe is an ebook platform where you can borrow online ressources. It is run by the company divibib.
== Authorization ==
I wrote a little Script which allows onleihe to ask koha if username/password combinations entered on their platform, are valid. It also returns the age range (FSK the German equivalent of Motion picture rating system) so that restricted access is possible.
The script is to be found on github: https://github.com/janosch12345/koha-divibib-onleihe-authentification
== Importing marc from onleihe ==
OpacHiddenItems

The OpacHiddenItems system preference allows custom rules to be written that cause specific items to be hidden from the OPAC.
It allows YAML to be written defining the situations in which items are hidden, in the form:
 field: [value1, value2]
where field is the name of the field in the item record. For example, itype or withdrawn.
If multiple fields are specified, then the item will be hidden if any of them match. If all items on a record are hidden, the record will be hidden in the OPAC as well.
A list of fields that an item has is available on the item schema page. Note that if you have an older version of Koha, it's possible some of these don't exist for you.
== Examples ==
To hide all items with a withdrawn value of 1:
 withdrawn: [1]
To hide all items with a lost value of 1 (Lost) or 4 (Missing). Check the Authorized value codes for lost at /cgi-bin/koha/admin/authorised_values.pl?searchfield=LOST:
Note - the system preference hidelostitems can be used if you wish to hide ALL lost items of any status.
 itemlost: [1, 4]
To hide all items that are withdrawn, or have the item type (952$y) code HIDE or INVISIBLE or location (952$c) is PROC:
 withdrawn: [1]
 itype: [HIDE, INVISIBLE]
 location: [PROC]
 
 Category:Documentation
Opac browse feature

N.B. this is a transfer page from the old developer's wiki. If it is no longer relevant and no longer linked from the help files, please do feel free to delete it.
Experimental! (Only works in French Dewey catalog.)
In OPAC, you can activate an option that let you browse the catalogue category by category.
It relies on a specific table, browser, that is filled by a specific script. If you don't run this script, the table will be empty, and there won't be anything in the OPAC page (& the user will be redirected here)
== What is it exactly ==
=== Browser ===
The browser feature will build a browsable view of your catalogue. It will, for example, tell you that your catalogue contains : 1353 biblios about “Science” 5624 biblios about “Geography” 9835 biblios about “Spirituality”
then, when the user click on “geography” : 5624 biblios about Geography :
1576 about Europe
579 about Asia
2598 about Africa
871 about America
then when the user click on “Europe” : 5624 biblios about Geography :
1576 about Europe
500 about France
257 about UK
430 about Germany
…
=== Tags ===
The tags feature will show to the users the most used subjects in your catalogue. in a graphical view where the subject is more large when it is used more times.
== Running the script ==
It requires, as usual, KOHA_CONF and PERL5LIB to be set
it is misc/cronjobs/build_browser_and_cloud.pl
this script calculates the browser & tags for all the catalogue.
run the script without parameters to see it's parameters. Note that, at the time of writing this page, the browser works only for french dewey catalogue. It has to be modified to work according to your structure. That's why it can be considered as experimental !
== How often should I run it ==
If you are a library that has a stable collection, the script can probably be run once every 3 months ! If you are a library that has a moving collection (like a public library), then you may find useful to run the script once a month, or once a week.
What you must understand is that :
it's a long process : it reads ALL the catalogue to calculate the result
if your catalogue has not changed a lot, then the result won't change a lot either : the browser feature may report 435 biblios and when the user click on it he may reach a list of 437, but the final list will be complete. Same conclusion for tags : if a subject is used 132 times in the catalogue, it will have the same size as a subject used 135 times, so no problems to be approximative.
== How to remove that ==
Just go to the librarian interface, systempreferences, Opac Feature tab, and set OpacBrowser to 0 and/or OpacCloud to 0
Category:Documentation
Order workflow changes/improvements RFC

== Ordering workflow changes ==
We will add the following steps to the ordering workflow : 
* basket creation
* basket grouping
=== Basket creation ===
After selecting a bookseller, the librarian will have a new step to enter some basket parameters :
* the basket number/name (different from the basket id: name or number given by the library)
* a note to the bookseller (to specify some info to the bookseller)
* an internal note for the library (for local use)
* the contract number, if applicable. Contracts will be a new feature. Each bookseller will be able to have one or more contracts. Each basket can have a contract (or none) attached. contracts are here mostly for stats purpose (and to be displayed on basket/order printing)
=== Basket grouping ===
After closing a basket, the library will be able to group some baskets on a single "basket group". Printing will be done on a basket group.
A system preference will let the library activate or not this feature. If not active, each basket closing will mean "create a basket group and attach the basket to this basket group".
if the basket grouping is enabled, the workflow will be :
fill basket => click close basket => open popup to let the librarian attach the basket to an open basket group or create a new one (same behaviour as for lists (virtualshelves) or don't choose a basket group now => close the basket and attach it to a basket if needed
basket group screen : 
* can be accessed from bookseller detail or booksellers.pl
* list existing basket group (in 2 parts : closed & open)
* in open basket group, it's possible to attach new basket (that are close and un-attached) or un attach a basket
* it's possible to close a basket group. Once closed, the only possible thing is to print the basket group. The printing can be done basket by basket, then order line by order line.
Category:Acquisitions_RFCs
Category:Koha_3.2_RFCs
Category:3.2
Organizational IRC Meeting, 2005, June 29

== Organizational Meeting Agenda for 2005, June 29 ==
=== Website ===
Russ's report on the website design:
http://www.russandsarah.gen.nz/kohawebredev/
# Is the site to be multilingual?
# Will the site conform to xhtml1/CSS2/WCAG?
# Developers/Users or Programmers(+Translators)/Librarians/Users? 
# Is there a site backup plan?
=== Koha Interface Design ===
Rach (and Bob's) stripped down templates
What are "programmer templates"?
Category:Organizational_IRC_Meetings
Organizational IRC Meeting, 2006, April 03

== Organizational Meeting Agenda for 2006, April 03 ==
== News and Questions ==
New Project Positions: QA Manager and Release Assistant
new koha wiki: wiki.koha.org
Main web editing
New blogs plan
Extension Manager
== Perl-ZOOM Plugin Status ==
What works, what doesn't?
http://www.kohadocs.org/Installing_Zebra_plugin.html
== UNICODE Status for HEAD ==
Category:Organizational_IRC_Meetings
Organizational IRC Meeting, 2006, Feb 20

== Organizational Meeting Agenda for 2006, Feb 20 ==
=== Perl-ZOOM Integration ===
==== Search ====
==== Biblio (cataloging, etc.) ====
==== tasks remaining ====
=== Extensibility in Koha tables ===
==== borrowers ====
==== branches ====
==== statuses ====
Category:Organizational_IRC_Meetings
Organizational IRC Meeting, 2006, Jan 30

== Organizational Meeting Agenda for 2006, Jan 30 ==
=== Koha 3.0 ===
==== Perl-ZOOM integration ====
* Paul report on challanges encountered
==== Perl Packages ====
* getting rid of Date::Manip asap
** if we're still using Date::Manip it's going to be hard to test speed accurately
** is there a replacement module, possibly Date::Calc, or should we just use regex? Date::Manip is fine in places where its needed, like reports, where we let people input weird date ranges, but for circulation its not needed and is slow
* adding MARC::XML & ZOOM
* other Perl Packages ?
==== Database ====
* strenghtening the database using %%InnoDB%% & foreign keys : what's done (Paul) and could be done. Requirements on mySQL (4.1 ? to have foreign keys & nested select)
==== modperl2 ====
* the need to develop with warnings on?
==== Programming Templates ====
* how are things proceeding, are we happy with prog templates?
==== New Installer ====
==== New Serials Module ====
* timeline for completion?
==== Fix budget based acquisitions ====
==== plan approach for Feb ====
==== Other ====
* User Reviews 
* koha web sites
Category:Organizational_IRC_Meetings
Organizational IRC Meeting, 2006, June 05

== Organizational Meeting Agenda for 2006, June 05 ==
=== News and Questions ===
* New ZOOM Searching Proof-of-Contept, based on Z39.50 spec - JF
=== Koha Versioning ===
* As things stand we have three branches:
** rel_2_2 - stable, old-style MARC-in-SQL
** dev-week - rel_2_2 codebase with Zebra support
** head - new codebase, new features, but buggy, partial Zebra support
** hdl_auth - for some authorities improvements. (based on 2_2)
* We need to clarify our expectations about what versions will be released and what they should contain
* status of the different versions.
Category:Organizational_IRC_Meetings
Organizational IRC Meeting, 2006, Mar 06

== Organizational Meeting Agenda for 2006, Mar 06 ==
=== Perl-ZOOM Integration ===
==== Search ====
==== Biblio (cataloging, etc.) ====
==== tasks remaining ====
==== Authorities ====
==== Koha non-profit ==== 
== Koha Con ==
Category:Organizational_IRC_Meetings
Organizational IRC Meeting, 2006, Mar 27

== Organizational Meeting Agenda for 2006, Mar 27 ==
== News and Questions ==
# UNICODE status
# Zebra integration (CQL in Koha)
# template : status of PROG and who will work on a nice templates for 3.0 release
# Roadmap to 3.0
== Koha Con ==
# Setting up Conference Team (is this required?)
# Update on Confirmed Speakers and Programme
Category:Organizational_IRC_Meetings