Plugin for Koha: In and Out Management System

The Inout Management System is a web tool for keeping track of individuals entering and leaving library spaces like study areas and reading rooms. Using barcode scanning, the system records entry and exit times, pulling user data and images from the Koha database. It has separate interfaces for barcode scanning and report access. Four report types can be generated as downloadable Excel files. Three default users manage the system: a master user with access to all locations, and two others for specific areas. Utilizing the Koha database, the system retrieves patron information and stores it with location and time stamps in a separate database. This data can be accessed through the admin panel with various filters like date, time, and user identification.

System Needs:

Software:

  • Apache (Existing on the Koha server) 
  • PHP 
  • MySQL (Existing on the Koha server) 
  • Any basic text editor such as vim, mousepad, leafpad, or gedit.

Hardware:

A computer equipped with a widescreen monitor

Automatic barcode scanner

Installation:

PHP Installation:  for Debian 10 & Ubuntu 20.04 LTS

Access your terminal and input the commands below.

sudo apt-get install -y git php libapache2-mod-php php-{bcmath,bz2,intl,gd,mbstring,mysql,zip}

cd /usr/share/koha/opac/htdocs

git clone –recursive https://github.com/omkar2403/inout.git

sudo chmod 755 -R inout

sudo chown www-data:www-data -R inout

Database Setup:

Access the MySQL shell to establish a database, user, and password for Inout.

sudo su

mysql -uroot -p

[Input your MySQL Root password]

CREATE database libinout;

CREATE USER ’libinout’@’localhost’ IDENTIFIED BY ’libinout123’;

GRANT ALL PRIVILEGES ON *.* TO ’libinout’@’localhost’ WITH GRANT OPTION;

FLUSH PRIVILEGES;

quit;

In this example, ‘libinout’ represents the database, ’libinout’ the database username, and ’libinout123’ the database password. Remember to customize these with your chosen credentials. Now, restore the sample database located in the ‘inout/DB’ directory.

Input the following command in the terminal

sudo su

**mysql -uroot -p libinout < ***/usr/share/koha/opac/htdocs/inout/DB/**inout.sql **

[Input your MySQL Root password, for example, mysqlroot]

Update the database name, username, and password in the dbconn.php file, found within the ‘inout’ directory at line number 3, to match your chosen connection details.

**sudo vim /usr/share/koha/opac/htdocs/inout/**functions/dbconn.php

Restart Apache

sudo systemctl reload apache2 && sudo systemctl restart apache2

The system is now operational.

You can reach it at the following address:

http://127.0.0.1/inout/login.php

Important: If you encounter a 404 Error Page Not Found, take the following steps.

Confirm the ‘inout’ Directory

Ensure the system is installed within the /usr/share/koha/opac/htdocs/ directory.

Verify the Port Number

Many libraries modify their default OPAC port number.

Typically, the Inout system is accessed through http://127.0.0.1/inout using the default port 80.

However, in cases where a different OPAC port number is used, for example, http://127.0.0.1:8001,

Access Inout with the corresponding port: http://127.0.0.1:8001/inout

Backing Up the libinout Database

sudo su

mysqldump -ulibinout -plibinout123 libinout | xz > libinout-$(date +%d-%m-%Y-%H.%M).sql.xz

Resolving Character Length Issues

Card numbers exceeding 11 characters might not function correctly with Inout. To address this:

Open the MySQL shell

sudo mysql -uroot -p

USE libinout;

ALTER TABLE ‘inout’ CHANGE ‘cardnumber’ ‘cardnumber’ VARCHAR(50);

FLUSH PRIVILEGES;

quit;

References:

https://github.com/omkar2403/inout
https://writeride.com/how-to-install-in-out-management-system/

Licensed under CC BY-NC-SA 4.0
Last updated on Feb 10, 2024 15:56 +0100