https://github.com/caltechlibrary/vaugment

tracking Volunteer Augmentation of ArchivesSpace Records

https://github.com/caltechlibrary/vaugment

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 1 committers (100.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.2%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

tracking Volunteer Augmentation of ArchivesSpace Records

Basic Info
  • Host: GitHub
  • Owner: caltechlibrary
  • Language: Python
  • Default Branch: main
  • Size: 21.5 KB
Statistics
  • Stars: 0
  • Watchers: 4
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 5 years ago · Last pushed about 5 years ago
Metadata Files
Readme

README.md

Volunteer Augmentation of ArchivesSpace Records

We are using nightly backups of the ArchivesSpace database to track changes made to the repository.

A settings.ini file is used to configure the usernames to track the changes of, the location of the local Git repository, and the location of the mysqldump files.

We are only tracking changes in specific tables of the database:

  • deleted_records
  • agent_corporate_entity
  • agent_person
  • archival_object
  • resource
  • subject

The script works in two modes: with and without an --init flag.

With --init flag

We save the deleted_records table as a CSV file in the changes repository.

For the other tables we export a full ArchivesSpace record in JSON format of every item in each of the database tables via the API. We remove a number of superfluous elements from the JSON as well as identifying information for archivists.

These baseline JSON records are saved on the filesystem and must manually be added and committed to a Git repository.

Without --init flag

Running without the --init flag is normal use for this script, but the baseline files must exist for expected results.

First we verify that a repository exists in a working state.

Next we create temporary CSV versions of the database tables from the last backup file and the penultimate backup file. We then compare these two tables and extract the identifier columns from any row that has been added, modified, or deleted. (We ignore superfluous columns in the tables.)

For each added or modified record we save a new JSON export of the ArchiveSpace data, overwriting existing files. If the record was added or modified by a volunteer username listed in the settings.ini file we include the identifying information in the JSON data.

Finally we separately add and commit the archivist-added or -modified files, the deleted files (and deleted_records.csv file), and the volunteer-added or -modified files.

This creates up to three separate commits for each date that contains changes to the ArchivesSpace database. The volunteer changes will be noted by a commit labeled "👀 volunteer changes [archivesspace-YYYY-MM-DD]"

TODO

  • Specifics of the database schema are used to identify superfluous columns in our source tables and these values are subject to change in an upgrade of the ArchivesSpace application. We need to keep this script up to date with the running version of the ArchivesSpace schema and can use the version value in the schema_info table of the database to be sure this script will continue to work.

Owner

  • Name: Caltech Library
  • Login: caltechlibrary
  • Kind: organization
  • Email: helpdesk@library.caltech.edu
  • Location: Pasadena, CA 91125

We manage the physical and digital holdings of the California Institute of Technology, provide services and training, and develop open-source software.

GitHub Events

Total
Last Year

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 16
  • Total Committers: 1
  • Avg Commits per committer: 16.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Tommy Keswick t****k@c****u 16
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels