Modalità kiosk con supporto per codici a barre e RFID
Monitoraggio del tempo in un ambiente in cui l'utente non ha accesso a Kimai (ad esempio in un magazzino), utilizzando codici a barre o scanner RFID per avviare e interrompere i fogli di presenza.

Kevin Papst
A Kimai plugin, which allows using barcodes for punch-in
and punch-out
time tracking with Kimai.
You can use it with an attached barcode scanner, or you run Kimai on a device (e.g. tablet) with a built-in camera.
It also supports a “freestyle” mode, which allows to enter any free configurable code (up to 120 characters), so you can also use other devices for starting/stopping:
- an electronic USB number-pad
- an RFID scanner that acts as keyboard
If you want to use Kimai in a kiosk mode, where your users should only register their attendance time through
punch-in and punch-out mode when entering/leaving the building, then this bundle is the solution for you.
It could be as simple as:
- Print the barcodes on your employee cards
- Mount a tablet to the wall in your entrance room
- Let your users check-in & check-out when entering the building by scanning the barcode of their employee card
You can test it in the “Plugins” demo.
Features
- Start/Stop work with
- barcode scanner (via device camera, only works via HTTPS)
- barcode scanner (via USB or Bluetooth)
- RFID scanner (via USB or Bluetooth)
- Upon starting/stopping a record via this plugin, the user will see a short overview screen with the entries of the current week (including some statistics)
- New user profile screen for the “codes”
- Display all codes for user
- Generate a random code (automatically done if none is existing yet for the active code-type)
- Re-use existing code for user by entering (or scanning) it manually
- User specific settings to configured allowed start and end working time (user can only clock in between these times)
- Supports the following 1D barcodes:
Code 128
Code 39
-
UPC-A
(scanner needs to transmit check digit) Code 2 of 5
Code 2 of 5 interleaved
-
Codabar
(scanner needs to transmit start & stop digits)
- Optional: show active / inactive users in login screen
- Many CSS classes to customize the look with Custom CSS Bundle
You need to configure a non-global activity for starting the record via this plugin. This will be used for every recorded timesheet that is created using the kiosk mode.
Hardware
This is NOT a hardware recommendation, but more an idea for possible use-cases.
I tried the linked products and even though all scanner are rather cheap, they work without problems.
- Raspberry PI setup with touch screen (eg. for wall mount)
- RFID scanner by Neuftech (desktop version)
- RFID scanner by KKMoon (desktop version)
- Barcode scanner which can also scan codes from mobile phones (desktop version)
- Barcode scanner classic hand-held version
The above are affiliate links for Amazon (germany) where I bought them myself.
Configuration
You have to configure the bundle before you can use it - you reach the configuration via
- the
Plugin
screen (Preferences
in action dropdown behind the plugin) - the Kiosk administration (cogs icon in the upper right)
- the System configuration (
Kiosk & Barcode
section)
The following configurations are available:
Configuration | Description |
---|---|
Login mode |
whether to use camera or usb mode |
Code format |
you have to decide which code format you want to use |
Barcode includes readable code |
whether the barcode in the user profile will include the human readable code |
Duration to display confirmation dialog (in seconds) |
how long the start/stop screens will be shown after a successful scan |
Activity |
the non-global activity that will be used to track the times |
Permissions
This bundle introduces new permissions, which limit access to certain functions:
Permission Name | Description |
---|---|
barcode_own_profile |
allows to see and administrate barcode for the own user profile |
barcode_other_profile |
allows to see and administrate barcode for all user profiles |
kiosk_own_profile |
allows to configure user specific kiosk settings (eg. start and end time) for the own user profile |
kiosk_other_profile |
allows to configure user specific kiosk settings (eg. start and end time) for all user profiles |
By default, these are granted to each user with the role ROLE_SUPER_ADMIN
.
Installazione
Copia file
Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:
var/plugins/KioskBundle/
The file structure needs to look like this afterwards:
var/plugins/
├── KioskBundle
│ ├── KioskBundle.php
| └ ... more files and directories follow here ...
Cancella cache
After uploading the files, Kimai needs to know about the new plugin. It will be found once the cache was re-built. Call these commands from the Kimai directory:
How to reload Kimai cache
bin/console kimai:reload --env=prod
It is not advised, but in case the above command fails you could try:
rm -r var/cache/prod/*
You might have to set file permissions afterwards:
Adjust file permission
You have to allow PHP (your webserver process) to write to
var/
and it subdirectories.
Here is an example for Debian/Ubuntu (to be executed inside the Kimai directory):
chown -R :www-data .
chmod -R g+r .
chmod -R g+rw var/
Crea database
Run the following command:
bin/console kimai:bundle:kiosk:install
This will create the required database tables and update them to the latest version.
There are no commands defined in the "kimai:bundle:XYZ" namespace.
,
then either the directory has a wrong name (must be var/plugins/KioskBundle/) or you forgot to clear the cache (look above).
Installa le risorse
The following command will install the required assets (images, javascripts, styles):
bin/console assets:install
Aggiornamenti
Updating the plugin works exactly like the installation:
- Delete the directory
var/plugins/KioskBundle/
-
Execute all installation steps again:
- Copia file
- Cancella cache
- Update database with
bin/console kimai:bundle:kiosk:install
- Update assets with
bin/console assets:install
La tabella seguente contiene un confronto tra il plugin e la versione minima richiesta di Kimai.
Versione in bundle | Versione minima di Kimai |
---|---|
2.5.0 | 2.1.0 |
2.4.0 | 2.0.33 |
2.3.0 - 2.3.1 | 2.0.29 |
2.2.1 | 2.0.20 |
2.0 - 2.2.0 | 2.0 |
1.9 | 1.15 |
1.7 | 1.14 |
Puoi provare questo plugin su demo.kimai.org:
Nome utente: susan_super
Password: kitten
Screenshot
Acquista
Read more about the license for this item here
You can buy the plugin via Lemon Squeezy (CreditCard, instant access) or from the developer (bank-transfer, up to one week)
Support-questions, bug-reports and feature-requests will be answered in this Github repository