Fakirchand College, West Bengal chooses L2C2 Technologies’ cloud hosting services for their OPAC.
We are happy to extend a warm welcome to our newest client-partner Fakir Chand College, located in Diamond Harbour, West Bengal. The library has a collection of more than 52,191 volumes. The library is divided into three broad sections – the UG, PG and the B.Ed sections.
L2C2 Technologies acknowledges with gratitude the co-operation extended by FC College. We would particularly like to thank Smt. Rekha Mondal, Librarian and Dr. Debashish Mitra, Bursar for their support.
About the college
Established in 1948, it is the oldest and largest college in South 24 Parganas district of West Bengal. Affiliated to the University of Calcutta, the college is named after Sri Fakir Chand Halder, the father of founder Sri Jagadish Chandra Haldar, a local businessman. It offers undergraduate courses in liberal arts, science and commerce, a teacher training course as well as a few post-graduate programs. The college is located at Diamond Harbours in the southern suburbs of Kolkata, on the eastern banks of the Hooghly River quite near where the river meets the Bay of Bengal. 
A quick-n-dirty way to remove the trailing dot from salutation field after a bulk patron import into Koha.
Earlier today the deputy librarian at our client partner Gouri Devi Institute of Medical Sciences and Hospital (GIMSH) called us wanting to figure out how to fix a small, but crucial problem. The employee list from GIMSH’s HR department was used to create the patron bulk import CSV  file. All 143 records got imported without a glitch and each individual records looked perfectly OK when viewing them. However, when she tried to edit these patron records, she noticed that the salutation (e.g. Mr, Mrs, Ms etc.) would not show up in the salutation drop-down during edit! 🙁
About 141 out of the total 143 records had a period “.” after the salutation and two didn’t. These two records which did not have the period at the end of salutation were displaying the stored value correctly in the drop-down, rather than showing as being blank. As it happens, Koha uses the BorrowersTitles system preference to store the options to display. The default options are Mr|Mrs|Miss|Ms. As you can see, none of these have a period at their end. So, while the salutation field value was stored in GIMSH’s borrowers table, it was not being displayed during the edit as the value didn’t match with the values stored in BorrowersTitles syspref.
***WARNING***The following step requires you to directly execute a SQL on the Koha database. This is usually not recommended, but some times, it is required to quickly fix a problem.
Using the TRIM() string function of MySQL in tandem with the specifier trailing  we can take out the “.” (period) at the end of the salutation from all the records in the borrowers table in the following manner:
UPDATE `borrowers` SET `title` = TRIM(TRAILING '.' FROM `title`);
 Sample patron data file – patron_import.csvNB. Those of you who wish to study how the HR data was prepared for import into Koha, can look here for a sample CSV file with dummy data (do not worry about privacy as the data is fake).
About Gouri Devi Institute of Medical Science and Hospital
Gouri Devi Institute of Medical Sciences & Hospital, Durgapur is a Medical College with ultra-modern 300-bed hospital setup by Rahul Foundation under the visionary stewardship of Mr. R. N. Majumdar. GIMSH welcomes new admission of 150 M.B.B.S. students in the academic session of 2016-17. The medical school comprises of 21 departments with experienced faculty members with extensive facilities that include well equipped classrooms, laboratories, an air conditioned library etc. The hospital is having all the clinical departments like General Medicine, General Surgery, Orthopedics, Ophthalmology (Eye), Otorhinolaryngology (ENT), Obstetrics & Gynecology (OBG), Dermatology, Pulmonology, Pediatrics, Psychiatry, Dental etc. including a full-fledged emergency & trauma care center. 
About the Library
The library is located on the 2nd floor of the college building with 1827 sq. m. of floor area that consists of the Stack room, Journal section, air-conditioned Students reading room, Staff reading room, Internet MEDLARS room, Audio-visual unit, Reprography room, Circulation counter, rooms for the Librarian and other staff, Daftaries and Book binders, Skill lab etc.
 Gouri Devi Institute of Medical Sciences and Hospital website
Choose the list of languages to transliterate on the Koha OPAC
Life sucks right?? 😉 But as long as it is still there, here’s “one for the road”! 😀 So, read on!
By default that provides us with this short language drop-down:
For users from India, a country with 22 official language at the last count, that default list is woefully too little, too less. The good news is that Google’s Transliteration API supports several dozens of languages. Which ones? Well you need to dig around LanguageCode and SupportedDestinationLanguages enumerations in the documentation.
Show me the money!
The code to support the function is loaded via googleindictransliteration.js file that resides under /usr/share/koha/opac/htdocs/opac-tmpl/bootstrap/js/ on a Debian package based installation.
The screen grab below shows exactly that changes we needed to make in order to show on Hindi and Bengali as the list of languages, *and* with Bengali as default language option on the select drop-down.
So how did I know that I needed to use “bn” for Bengali? Well, that LanguageCode enum list I’ve linked to above. Simple really!
One more fact about this tip that will bug a few
Change(s) to the LanguagesCode enum like this within the googleindictransliteration.js file would cause *all* instances on a multi-tenanted Koha installation to display the same list of languages. So, if you need different sets of languages lists in different OPACs, you are probably out of luck.
Either you know what you are doing or take time to learn or invest in quality support. Fail on all three counts and you are quite literally asking for an operational nightmare.
Recently a young colleague Sri Ashkar K. from Thiruvananthapuram, Kerala (India) ran into a problem. He works as a librarian with Mathrubhumi, a major media house from Kerala. Specifically he needed to have a LMS solution to efficiently manage their collection of entertainment (mostly movies) related CDs and DVDs. For him the LMS was hosted Koha. However when he tried to issue an item i.e. a movie CD, he was stumped by this error every time:
No branchcode argument passed to koha::Calender->new at /var/koha_all/mathrubhumi/lib/C4/Circulation.pm line 3558
Being on a hosted Koha platform, he approached his service provider for support. He shared with them all the relevant screenshots leading to error detailed above.
The provider’s tech support could not identify the issue and instead informed him that they could perform checkouts (issue) without any errors. As Ashkar persisted, the service provider’s support desk asked him to provide remote desktop sharing using Teamviewer so that they could see “his problem” in action. Installing Teamviewer needed clearance from his IT department which required time and thus Ashkar’s checkout problem continued to linger. Finally about 10 days back he posted about it on the official Facebook page of Koha Library System Project, asking for suggestions to resolve it.
The first flag was raised by fellow Koha dev Mark Tompsett when he asked:
“/var/koha_all/mathrubhumi/lib/C4/Circulation.pm” — That is not a standard installation path. How did you install this? And what version?
Ashkar replied that since the software was hosted, he did not know the installation details. This got my attention! If he was on hosted Koha, why was he turning to the community for support? What was his service provider doing in the first place? I decided to find out more. That’s when I discovered the details of his situation. Desperate for help, he provided me with superlibrarian access to his hosted Koha’s staff client interface. I logged in and found that the problem was very real. In fact, I found out a few rather *disturbing* things.
The hosted Mathrubhumi Koha instance wasn’t running on the stable version (which is 16.05.05 at the time of writing) of Koha ILS. In fact, it was running on an unstable development version (at the time of this writing it was using Koha 16.0600023). Development versions are not GA releases and are *never* meant for production use, they are meant for use by testers and developers. And secondly, I could not do a MARC21 export for his bibliographic data.
That set alarm bells ringing in my head and so with Ashkar’s approval, I created a backup of his Koha database and installed the backup on L2C2’s test server running the latest stable 16.05.x version.
The first clear indication of what was wrong came soon after running sudo koha-rebuild-zebra -v -f mathrubhumi successfully without any error. A wildcard search from both OPAC as well as the staff client failed to return a single result, even though the Zebra indexer and output logs showed no error. However, it was possible to access a record by directly accessing it by biblionumber.
Running the “MARC Bibliographic framework test” to check the MARC structure provided the answer. Sure enough there were two major errors as shown below:
homebranch NOT mapped
the items.homebranch field MUST :
be mapped to a MARC subfield,
the corresponding subfield MUST have “Authorized value” set to “branches”
holdingbranch NOT mapped
the items.holdingbranch field MUST :
be mapped to a MARC subfield,
the corresponding subfield MUST have “Authorized value” set to “branches”
The question now was to identify *which* MARC21 framework since he had three (03) of them.
Checking the “MOVIES” framework, it was found that both 952$a(homebranch) and $b(holdingbranch) were set to ignore in the Managed in tab dropdown. This explained the error displayed by “MARC Bibliographic framework test”. To know more about the the 952 MARC21 field in Koha, please read Holdings data fields (9xx) from the Koha community wiki.
It was a simple matter of setting both 952$a and $b to “items(10)” for the option Managed in tab. This took care of the “MARC Bibliographic framework test” error.
However, that was only the first part of the solution. Except two, none of his other 23 bibliographic records had their homebranch and holdingbranch defined. It was time for a batch item modification from the Tools page (Home > Tools). This has been covered in details in an earlier blog post – “Koha’s MARC modification templates comes to the rescue“, so if the topic sounds unfamiliar, it is suggested that you read that post first.
In order to find out all the barcodes that needed to be used to update the records, the following SQL report was used:
LEFT JOIN biblioitems ON (items.biblioitemnumber=biblioitems.biblioitemnumber)
LEFT JOIN biblio ON (biblioitems.biblionumber=biblio.biblionumber);
With the list of barcodes in hand, it was time for the final steps:
Load up barcodes for the records to be bulk modified
Select the two fields that we wanted to update – homebranch and holdingbranch
Select the actual branch option for both and click on Save
And we were done! 🙂
Understanding the error is quite simple if you know how circulation works inside Koha. A checkout operation needs to know a few basic things – (a) who owns the item; (b) where is the item presently located; (c) what to set as the issue and due dates and (d) who is taking it. Since the items attached to bibliographic records created using the MOVIES MARC21 framework did not have their homebranch and holdingbranch defined, at the time of checkout, as Koha tried to set the issue date and calculate the due date, using the date functions from the Koha::Calender object, it failed to do so. That’s what gave Ashkar his error and prevented him from checking out an item.
This still left one question unanswered – why did Ashkar’s hosting provider keep insisting that everything was working OK at their end and wanted him to provide them with Teamviewer access instead. My best guess is they were checking out the system using only the MARC21 frameworks which *they* had shipped i.e. default and fast add (FA) frameworks. Since records generated using these two frameworks (quite correctly) had 952 $a and $b set, none of these triggered Ashkar’s error during checkout. They certainly did not need Teamviewer access, the error in Ashkar’s framework should have been easily detected and quickly fixed. In fact, it took less than 3 mins to take care of it. But they failed, which is why it is important to either invest in your own skill development (read RTFM)OR invest in quality support.
“If you pay peanuts, you get monkeys” – James Goldsmith
Moral of the story: If you work with service providers whose front line tech-support is staffed with inexperienced people, be prepared for the long haul and self support yourself. Caveat Emptor!