README.md 5.39 KiB
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
Documentation
- Project based on BagIt 1.0 specification, visit RFC8493
- Some valid Bag examples based on operation system look at
export_dir_kitodo/bagit/lin_*
orexport_dir_kitodo/bagit/win_*
- Specification of creating a SLUB SIP you can find at SLUBArchiv_Produzenten_SIP_Spezifikation_v2.0.pdf
- For rigths coding specification visit SLUBArchiv_Produzenten_Rechteauszeichnung_v1.0.pdf
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