BookOps-CAT / babel

Windows application for library selectors. Creates order MARC records for Sierra based on data from a spreadsheet.
0 stars 0 forks source link
crosswalk distribution ils marc orders records sierra

Babel

Babel is an enhanced crosswalk mapping data from a vendor spreadsheet to brief order records in MARC21 format. Produced records follow NYPL and BPL Sierra ILS schemas.

Babel provides an interface for selectors to ingest data from a spreadsheet that includes a list of offered by a vendor titles with any accompanying information (authors, publishers, ISBNs, prices, etc.). Selectors can enhance then this data with order information such as language, audience, vendor codes, fund codes, and finally distribution - an encoded for Sierra ILS data that specifies library branches where each copy is destined for. The vendor data and selectors enrichment produces MARC21 records that can be imported to Sierra and which will create brief record with attached order records for each title. This detailed order data allows to use process within Sierra called "rapid receive" to automatically create item records when materials are received. Detailed order information also allows more granular tracking of spending by the Selection Department.

In addition to its core functionality of creation of brief order records, Babel provides means to automatically detect duplicate titles in each BPL and NYPL catalogs potentially providing time and cost savings. Finally, the application produces detailed, on demand reports tracking placed orders.

Please note, Babel is a custom tool for BookOps which supposed to work with the particular systems and workflows used by BookOps (Sierra ILS, etc.). At the moment we do not plan to create a universal application that could be used by other libraries. It would not be too difficult to adapt our source code for your needs though, especially if you are Sierra or Millennium library.

Database Localhost Installation

Babel is configured to work with MySQL database. Follow MySQL Installer instruction to install server on a localhost. Using MySQL Workbench create schema named as your db_name. Then use create_datastore method to setup database with all required tables.

localhost example:

from babel.data.datastore import create_datastore
create_datastore(
    db_name='datastoredev'
    user='john',
    password='johns_password',
    host='127.0.0.1',
    port='3306')

Stand-alone executable under Windows (initial & updates)

  1. Update version (babel/babel.py and win_info.txt)
  2. Change logging from development to production (babel.py) - make sure loggly token is added to logging_settings.py
  3. Activate virtual environment
  4. Make sure to change working directory to newly created main Babel directory
  5. Encrypt credentials (creds.json) using babel.credentials.enctrypt_file_data() and copy to the distr directory as creds.bin. Note the encryption key, which will need to be provided to users to unlock the app
  6. Package Babel by running freeze-babel-debug.sh shell script
  7. Troubleshoot any import error or other issues. Test if the app launches
  8. Rename generated babel.exe to babel-debug.exe and archive created distribution folder
  9. Package app again using freeze-babel.sh shell script and copy to the archived directory the babel.exe file (actual executable file used by users).
  10. Test if babel.exe launches correctly.
  11. Zip the entire app folder (top level babel) and name it using version (example babel-4.0.0.zip)
  12. Send the zipped app to ITG for packaging and distribution
  13. Test ITG distribution
  14. Remove loggly token from logging_settings and change logging back to DEV_LOGGING
  15. Assist users with unlocking Babel (if creds changed)

New Feature Requests

In addition to GitHub Issues users can utilize this google document to suggest new features or report bugs.

Icon Credits

Icons by

Changelog

4.0.1 (2024-10-09)

Fixed

Changed

Fixed

Security

Deprecated

3.0.0 (2020-12-10)

Added

Security

2.3.2 (2020-10-14)

Security

2.3.1 (2020-01-28)

Fixed

2.3.0 (2020-01-27)

Added

Fixed

Security

2.2.1 (2019-11-14)

Changed

Fixed

Security

2.2.0 (2019-09-24)

Added

Fixed

2.1.0 (2019-09-12)

Changed

Fixed

Presentations

BookOps Babel : Filling Order Metadata Gaps in the ILS (ALA 2019, Washington, D.C.)