Zenlib is a simple library management system for cataloging books and other media, and tracking loans of the media to library patrons.
It is designed for relatively small libraries for which existing library management solutions would be too complex to implement.
Zenlib is written in PHP and uses SQLite as its database.
Zenlib is integrated with a SQLite database. See the README in the sql project folder for how to set up an appropriate SQLite database.
Zenlib is integrated with Gary (https://www.purl.org/canidtech/r/gary) for automatically retrieving information about books.
Zenlib can optionally use an iOS or Android smartphone as a barcode scanner. To do this, you need the Scan to Web app (https://scantoweb.net/). You can then use the web browser within that app to navigate your Zenlib website. Zenlib will detect that this special browser is being used and offer "Scan barcode" functions. For efficiency, it is recommended that you set the app to automatically do a form submit after a barcode scan, though this is optional.
To configure and deploy Zenlib, first upload the scripts in the config
directory to a public directory on your server. Then, modify the zenlib_bootstrap.php
script copy on the server to define the BOOTSTRAP_TYPES_MODULE
constant to the path to a copy of jcqtypes.php
on your server, which is available from the Jacques-Types project. You can now use the configuration scripts without getting errors about configuring the bootstrap script.
Navigate to the zenlib_config.php
and use that to create an XML configuration parameters file. If you have an existing configuration parameters file (which may be incomplete if it is from an earlier version of Zenlib, which is OK), you can upload this to the configuration script to fill fields out as much as possible. This also allows you to edit an existing configuration parameters file.
Once you have the XML configuration parameters file, navigate to the zenlib_gen.php
script. You can use this script to upload your XML parameters script and turn it into two kinds of autogenerated PHP files as well as an autogenerated SQL script. The script webpage has further information about the autogenerated files.
If you have not created your SQLite database yet, use the autogenerated SQL script to create it, as is described in the zenlib_gen.php
script webpage.
Upload the scripts in the util
directory to the web server in the library directory that you specified to the configuration parameters file.
You can remove the configuration scripts from the server.
Upload the files in the public
directory to the desired public server directory, renaming them if necessary to match the script names you gave in the configuration parameters file. Also upload the autogenerated PHP files into this directory with their proper names.
Finally, get a copy of the gary.php
script from the Gary project (https://www.purl.org/canidtech/r/gary), set the configuration variables in the script appropriately, and copy the script into the public server directory with the Zenlib scripts.
You should now be able to use Zenlib by navigating to the public folder on the server.
Zenlib is being developed by Noah Johnson. To reach the developer, email noah.johnson@loupmail.com