2018年5月25日金曜日

【12】AtoMからエクスポートしたCSVに追記してインポート

今日はイライラする中年女性2名とお送りします〜 (ーー;)
それに、勉強会始まる前からガソリンを入れたので、ちゃんと走ることを祈ります!(笑)

今日の目標は、AtoMからエクポートしたCSVに追記をしてインポートすることです!
関連するマニュアルはここ↓
https://www.accesstomemory.org/en/docs/2.4/user-manual/import-export/csv-import/#update-existing-descriptions-via-csv-import

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

おさらい〜〜
前回はarchivemeticaのDIPをそのままAtoMへConimalフォンドとして入力した。そのため、アーカイバル記述がない状態。今日はその記述をCSVで追記する。今までは、フォンドへ追記する際には、既存のデータをすべて空にしてからではないといけなかったが(追記ではなく上書きになるということかな)、空にしなくても変更になった部分だけをCSVで追記できるようになった。これは最近追加された機能なので、やった人はあまりないと思う。

本番に戻ります〜

まずConimalのデータをAtoMからエクスポートしましょう。
Manage jobsからConimal(前回入力したフォンド)のCSVをダウンロードする。

あれ?
ダウンロードをするとすべてのデータのCSVがエクスポートされた。


(一時期メモ不能・・・・なにやっているの皆〜〜〜 @..@ )

なんとか状況を把握したので、再開します。

本来は、Conimalフォンドのedit > administrative areaからsource nameの部分に元となるCSVのファイル名が表示されるはずだが、Conimalにはそれがなかった。
おそらくCSVを利用してデータ入力したのではなく、ArchivemeticaからDIPを入力したからかも。
(でもSource nameがないのはおかしいのでは? ーーa )


ではでは、CSVを利用してデータを入力して、source nameが現れるかやってみよう。

まず、エクスポートしたConimalのCR(Carriage Return)を消す。
方法は色々あるが、以下の2つでやってみた。
① unbuntuで新しい名前でCSVを保存し直すとCRが削除される。(へ〜コマンド打たなくてもいいんだ〜)
② CR削除してくれるアプリを利用して削除する。UTF-8へ変換しつつ、改行をLF(Line feed)にする。→つまり、Linuxで使う改行コードにしてあげること。(よくわからない人はhttps://irisawadojo.blogspot.jp/2018/05/csv-import.html をみてね!)


前処理をして、importしたが、失敗。
エラー:invalid script: cript   (はぁ? なに?)
→ CSVのscrip項目にcriptと入力したのが原因のよう。ISO15924の英語はラテン語のコードLatnを入れなければならない。でも今回はLatnを入れずに、scrip項目のデータは空白のままにした。

でもでも、またエラー。 (T..T)
(もうやめよう・・・)

しばし、議論です。

シーンとなったので、ちょっと整理しようと言ってみたが…
1名だけはい!と言ってくれました。ありがとう。 T.T

皆整理する気はまったくなく(笑)、議論は続き、CSVのフォンド名がないことに気づく。Lagacy IDとsource nameがマッチしない場合、title, repository, identifierの3つがマッチするかを見るとマニュアルにあったので、気になりConimalとフォンド名(titleがないってことかな?)を入力して再度インポートします。

でもでも、またエラー(しょぼん…ほら〜もうやめようってば〜)

最後は、マニュアルのせいにして終わるか。違うか。(へへへ)

それでも諦めず今度は、CSVのフォンド情報だけを入れて更新されるか確認します!
やっぱりだめ。

(だからもうやめようよ〜)

あれ、皆ちょっと喧嘩ぽくなったぞ(爆笑)

それでも諦めず、普通にCSVをインポートしてみたらインポートされた。まぁ、ここまでは当たり前だけど、managemet jobsのレポートを見ると、ちゃんとConimalにはなかった「id」というのが付与されている。

やはりsource nameがなかったことidがなくて行のマッチングがずっと失敗したことが気になる。Legacy ID Mappingの部分に出ていたsource_idというのがもしかしたら原因?
でもそうかな〜わからないな〜どうかな〜ほんとうに?わからん〜


というところまでなんとか議論を勧めたが、今回は結構ストレスが溜まった作業になりました。皆二次会で発散してね〜 

以上!(^^)/


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

次回は、Archivemetica のDIPをuploadするのではなく、ただのCSVを利用してデータをAtoMにインポートしてみる....かな?





AtoMでCSVのimport (自習メモ1)

AtoMのマニュアル(下記)を読んで書くメモです~
長すぎるため、どこまでできるか分からないけど…
https://www.accesstomemory.org/en/docs/2.4/user-manual/import-export/csv-import/#update-existing-descriptions-via-csv-import

CSVインポートのウェブサーバでのタイムアウトを避けるために、裏で非同期的に行われる。これはAtoMのGearmanが管理。「Manage>Jobs」ページで確認できるって。
CSVをインポートするユーザーは管理者としてログインすること。

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

★★データをインポートする前にやること★★

1)インポート作業の複雑さを予想:AtoMがインストールされているサーバーのコマンドラインから、「csv:chenk-import」コマンドを利用して、CSVファイルを確認。行と列の数や、パイプ文字「|」がどのくらいあるか、サンプル行の値(?)を調べる。

2)列(column)を合わせること:CSVの最初列は項目名が入る(データを入れないこと)、項目名の順番は変えないでね。そのままAtoMで表示される。決まったテンプレートを使うこと。我々はISADを使う。

3)文字はUTF-8でなければならない。Windows, MacのスプレッドシートはUTF-8ではない。注意してね。オープンソースのLibreOffice CalcはUTF-8への変換が可能。Excelをいじりたい場合はここ↓
https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_winother-mso_2010/excel-%E3%81%A7-utf8-%E3%81%AE-csv/25d8bea2-f20c-4feb-9216-e06cb3bf0757

4)end-of line characterはUnix/Linuxの改行文字を使う
=Line ending、EOL(End of Line)、line breakともいう。

Unix / Linux / FreeBSD / OS X use LF (line feed, \n, 0x0A)
Macs prior to OS X use CR (carriage return, \r, 0x0D)
Windows / DOS use CR+LF (carriage return followed by line feed, \r\n, 0x0D0A)

つまり、システムによって、改行を表す文字が異なるので注意!AtoMは「\n」を使う。
ExcelだとAtoMと合わないnewline characterが沢山ある。\rを削除する方法は下記が参考になるかも(やってみてないけどできるはず…^^;)
https://linux.just4fun.biz/?%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%81%8B%E3%82%89%E6%94%B9%E8%A1%8C%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B#f76585db

5)データ変換
もし他のシステムからエクスポートしたCSVであれば、AtoMへ合わせて変換してね~
(当たり前だけど親切に書いてくれてる…あまり親切じゃない時もあるけど…)

6)時間を予想
例えば20,000ある場合、1000やってみて×20で時間を予測してね~

7)テスト
準備ができたらcloneを作成してテストしてから、本番サーバーに入れてね~
でもcloneの作成方法がわからないのじゃ… 
多分↓のことだろうけど。
http://www.itmedia.co.jp/enterprise/articles/0811/20/news019.html



今日はここまでかな。
時間掛かり過ぎ。しょぼん…


作成:Bee



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ファイルを理解する必要がありそう。
次回は、これを一緒にやります!

以上!














最近の投稿

【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を扱ったアーカ...

人気の投稿