ようやく、認知症ケアのブログ(過去ログ7年分)を、引越完了した。こちらのブログをはじめ複数の方々にお世話になったり、精神的な支えになっていただいての実現だ。つくづく思うのは、最初からこれをやろうと狙っていたら、おそらくできなかったということだ。過去ログを整理していく過程で「できるのではないか?」と思いたち、その後の約1週間で引っ越し完了できたのは幸いだった。いま、台風が迫っている東京の深夜に、風の音を聞きながらも、ほっとひと息ついている。
わたしの場合は、その問題のブログを、Nucleusの3.65の日本語版というもので書いていた。これはその後に3.7と、日本のみ3.71というバージョンが出たのだが、いろいろ作業がおっくうで、3.65のままバージョンアップをせずに使いつづけているうちに、PHPが古かったか、ロリポのWAF(ファイアーウォール)に引っかかったのか、今年にの5月ころからとくに、不具合が出るようになった。そこで、急いで引越を考えていた。
そのころにもしわたしが3.71日本語版を入れていたならば、まだ移転の選択肢はあったかもしれない。だがただでさえ壊れそうなシステムをロリポップ上でバージョンアップさせ不具合を増大させるよりも、いったんそこから消して、ローカル環境にNucleusを再構築してログを活かそうと考えたため、わたしは引越準備をはじめ、ロリポップ上からシステムを消した。
だが、3.65のバージョンで吐きだしたバックアップのSQLファイルを、最近でも手に入る3.71で読みとることを、Nucleusが設定として認めなかった。バージョンが同じでなければ読ませないそうだ。ローカル環境にNucleusを入れておいてもデータベースのどこを変えればいいのかの情報がなければ、これは意味をなさない。ネット上に3.65のバグをとった後継CMSとしてImnucleusというソフトを出してくださった人がいるとも聞いたが、わざわざそれを入れてログを再現させたとしても、それはローカルだけの話である。一般公開はできない。ならばどうするか。
というわけで、ひとまず、SQLファイルから関連ログを抜き取り…
- 投稿記事番号
- 投稿者名
- 投稿日付
- 投稿内容
- コメント投稿者名
- コメント投稿日付
- コメント内容
…これだけわかるように整理しておいたら、何らかの簡易システムが見つかった場合にブログ形式でネット上に再現できるのではと考えた。さっそく抜き取った。投稿本文とコメント用で別の文字列を置換し、作業は2回おこなった。
抜き取り方法
ファイルの中でそれらがはいっている行のみ抜き出すため、まず
かならずはいっていて、なおかつ、消しても関係ない部分を、ぜったいに内部に存在しなさそうな単語+記号で置換する
Mac OSのコマンドラインから、grepをかける
grep “置換しておいた文字列” SQLファイル名 > 出力ファイル名
わたしは本文の分、コメントの分で、ふたつのテキストファイルを作った。
ここまできて、欲が出てきた。もしかしたら、MT形式という文法に則ってファイル内容を成型すれば、どこかのブログに載せられるのでは、と。調べてみると、MT形式はそれほど難しくなかった。それに自分が別の用件で書いている「さくらのブログ」から、MT形式で出力したファイルと見くらべて文法をチェックすることもできた。ならば、一緒に整理をしてみようか…? さっそく作業開始である(ここまでが、9月24日ころ)。その後、このブログでも何回か書いたように日付形式の変換で時間がかかったのだが、Tap Formsを持っているのを忘れて作業していたわたしの灯台もと暗し事件である。お持ちの方はぜひ使っていただきたい。かなり楽ができるはずだ。
さて、つづきにもどろう。
抜き取ったテキストファイルの行にある、項目と項目のあいだをタブなどに置換して、表計算ソフト(またはデータベースソフト)など、列をドラッグして移動させれば順番を変えやすくなるソフトに噛ませる。要らない項目はここで削除。できるだけファイルを軽くする。そしてあいだにMT形式の文法に必要な記号などを書いておく。
順番が整ったら、それを行単位でデータにもどすのだが、書き出すにせよその行にはタブ(または半角カンマや改行など設定によって異なる)がはいった状態なので、ゆくゆくはそれらを削除しなければならない。だが、ただ削除するのではなく「間に半角スペースがあったほうがいい」やら、「この文字列があったほうが便利」やら、「いやいや、ただ単に削除でいい」…など、さまざまな事情が想定される。書けそうならセル内にそれら情報を書いておくし、書けないようなら別の列を作って記号などを書いておき、その文字列と一緒に記号を置換で削除する。たとえばわたしが作ったシートは、こんな感じである。
わたしがおもに使っていたソフト(AppleのNumbers)からコピペでエディタに戻すと、おもにこの作業に使っていたエディタ(mi – ミミカキエディット)はセル間を改行と見なすため、改行コードと改行コードに挟まれた「●改行とる●」を、のちほどそっくり置換で削除、という意味だ。
この画像は本文を作業したシートだが、このほかにコメントを作業したシートがあり、それらで似たような文字列を作ったのち、該当する本文のシートに、コメントとして貼りつける。実はこの作業に、かなり時間がかかった。コメントは1件の記事につき1件(わたしのコメントを入れて2件)のこともあれば、話がはずんで10件になったこともある。まずはコメント欄の編集と成型作業をしてから記事番号を間違えないようにして本文ファイルに貼りつけ、本文とコメントも含めた完成記事が何十件かになったら、MT形式ログファイルとして出力。
MT形式ファイルができた順に、用意しておいた「さくらのブログ」にファイルをアップロードに出かけたのだが、これがもう、あったくもって、予想外。なんと1日あたりのインポートに上限が設けてあるらしい。検索したが事前に書いていない。こちらはテキスト中心の軽いファイルばかりを連続であげていたら、いきなりエラーになって「1日くらいしたら、また来てください」だそうだ。事前に書いておいてくれたらよいのだが、おそらく容量とは思えないから回数制限なのだろう。その日は4ファイルか5ファイルをアップロードしたはずなので、翌日から長めのファイルを用意して、その回数に収まるように作業した。そしてやっと、今日終わった。
ちなみに、旧ブログにあったコメント投稿者のIPアドレスやメルアドなど、そういったものは削除しておいたが、とくにエラーにならなかった。記載ないものは、スキップしてくれるらしい。なおわたしが一部のファイルで日付と時間のあいだにスペースを入れ忘れたのだが、そういういい加減な書き方でも正確に認識してもらえた。ありがたかった。
おもしろい経験ではあったが、2回目をやれと言われたら、できるかどうかわからない(笑)。