Release 0.5.0
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.
- 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 updatingsettings.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 newdibs/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 LSP in addition to TIND ILS. Along with this, the updated configuration file
settings.ini-example
has a number of changes relative to existingsettings.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 newsettings.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 newsettings.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 namedadmin
. - 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 nameddata
. (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 thedata
subdirectory by default. - The versions of many dependencies in the file
requirements.txt
have been updated, andrequirements.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 and 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.