Skip to main content

A tool allowing you to migrate data from legacy ILS:s (Library systems) into FOLIO LSP

Project description

FOLIO Migration Tools

example workflowcodecov A toolkit that enables you to migrate data over from a legacy ILS system into FOLIO LSP

The scripts requires a FOLIO tenant with reference data properly set up. The script will throw messages telling what reference data is missing.

Installing

1. Using pip and venv

  1. Create and activate a virtual environment
  2. Install using pip: python3 -m pip install folio_migration_tools
  3. Test the installation by running python3 -m folio_migration_tools -h

2. Using pipenv

  1. Run pipenv install folio-migration-tools
  2. Test the installation by calling pipenv run python3 -m folio_migration_tools -h

FOLIO migration process

This repo plays the main part in a process using a collection of tools. The process itself is documented in more detail, including example configuration files, at this template repository In order to perform migrations according to this process, you need the following:

Mapping files

The tool is run against a folder with a set of mapping files and data files. There is a template repository with examples of the files needed and documentation around it in the Readme. The template has everything needed to run the tools agains a FOLIO test environment.

Bib records to Inventory and SRS records

MARC mapping for Bib level records is based on the mapping-rules residing in a FOLIO tenant. Read more on this in the Readme in the Source record manager Module repo.

image In the picture above, you can se the files needed and the files created as part of the proces.

MFHD-to-Inventory

Mapping rules

This process creates FOLIO Holdings records . A template/example is available in migration_repo_template. You have the option of either just create Holdings records, or creating a controlling SRS MFHD record together with the FOLIO Holdingsrecord.

If you do not have MFHD records available, you can build a mapping file this web tool from the Item data. This will generate Holdings records to connect to the items.

Location mapping

For holdings mapping, you also need to map legacy locations to FOLIO locations. An example map file is available at migration_repo_template

Items-to-Inventory

Items-to-Inventory mapping is based on a json structure where the CSV headers are matched against the target fields in the FOLIO items. To create a mapping file, use the web tool.

image

Open loans

The tools allows you to migrate open loand into FOLIO. This uses the Business logic APIs for this, which mean that the actual circulation rules are being excercised. The toolkit handles various exceptions as well, as expired users and other things that would normally block the user from checking things out. Be sure to turn off the SMTP settings before checking out anything or you will have a lot of patrons wondering...

Tests

There is a test suite for Bibs-to-Instance mapping. You need to add arguments in order to run it against a FOLIO environment. The tests are run against the latest FOLIO Bugfest environment as part of the commit process in this repo.

Running the tests for the Rules mapper

  • Install the packages in the Pipfile
  • Run clear; pipenv run pytest -v --log-level=DEBUG --password PASSWORD --tenant_id TENANT_ID --okapi_url OKAPI URL --username USERNAME

Running the scripts

For information on syntax, what files are needed and produced by the toolkit, refer to the documentation and example files in the template repository. ¨

Building / Packaging

  • Update setup.cfg with the latest version
  • Build the new version: python3 -m build
  • Upload to pypi: twine upload dist/*

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

folio_migration_tools-1.3.1.tar.gz (89.0 kB view hashes)

Uploaded Source

Built Distribution

folio_migration_tools-1.3.1-py3-none-any.whl (112.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page