A tool allowing you to migrate data from legacy ILS:s (Library systems) into FOLIO LSP
Project description
FOLIO Migration Tools
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
- Create and activate a virtual environment
- Install using pip:
python3 -m pip install folio_migration_tools
- Test the installation by running
python3 -m folio_migration_tools -h
2. Using pipenv
- Run
pipenv install folio-migration-tools
- 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:
- An Installation of FOLIO Migration Tools. Installation instructions below.
- A clone, or a separate repo created from migration_repo_template
- Access to the Data mapping file creator web tool
- A FOLIO tenant...
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.
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.
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
Built Distribution
Hashes for folio_migration_tools-1.3.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c8a8247fe39b368acf960ffb76fe47b4bf18fab4be13880958cd4ff60bad66a |
|
MD5 | da69f5361153b95ed49617e946ab9e9d |
|
BLAKE2b-256 | 549b0d3b26de0269b455ab8078fa5e9cd5902eaa4f612e5ac61c390c78a6bdd5 |
Hashes for folio_migration_tools-1.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 797a3c10ac637565f100ae177decdf09732bd854fea793ee73e52c779bb0d97e |
|
MD5 | b1b47ae6d3b0834dd0083e09414a2ebc |
|
BLAKE2b-256 | 89ee6ffa4c60338792a541c1fab891a26c07bfe45b9e4cb53c4f2493086b6846 |