Skip to content

An OpenSource Selfcheck system that is FAST, intuitive and - Free Software! Enhancements against the code from code.google.com/p/open-source-self-check

License

Notifications You must be signed in to change notification settings

GallusMax/open-source-self-check

Repository files navigation

open-source-self-check

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)

Requirements

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

Feature: QRCode login

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.

How it works

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.

Setup

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

Changelog

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

About

An OpenSource Selfcheck system that is FAST, intuitive and - Free Software! Enhancements against the code from code.google.com/p/open-source-self-check

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published