ラベル DIP の投稿を表示しています。 すべての投稿を表示
ラベル DIP の投稿を表示しています。 すべての投稿を表示

2020年2月24日月曜日

【49】DIPをAtoMへUpload(続々々々)

DIPのUploadのエラー問題が続いています。
AtoMのコミュニティに投げてみているのですが、有効なレスポンスはまだです。

先生から
「エラーはElasticsearchが原因なのでは?」
というご助言をメールで頂いたので、そのあたりの問題をクリアにすることに。 
以前、何かの拍子でDBにエラーが出た後、上手くアップロード出来なくなったことがあったそうです。

MySQLはRDBなので階層構造をフラットに表現している。親子関係を表現するのに使うのが“Nested set model”だが、それがサーバーのタイムアウトなどが原因で崩れてしまうことがあるらしい。
ということで今回の最初のタスクは「AtoMのDBの階層を再構築」になります。

Documentation>Administrator manual>Populate search index
に詳細があります。リンクはこれ↓
https://www.accesstomemory.org/en/docs/2.5/admin-manual/maintenance/populate-search-index/#maintenance-populate-search-index

php symfony search:populate
実行します。
するとなんとエラーに。

そういえば、AtoMのdescriptionで消そうとしたらエラーで消せなかったのがありました。それがエラー原因では、と推測します。
スラッグをコピペして、以下を実行。
php symfony tools:delete-description <slug>
詳しくは>command line tools>Delete a descriptionを参照。

その後Populate search indexに再挑戦。
成功します。
次にnestの再構成です。
>command line tools>Rebuild the nested set
php symfony propel:build-nested-set
実行。

ということで、もう一度DIPをUploadします。
その前にブラウザでAtoMにログインして、前々回に作ったtestフォンドの下に新しいシリーズを作ります。
マティカからのアップロードはいつも通りです。
結果は失敗。untitledのアイテムが出来てしまいました。

DBのエラーなのか、DBに入れ込む前のエラーなのかがわからないのが辛いです。

原因がわからないので、とりあえず一度AtoMをRebuildします。
先生から頂いたスクリプトを使います。

AtoMのDBのDropは成功してCreateに失敗したようなので、
Administrator manualのCreate the databaseを参考にDBを作成
AtoMに入れません。真っ白な画面が広がります。

どうやらtarファイルの解凍に失敗していた模様。

次回はAtoMのRebuildとDIPUploadを再挑戦です。

次回は変則的に木曜日にやります!
金曜日が春分の日なので3月19日(木)です。

以後経過

開発者から、質問板にお返事いただきました。
バグチケットが発行されました。
推測ですが、Archivematica 1.9とAtoM 2.5のPREMISバージョンが違うために生じる
不都合ではないかということでした。

Archivematica 1.10へのアップグレードを試してくれとの助言をもらいましたので、
次回はこれにトライしましょう。


2020年1月31日金曜日

【48】DIPをAtoMへアップロード(続々々)

新型コロナウィルスで世の中が騒がしい中、今日も集まりました〜〜
しかし、せっかく集まったのに、道場くんのVirtual Boxがシステムエラーで立ち上がりません。まさかの機械がウィルスに感染か!
非常時代です。

Virtual Boxの更新
ということで、まずこの問題を解決しなければなりません。
エラーメッセージをググって、とりあえずVirtual Boxを6.1にバージョンアップしてみます。

なんとうまくいきました。
Maticaが立ち上がりましたので、今日の作業を始めます。
Virtual Boxも古すぎるとダメなんですね。

DIPを生成してAtoMへアップロード
1回目のテスト
今日はJPEG一つをMaticaに入れて、AtoMに移す作業を試します。以前はPDFやDOCXが混ざっていましたが、今日はとりあえず単純なデータでテストして、成功することを目指します。

いつもの作業を進めます。MaticaからDIPを作成して、AtoMに入れました。画像はちゃんと登録されましたが、画像のタイトルはやはりできていません。Untitledのままです。つまり、失敗です。

そこで、MaticaのArchival storageメニューから登録された画像を確認すると、サムネイルが作成しれていませんでした。Archival storageにはMaticaが作成したAIPが保存されます。どのようなものがあるか理解する必要がありそうです。ぜひ一読しましょう。

Archival Storage
https://www.archivematica.org/en/docs/archivematica-1.10/user-manual/administer/dashboard-admin/#dashboard-processing

2回目のテスト
ここでMaticaの作業方法を少し見直しました。Administrationー>Processing Configuration のところで、defaultとautomatedの2つがあることを発見しました。

これについては、Processing configurationを参照してください。default設定のPROCESSING CONFIGURATION FIELDSを我々が必要な内容で設定しておけば、Maticaが自動で作業を進めてくれます。

Processing configuration
https://www.archivematica.org/en/docs/archivematica-1.10/user-manual/administer/dashboard-admin/#dashboard-processing

今度は、JPEG2個、DOCX1個を入れてみました。今回は自動で次々と作業が進むので、楽でした。ここで一つ覚えて起きましょう。Maticaの作業過程には、Examine contentsというプロセスがあるのですが、個人情報のようなものを確認する作業のようです。以下を一度読んでおきましょう。

Examine contents
https://www.archivematica.org/en/docs/archivematica-1.10/user-manual/transfer/forensic/#examine-contents

今回のテストでは、やはりDOCXが3つ、AtoMに入りました。よくわかりませんが、以前と同様、一つのデータが入力したデータの数分AtoMに重複して登録されるエラーです。失敗ですね。

ここで一つだけ問題を解決できました。
AtoMでサムネイルが出てなかったのは、AtoMのAdminの設定からサムネイルを表示しない設定にしていたためだそうです。
Admin->Settings->Default page elements->Digital object carousel をオンにしましょう。

ということで、今日はVirtual Boxのバージョンアップ、AtoMのサムネイルの設定ミスを解決し、いくつかMaticaの機能について勉強しました。本当に大事な問題は解決できませんでしたが…^^;

今日はこれで撤収します〜

余談ですが、こんなエラーばっかり出るArchivematicaを実際使っているところを見に行きたいという話で盛り上がりました。ユーザーフォーラムに質問しても誰も答えてくれないので、Artefactual社を訪問して、我々苦労しているんだよ~といいたい(笑)。やはりあしながおじさんが必要でしょうか。どこかから研究費でももらえるといいのですが…

ではでは次回は、2/21です。
皆来てね~


〜以後経過〜

AtoMの質問掲示板に質問を投稿しました。
https://groups.google.com/forum/#!topic/ica-atom-users/mBBfFIAqDWk
Archivematica 1.10でもうまく動かないらしい。
DIPファイルを渡して、アドバイスを待ちます。



2019年9月15日日曜日

【39】archivematicaから共生研のアーカイブズ(AtoM)へのDIP uploadを試みる(1st attempt)

ブログ当番、出張と通学のため永らく更新ができておりませんでした。みなさま申し訳ございません。

前回は、archivematicaからAtoMへのDIP uploadを成功させましたので、今回はいよいよ立教のアーカイブズ(AtoM)へ同じhostのarchivematicaからDIP uploadを試みます。
maticaのバージョンは、すでにlegacyとなった1.9.2です。

前回は、rsync機能を動かす際にパスワードを聞かれてしまう(公開鍵方式ではない)対策として、パスワードを指定する(archivematicaのマニュアルには書いていない)ことでsshの接続を公開鍵方式で実現し、archivematicaからAtoMへのDIP uploadに成功しましたが、本当は、パスワードの指定しなくてもrsync機能は動いたようです。

パスワードが聞かれてしまっていたのは、リモートホスト(今回の場合はarchivematicaの入った仮想マシン)に操作PCから「最初に接続する時だけ」表示されるメッセージに答えていなかったことが原因のようです。

The authenticity of host 'xxx' can't be established.
RSA key fingerprint is yyy
Are you sure you want to continue connecting (yes/no)?

↑こんな感じのメッセージが出ます。yyyのところにはハッシュ値が表示されます。

ということで、共生研のAtoMへのアクセスを操作PCから試みます。
...アクセスできない(connection refused / could not resolve hostname vsphere)。ポート開いてる?別PCではアクセスできることを確認。再起動...
時間はかかりましたが、うまくいきました。

以下のdocumentationの DIP upload (AtoM server configuration)の記述に従って共生研のAtoMが入ったホストを、前回のホストと同じように設定して行きます。


準備完了。いよいよarchivematicaから共生研AtoMへDIP uploadを実施します。
...うまくいかない。おかしい。

そういえば、AtoMのPlugin設定大丈夫?...忘れていました。
The SWORD plugin (Admin –> Plugins –> qtSwordPlugin) must be enabled in order for AtoM to receive uploaded DIPs.

AtoMのuser interface上でpluginをenableにしてリトライ、がうまくいかず。
SwordPluginをactivateしたときに、AtoM workerを再起動する必要がありましたよね?(これは覚えていないですよね、普通)ので、再起動。
やっぱり内部エラー(コード500)、さて困った。

時間をかけて色々やってみましたが、qtSwordPluginWorkerのが上手く動作していないことが原因のようです。しかし解決策わからず、今回は時間切れとなりました。

次回は9月20日です。今回うまく行かなかったところ、2nd attemptです。
今度こそうまく行きますよう...!

2019年8月23日金曜日

【38】ArchivematicaのDIPをAtoMへupload(成功)

勉強会始まりました〜
しばらく間が空いたので、何をすればよいかすっかり忘れていますが、なんとかついていきます。

Archivematicaから生成したDIPをAtoMへアップロードするための設定がうまく行かず、ずっと苦労しています。今日は、前回から続いているRsyncがうまく動作しない問題から取り組みます。

マニュアルを再確認したい人はここ↓
AtoM DIP upload
https://www.archivematica.org/en/docs/archivematica-1.9/admin-manual/installation-setup/customization/dashboard-config/#atom-dip-upload

【実験1】
ずっと聞かないはずのPWを聞いてくるのは、そもそも2台のマシン間で会話ができる設定をする必要があったのではないかということで、以下のようにmaticaからコマンドを入れてみます。

$ ssh xxx.xxx.xxx.xxx

ここで、xxxはアトムのIPアドレスです。これを入力するとpasswordを聞いてくる。ここで最初につなげておけば、AtoMとmaticaのマシン間に会話ができるようになるはずなので、Rsyncで起きたエラー(AtoMへの接続のためのPWを聞いてくる)は解決できるのでは?

しかし、rsync error: unexplained error (code 255)が出て失敗しました。


実験2】
今度はAtoMのマシンに、ユーザーarchivematicaを作成して、PWを作成しました。(マニュアルでは、PWなしで動くサーバーの設定方法が書いてあります。)そして、maticaから事前に作成した公開Keyをコピーして、AtoMの指定されたフォルダに移動しておきます(場所はマニュアルを参照)。

その後、$ sudo passwd -l archivematica でPWをロック(受け付けない設定)しました。そのあとRsyncで会話ができるか確認します。

$ sudo -u archivematica rsync -av a archivematica@xxx.xxx.xxx.xxx

すると、PWを聞かれませんでした。成功です。

以前は前半でも書きましたが、ユーザーarchivematicaをPWなしの状態で作成して、すぐpasswordをロック(-l 設定)しており、コマンドで $ ssh xxx.xxx.xxx.xxx を実行すると、PWを聞かれていました。PWを設定してないのに、なぜ聞いて来るかがわかりません。設定してないので入力仕様がありません。そのマニュアルが以下の部分です。

$ sudo apt-get install rssh 
$ sudo useradd -d /home/archivematica -m -s /usr/bin/rssh archivematica 
$ sudo passwd -l archivematica

なぜマニュアル通りにするとPWを聞かれるのかわかりませんが、一応実験2でRsyncがうまく機能するようになりましたので、次に進みます。

次は、maticaからDIPを作って、先ほどの設定がちゃんと動くが試してみると、ちゃんとmaticaとAtoMが会話でき、DIPをuploadできました。ついに成功です!わーい!

※参考1
Ubuntuでrsshを利用する方法については、以下が参考になります。ここでも、一旦PWを作成して会話できるようにしてから、ロックするという方法が書いてあります。とういうことで、今回の解決方法は正しかったと思います。
https://www.thomaslaurenson.com/blog/2018/09/07/restricting-ssh-access-using-rssh/

※参考2
rsshとsshについても理解しておきましょう。
https://kazmax.zpp.jp/cmd/r/rssh.1.html

ということで、今日はここでやっと帰れるようになりました。笑

=============================
次回は9月6日です〜
立教のAtoMとArchivematicaの同期をチャレンジします。
時間があれば、Alfrescoのダウンロードを行います。
https://www.alfresco.com/jp/thank-you/thank-you-downloading-alfresco-community-edition

ブログ当番やらなくてもいいので(笑)、時間のある方は来てくださいな~


2019年7月28日日曜日

【37】Archivematica生成のDIPをAtoMにアップロード

暑くなってまいりました。
ビール飲んでから来る参加者も増えてきました。いい流れです。

本日は、Virtual Machine上のArchivematicaとホストマシンのAtoMをRsyncでお話しできるようにします。

まず、Virtual Machine上のArchivematicaを起動します。
IPアドレスを調べます。

<ちなみにブラウザがIEだと、ArchivematicaのダッシュボードでTransferの表示がうまく機能しない>。

今回、道場では初めてArchivematica1.9を確認しましたが、Access System IDが追加されていました。ここにslug(AtoM内のターゲットとなる記述のURL)を記入しておくと、transferするパッケージから作るDIPを自動的にAtoMに渡せます(事前設定は必要らしい)。
また、Transcribe SIP contentsという機能も入っていました。SIPの文書ファイルをOCR認識する機能のようです。TesseractというオープンソースのOCRアプリを働かせて文字認識させます。

これからRsyncの設定をします。
具体的にはArchivematicaでつくるDIPが、AtoMサイドのマシンの特定のディレクトリにパスワードなしでログインし、コマンドを展開できるようにします。
ややこしいのがAtoM側のディレクトリの名前もarchivematicaである点です。Virtual Machine上のArchivematicaと区別するためにブログではmaticaAtoMと名付けます(実際はarchivematicaです)。

環境設定の説明にしたがって、作業を進めます。
Archivematicaの方で公開鍵・秘密鍵を生成。
公開鍵をコピーしてmaticaAtoMに貼り付け。
AtoMサーバーで説明書通りにコマンドを実行。
chmod700でmaticaAtoMというユーザー以外何もできないという設定になる。

AtoMでの設定が終わると、ArchivemaricaのGUIで設定を行います。
今までRsync commandの項目を打ち込んでませんでした。
例はssh -p 22222 -l user。意味は次の通り。ssh:シェル起動コマンド、-p:ポート、l:ログインuserのネーム。

いつもの通りエラーが発生。
maticaAtoMのディレクトリとお話しできません。ArchivematicaとAtoMは倦怠期の夫婦です。
エラーメッセージをもとに、AtoM内の/tmp/tmpxxxファイルを開くと次のエラーメッセージが表示されていました。
Host key verification failed (code 255)

Rsync設定についてネット検索してここに従い
/home/archivematica/.ssh/authorized_keysのパーミッションを600に変更。

それでも失敗...
セキュリティ上 passwd -l archivematica (パスワード認証によるアクセス不可)としているが、
maticaAtoMにアクセスする際にパスワード要求されてしまう。
maticaAtoMのシェル設定ではrsshで入れるようにしたのに、困ったことです(シェルはここを参照)。
今回はここで打ち止めです。

後日のメーリスの議論でシェル設定が問題では?という話になりました。
/etc/shellsの設定
/etc/rssh.confの設定 
/etc/ssh/sshd_configの設定
Ubuntu 18.04での設定
開発者のうちの一人のブログ
 シェル設定が/bin/bashとなっていて現在の設定と違う
掲示板に出ていた同じタイプのエラー
です。次回はここの検討から始めたいと思います。

次回は
8/23(金)
です。

ビール飲んでも飲まなくても来てください。





2018年10月5日金曜日

【21】DIPのアップロード&CSVでの追記(成功版)

勉強会の日雨が多いのは、ここに雨男がいるからなのかもしれません。(* ̄m ̄)
今日は、風邪も流行り初めたせいで欠席もあり、少人数で始めます!

前回の話し
AtoMでCSVを再登録するときに、画像がなくなるのは、CSVに出てくるURLの画像を探せないのでは?もしくは再登録する時のオプションのせい?

実験1
CSVのテンプレートにあるdigitalObjectURI項目をdigitalOpjectPathへ変更して登録してみます(こういう方法もあるらしいです)。(usr/…にあるフォルダに、確かに画像ファイルが存在することも確認しました。)登録してみた結果、やはり再登録すると画像が登録されませんでした。

コマンドラインで画像ファイルをよくよくみると、一つの画像ファイルに対して、サムネイルが2つ生成されるようです(もちろんファイル名はすべて異なる)。CSVで再登録する時に入れるファイルは、もとの画像ファイルのURIだけなので、サムネイルは探せないのが当然なのでは?とういう話がでました。

Danさんが教えてくれたのは、サムネイルをregenerateする方法です(前回のブログを参考にしてね)。すべてのサムネイルを再生成するらしい。バックアップを取った際にもサムネイルを再生成する必要があるので、そういうときにDanさんが教えてくれた方法を試す必要があるかもしれません。(今日の作業では、どうも原因が違う気がしたため、試していません。)

このことを総合して考えると、画像がなくなることの原因のもう一つとして、再登録する際にreplaceしているからかもしれないことに気づきました。つまり、追加された部分だけをupdateするのではなく、すべてをreplaceしてしまうので、もとの画像とのつながりが保持できないのでは?ということです。


ここで再登録する再のオプションをupdateにして、実験します。
すべての実験では、以下の作業は同じです。

  1. ArchivemeticaでDIPを作成
  2. AtoMのあるフォンドに目かけてDIPをアップロード
  3. CSVを出力
  4. reference codeの列は不要なので削除、第二条件を合わせる
  5. 第一条件と他のどこかを追記する

実験2
update matches and ...のオプションにして、LegacyIDとCSVの名前を決めて、再登録します。前の実験は、replace してしまっているので画像がなくなっているけど、今回のオプションでは画像が残るのではないかという推測です。

結果画像がちゃんと残って追記できました。


実験3
今度は追記成功したCSVを出力して、第一条件をあわせて、第二条件を変更してupdateがちゃんとできるかを確認します。title名だけを変更して、update matches and ... オプションにチェックを入れて登録してみます。

問題:一つだけtitleが変更されませんでした。
原因:5つのデータの中で、2つのidentifierが重複していました。更新されなかった1つのデータは、identifierを直して何度登録しても更新に失敗しました。
結果:一回間違えた操作をすると更新がうまくできなくなるので、注意が必要かもしれません。


実験4
実験3を正しく再度試します。今回は、DIPを作成してAtoMへアップロードする手順は省略してAtoMだけで試します。第一条件をあわせて、第二条件を変更して追記ができるかやってみます。この作業は、すでに第一条件(Legacy ID, CSV名)が決まっていることが前提です。

問題:何故かデータが新たに作成されました。
推測:CSVを登録する再に、作業中のCSVを開いたままやっているけど、問題ないか?システムでは作業中のCSVがそのまま登録されるということはなんか変で、何かしら区別をつけるはずという推測で(つまり、CSV名が同じではないので追記されてしまう)、CSVを閉じてから再登録してみます。
結果:新しく追加されず、ちゃんと追記されました。やはり、CSVを開いたまま同一ファイルを登録することは影響があるようです。


今日のまとめ
  • LegacyIDはCSVを登録したときに登録される。なので、DIPをアップロードしただけではLegacyIDはAtoMに登録されない。
  • 第二条件をあわせて、LegacyID, CSV名を決めて、update matches and...のオプションでCSVを登録する。このときのIDとCSV名はきちんと保存管理する必要がある。
  • 次回の追記作業は、このCSVファイルを利用して行う。CSVをAtoMからexportする必要はない。(exportしたものを使う場合は、referece code例が追加されているので削除し、Legacy ID, CSV名もexport時のものは削除して、元のファイルに一致させてから使う必要がある。)


気づいた注意点

  • CSVは開いたままでもAtoMに登録することができるが、どうもエラーの原因になっているよう。必ず閉じてから登録する。
  • 第一条件、第二条件が矛盾る操作をしてしまうと、データが狂って予想以外の動作をする可能性がある(今回は、identifierの重複でデータがおかしくなりました)ので、注意する。
  • AtoMは目録の公開用なので、登録したCSVの管理や、LegacyIDの管理は組織でやらなければならない。CSVは一回登録したら名前を変えないようにする(更新の時には、古いバージョンの方の名前を変えるなど)。


原因不明のエラー
ArchivemeticaからAtoMの階層情報を読み込めず、edit metadataから階層設定ができない現象。以前にも同じことが起こって急に直ったのですが、今回も同様。原因不明です。


まだ残った疑問
CSVをexportした再に出てくるLegacyID項目の番号(本当のLegacyIDではない)がなぜ必要かがわからない。


今日はなんとなく結論を導き出すことができました。結構色々遠回りもしましたが、それがあって今日の結論に至ったと思います。とういうことで、今日は割と効率よく作業を進めることができました!
ハッピー v(^o^ )ー~) ニヤ


=======================
次回
AICについて勉強します。
実務を考えながらユーザーマニュアルを作成するステップに進みます〜 イェーイ~




2018年8月5日日曜日

【17】DIPのAtoMへのアップロード

今日は時間より早くメンバーが集まりました〜〜
皆やる気満々です。(見た目は…笑)
やはり休みは必要なんですね。

前回作業から大分時間が過ぎたので、今日は前回の発見の再現です。

つまり、

  1. ArchivematicaからDIP生成
  2. DIPをAtoMへ流す(このときターゲットとなるFondsは事前にAtoMに作成しておく)
  3. 流したデータのCSVを出力して、source idをkeymapテーブルから探して
  4. CSVにそのsoure id をLegacyIDとして入力してから、追記する


です!

では復習です。ポイントは、


  1. AtoMに登録されたデータは、idが2つ存在する。
     source id = legacy id target id  = ニセ legacy id
  2. source idは登録するデータを区別する。しかし、AtoMのシステム上では重複し得る。
  3. target idはデータベース上のデータを区別する。AtoMのjob番号のようなものが自動で付与されるが、source idが重複する時などの識別に使われると思われる。


です。

まだ我々が議論しているのは、このような作業を想定している場合です。受け入れた記録を、とにかくフォンドだけをAtoMに作成しておいて、その後はAtoMに直接登録するのではなく、せっかくArchivematicaを使っているのだから、DIPをAtoMへアップロードしたい。(ボリューム多い記録を整理する際にあり得る作業過程かと。)
しかし、DIPにはlegacy idもindetifierもないのに、どうやってAtoMにあるフォンドにデータを追加するかです。

ということで作業は進みます。

【前回作業の再現】

  1. AtoMにFondsを作成:803 shumutam
  2. Archivematicaからデータ入力して、SIPを作成する。Ingestのダッシュボードにある鉛筆の絵のアイコンを押すとメタデータ(dublin core)の追加ができる。ここで入れたデータはArchivematicaのMETSには反映された。しかし、AtoMへは反映されないみたい。
  3. ArchivemeticaからDIP生成 → ここまで無事完了
  4. DIPをAtoMへ流す(このときターゲットとなるFondsは事前にAtoMに作成しておく)→ 無事完了
  5. 流したデータのCSVを出力して、source idをkeymapテーブルから探す → 問題発生!なんと該当するsource idがkeymapテーブルにありません。ガガンガン〜〜〜w|;゚ロ゚|w 


ここで作業は次に進まずあーだこーだの議論と実験に入りました。

【実験1】
AtoMのUIで入力したFondsのCSVを出力してみる。出てきたLegacyIDはkeymapテーブルの中にはない。
UIで登録する場合、keymapテーブルに登録されないことがわかりました。

【実験2】
AtoMにCSVでFondsを生成。
keymap tableにはフォンドのsource idがありました。

【実験1と2でわかったこと】
どうも、CSVで登録しなければkeymapテーブルには登録されない模様です。たしかにUIから登録する場合は、source nameもないですよね。


【実験3】
もしかしてフォンド以下のデータが登録されないとsourc idは生成されないのでは?そこで、とにかく実験2のファイルに確認できたfondsのsource idだけを書き換えて、いくつかアイテムを入れて、追記してみます。

→ 追記ではなく、新規登録されました。それはそうだな…だって、fonds以外のsource idがなかったので、CSVで出てきた番号(これはtarget id)のまま登録しているから、新規登録されるだろうな…そして、keymapテーブルには、このtarget idがsource idとして登録され、それに該当する新しいtarget idも付与される。

-----------------------------------------------------------------
(後日追記)
ここまで作業内容をまとめていたら、一つ気づいたこと。
DIPをAtoMに流したところでsource idは生成されないので、そのCSVをexportしてarchival discriptionを入れてから、AtoMに追記ではなく、Fondsのsource idだけをマッチングさせて新規登録してしまえば(書き換える)、Fondsのsource idは残しつつ、下位レベルのデータにsource idが生成される(もしくは管理上必要なidを入力する)。
結果的にこの時点で、source nameもすべてのデータのsource idも確定できるのでは?もしkeymapテーブルに同じFondsのsource idと古いtarget idでログが残っていれば、このfondsが書き換えられたことがわかる。確かkeymapテーブルのデータは該当するデータを削除しなければ記録が消えなかったと思う。
-----------------------------------------------------------------

ということで今日の結論は、やはりDIPをAtoMにCSVを利用して追記する際必要なlegacy idとsource nameをどう特定するのかわかりません〜です。

うん?
では前回の発見はなんだった?
DIPをAtoMに入れたらsource idがあったぞ!
しかし、今日の実験でそれは皆の勘違いだったのでは?というまさかの結論になりました。つまり、前回作業で使ったファイルは、昔作業したものが偶然残っていて、我々はそれがその日入れたDIPのidだと勘違いしたのである…です。

ひどい話だ…皆欠席するからこういうことになるんだ!あぁ〜前回味わった達成感は何だったのだろう〜
(; ̄ー ̄川 


【いくつかの疑問】
  • DIPをAtoMに入れたところで、あまりDIPの情報がAtoMに反映されないみたい。DIPを利用するメリットは何があるの?
  • ArchivematicaはOAISに準拠してないかも。


ではでは、今日は前回の発見が発見ではなかったということを発見して終わります!

はぁ・・・・そうですか・・・・(ノ_・、)シクシク


=====================================
次回
1)ArchivematicaからAtoMにDipをいれる
2)AtoMからCSVをexport
3)そのcsvをAtoMにimport
4)この時、注意するオプション

  • update optionにチェック
  • file nameはexportしたときのnameをそのまま使う



2018年7月7日土曜日

【16】DIPをAtoMへ登録してからCSVを利用してupdate

風が強くて華奢な女子大生は飛ばされるのではないかと思える天気でしたが、横に増えつつある中年女性は飛ばされる心配もなく、無事道場に着きました。(@^^@)
ですが、今日は参加者が少ない。(皆どうしたんだよ〜〜)
でも、いつものようにガソリンを入れて始めます!

皆を待ちながらしばし議論〜

archivemeticaからAtoMまでの流れを今一度説明するYo!
(ホワイトボードに何か書くYo!)

やはり、exportした時のLegacy IDは、データ更新のときにはあまり気にしないで、もとのLegacy IDを管理するのが正しいのではという話をしました。

そうすると…
DIPにはLegacy IDがない。どうするんだ? 
これがずっと前から悩んでいた問題でした。

さてさて、いつものように結論はなし!
問題を再確認したところで次に進みます。

===============================
今日は久しぶりにArchivemeticaからDIPを作ります!
久しぶりなので、やはりエラーがでました。
我々の期待を裏切らない機械です。

でもなんとかDIPをAtoMに入れました。
そのCSVをexportします。
Legacy IDが付与されて出てきましたが、このLegacy IDを利用して
記述をupdateすると新しくデータが登録されてしまいます。

だから〜DIPで入れたもののLegacy IDを確認するしかないってこと?
(これは面倒だ・・・)

少し紛らわしいので、ここでは元のLegacyIDを元(もと)ちゃん、export時に出てくるLegacy IDを偽ちゃんと呼ぶことにしましょう。

ここで、カッコいいエンジニアの出番です! シャキ─(σ`・∀・´)σ

コマンドモードから、keymapテーブルを探し、その中身を確認します。
そこには、source_id, target_id, source_nameが記録されています。
なんと!keymapテーブルでは、偽ちゃんがtarget_idになっていて、それに対応するsource_id(これが元ちゃん)が確認できました。DIPで入れたものでも、元ちゃんが存在するのです。updateに使うLegacy IDは、もちろんここにある元ちゃんということになるのでしょうか。

ではでは、確認した元ちゃんをCSVのLegacy IDとして入力し、タイトルだけを変えてみます。そしてupdate~~~

そうすると、なんとうまくupdateされました!
(ここまでの道のりは長かった… ITに弱い人間が生きていくのは大変です…)

ここでもう一つ発見!
偽ちゃんは意味のないように思えましたし、なぜそんなものが出てくるのか、ずっと疑問でした。まぎらわしいし、なぜそんなことをする必要があるのか…
予想ではありますが、この偽ちゃんを利用するれば、大量のデータを更新できそうな気がしました。つまり、CSVの偽ちゃんに対応する元ちゃんを探して、自動で入れ替えるプログラムを組めば、機械で処理ができます。

また、色々実験した結果、元ちゃんとsource_nameは重複して存在し得ることがわかりました。しかし、target_idは重複しません。なのでtarget_idがデータベース上で、唯一の識別idとして機能しているのはと思われます。

色々実験した結果、元ちゃんと偽ちゃんに関する理解は少し深まりました。
道場での実験に加えて、メンバーによる個別実験が行われました。
これについては以下の記事を参考にしてください。
https://irisawadojo.blogspot.com/2018/08/atomcsv.html
http://irisawadojo.blogspot.com/2018/07/atomcsvupdate.html

最終的に、わかったことを以下簡単に整理します。


  1. KeymapにはLegacy IDがsource_idとして登録される。
  2. 親子関係が変わっても、source_idとtarget_idは変わらない。
  3. Legacy IDは重複し得る。
  4. まったく同じファイルを2回登録すると、target_idのみ異なる。
  5. まったく同じファイルを登録した場合は、最新のものが更新される。
  6. Legacy IDが重複した場合、source nameが一致するもののみアップデートされる。
  7. CSV export時のLegacy ID(kepmapテーブルにおけるtarget_idは更新時のマッチング判定にはつかわれなさそう。(ほかに、Legacy IDが異なるが同じものであることの判定や、Legacy IDとsource_nameが同一であるが異なるものであることの判定などに使われている?)


今日は通常より短めの作業でしたが、一歩進みましたので良い気分で終わります!
  • 。( ̄∇ ̄*)oグッド!!d(* ̄∇ ̄)。


========================
皆気分がよくて、次回やること話すの忘れました。(^^;)

2018年6月8日金曜日

【13】 AtoMのCSV→Archival Description追記→DIPを追加



今日はスカイプメンバーなしでお送りします。
一人は京都でレクチャー中のため欠席、一人は道場にリアルで登場です~


前回はどこまでやったっけ?
AtoMからエクスポートしたCSVを利用して、Archival Descriptionの追記ができることまで確認しました。はい、そうです。
(皆記憶が曖昧で、ここまで思い出すのに結構時間がかかりました。歳を取るとしかたないですね~)

とういうことで、今日は前回のおさらいをしつつ、追記されたFondをターゲットにして、ArchivemeticaからデジタルオブジェクトのDIPを生成し、AtoMへ流すことを目指します!

===================================================

今回使うのは testtest.csv です。

まずは、AtoMにあるtesttest.csvから登録したFondのデータをCSVでエクスポートする。
そこに情報を追記して再インポートしよう。


+++ Tips +++++++++++++++++++++++++++++++++++++++++++
Exportするときは、普通にexportを押すと全リストが出てしまいます。必要なものはクリップマークをクリックしたあと、「クリップボードに行く」をクリックすれば、クリップボードに入れたものだけをexportできる。途中にチェックを入れるところが3つあるので(これでわかるのかな? ^^;)、それを全部チェックしてからエクスポートする。
++++++++++++++++++++++++++++++++++++++++++++++++++

追記する際には、CSVのLegacyID、Source NameをターゲットFondに合わせる。
Source NameはCSVファイル名です。

では、インポート!えいっ =====> ~(+。。+)~ 僕、AtoM


しかし、なぜか追記に失敗しました。

原因がわからず、しばし議論…



では、CSVを同定する際に使われる条件を一つずつつぶして行こうという話になりました。
追記の際に、比較するのは?(覚えていますか?)

1) LegacyID, Source Name
2) 1)がだめだったら、title, repository, identifierを比較する

1)を合わせても追記に失敗したので、原因がわからないのは当然だよね~
(やっぱり、機械はくせものだ!にゃぁ~疲れる~ ヾ(。>﹏<。)ノ゙ )

原因だとは思わないが、ほかに心当たりもないため、2)の条件を試してみる。
まず、title, repository, identifierを登録されているフォンドの情報と合わせてからインポート。
そしたら、なんと追記に成功した。

CSVのデータ: title=Conimal2、repository=Example Repository、 identifier=F1
AtoMのデータ: title=Conimal2、repository=Repository、identifier=空白

これを、両方以下に統一させてインポートしたら、追記に成功した。
title=Conimal2、repository=Repository、identifier=F1



ふむ。。。。でもこれは原因にならないはず。。。
逆になんで成功したんだ。。。という意見が。

そこで、他のもためしてみる。
つまり、CSVとAtoMのターゲットFondのデータを異なるように設定してインポートしてみる。

(まさに、実験だ! ちょっと科学者ぽくなってないわれわれ。( ̄ー ̄)ニヤ...  )


1)CSVのidentifierだけを異なるように設定 → 成功
2)repositoryだけを異なるように設定 → 成功
3)titleだけを異なるように設定 → 成功


ほら!なんの関係もないじゃん~~~


ということで、今までの実験はなかったことにして、次にすすむ。
(おいおい、開き直ったぞ。)

というか、一応次を進めてみます。

AtoMのConimal2をターゲットにして、デジタルオブジェクト(画像2個、PDF1個、DOCX1個)をArchivematicaにTransfer→Ingest→create SIP→して、DIPを作成する。このDIPをAtoMのConimal2のFondへ流し込む。

えいっ! よっし!
DIPの入力に成功しました。(パチパチパチ)


そして、AtoMからConimal2のCSVをエクスポートしてみます。
Job management(だったけ?)へ行って、ファイルをダウンロードして中身を確認したところ、AtoMにある記述が全て出力されていないとんでもない状況が判明。フォンドのタイトルもAtoMには入っているけど、CSVにはない。なぜ?(# ゚Д゚)つ〃



ここで突然皆飽きたのか、疲れたのか急にいなくなった。
トイレ?ガソリン取りに行った?終わり?


でも、ここでもなぜCSVの記述が完全ではないかはさておき、もう少しがんばります。
(また開き直ったぞ)

今度はFondのタイトルを、Conimal3にして(フォンド名が変わるかどうかを確認するため)、uploadしちゃえ〜〜〜

それで、importします〜 えいっ!

でも、import失敗した。

なぜ〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

後日追記
なぜならエラー・チケットだからさ!

CSV export issues in cultures not in English

https://projects.artefactual.com/issues/12155

なんか同じ作業をなんどもしているような…
まだまだ科学者には近づけませんぬ。

ということで、今日は以上!



========================
次回は

今日は、AtoMでLegacy IDとsource nameが一致してもインポートができない謎を解けなかった。
なので次回は、DIPを流し込んだAtoMのFondデータをエクスポートして、記述をCSVで更新する作業をもう一度やります~


2018年5月11日金曜日

【11】AtoMへDIPをupload

今日は、新しいメンバーも加わり、スカイプで二人つなげて進行です!
(スカイプの二人は二人で会話して、道場の人は道場で会話をするという異様な風景から作業を始めます。)

今日は、Archivemetica1.7がリリースされたということで、
一つのマシンにArchivemetica1.7とAtoM2.4、両方を入れたものを入澤先生に用意してもらいました。

しかし、これは作業をやりやすくするためのもの。
AtoMは公開用で、Archivemeticaは管理用なので、本来はarchivematicaとAtomを同じサーバー上に入れるのはSecurity上、望ましくない。

インストール時には、
①AtoMを先にインストールしてから、
②Archivematicaをインストールすること
MySQLのバージョンが古いほうを先に入れなければならない。
AtoM2.4のMySQLは5.6、Archivematica1.7のMySQLは5.7が推奨されているので注意すること。

あれ?そういえば新しいマシンはAtoMにまでつなげていないので、archivematicaでアレンジメントができない。どうする?

では、つなげましょう。
Anicoをtransferから再度やりましょう。
1.7のvirusチェックプログラムが変更になったが、早速virusチェックでエラー発生。T.T
結局新しいバージョンを試すのはやめて、旧マシンに戻すことになりました〜
入澤先生よろしくお願いします〜

(皆待つ)

はい。続けましょう。

旧マシンにAnicoをもう一度transferした。

今回は
フォンド:conimal
シリーズ:coffee, animal

Nomalization Reportは、メールアドレスを設定してないので、いつもfailedが出る。
(無視してね〜)
SIP作成後は、Store AIPをクリックしてAIPも作る。

Archivematicaからの準備ができたら、AtoMへ移動して、Fondを作成してから、slag部分(URLの最後のスラッシュの後の部分)をコピーしてArchivemeticaへ入力して、つなげる。

slugを入れてみたが、(いつものことだが ^^;)エラーが出た。
エラー:Response code not expected

いつもの通り、順調に躓いた。おほほ!(T..T)?

原因がわからないので、conimalをフラットなままtransferして、DIPのuploadができるかやってみる。

(ガソリンも補充し、しばし雑談)

また失敗した。

なんでなんでを言いながら、時間が過ぎる…

橋本さんと入澤先生が同時に叫ぶ。わかった!!

ついに、原因判明かな?
Sword pluginが動いてなかったみたい。
AtoM側でAtoM worker(Sword pluginがこれを動かしている)が色々やっていて、Archivematicaからの依頼に反応しているが、Swordが動いてなかったので、反応がなかったとのこと。

ということで、conimalのtransferからもう一度チャレンジ!
オット!
また同じエラーが出た!(Pluginの問題ではなかったのかな?どういうこと?機械はいつもこうだから好きじゃない… ーー;)

それでもめげず、リブートと叫ぶウォンさんの一言で
とりあえず、マシンを再起動して再チャレンジ。

conimalフォンドのuploadに遂に成功!!!!
パチパチ!!!

(これで気持ちよく二次会に行けるぞ。ホホホ)
================================

次回は?
AtoMに入れたconimalの記述をCSVを利用して追加する作業をする。

現在は記述項目が空白の状態。
CSVをダウンロードすれば、ファイルは取得できるが、
UTFだったり、レガシIDなどCSVファイルを理解する必要がありそう。
次回は、これを一緒にやります!

以上!














2018年4月6日金曜日

【9】SIP, DIPの確認

前回のメタデータの確認
  • Archivemeticaの前回作成したAIPを確認。
  • 階層情報を設定できなかったときにすべてアイテムレベルになってしまったときのメタデータと、階層情報入れたときすべてMETSに残る。
  • DIPはIngestのMicro-serviceのupload DIPからReviewすると確認できる。
  • METSファイルに一つのファイルに付き2つのメタデータが生成されている。JPGの場合、TIFFがついて2個。PDFもPDFがついて2個。docxだけ一つ。normalizationの際に原本とコピーを作成する模様。PREMISにPDF/Aに変換したことが書いてある。
  • フォーマット情報:https://wiki.archivematica.org/Format_policies
  • 皆の疑問:AIPとDIPが同じであるようだが、それで問題はないだろうか?

2018年2月2日金曜日

【6】DIPをAtoMへアップロード

ArchivematicaからDIPをAtoMへアップロードすることに成功した。前回のエラーの理由は判明せず。

最近の投稿

【108】Archives in the Digital Age: The use of AI and machine learning in the Swedish archival sectorを読む

 Gijs Aangenendt氏の修士論文、Archives in the Digital Age: The use of AI and machine learning in the Swedish archival sectorを半分読みました。 前半は、AIを扱ったアーカ...

人気の投稿