Koha Community Newsletter: September 2017

Koha Community Newsletter Subscribe
September 2017

Volume 8, Issue 9
ISSN 2153-8328
Edited by Chad Roseburg, Koha Community Newsletter Editor

Please submit news items to Submit

Table of Contents

Development

Please read Jonathan Druart‘s latest post, What’s on in koha-devel #15, for a more comprehensive overview of the world of Koha development. Below are some development highlights:

Upcoming Koha Global Bug Squashing Day! Wednesday, 11 October 2017

by Nick Clemens

from the Koha Development List

Hello everyone!

It’s that most exciting time of year, the time when we ask everyone to join as a community and work stomping, squishing and squashing bugs in Koha.

Now, remember, even our enhancements are bugs, so we are looking too for you to test, promote, push and document the lovely new features that developers are working so hard to get into your systems and make your days brighter.

When: Wednesday, 11 October 2017

What does it mean, and how can you help? Find those answers on the wiki:
https://wiki.koha-community.org/wiki/2017-10-11_Global_bug_squashing_day

Add your interests, promote your bugs, and ask everything you wanted to know about Koha but were afraid to ask!

If you can’t make it that day, participate early or late, and we’re always happy to see you often.

More info to follow as the date approaches 🙂

-Nick (kidclamp)

Koha 17.05.04 Released

by Fridolin Somers
The Koha community is proud to announce the release of 17.05.04.

Koha 17.05.04 is a bugfix/maintenance release.

It includes 36 bugfixes.

As always you can download the release from
http://download.koha-community.org.

Have a look at release post :

Koha 17.05.04 release

Koha 16.11.12 Released

by Katrin Fischer
The Koha community is proud to announce the release of Koha 16.11.12.

Koha 16.11.12 is a bugfix/maintenance release.

It includes 31 bugfixes.

The full release notes are available at

Koha 16.11.12 release

Koha 16.05.17 Released

by Mason James
The Koha community is proud to announce the release of Koha 16.05.17.

Koha 16.05.17 is a bugfix/maintenance release.

It includes 17 bugfixes and 6 security fixes.

The full release notes are available at

Koha 16.05.17 release

The use of automated functional and regression testing tools in the Koha patch workflow

by Alex Buckley
Anyone who has contributed to the Koha project for a while will have noticed that the number of patches requiring signoff at any one stage is high, at present (21st of September 2017) there are 212 patches requiring signoff.

Some of these patches date back to last year and earlier, the issue with the number of patches requiring testing and signoff is the hard work that developers have put into writing the patches is sometimes wasted because by the time another developer gets around to testing the patch(es) they most likely no longer apply to master, and have to be fixed up again.

Furthermore the greater the number of patches requiring testing and the time it takes to get them through the QA process means excellent innovation is held up from getting into the master branch and out to Koha users. In my opinion an excellent solution to reduce the number of patches requiring testing at anty one time, and to easily find new bugs introduced into Koha would be greater use of automated functional/regression testing tools.

Some of you may know that Koha already has a Selenium test in the t/db_dependent/selenium directory by the name of basic_workflow.t. To run this test you need to have the Selenium standalone server installed and running in addition to the Selenium::Remote::Driver module to drive the Firefox browser.

The test is run from the Koha shell in the same way as you run any other test in the test suite by writing in the command ‘perl ’. This testing tool displays the results of the test in the Koha shell rather than actually showing the browser being automatically driven, known as a headless test.

I have been working on expanding the Koha selenium test suite (sponsored by Catalyst IT) by adding tests to catalog items, authenticate into the intranet and OPAC (as a non-database administrator account), item search in intranet and OPAC, install Koha, the item purchasing workflow, and several other tasks. I would ask other Koha developers to please test these patches (here’s a link showing the to all Selenium patches https://bugs.koha-community.org/bugzilla3/buglist.cgi?quicksearch=selenium%20test&list_id=213522) so we can get them out for libraries to run after upgrading their Koha instances to check that all core Koha functionality is still running as it should.

However the issue I have found with writing Selenium tests is that you can never be 100% positive that a test will consistently give the same result on any two runs of the test. Often the error that the Selenium driver throws is that it cannot find a element on a page.

Now I have found that implementing the pause function before lines where the Selenium driver cannot find an element has helped to make the tests more reliable however I wanted to investigate what other testing tools were out there that may be more reliable than Selenium.

So as part of my final degree project for my Bachelor of Information Technology I embarked on a research and experimentation project to investigate a number of testing tools on the Koha platform.

The aim of this project was to install 5 testing tools and create the same simple test with each of them, the test was to log into the Koha intranet and create a library in the Administrator module, and measure the following results from each of the tools:

  • Time to installation
  • Time it took to create the test
  • Time to run the test
  • Readability of the test (this is a subjective measurement based on my judgement, on a scale of 1 to 10 where 1 is understandable enough for a non-developer to understand what the test is doing)
  • Reliability (does the test reliably give the same result each time it is run where no changes have been made between runs)

The testing tools I installed and tested were all open source or free versions of proprietary tools and they were: WebInject, Sahi, Watir, Cucumber, and Selenium (in other words the current testing tool as a baseline).

WebInject tests are a series of HTTP get and post requests to get webpages, interact with them and post the inputted values to the server. The issue with this tool was you have to load webpages by their URL rather than being able to navigate to other pages locally in the website, meaning you cannot find navigation bugs.

Sahi in this study proved to be excellent, not only was it fast to create a test using the record and capture tool it also was quick and easy to install. Its reliability was excellent, with the only web page element it had issues with was the Koha item type dropdown div in the Add MARC record page. Sahi simply could not click on the div, however that was the only issue I found with Sahi, it certainly proved to be more reliable than Selenium itself.

Watir was not the most straightforward to install (however my guide here outling this study should help guide you in installing this tool should you want to do so https://wiki.koha-community.org/wiki/Automated_testing_tools#Watir), however writing the test was not dissimilar to writing a test for Selenium as both contain relatively similar syntax, however Watir proved to be significantly more reliable than Selenium meaning that it did not look for any elements to interact with before the page had finished loading.

Cucumber uses the Selenium Webdriver to drive the browser, and its tests are written in Ruby. Note that the selenium tests in Koha currently are written in Perl because the Selenium::Remote::Driver perl module is used to drive the browser this means Cucumber and the current Koha selenium tests are relatively similar except that they are written in different programming languages. The excellent thing about Cucumber is for every test there are two files: a feature file (which is a file containing a simple english syntax called Gherkin which is written in the format of Given, When, Then for example:

Given I navigated to the login page
When I login with the username ‘test’ and password ‘secret’
Then I create a library

This simple syntax is the blueprint for what the Cucumber test will do, it is then implemented in ruby in whats known as a step definition. In the step definition each of the three statements above has associated ruby code which is run. The purpose of the feature file is that non-developer clients and/or others can participate in the development of tests. I thought that Cucumber would be an excellent testing tool to use to create regression tests in Koha because we have many librarians who are not necessarily knowledgeable in writing tests in programming languages such as Perl or Ruby but they can participate in writing the feature files which developers can then implement in Ruby step definitions.

Finally I wrote the library creation test in Selenium, as I had found with other Selenium tests I had written the test did not consistently give the same result on each run of the test, this is clearly a disadvantage not only because we want consistent tests but also it makes the time it takes to write a successful test which is not flaky much longer.

So in conclusion I have been writing tests in Selenium to date, and as I say it would be very good to get that existing completed work out into the master branch to form a regression test suite. However in this relatively small study I have completed I found that Sahi was the best performing testing tool. Although Cucumber has excellent potential for greater librarian participation in Koha development.

If you would like to read more about my study please have a read of the Wiki page I have written up: https://wiki.koha-community.org/wiki/Automated_testing_tools and so get in touch with me if you’d like to discuss any of these testing tools in more detail at this email address: alexbuckley@catalyst.net.nz

Community

Community Gossip

Jessie Zairo writes about the recent 2017 Koha-US Conference in Coeur d’Alene.

How To

Jessie Zairo created the following tutorials for you:

Discover searching in the OPAC by language with Kelly McElligott.

Vimal Kumar shows you how to delete circulation entries from database tables.

Upcoming Events

2017 South Texas Koha Summit

by Jessie Zairo

South Texas Koha Summit Event Date:
Friday November 17, 2017
Event Time:
9:00am – 4:00pm
Event Location:
La Retama Central Library
Event Address:
805 Comanche St, Corpus Christi, TX 78401

Please read the full post here.

Koha-US Users Group: October Meeting

by Jason Robb from the koha newslist
Koha-US holds monthly online meetings every second Wednesday of the month
via Zoom.

Our next meeting will be Wednesday, October 11th, 2017 at 10:30 am CDT (time converter).

These meetings are open to any and all who wish to attend and are meant to
be a platform for us to share and discuss Koha-related issues, ideas, and
solutions. Meetings are also the place to have your voice heard with
regards to the growth and development of Koha-US as an organization.

If you have topics for the agenda, please send them my way.

Watch for links to the agenda and meeting space next week.

For more information, don’t hesitate to contact us!

Past Events

National Workshop on Koha Software on 11-12 August 2017 (Pakistan)

by Sher Afzal
Pakistan Library Club – Islamabad Chapter (PLC-IC) in collaboration with Sultana Foundation Islamabad, organized a two day (11-12 August 2017) National Workshop called Koha ILS: Free & Open source Library Software (installation, customization and use). Two eminent library professionals, Mr. Sher Afzal, Chief Khan Librarian, Bahria University Islamabad and Zahid Iqbal, President PLC-IC were the resource persons. Almost 80 library and information professionals and students, hailing from many parts of Pakistan, participated in this workshop.

National Workshop on KOHA ILS
National Workshop on Koha ILS – Pakistan

The workshop was inaugurated by Mr. Sher Afzal, Chief Khan Librarian, Bahria University Islamabad. In his inaugural address, the chief librarian briefly highlighted Koha and its importance in automating all the housekeeping routines in libraries such as acquisition/ordering work, cataloging, circulation, serial/control and keeping various records/statistics for overall management purpose. He stressed upon the professionals need to keep up to date with the contemporary information handling techniques so as to meet the challenging and diversifying needs of their patrons. He delivered a comprehensive lecture and hands on training on Koha Modules i.e. Installation, Configurations, Administrations, OPAC, Patrons, Catalogue, Reports and others.

National Workshop on KOHA ILS - Pakistan
National Workshop on Koha ILS – Pakistan

The workshop was well organized and was attended by approximately 50 library professionals/ students from academic, public, corporate, research, and special libraries at national and international levels. Due to the engaging presentations from Mr. Sher Afzal khan and Zahid Iqbal, participants remained captivated and did not complain in spite of the overcrowded auditorium.

Mr. Najam Uddin Najmi, Director, Centre Education Research & Social Development (CERSD) Sultana Foundation, was the chief guest in the closing session. He explained the role of Sultana Foundation in the promotion of education and paid thanks to the PLC team for selecting this place as workshop venue. He confirmed his support and active cooperation for future programs also.

Dr. MidrarUllah, Director Libraries NUST, Islamabad and Mr. Tasneem Ghani, Director Admin Sultana Foundation also honored the group with their presence as special guests.

Certificates and bootable DVD (Prepared by Sher Afzal Khan) were distributed among the participants.

September Documentation IRC meeting

The September Documentation IRC meeting was held September 28th at 22:00 UTC.

The agenda, links to the minutes, and other information is here.

September General IRC Meeting

The September general IRC meeting was held on the 6th at 22:00 UTC.

The agenda, links to the minutes, and other information is here.

September 13th Development IRC Meeting

The September 13th development IRC meeting was held at 14:00 UTC.

The agenda, links to the minutes, and other information is here.

September 27th Development IRC Meeting

The September 27th development IRC meeting was held at 21:00 UTC.

The agenda, links to the minutes, and other information is here.

About

Editor, Koha Community Newsletter