Generates Absolute Identifiers for physical organization of materials by shelving size for Princeton University Library and handles synchronization of those to ArchivesSpace.
AbIDs allow us to organize boxes by their size and their location. AbIDs are not unique across the institution, but they are unique at a particular site (e.g. Mudd and Firestone could each have a box with the same ABID "S001", but Firestone could not have two boxes for the same ABID).
- A user creates container records in aspace. These records contain placeholder box numbers, not AbIDs.
- They enter the following info into this abid application:
- the first barcode they have in their hand
- the numbers from the first and last boxes in their batch
- the EAD id (call number), like C0140.
- the shelving size (aka container profile) -- since you want to group boxes of similar sizes together
- the location (Mudd vs Firestone)
- The application creates the sequential AbIDs.
- In this app, the user "syncronizes" the AbIDs, which adds them to aspace. This overwrites the placeholder box numbers.
This application can also be used for books, and the AbIDs get written back to Alma. The AbID application can also provide the data from which book spine labels can be printed.
- Install Lando from https://github.com/lando/lando/releases (at least 3.x)
- See .tool-versions for language version requirements (ruby, nodejs)
bundle install
yarn install
(Remember you'll need to run the above commands on an ongoing basis as dependencies are updated.)
- Install the necessary environment variables for accessing ArchivesSpace:
lpass login YOURNETID@princeton.edu
rake setup_keys
We use lando to run services required for both test and development environments.
Start and initialize database services with rake servers:start
To stop database services: rake servers:stop
or lando stop
bundle exec rspec
bundle exec rails s
- Ensure you're on VPN or the part of the login process where you connect to aspace will not work
- Access application at http://localhost:3000/