Published October 9, 2021 | Version v0.5.0
Software Open

caltechlibrary/dibs: Release 0.5.0

  • 1. Caltech Library
  • 2. California Institute of Technology Library

Description

This version brings significant changes and new features, but it is also not fully backward compatible with previous versions. We apologize for breaking backward compatibility; we lack the resources to do it differently or create a proper migration engine. If you installed a previous version of DIBS, updating to this new version will, unfortunately, require some work (but hopefully not too much!). ### Breaking changes * The database object models have changed, and **previous DIBS database files will not work without migration**. Migrating a pre-version-0.5 database file is not difficult and instructions for migrating existing databases are provided in the [wiki for the project on GitHub](https://github.com/caltechlibrary/dibs/wiki). * The **format of the `settings.ini` file has changed**, as part of the DIBS enhancement to support FOLIO. The old format used a single section called `[settings]`; the new format replaces `[settings]` with a section called `[dibs]`, and adds additional sections for TIND and FOLIO. If you attempt to run the new version of DIBS without updating `settings.ini`, DIBS will either exit with an explicit error or fail to find variable values (which will be a clue that the problem is the changes to the settings file). * Some of the **HTML template pages have changed**. If you previously installed DIBS and modified the templates to adapt them to your site, it will be necessary to inspect the new templates and figure out how to make the corresponding changes in the new version of DIBS. A normal `diff` between the old and new `dibs/templates` directories will help, and the changes are limited to only some files (and then mostly to the logic and not the layout components). ### New features * Supports the [FOLIO](https://www.folio.org) LSP in addition to [TIND](https://tind.io) ILS. Along with this, the updated configuration file `settings.ini-example` has a number of changes relative to existing `settings.ini` files. * Provides a mechanism for triggering a workflow to convert scans to IIIF format when a new item is added to DIBS. The interface is part of the item list page (`/list`) and involves the addition of a button and some page logic. Along with this, there is a new `settings.ini` variable that tells the server the location of a subdirectory where it should read and write workflow status files. * Provides the ability to replace the thumbnail image of book covers, in case the automatic algorithm for finding cover images finds an incorrect one or none at all. Along with this, the item editing page (`/edit`) has been reorganized and a new element has been added. Finally, along with this change, there is a new `settings.ini` variable that tells the server the location of a subdirectory used to store thumbnail image files. * Supports downloading the DIBS item list and loan history as CSV files. Buttons for downloading these are available from the management page and the stats page, respectively. * Provides a mechanism for showing a site banner for announcements. The banner text can be written to a file in the DIBS server root directory. * Includes a new helper program, `admin/export-data`, for exporting the data from a DIBS database. **This program works with previous versions of the DIBS database too**, not just the new format in 0.5. * Includes a new helper program, `admin/set-server-permissions`, for setting the permissions on server subdirectories and files, to help configure a new DIBS installation. * `admin/run-server` now allows the use of the `--debug-user` flag in all modes, for more debugging capabilities. ### Other changes * Administrative scripts such as `run-server` have been relocated to a new subdirectory named `admin`. * The default `manifest` subdirectory and the new subdirectories for the IIIF workflow (by default, `processing`) and cover image thumbnails (by default, `thumbnails`) have been relocated to a new subdirectory named `data`. (However, the settings file controls where the server looks for these subdirectories, and DIBS installations do not have to use the default locations in practice.) * The database file (by default named `dibs.db`) has also been relocated to the `data` subdirectory by default. * The versions of many dependencies in the file `requirements.txt` have been updated, and `requirements.txt` now pins the version numbers of dependent libraries to exact version numbers instead of using "this version or later" definitions. * Hardwired references to TIND.io have been removed. * Added [Pokapi](https://github.com/caltechlibrary/pokapi) and [Coif](https://github.com/caltechlibrary/coif) as new dependencies for FOLIO interface. * Titles coming via LSP metadata lookups are now truncated at `:`, `;` and `.` characters in the title, and addition, titles are truncated at 60 characters, to avoid very long title/subtitle combinations. * The publisher is shown as an additional metadata field in the item view page. * Fixed issue #90: character encoding was not specified when reading manifest files, causing garbled characters to appear in the IIIF viewer. (Thanks to @stanonik for the report and fix.) * Fixed issue #89: the Process button would sometimes reappear if the process workflow took too long between steps. * Fixed issue #88: wrong default set for the item processing directory by `server.py`. * Fixed issue #87: don't hardcode TIND URLs in `server.py`. * Fixed issue #86: save cover image thumbnails locally instead of only URLs to external web pages, to avoid the situation where the external site is unresponsive at run time. (This happened to us during demos.) * Fixed issue #83: provide a way to save and reload database. * Fixed issue #82: provide a notes field for writing internal text notes about items. * Fixed issue #78: store the URL to an item page in the `Item` data objects, instead of constructing them at run-time. * Fixed issue #77: provide info about how to set up a IIIF server. * Fixed issue #68: make `run-server` allow defining a debug user in all modes. * Fixed issue #64: don't hardcode TIND URLs in `item.tpl`. * Fixed issue #40: add a site announcement mechanism. * Add `CITATION.cff` file. * Various other bugs fixed, minor refactoring, and other internal changes. * Documentation has been updated.

Files

caltechlibrary_dibs-v0.5.0.zip
Files (25.9 MB)
Name Size
md5:52ac012189b661c6678b6877901c4900
25.9 MB Preview Download

Other

DIBS is an implementation of a basic controlled digital lending system.

Additional details

Created:
September 9, 2022
Modified:
November 18, 2022