Skip to content
Snippets Groups Projects
Select Git revision
  • 02dd3178430206143d67daee7a6b699891d39bfa
  • master default protected
  • v2021.2.1
  • v2021.2
  • RC5_v2021.1
  • RC4_v2021.1
  • RC3_v2021.1
  • RC2_v2021.1
  • RC1_v2021.1
  • v2020.1
10 results

README.md

Blame
  • SLUB SIP Builder

    Description

    A CLI tool to create a valid BagIt SIP for SLUBArchiv. As a user, you have three options copy move or replace to create your SIP. This options are based on payload files, which would be saved in data directory of your bag. NOTE: use option copy if you are not sure how to restore your payload files, when something goes wrong!

    Operating Systems

    • Windows 10 (Note: check if UTF-8 flag set at Systemadministration/TimeAndRegion/Region/Administration/AreaPattern, if you want to use such characters as äöüÄÖÜß)
    • Debian 10

    Requirements

    • Perl version 5.28 or higher, as all necessary modules required
    • Module Archive::BagIt::Base 0.065 or higher

    Three ways to install a module

    • with cpan cpan Archive::BagIt
    • with cpanm cpanm Archive::BagIt (Note: cpan App::cpanminus must be installed)
    • manual as downloaded package
      1. Download for example Archive-BagIt-0.065.tar.gz from metacpan Archive::BagIt
      2. Extract it with tar zxf Archive-BagIt-0.065.tar.gz and go to project dir with cd in Archive-BagIt-0.065
      3. Run perl Makefile.pl
      4. (d)gmake
      5. (d)gmake test
      6. (d)gmake install
      7. with cpanm Archive::BagIt test for version. Result will be something like Archive::BagIt is up to date (0.065).

    Module deinstallation

    1. cpan App::cpanminus must be installed.
    2. Run cpanm --uninstall Archive::BagIt

    Documentation

    Explanation

    Usage
    perl -I lib/ bin/slubsipbuilderbagit.pl -help
    Result
    Usage:
        slubsipbuilderbagit.pl [options]
    
        Options: -help brief help message -man full documentation
    
                -save_option=<option>           payload files save as <copy>, <move>, <replace>, the <copy> option should be prefered
                -IE_directory=<IE dir>          existing IE directory (absolute path!)
                -SIP_output_path=<target dir>   where to put the SIP dir (absolute path!)
                -ppn=<ppn>|-noppn=<noppn>       SWB-PPN or any identifier (uses minimalistic MODS)
    
                -SIP_version=<version>          mandatory, needs for identification of SIP format, supported <v2020.1>
                -external_workflow=<workflow>   mandatory, should be uniqe workflow name
                -external_id=<id>               mandatory, should be uniqe ID (i.e. a catalog ID), reuse an ID only when updating existing AIP
                -external_ISIL=<isil>           optional, ISIL number of library
                -external_conservation_flag     optional, if set no other "original" still exists
                -external_value_descr=<text>    mandatory, the reason why to archive
                -rights_version=<version>       mandatory, SLUB law managment specification, supported <1.0>
    
                -rights_xml=<file>              mandatory, path to SLUB rights xml file(absolute path!)
                -add_meta_file=<file>           optional, can be repeated, additional meta files(absolute path!)
                -add_key_value=<"key:value">    optional, can be repeated, additional key value pairs for bag-info.txt
    
    Options:
        -help   Print a brief help message and exits.
    
    Full documentation with examples
    perl -I lib/ bin/slubsipbuilderbagit.pl -man
    Result
    • Note: Write command in one line.
    EXAMPLES
      Copy    (minimalistic)
        perl -I lib/ bin/slubsipbuilderbagit.pl --save_option=copy
        --IE_directory=/IE/git/SLUB_SIP_Builder/export_dir_kitodo/bagit/test2
        --SIP_output_path=/output_sips --ppn=457035137 --SIP_version=v2020.1
        --external_id=10008 --external_workflow=kitodo --external_ISIL=DE-14
        --external_value_descr="Gesetzlicher Auftrag" --rights_version=1.0
        --rights_xml=/metadata/rights/Fallbeispiel-02.xml
    
      Copy
        perl -I lib/ bin/slubsipbuilderbagit.pl --save_option=copy
        --IE_directory=/IE/git/SLUB_SIP_Builder/export_dir_kitodo/bagit/test2
        --SIP_output_path=/output_sips --ppn=457035137 --SIP_version=v2020.1
        --external_id=10008 --external_workflow=kitodo --external_ISIL=DE-14
        --external_value_descr="Gesetzlicher Auftrag" --rights_version=1.0
        --rights_xml=/metadata/rights/Fallbeispiel-01.xml
        --add_meta_file=/metadata/lido.xml --add_meta_file=/metadata/mods.xml
        --add_key_value="Author:Lew Nikolajewitsch Tolstoi"
        --add_key_value="Titel:Krieg und Frieden" --add_key_value="Genre:Roman"
    
      Replace (minimalistic)
        NOT RECOMMENDED! IF FAILS, "IE" MUST BE MANUAL RESTORED TO THE PREVIOUS
        STATE!!!
    
        perl -I lib/ bin/slubsipbuilderbagit.pl --save_option=replace
        --IE_directory=/IE/SLUB_SIP_Builder/export_dir_kitodo/bagit/test2
        --ppn=457035137 --SIP_version=v2020.1 --external_id=10008
        --external_workflow=kitodo --external_ISIL=DE-14
        --external_value_descr="Gesetzlicher Auftrag" --rights_version=1.0
        --rights_xml=/metadata/rights/Fallbeispiel-01.xml
    
      Move    (minimalistic)
        NOT RECOMMENDED! IF FAILS, "IE" MUST BE MANUAL RESTORED TO THE PREVIOUS
        STATE!!!
    
        perl -I lib/ bin/slubsipbuilderbagit.pl --save_option=move
        --IE_directory=/IE/git/SLUB_SIP_Builder/export_dir_kitodo/bagit/test2
        --SIP_output_path=/output_sips --ppn=457035137 --SIP_version=v2020.1
        --external_id=10008 --external_workflow=kitodo --external_ISIL=DE-14
        --external_value_descr="Gesetzlicher Auftrag" --rights_version=1.0
        --rights_xml=/metadata/rights/Fallbeispiel-03.xml
    Tests
    • Start scipt in project directory to run all tests properly.
    • Note: while running tests path tmp/bagit will be created.
    perl -I lib/ t/slubsipbuilderbagit.t