An OpenSource Selfcheck system that is FAST, intuitive and - Free Software!
This repository offers enhancements against the code from late code.google.com/p/open-source-self-check (see Wiki for details)
A Library System with SIP2 connectivity allowing checkout(/in)
The Hardware at the desk: A PC with a browser, even a ThinClient will do. We use Wyse T50 in some installations. Minimum: a barcode reader acting as USB HID, can be used for patron cards and items. Barcodes can be discriminated syntactically.
Optional, for bulk checkout/checkin: A RFID Reader which handles reading and (un)locking, we use an OpenSource Java tool named JkbdRF.jar
Optional, for RFID patron cards: An RFID HID device, reading the UID off the local cards, we use programmable readers TWN4 Mifare NFC USB
With this optioon enabled, patrons can login with their smartphone, instead of their patron card. The authorization is done via Shibboleth SSO on the smartphone after scanning a QRCode and opening the URL displayed. This allows for a secure login without the need for a patron card.
The QRCode is generated by the selfcheck application specifically for each self check station. It is refreshed regularly, so the URL has a limited lifetime. After successful login, the authorized site - which must of course be accessible from outside - triggers a request to the selfcheck application behind the firewall. This request writes into a pipe. On the reading end of the pipe waits the selfcheck client, that displayed the QRCode in the first place.
Enable the QRCode login in the config_local.php
- $pipe['station_ip'] = 'someStationSpecificSecret'; // enable station with its IP in $pipe array
- $pipepath='/path/to/pipes'; // file system location accessible for www-data
- $qrauthurl='https://authenticated.url/index.php'; // external URL behind SSO, providing patronId
- $newpiperate=200000; // milliseconds before a new pipe is generated
See Wiki
- 2026-02 Feature: login with QRCode, Authentication with Shibboleth SSO
- 2026-01 PHP8-fix: replace calls to each() , which are no longer supported