GithubHelp home page GithubHelp logo

bpieczko / aip-mac-bash-fits Goto Github PK

View Code? Open in Web Editor NEW

This project forked from uga-libraries/aip-mac-bash-fits

0.0 0.0 0.0 189 KB

Transform a batch of folders into Archival Information Packages (AIPS), including generating PREMIS metadata, using two bash scripts, free tools, and xslt stylesheets on a Mac or Linux operating system.

Shell 12.39% XSLT 86.69% Perl 0.92%
bash xslt

aip-mac-bash-fits's Introduction

Make an AIP on Mac/Linux with Bash Scripts and FITS

Purpose:

Transform a batch of folders into Archival Information Packages (AIPS), including generating PREMIS metadata, using two bash scripts, free tools, and xslt stylesheets on a Mac or Linux operating system.

Description:

These scripts perform the following tasks:

  1. Organize the AIP folders into objects and metadata subfolders.
  2. Run FITS to extract technical metadata.
  3. Create PREMIS XML files (called master.xml).
  4. Validate the PREMIS XML.
  5. Organize the FITS and PREMIS files.
  6. Bag the AIPs.
  7. Validate the bags.
  8. Tar and zip the AIPs.
  9. Generate a MD5 of the zipped AIPs.

Usage:

Put the contents of each AIP into its own folder, named with the convention aip-id_AIP Title. All the AIP folders should be in a single directory (the source directory).

Run the first script with the command aip-structure_script.sh source-directory Where source-directory is the full file path to the directory with your AIP folders.

Add additional files to the metadata folders.

Run the second script with the command aip-finish_script source-directory department Where source-directory is the full file path to the directory with your AIP folders. Where department is your department name.

Dependencies:

Installation:

  1. Install the dependencies (listed above).
  2. Download the "aip-workflowdocs" folder with the scripts, stylesheets, and other files needed for the workflow from GitHub and save to your computer.
  3. Update the filepath variables in the aip-finish script (lines 25-27) to the location of the aip-workflowdocs folder, FITS, and Saxon on your computer.
  4. Update the base-uri in the stylesheets and DTD to the base for your identifiers:
    1. fits-to-master_singlefile.xsl: in variable name="uri" (line 57)
    2. fits-to-master_multifile.xsl: in variable name="uri" (line 53)
    3. premis.xsd: in the restriction pattern for objectIdentifierType (line 42)
  5. Change permission on the scripts so they are executable.

Known Issue:

When you run the aip-structure_script, it will give an error that objects cannot be copied into itself. This error can be ignored as we do not actually want objects to be copied into itself.

Initial Author

Adriane Hanson, Head of Digital Stewardship, 2017.

Acknowledgements

This workflow was developed and tested with the assistance of Brandon Pieczko (Processing and Digital Archivist, Russell Library) and Steve Armour (University Archives & Electronic Records Archivist, Hargrett Library).

The aip-finish script incorporates a script to tar and zip the files which was developed by Shawn Kiewel, UGA Libraries Application Analyst.

aip-mac-bash-fits's People

Contributors

amhanson9 avatar bpieczko avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.