ホーム 記事一覧 ブック DH週間トピックス 検索 このサイトについて
English
Archivematica AIPのREADMEファイルの日本語訳例

Archivematica AIPのREADMEファイルの日本語訳例

Archivematicaによって作成するAIPには、README.htmlファイルが含まれています。本ファイルをDeepLで翻訳(一部を人手で修正)しました。誤りも多く含まれているかと思いますが、参考になりましたら幸いです。 アーカイブマティカのAIP構造 このReadmeファイルでは、Archivematicaが生成するArchival Information Package(AIP)の基本的な構造について説明しています。 頭字語 AIP = アーカイバルインフォメーションパッケージ METS = メタデータのエンコードと送信の標準規格 OAIS = Open Archival Information System(オープン・アーカイブ・インフォメーション・システム) PDI = 保存記述情報(Preservation Description Information) PREMIS = 保存メタデータ実装ストラテジー UUID = ユニークユニバーサル識別子 はじめに Archivematica は、多様なデジタルコンテンツを取り込み、長期保存のためのAIPを作成するために設計されたオープンソースのツール群です。一度作成されたAIPは、Archivematicaに依存することなく、標準的なファイルブラウザで開くことができます。AIPのコンセプトは、ISO 14721:2012 Reference Model for an Open Archival Information System (OAIS) に由来し、「コンテンツ情報と関連する保存記述情報(PDI)からなり、OAIS内に保存される情報パッケージ」として定義されています。 コンテンツ情報 Archivematica AIPでは、コンテンツ情報は、主に最初に取り込まれたデジタルオブジェクトと、時間の経過とともにフォーマットが陳腐化するリスクを軽減するために作成されたオブジェクトの保存バージョンで構成されています。保存版は通常、元のオブジェクトと同じファイル名ですが、ファイル拡張子が異なり、ファイル名にUUIDが付加されています。たとえば、BBhelmet.aiという名前の元のファイルに対して、保存版の名前はBBhelmet-e3a3988d-8149-49ea-adc5-c255fb68d4f9.pdfである場合があります。 最初に取り込まれたデジタルオブジェクトと保存バージョンは、AIPのobjectsディレクトリに配置されます。もしこれらのサブディレクトリがオリジナルの転送に含まれていたり、SIPの配置中に追加された場合は、objectsディレクトリにネストしたサブディレクトリが存在します。objectsディレクトリには、submissionDocumentationフォルダーとmetadataフォルダーも含まれます。submissionDocumentationフォルダには、ドナー契約や譲渡書などの文書(AIPに含まれている場合)、およびAIPの作成元となった元の譲渡の内容を記録するMETSファイルが含まれます。metadataフォルダには、オリジナルの転送ファイルに含まれるメタデータファイルや、処理中に生成されたOCRテキストファイルが保存されます。 保存説明情報(PDI) Archivematica AIPのPDIは、METS XMLファイルに記録されています。METSは米国議会図書館によって管理されており、その定義は「World Wide Web ConsortiumのXMLスキーマ言語を使用して表現された、デジタルライブラリ内のオブジェクトに関する記述的、管理的、構造的メタデータをエンコードするための標準」です。Archivematica AIPでは、METSファイル名は、METSという名前にUUIDファイル拡張子とXMLファイル拡張子で構成されています。例えば、METS.0ad8cdab-dbbf-4863-8a4d-9a675c227216.xmlのようなファイル名です。METS ファイルは通常、以下の標準 METS セクションで構成されています。 mets:metsHdr (METSヘッダー):METSファイルに関する基本的な情報。 mets:dmdSec(記述的メタデータ・セクション):デジタル・オブジェクトについての記述的メタデータ。 mets:amdSec (管理メタデータセクション): デジタルオブジェクトに関する技術的および出所情報。 mets:fileSec (ファイルセクション): デジタルオブジェクトのリストとAIPにおける役割の表示(オリジナル、保存、メタデータ、提出書類、ライセンスなど)。 mets:structMap(構造マップ):デジタル・オブジェクトの物理的または論理的な順序付け。すべてのAIP METSファイルには、デフォルトの物理的structMapが含まれ、AIPの構造に応じて、物理的または論理的な追加のstructMapを含むことができます。 METS amdSecの技術的および出所情報は、PREMISメタデータとして記録されます。PREMISは米国議会図書館の規格でもあり、「デジタル・オブジェクトの保存を支援し、その長期的な有用性を確保するためのメタデータの国際標準」と説明されている。PREMISエンティティは、METSファイルの中で以下のようにラップされています。 ...

ArchivematicaのAPIを試す(Archivematica API編)

ArchivematicaのAPIを試す(Archivematica API編)

概要 「ArchivematicaのAPIを試す」のArchivematica APi編です。(別に、「Storage Service API」があります。) https://www.archivematica.org/en/docs/archivematica-1.13/dev-manual/api/api-reference-archivematica/#api-reference-archivematica 今回は、以下の「Transfer」を試します。 https://www.archivematica.org/en/docs/archivematica-1.13/dev-manual/api/api-reference-archivematica/#transfer 使い方 以下のノートブックでお試しいただけます。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/ArchivematicaのAPIを使ってみる.ipynb 以下のような記述が必要でした。ロケーションのUUIDは、ストレージサービスから確認しました。 ## サーバの設定 endpoint = "http://<ドメイン>:81/api" username = "<ユーザ名>" api_key = "<APIキー>" location_uuid = "<ロケーションのUUID>" ## Transferの設定 name = "mc_api_transfer" type = "standard" accession = "2023-1234" paths = ["files/movie_test"] row_ids = [""] ## base64へエンコード import base64 paths_encoded = [] for path in paths: path_encoded = base64.b64encode(f"{location_uuid}:{path}".encode()).decode() paths_encoded.append(path_encoded) ## POST import requests data = { "name": name, "type": type, "accession": accession, "paths[]": paths_encoded, "row_ids[]": row_ids } headers = {'Authorization': f'ApiKey {username}:{api_key}'} response = requests.post(f'{endpoint}/transfer/start_transfer/', headers=headers, data=data) まとめ 今回はStart transferのみを試しましたが、各操作に対するAPIが提供されており、色々なシステム連携ができそうでした。 ...

ArchivematicaのAPIを試す(Storage Service API)

ArchivematicaのAPIを試す(Storage Service API)

概要 ArchivematicaのStorage Service APIについては、以下のページに記載があります。このAPIをいくつか使ってみましたので、その備忘録です。 https://www.archivematica.org/en/docs/archivematica-1.13/dev-manual/api/api-reference-storage-service/ 以下、ベーシック認証が求められた場合には、以下の情報をお使いください。 ユーザ名:demo パスワード:Nd4Ev3XJ PACKAGE A package is a bundle of one or more files transferred from an external service; for example, a package may be an AIP, a backlogged transfer, or a DIP. Each package is stored in a location. 以下のURLからAIPやDIPの一覧を確認することができます。デフォルトではXML形式のデータが返却されましたが、format=jsonを与えることで、JSON形式のデータをダウンロードできました。 http://18.215.157.75:8001/api/v2/file/?format=json { "meta": { "limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 2 }, "objects": [ { "current_full_path": "/var/archivematica/sharedDirectory/www/AIPsStore/8dfd/b901/9cb1/44be/bfde/e872/15df/9813/test-8dfdb901-9cb1-44be-bfde-e87215df9813.7z", "current_location": "/api/v2/location/b9661f20-63fa-4843-98aa-05f8c6228c1e/", "current_path": "8dfd/b901/9cb1/44be/bfde/e872/15df/9813/test-8dfdb901-9cb1-44be-bfde-e87215df9813.7z", "encrypted": false, "misc_attributes": { }, "origin_pipeline": "/api/v2/pipeline/e395113a-2885-4163-bf5a-a2786dad948e/", "package_type": "AIP", "related_packages": [ "/api/v2/file/65f81712-399b-4edb-a1a7-1b841a738fc1/" ], "replicas": [ ], "replicated_package": null, "resource_uri": "/api/v2/file/8dfdb901-9cb1-44be-bfde-e87215df9813/", "size": 61495776, "status": "UPLOADED", "uuid": "8dfdb901-9cb1-44be-bfde-e87215df9813" }, { "current_full_path": "/var/archivematica/sharedDirectory/www/DIPsStore/65f8/1712/399b/4edb/a1a7/1b84/1a73/8fc1/test-8dfdb901-9cb1-44be-bfde-e87215df9813", "current_location": "/api/v2/location/f403aa21-749c-4d93-b71e-b95635d8ce14/", "current_path": "65f8/1712/399b/4edb/a1a7/1b84/1a73/8fc1/test-8dfdb901-9cb1-44be-bfde-e87215df9813", "encrypted": false, "misc_attributes": { }, "origin_pipeline": "/api/v2/pipeline/e395113a-2885-4163-bf5a-a2786dad948e/", "package_type": "DIP", "related_packages": [ "/api/v2/file/8dfdb901-9cb1-44be-bfde-e87215df9813/" ], "replicas": [ ], "replicated_package": null, "resource_uri": "/api/v2/file/65f81712-399b-4edb-a1a7-1b841a738fc1/", "size": 30175868, "status": "UPLOADED", "uuid": "65f81712-399b-4edb-a1a7-1b841a738fc1" } ] } package_typeがAIPとなっているリソースにアクセスしてみます。 ...

Amazon EC2にArchivematicaを立てる

Amazon EC2にArchivematicaを立てる

概要 Archivematicaはデジタルデータの長期保存のためのオープンソースソフトウェアです。 https://www.archivematica.org/en/ このArchivematicaをAmazon EC2に立てる機会がありましたので、その備忘録です。 インストール 以下のページにインストール方法が記載されています。 https://www.archivematica.org/en/docs/archivematica-1.13/admin-manual/installation-setup/installation/installation/ いくつかの選択肢がありますが、今回は以下の「CentOS 7 64-bit、Installing Archivematica on CentOS/Red Hat」を試してみます。 https://www.archivematica.org/en/docs/archivematica-1.13/admin-manual/installation-setup/installation/install-centos/#install-pkg-centos EC2のインスタンス CentOS 7と指定されていましたので、以下のAmazon マシンイメージ(AMI)を選択しました。 以下にハードウェアの要件が記載されていますが、「Recommended minimum production requirements」であるメモリ4GBである「t2.medium」、200GBのストレージを選択しました。 https://www.archivematica.org/en/docs/archivematica-1.13/admin-manual/installation-setup/installation/installation/#hardware インストール EC2の起動後は、上記のサイトに記載されていたコマンドをすべて実行します。以下をコピー&ペーストすることがでインストールできます。 sudo yum -y update # Allow Nginx to use ports 81 and 8001 sudo semanage port -m -t http_port_t -p tcp 81 sudo semanage port -a -t http_port_t -p tcp 8001 # Allow Nginx to connect the MySQL server and Gunicorn backends sudo setsebool -P httpd_can_network_connect_db=1 sudo setsebool -P httpd_can_network_connect=1 # Allow Nginx to change system limits sudo setsebool -P httpd_setrlimit 1 sudo yum install -y epel-release sudo -u root rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch sudo -u root bash -c 'cat << EOF > /etc/yum.repos.d/elasticsearch.repo [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF' sudo -u root bash -c 'cat << EOF > /etc/yum.repos.d/archivematica.repo [archivematica] name=archivematica baseurl=https://packages.archivematica.org/1.13.x/centos gpgcheck=1 gpgkey=https://packages.archivematica.org/1.13.x/key.asc enabled=1 EOF' sudo -u root bash -c 'cat << EOF > /etc/yum.repos.d/archivematica-extras.repo [archivematica-extras] name=archivematica-extras baseurl=https://packages.archivematica.org/1.13.x/centos-extras gpgcheck=1 gpgkey=https://packages.archivematica.org/1.13.x/key.asc enabled=1 EOF' sudo -u root yum install -y java-1.8.0-openjdk-headless elasticsearch mariadb-server gearmand sudo -u root systemctl enable elasticsearch sudo -u root systemctl start elasticsearch sudo -u root systemctl enable mariadb sudo -u root systemctl start mariadb sudo -u root systemctl enable gearmand sudo -u root systemctl start gearmand sudo -H -u root mysql -hlocalhost -uroot -e "DROP DATABASE IF EXISTS MCP; CREATE DATABASE MCP CHARACTER SET utf8 COLLATE utf8_unicode_ci;" sudo -H -u root mysql -hlocalhost -uroot -e "DROP DATABASE IF EXISTS SS; CREATE DATABASE SS CHARACTER SET utf8 COLLATE utf8_unicode_ci;" sudo -H -u root mysql -hlocalhost -uroot -e "CREATE USER 'archivematica'@'localhost' IDENTIFIED BY 'demo';" sudo -H -u root mysql -hlocalhost -uroot -e "GRANT ALL ON MCP.* TO 'archivematica'@'localhost';" sudo -H -u root mysql -hlocalhost -uroot -e "GRANT ALL ON SS.* TO 'archivematica'@'localhost';" sudo -u root yum install -y python-pip archivematica-storage-service sudo -u archivematica bash -c " \ set -a -e -x source /etc/sysconfig/archivematica-storage-service cd /usr/lib/archivematica/storage-service /usr/share/archivematica/virtualenvs/archivematica-storage-service/bin/python manage.py migrate"; sudo -u root systemctl enable archivematica-storage-service sudo -u root systemctl start archivematica-storage-service sudo -u root systemctl enable nginx sudo -u root systemctl start nginx sudo -u root systemctl enable rngd sudo -u root systemctl start rngd sudo -u root yum install -y archivematica-common archivematica-mcp-server archivematica-dashboard sudo -u archivematica bash -c " \ set -a -e -x source /etc/sysconfig/archivematica-dashboard cd /usr/share/archivematica/dashboard /usr/share/archivematica/virtualenvs/archivematica/bin/python manage.py migrate "; sudo -u root systemctl enable archivematica-mcp-server sudo -u root systemctl start archivematica-mcp-server sudo -u root systemctl enable archivematica-dashboard sudo -u root systemctl start archivematica-dashboard sudo -u root systemctl restart nginx sudo -u root yum install -y archivematica-mcp-client sudo -u root sed -i 's/^#TCPSocket/TCPSocket/g' /etc/clamd.d/scan.conf sudo -u root sed -i 's/^Example//g' /etc/clamd.d/scan.conf sudo -u root systemctl enable archivematica-mcp-client sudo -u root systemctl start archivematica-mcp-client sudo -u root systemctl enable fits-nailgun sudo -u root systemctl start fits-nailgun sudo -u root systemctl enable clamd@scan sudo -u root systemctl start clamd@scan sudo -u root systemctl restart archivematica-dashboard sudo -u root systemctl restart archivematica-mcp-server sudo -u archivematica bash -c " \ set -a -e -x source /etc/default/archivematica-storage-service || \ source /etc/sysconfig/archivematica-storage-service \ || (echo 'Environment file not found'; exit 1) cd /usr/lib/archivematica/storage-service /usr/share/archivematica/virtualenvs/archivematica-storage-service/bin/python manage.py createsuperuser "; 最後のコマンドで、archivematica-storage-serviceのユーザを作成します。ユーザ名やパスワードを指定します。 ...