蛇口から流れ落ちる水音をトリガーとして瓶から脱走したナメクジの行方

姉が届けてくれたキャベツの外葉を剥いで洗っていたら,内側の白い結球した葉の中に小さなナメクジが縮こまっているのを見つけた.ナメクジに会うのは久しぶりだったので梅酒用の瓶を天袋から下ろし外葉を二枚入れてそこで飼うことにした.ナメクジは葉っぱの折り重なったややこしいところにいたのでつまみ出すのは難しそうに思えたが,指を伸ばすと黙ってその指に乗ってきたので思いの外簡単に移すことができた.とても小さな赤ちゃんナメクジと言ってよいくらいの幼いナメクジだった.ナメクジは結構リラックスしていて指から外すとすぐに体を伸ばして居心地のよさそうな位置に移動した.このナメクジは最初から与えられた環境になじんでいるように見えたのでフタはしなかった.

93058562_1820308731438251_4009976437586001920_o

キャベツの葉は日持ちがいいので2,3日放置しておいたが,ナメクジのいる辺りの葉っぱがしおれてきているのを見て,瓶を流しのところまで持ち出してキャベツの茎に届くまで少し水を張ってみた.翌朝みるとしおれかけていたキャベツはパリパリに戻り,巻き癖が付いていたところまでピンと張り切った状態になっていたが,ナメクジの姿が見当たらない.ナメクジは隠れるのが上手なのでどこかに隠れているのかと葉を捲くってあちこち探してみたがどうも本当にいなくなってしまったようだ.以前にも瓶に水を入れたことがきっかけになって飼っていたナメクジを逃してしまったことがある.ここから出てゆくのはよいがあの小さなナメクジがどうやって戸外の安全な場所まで分速30センチメートルの足でたどり着くことができるのだろう?

外に出るためにはまず.長い机の端まで移動しなくてはならない.そこから垂直に1メートルくらいを下って床に出たとしてもまっすぐ戸口まで向かうことができるのだろうか?確かに潜水艦の潜望鏡のような伸縮自在の便利な目玉を持ってはいるが,あのサイズでは室内の複雑な「地形」を俯瞰するのには大して役立たない.キッチンの壁の換気扇の穴を見つけることができたとしても,そこから地上までは5メートル以上のザラザラな壁面を垂直に下る必要がある.ドアの隙間をかいくぐって外に出たとしても地上に降りるためには長い鉄製の階段をさらに何段も降りなくてはならない…ここに居れば野菜だけは切らさず供給されるであろうこともうすうすは知っていたはずだ.なぜこのナメクジはその安逸な生活を捨てて危険に満ちた外界に向かうという「暴挙」をあえて決断し実行したのだろう?

ここで「決断」と言っているのは明らかにこの行動は計画的なものであったと認められるからだ.つまり,ナメクジはわたしが眠り付くのを待ってこの部屋を出ていったように思われる.「決断」したのはそれより前,おそらく蛇口から瓶に注がれる細い水道水のひそやかな水音を聴いた瞬間だったのではないかとわたしには思われる.ナメクジやカタツムリなど水から陸に上がった軟体動物にあっては雨音は心地よい天上の音楽だ.水音ないしそれに伴う水の匂いは彼らにとっては目眩く祭祀の表象であり生の歓喜そのものと言ってよい.その水音が彼の本能を呼び覚まし,自由への憧れに駆られて決行に至ったのだろう.『自由への脱出』それはこの小さなナメクジにとっても一生に一度の死物狂いの冒険だったに違いない.

出窓のところに今年もまた訪れた鳩のつがい

北側の窓は冬囲いを解いて風が抜けるようにしている.東側の出窓はまだぷちぷちで覆ったままなので外は見えないが数日前から鳩が来て何やら物音がしている.出窓の上に巣を作ろうとしているのだろうか?まだ確認していないが,多分つがいだと思う.この鳩たちは毎年この季節になると戻ってきて巣作りをしようとしている.数年前に隣家の煙突の中に掛けた巣から追い出されたカップルだ.この鳩たちが温めかけていた卵を失った季節にわたしもたった一人の息子を失った.出窓のひさしに飛び移ったりするたびにかなり大きな音がする.東側の冬囲いも外して鳩たちの様子を見てみたい気もするが…⇒鳥が離れている間に開けてみた.今年もつがいで来ているのかどうか?という点が気になるところだ.

XoopsCore25でWordPressの蓄積データを復活させようとしているところだが,なかなかうまくゆかない.WordPressをXOOPSのモジュールとして使うためにはXOOPSとWPをつなぐ仲介となるXpressMeというモジュールが必要になる.XpressMeは内部にWPを抱えたような形態で実装されるが,どうもこの両者がシームレスに接続していないように思われる.XpressMe Integration Kitを開発・配布していたサイト http://ja.xpressme.info/ はすでに更新を停止していて,過去記事もほとんど削除されてしまっている.仮にwordpressモジュールの実装に成功したとしても,もしやるとすれば今後は自力でメンテナンスする以外の手段がない.これもかなりリスキーに思われるので,ひとまず退却することに方針決定した.つまり,WordPressをXOOPSから切り離して独立させるという方向だ.

WordPressで複数ブログを管理する方法は複数ある.WordPressを1個,データベース1個で複数ブログを管理する「マルチサイト機能」とWordPressを複数個インストールする方法があり,後者の場合には単一のドメインで行う方式と複数ドメインを用いる方式が考えられる.もっともシンプルなのは最初の方法だが,実装は結構厄介でセキュリティ上の問題を指摘する向きもあり,ロリポップではサブドメインを使ったWordPressの複数インストール方式を推奨している.どちらにしても,まずローカルで過去記事が読めるようにしなくては始まらないので,まず,それを試してみることにする.既存テント村ブログをローカルに移植できることはずっと前に確認している.基本的にはそのときと同じ手順で復元できなくてはならないのだが…参考のためにそのころのログを読み直しておこう.⇒いや,どうもそんな簡単な話ではなさそうだ.インストール済みのWPにlocalhostでアクセスしてみたが,データベース接続エラーが発生する.これを回避するためにwp-config.phpでデータベースアクセス用パラメータを設定すると,以下のエラーが起きる.

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at postmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.


Apache/2.4.41 (Win64) OpenSSL/1.1.1c PHP/7.4.2 Server at localhost Port 80

どうもWPは本来作り込まれたブログと一体化している模様で,localhostでアクセスした場合には最初にlocalhost/wp-admin/install.phpを実行しようとする.ここで矛盾が生じているものと思われるが,DBサーバーにすでに構築済みのブログデータがないと開けないようになっているのではないだろうか?この辺りにマルチサイト機能を実装しようとするときの難しさがあるのかもしれない.以前テント村を完全に再現できたとしているが,そのときのDBデータはバックアップしてあるだろうか?もしかすると,それすらやり直しになるかもしれない…⇒旧サイトデータをDBにロードしておくということも考えられるが,おそらくそれでもうまくゆかない可能性はある.というのは各種の秘密キーがインストール時に決定されてしまうようになっているためだ.XOOPSはXOOPS_SALTという値を持っているが,それとはまったく別のものだ.

ロリポップは最大30個までのデータベースを持つことができる.また,同一サイトに複数のWordPressをインストールすることを認めているのでWordPressを複数導入し,それぞれ個別にデータベースを使うというのが一番無理がない構成であるように思われる.テント村ブログをローカルに移植する作業はそれほど難しくはなかったはずなので,あとからやり直しはできるだろう.いまはとりあえず,新しいWordPressを1個導入してそれに保存してあるDBデータを背負わせて見ることにしよう.テント村のときは最初にMySQLにデータをロードしてからWordPressを導入という手順になっていたと思うのだが,違うだろうか?

テント村ではロリポップ!からサイトイメージをダウンロードし,それにサイトからMySQLでエクスポートしたデータをインポートしているから,基本的に完全に両者が整合していると言える.安全な手順としては,最初にロリポでWordPressとデータベースを追加導入し,それをローカルに持ち出すということも考えられる.この場合は保存データとの不整合はSQLを直接編集することで行うしかないように思われるが,確実に実施可能であるのならそれもやむを得ないのではないか?⇒WordPressのデータをエクスポート/インポートするという手段もあるようなのでそれを使うという方法もない訳ではない.このためにはもう一度古いサイトを復元しなくてはならないが…もしかするとそれが最短である可能性もある.ロリポにWPとDBを追加する際のパラメータを保存データに合わせるということももしかしたらできる可能性はある.それができればかなり実現までのステップを短縮できるのではないか?

Failed opening required ‘../../../ mainfile.php’ (include_path = ‘C:\xampp7\php\PEAR’)

いつどこでそうなったのかわからないが,MySQLを起動できない状態になっている.

18:23:25  [mysql]     Status change detected: stopped
18:23:25  [mysql]     Error: MySQL shutdown unexpectedly.
18:23:25  [mysql]     This may be due to a blocked port, missing dependencies,
18:23:25  [mysql]     improper privileges, a crash, or a shutdown by another method.
18:23:25  [mysql]     Press the Logs button to view error logs and check
18:23:25  [mysql]     the Windows Event Viewer for more clues
18:23:25  [mysql]     If you need more help, copy and post this
18:23:25  [mysql]     entire log window on the forums

ともかくバックアップに戻ってみよう.xampp7のバックアップは2020-03-28が最新だ.念のためOSを再起動してから始めよう.⇒MySQLは起動できるようになったが,あまりよい状態ではない.WordPressのデータベースでprefixの付かないテーブルが残った状態になってしまっている.まず,これを整理してクリーンな状態から始めた方がよさそうだ.12020-03-30まで戻る必要がある.XoopsCore25のバックアップも2020-03-28しかないので,現状を一度バックアップしておこう.

WordPressをアンインストール→WP関係のデータベースが丸残りになっている.⇒手操作で削除したが,picotoとprotectorのアイコンが出ていないという状態になっている.Xoopsも一度バックアップに戻した方がよいのではないだろうか?⇒両側を完全に2020-03-28の状態に戻してみたが同じだ.ということはすでにこの時点でアイコンは出ていなかったということになるのだが…

image

いや,それでも今回はWordPressをアンインストールしてprefix付きのテーブルは全削除されたので多少改善している.2020-03-31 にはWordPressモジュールを作り直して再インストールしているが,最終版Xoops25には入っているはずだから,それを使うことにしよう.

そのあとにもPHPコードの修正を実行しているので,この際modulesとextras, およびxoops_data, xoops_libの内容をすべて差し替えてもよいのではないだろうか?始業時のバックアップはXoopsCore25 2020-04-05 BADの中に入っている.⇒実行した.これでpicoとprotectorのアイコンも表示されるようになった.⇒インストール可能なモジュールが2個になった.WordPressとXpressmeだ.後者の方をインストールすべきだろう.⇒あとで混乱しないようにwordpress モジュールを削除しておこう.⇒Xpressmeをインストールしてエラーが出てしまった.

Fatal error: require_once(): Failed opening required ‘../../../mainfile.php’ (include_path=’C:\xampp7\php\PEAR’) in D:\XoopsCore25\htdocs\modules\xpressme\include\add_xpress_config.php on line 2

この記述はあとから追加したものではなかったろうか?wp-config.phpの中ですでにincludeしているので,add_xpress_config.php では不要であるような気がする…include_path= C:\xampp7\php\PEAR’となっているところが解せない.⇒add_xpress_config.php とwp-config.php の両方で該当箇所からrequired ‘../../../mainfile.php’ の記述を抹消して動作するようになった(インストール時のエラーが解消した).ただし,XPRESSME BLOG の画面からWordPress Adminに遷移しようとしてエラーが発生する.

xpress_eval関数の中でXOOPS_PATHないしXOOPS_TRUST_PATHが未定義の状態になっているものと思われる.3/31のログには「admin.phpでmainfile.phpをインクルードするようにしてこのエラーは解消した」とあるが,解決していない.WordPress Adminを実行する前の段階で何度かxpress_evalが呼び出されているが,その時点では問題なくパスしている.どこかでリセットされているように思われる.admin.phpに入った時点で落ちているようだ.

廃棄を予定していたスチール製書棚を復活させてみた

IMG_20200402_182500

旧サイトをPHP7で動かすためにはPHPのデバッグは避けられない.PHPのデバッグ環境を構築する際の候補は複数ある.①Eclipse,②Visual Studio 2017/2019+PHP Tools for Visual Studio,Visual Studio Code+XDebug,atom+XDebugなど.

Atomのphp-debug使い方備忘録
https://qiita.com/shou-w/items/ebd6da6eecb3db0252ee

これらのすべてを試みたが今のところどの一つも成功していない.これらすべてはサーバー側のデバッガとしてXDebugを使っているものと思われる.EclipseはIBMが提供しているパブリックドメインだ.PHP開発に特化したIDEで以前多少使ったことはあるのだが,使い方を忘れてしまった.完備したIDEシステムだがやや敷居が高い.Eclipseはいまどのくらい使われているのだろうか?Eclipseではまだデバッガを導入するところまで進んでいない.

Visual Studio+PHP tools for Visual Studioはおそらくこれらの中では一番ゴールに近いような気がする.VSのIDE環境は使い慣れているので一番こなし易いが,現在の設定ではまだ動いていない.一度だけ「一瞬」動作したことがあったが,何も設定変更していないのに動作しなくなってしまった.リダイレクトでループが発生するなど動作にもかなり疑問がある.おそらくこれはこのツールの「言いなり」にプロジェクトを構成するようにすれば動かせるのではないかと思われるので,一応出口はある.PHP tools for Visual StudioはVS Codefdeでも使える.

VS CodeもVSと同等の羽の生え揃ったIDE環境で,atomは汎用のエディタだが設定によりIDEとして使えるようになる.VS CodeとatomはともにPHP Debugという拡張機能を使っているので,どちらかで動作すれば他方でも動かせるようになるのではないかと思われる.atomはxamppと相性がいいようだが,立ち上げには皆さんかなり苦労している模様だ.

どうもいまいち乗りが悪い.思い立って廃棄を予定していたスチール製書棚を復活させてみた.

Eclipse以外のPHPデバッグ環境を試みる

PHPのデバッグをやる覚悟でEclipseを導入したものの使いこなすまでには相当敷居が高い.WordPressをXOOPSのモジュールとして使うのではなく,完全に独立な外部アプリとして使うことも考えてみた.すでにテント村ではそのような使い方をして成功している.一つのサイトに複数のWordPressを導入することは不可能ではない.現行サイトではWordPressはサーバー側に導入されているものを使っている.これをやりくりして2つのブログを運営することは可能なのではないか?おそらく従来の屋根裏部屋で蓄積したデータベースを再利用することはできるのではないか?と思われる.しかし,ここでもたついているとWordPressだけで時間を使い切ってしまいかねないので,WordPressモジュールを作り直してもう一度試してみたい.

というのは,現在起きているエラーはWordPress内のコードで発生しているが,現行のWordPressは本来PHP7に対応しているはずなのだから,このようなエラーが発生していること自体おかしいと見なくてはならない.つまり,どこかで手順を誤っているのではないか?と推定されるので,昨日のバックアップに戻って出直すことにしたい.⇒WordPressの最新版 5.3.2-jaとXPressME_Integration_Kit_Ver2.3.6の組み合わせだ.⇒実行した.以下のエラーが出ている.

Error : Error: Call to undefined function mysql_get_server_info()

この関数はhappy_linuxの中で1箇所,xpressmeで5箇所使われている.すべての出現をmysqli_get_server_infoに変えてみる.happy_linuxは対応しているので修正は不要だ.xpressmeでも1箇所は対応済みになっている.修正が入ったのはindex.php, oninstall.php, class-wp-site-health.phpの3本だ.⇒修正したが,まだエラーは続く.

Warning: Use of undefined constant XOOPS_PATH – assumed ‘XOOPS_PATH’ (this will throw an Error in a future version of PHP) in D:\XoopsCore25\htdocs\modules\xpressme\class\config_from_xoops.class.php(56) : eval()’d code on line 1
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in D:\XoopsCore25\htdocs\modules\xpressme\include\memory_limit.php:17 Stack trace: #0 D:\XoopsCore25\htdocs\modules\xpressme\include\add_xpress_process.php(202): xpress_set_memory_limmit() #1 D:\XoopsCore25\htdocs\modules\xpressme\wp-config.php(85): require_once(‘D:\\XoopsCore25\\…’) #2 D:\XoopsCore25\htdocs\modules\xpressme\wp-load.php(37): require_once(‘D:\\XoopsCore25\\…’) #3 D:\XoopsCore25\htdocs\modules\xpressme\wp-admin\admin.php(34): require_once(‘D:\\XoopsCore25\\…’) #4 D:\XoopsCore25\htdocs\modules\xpressme\wp-admin\index.php(10): require_once(‘D:\\XoopsCore25\\…’) #5 {main} thrown in D:\XoopsCore25\htdocs\modules\xpressme\include\memory_limit.php on line 17

このエラーは結局昨日のエラーと同じだ.WordPressのコードが完全にPHP7対応であることは確認済みなので,これらはIntegration Kit内のコードと考えられる.一つづつ潰してみよう.mysql_connectの出現は10箇所ある.mantisに1つ,systemに3つ,あとはxpressmeだ.systemの3つは修正不要と見られる.undefined function mysql_close()になった.mysql_closeは8箇所ある.mantis, sysytem, xpressmeだ.⇒修正して前に進み,「データベース接続確立エラー」になった.wp-config.phpをチェックしてみよう.wp-config.phpではデータベース名,ユーザ名などをXOOPSから引き継いでいるのでコード自体は間違っていないはずだ.おそらく,config_from_xoops.class.php(56)で出されている警告に関係しているもののように思われる.XOOPS_PATHという定数が未定義とされている.

この値はmainfile.phpで定義されている.mainfile.phpは実行されていて出口では定義は確定しているが,config_from_xoops.class.phpが呼び出された時点では確かに消えている.なぜだろう?名前空間が一致していないということなのだろうか?それともどこかでリセットされているのか?admin.phpでmainfile.phpをインクルードするようにしてこのエラーは解消したが,WPの管理画面ではなくSystem Option画面が開いてしまう.こうなるともうデバッグするしかなくなるが…

Eclipseはどうも取っ付きにくい.昔扱ったときにはマニュアルも読まずに使えていたような気がするのだが,現行版のユーザインタフェースにはかなりの疑問がある.あるボタンを押して画面のどこかが切り替わったとき,同じボタンを押すと元の状態に戻るというのが基本だが,Eclipseではボタンを押すとそのボタンまで消えてしまって呆然と立ちすくむという状況に陥ってしまう.「設計思想」が悪い.

別のPHPデバッグ環境を探してみた.Visual Studioでできるという.探すとPHP Tools for Visual Studioというのがあった.現在VSは無償配布されているが,このツールは23,900円.30日間の試用期間があり,それを過ぎてもデバッガ以外は使えるという話だが…いまの作業に使うだけなら,多分30日あればお釣りが来るはずだ.これとは別にVisual Studio Codeというエディタもあった.昔,VSのエディタでHTMLを書いていたことがある.このエディタは一つで数百のプログラミング言語をサポートしているという.ともかく使ってみよう.VS CodeではPHPのデバッグまでできるようだ.Xdebugという外部デバッグツールが必要なようだが,もしかするとこのエディタだけで間に合うかもしれない.

Visual Studio 2017でPHP開発
https://qiita.com/akabei/items/70fafaef7b86afb5a7ec

PHPのデバッグ(ステップ実行)環境を構築してみた
https://yasu404.com/1004/

Visual Studio Code
https://azure.microsoft.com/ja-jp/products/visual-studio-code/

まず,VSCodeから評価してみよう.⇒HTMLエディタとしても使えるが,プレビューは出ない.ダークウィンドウは目が疲れる感じだが,テーマで切り替えることはできる.検索などはメチャ速くていかにも軽い.使い勝手は悪くないが,VS 2017ないしVS 2019でPHPデバッグができるのなら不要かもしれない.

Visual Studio 2019がすでにリリースされているのでダウンロードしてみた.2019/08/14のログには「VS2005からVS2017の変換がなかなか収束しない」とあるが,ソースの修正はすでに完了している模様だ.ただし,例によってOCXのレジストリ登録でエラーが発生する.VS 2017ではコンパイル→ビルドまでは通るが,VS 2015の動作はかなりおかしい.まだ下位のプロジェクトがビルドされていないのに,上位プロジェクトから下位プロジェクトのモジュールにアクセスできないという理由でビルドが止まってしまう…⇒Visual Studio 2019をインストールしたが,動作は2015と同じでビルドが進まない.

どうもVisual Studioの動作が安定しないので,VS CodeでPHPデバッグを試みることにする.⇒atomというエディタがxamppとの組み合わせでよく使われている.atomとVS codeはかなり似ているが,atomの方がよりシンプルだ.この意味ではatomの方が使い易そうな気もするが,VS Codeの方が多機能でより強力に見える.各種言語が最初から備わっているのも便利だ.ということでVS Codeを使ってみることにする.

Visual Studio CodeでPHPをデバッグする方法
https://qiita.com/deux222/items/af75319ece05653c4bb5

PHPプログラミングも快適に! VS Codeの二大拡張機能
https://www.atmarkit.co.jp/ait/articles/1809/11/news028.html

【Windows】Visual Studio Codeを使ったPHP開発環境を整える
https://www.out48.com/archives/2584/

Summary
  • Xdebug installed: no
  • Server API: Apache 2.0 Handler
  • Windows: yes – Compiler: MS VC 15 – Architecture: x64
  • Zend Server: no
  • PHP Version: 7.4.2
  • Zend API nr: 320190902
  • PHP API nr: 20190902
  • Debug Build: no
  • Thread Safe Build: yes
  • OPcache Loaded: no
  • Configuration File Path: C:\WINDOWS
  • Configuration File: C:\xampp7\php\php.ini
  • Extensions directory: C:\xampp7\php\ext
    Instructions
  • Download php_xdebug-2.9.4-7.4-vc15-x86_64.dll
  • Move the downloaded file to C:\xampp7\php\ext
  • Edit C:\xampp7\php\php.ini and add the line
    zend_extension = C:\xampp7\php\ext\php_xdebug-2.9.4-7.4-vc15-x86_64.dll
  • Restart the webserver
  • Eclipseをインストールはしてみたものの…

    Eclipseはすでにインストールされているが,使い方をほとんど忘れてしまった.というか,Eclipseの作り自体かなり変わって(進化して)いるのではないだろうか?ツールバーのアイコンが小さ過ぎてお手上げだ.どこかのアイコンを間違って押したらそれまで出ていたペーンが消えてしまったり…ノートの内蔵ディスプレイとDELLのワイドスクリーンのズーム倍率をどちらも150%に上げることにした.Eclipseのマニュアルは全編英語なのでいまいち全体像がつかめない.使っているうちに慣れてくるということもあるだろうが,どこから始めればよいのか?取っ掛かりがまだ見えていない.Eclipseはちょっと後回しにして,PHPをデバッグしないでできるところまでをまず片付けておくことにしよう.⇒さすがに150%というのは大き過ぎ,125%がぎりぎりというところ.

    昨日WordPressで「ブログ」を設定したことで状況が一変した.もはやエラーは1件も起きていない.pico, evennews, mantisとも問題なく開くことができる.いや,おかしい.QUERYではまだテーブル xoops25.zelkova_wp_blogs 不在というエラーが起きている.⇒状況は変化していない.⇒かなりおかしい.WordPressの管理ユーザは登録済みでサイトもすでにビルドされている.投稿が1件,固定ページが1,コメント1がすでに投稿済みになっている.このWP管理者がデータベースユーザになっていないためだろうか?しかし,警告が出ているのはbabalaboではなく,Access denied for user ”@’localhost’ (using password: NO)の方だ.WordPressのデータベースユーザとパスワードはwp-config.phpで定義されている.

    どうもWordPressのデータベースはでき損なっているようだ.同じ名前のテーブルでprefixが付くものと付かないものがダブっている.zelkovaというプレフィックス付きのものが16個,付かないものが12個ある.wp_usersで見ると値が入っているのは付かない方だ.一度WordPressをアンインストールして作り直してみよう.XOOPSのDBユーザ名などはD:\XoopsCore25\xoops_data\data\secure.phpで定義されている.⇒モジュールWordPressをアンインストールしたが,prefixなしのテーブルは残ったまま.⇒手操作で取り除く.⇒WordPressを再インストールした.今度はprefixなしのテーブルは出現しない.

    しかし,Table ‘xoops25.zelkova_wp_blogs’ doesn’t existというエラーは依然として発生している.prefixなしのテーブルはWordPress Adminでブログを生成したときに作られている.WordPressインストール時には正しく動作しているのだが,WordPress AdminでXOOPSと縁が切れてしまっているようだ.GIJOE版ではこれを使えと指示されたD:\XoopsCore25\xoops_lib\libs\altsys\include\altsys_functions.phpは元のバージョンに戻した.

    清水へ祇園をよぎる桜月夜 こよひ逢ふ人みなうつくしき

    91439389_1802957206506737_1780176533017591808_o

    就寝時間が毎日後方にずれて一巡し昨日は夕方6時ころになったので,久々に街に出かけた.入り口ドアは開け放たれ,店内にはアルコール消毒液も設置されている.当市でも発症者が出ているというのをそこで始めて聞いた.エジプトナイル川クルーズの参加者だったようで,同行したその人の妻も発症している.帰国後の一定期間JRを利用して東京まで通勤しているので,この一例から見てもすでに市中感染→感染爆発のフェーズに遷移したものと考えて間違いない.いまさら,「首都封鎖」したとしても手遅れだ…さて,いよいよ本作業に戻らなくてはならない.

    どこまで進んでいたのか?現状をチェックしてみよう.Apacheを起動してlocalhostにアクセスしてみる.管理人IDでログイン→エラーが出た.

    image

    Please come back soonをクリックして管理画面には入れる.

    image

    管理画面の16個のアイコンはすべて問題なく開けた.一般ユーザとしてログインしてみよう.確か,一人くらい登録してあったはずだ.しかし,覚えていない.MyAdminでデータベースにアクセスしてみよう.データベースの名前はxoops25となっている.ユーザ登録されているのは管理人だけだ.管理画面の最初のページでView Accountをクリックすると上と同じエラーが起き,Come back soonで元の画面に戻ってしまう.以下のようなエラーが起きている.

    Error : Error: Call to undefined function esc_sql()

    None All Errors (28) Deprecated (4) Queries (44) Blocks (3) Extra (2) Timers(5)
    SYSTEM WARNING: Unknown: Failed to write session data using user defined save handler. (session.save_path: C:\xampp7\tmp)

    Errors(28)を開くと,以下の項目が赤字になっている.

    0.000271 – SELECT * FROM wp_blogs
    Error number: 1146
    Error message: Table ‘xoops25.zelkova_wp_blogs’ doesn’t exist
    0.000457 – SELECT * FROM modules WHERE dirname = ‘altsys’

    また,最下部には上と同じ SYSTEM WARNING の行が赤字で表示されている.確かにデータベースにはxoops25.zelkova_wp_blogsというテーブルは存在していない.WordPressで使っているその他のテーブルは備わっているようだ.これはWordPressでまだ「ブログ」を一つも作っていないためではないかとも推定される.HTMLエディタBlueGriffonを(間違えて)起動したら下記のエラーになった.

    image

    原因はわからないが,もう一度ダウンロードして再インストールした.現在モジュールは下図のように13個インストールされているが,うち,pico, evennews, maitisの3つではボタンをクリックしてオープンした時にエラーが発生している.

    image

    evennews, mantisは最悪の場合は放棄ということも考えられるが,picoは「オンラインマニュアル」で使っているので何とか再生する必要がある.これらの3つのモジュールはデータベースを使っているためQUERYで上記WordPressのテーブルがないというエラーが発生している.もしかすると同じ原因でエラーが起きている可能性があるので,まずWordPressのテーブルエラーから見ることにしよう.WordPressの管理画面からWordPress Adminメニューを選択で以下の画面が出る.

    image

    ユーザ名・パスワードを設定→インストールには成功したが,以下のような警告が出ている.

    Warning: Use of undefined constant XOOPS_PATH – assumed ‘XOOPS_PATH’ (this will throw an Error in a future version of PHP) in D:\XoopsCore25\htdocs\modules\wordpress\class\config_from_xoops.class.php(56) : eval()’d code on line 1
    Warning: mysqli_connect(): (HY000/1045): Access denied for user ”@’localhost’ (using password: NO) in D:\XoopsCore25\htdocs\modules\wordpress\include\memory_limit.php on line 18
    Warning: mysqli_close() expects parameter 1 to be mysqli, bool given in D:\XoopsCore25\htdocs\modules\wordpress\include\memory_limit.php on line 60

    警告は3つある.最初のはXOOPS_PATHという古くなった定数が使われているというものだ.WordPress自体は本来XOOPSとは無関係の独立のアプリだが,XOOPSのモジュールとしてインストールされているので,そのために追加された拡張コードの中で使われているのだろう.つまり,WordPressモジュールが少し古いかないしアップデートされていないことが考えられる.2番目はユーザ名rootでパスワードなしという設定でデータベースへのアクセスが拒否されたことを意味する.これはかなりまずいような気がする.3番目はmemory_limit.php→mysqliの呼び出しで引数が間違っているというものだ.

    ソースコードの修正が必要になる可能性があるので,まずバックアップを取っておくことにする.(今日はまだ始業時バックアップを取っていない)ミニノートのThunderBirdの方もバックアップしておこう.ミニノートではEドライブのTHUNDERBIRD DATAとAppData\rormingのThunderBird,PCではCドライブのxamppとDドライブのXOOPS25を取っておく.いや,違う.xamppではなくxampp7ではないか?⇒その通り.xampp7は731MB,XoopsCore25は84.3MBと思ったより小さい.MySQLもバックアップしておこう.127_0_0_1.sqlはXoopsCore25のバックアップの中に入れておく.このファイルは720KBだ.

    どうもこの辺りまで来るとPHPのデバッグの領域に入ってしまうので,そろそろEclipseを導入した方がよいのではないだろうか?以前一度使ったことがあるが,多分もう少し進化して使い易いものになっているのではないかと期待しているのだが…Eclipse IDE 2020-03という最新版をダウンロード→ネットワークエラーで停止してしまった.⇒今度はうまく行った.Koreanサイトからのダウンロードになった.インストーラを実行してJavaの仮想環境がないというエラーが出る.

    image

    Javaをインストールするためにはネットに接続している必要がある.Eclipseのインストールにもネット接続が必要な場面があるようだ.⇒Eclipseのインストールに失敗した.

    image

    どうもリモートサイトからのダウンロードに失敗しているのではないかと思われる.もう一度やってみることにする.ダメだ.また失敗だ.⇒おかしい.WiFiには接続しているのにネットにアクセスできない.⇒PCを再起動→再インストールで成功した.

    Windows Live MailからThunderBirdへの移行が完了した

    Windows Live MailからThunderBirdへの移行が完了.ThunderBird形式以外の保存形式でフォルダ構成を維持しながらエクスポートすることができないのでこの移行は後戻りできない.ThunderBirdは現在圧倒的なシェアを誇っているが,いつの日かまたThunderBirdから他のメーラに移行しなくてはならない時が来るかもしれない.しかし,そのときになれば誰かがThunderBirdからの移行ツールを作ってくれていることだろう.確かにThunderBirdは現時点における最強のメールソフトだ.WLMには外部ファイルシステムでファイル操作すると論理フォルダと物理フォルダの不整合が発生してしまうなどのさまざまな弱点があったが,TBはそれらをほぼ克服している.TBの優位性の一つとしてフィルタリングシステムが完備していることを挙げておこう.フィルタリングシステムは受信メールを自動振り分けするための仕組みだが,フィルタとフォルダはほぼ一対一に対応していると考えられる.このフォルダをどこに移動してもフィルタリングの動作には影響しない.

    フィルタリングルールを設定することとデータの保存構造(フォルダ構成)の決定は密接に関連している.これは情報管理そのものであり,将来的にはAIが全面的にサポートするように進化することになるだろう.今回の再編成で考慮したポイントをまとめておこう.

    1. 現在アクティブな本人メールアカウントは2つ,それ以外に過去に使っていたユーザ会サイトのメールアカウト(管理人・事務局など),および携帯メールアカウントなどがあるが,内部的には混合して扱う 実体として①プライベート,②馬場研究所,③ゼルコバの木ユーザ会を区分
    2. 返信メールはつねに受信メールと同じフォルダに収容する
    3. 1外部アカウント(サイト)は1フォルダ,1フィルタリングルールに対応する ただし,複数アカウント(from/to)がグループとして認識される場合には1フォルダに収納する
    4. フォルダは受信専用であるかないし送受信両用であるかのいずれかである 受信専用フォルダは外部,送受信を受け持つフォルダは内部として切り分ける ただし,情報配信サイト(外部)のカテゴリには双方向(送受信)のメーリングリストなどが例外として含まれる 自サイト運用に関わるフォルダは内部とする
    5. もっぱら情報配信のみを行う情報サイト(メディア)と営業的サイト(物品・サービスの提供)を切り分ける ただし,NPOは後者に含まれる 情報配信サイトは技術系・学術系・SNS系・その他に区分する
    6. ユーザ登録など情報サイト(外部)との間で交わした契約関係のメールなどは別途内部の「アカウント・利用規約・サポート」フォルダに保管・管理する 「アカウント・利用規約・サポート」ルールに設定できない場合は手操作で移動する
    7. 営業的サイトのうち貨幣的取引を伴うサイトをそれ以外から切り分ける 銀行取引は独立の外部カテゴリとし,それ以外の恒常的実取引サイトは内部(取引先)として位置付ける
    8. 単発的実取引サイトは外部とし,貨幣的取引に関わるメールは別途内部の「発注・請求・支払い」フォルダに記録・管理する 「発注・請求・支払い」ルールに設定できない場合は手操作で移動する 単発的実取引サイトは技術系とそれ以外を区分する
    9. 内部に属するフォルダ(恒常的実取引サイト)ないしその一部ですでに終結しているものはアーカイブに移転する
    10. 障害発生などセキュリティ上の警告を受信するフォルダ(複数)を設置
    11. 独立のフォルダを立てるに及ばない雑多なメールを格納するフォルダを別途(数種)設ける
    12. 現在営業休止中のため,恒常的実取引サイトに該当するサイト(取引先)は自サイト運用に関わるサイトしか存在しない 過去の取引先の一部はアーカイブに保管されているが,FAX時代の取引記録は電子化されていないためペーパーで保管 ⇒ 将来的には電子化
    13. 「アカウント・利用規約・サポート」や「発注・請求・支払い」などフィルタリング ルールを設定できないメールには(散逸を防止するため)★マークを付与しておくことが考えられる ★マーク機能はいまのところまったく使われていない ⇒ 実行した

    さて,次に進む前にログを読み直しながらWindows Live MailからThunderBirdへの移行に際して必要となった作業をまとめておくことにしよう.作業を開始したのは2020/03/15「修理に出していた 2 in 1 タブレットが戻ってきた」からだ.

    1. Windows Live Mail 2012はWindows Essentialに含まれているが,すでにサポートが終了しているため以下のアーカイブからダウンロードしてインストールする http://web.archive.org/web/20170120121901/http://wl.dlservice.microsoft.com/download/F/A/D/FAD48A38-8F81-4DA1-8302-EFAB6FEC4A92/ja/wlsetup-all.exe
    2. microSDにはWLMの保存フォルダを置けない(フォルダが選択できない) 東芝ポータブルHD700GBをミニノート(2 in 1)に接続できない
    3. 古い外付けHDをミニノートに接続してmicroSDからWLM保存データを転送 ⇒ 失敗
    4. 古い外付けHDをメイン機に接続してWLM保存データを転送
    5. ミニノートでWLMの保存フォルダを古い外付けHDに設定
    6. WLMの起動に失敗する:お使いのカレンダーに破損されているデータが含まれているため,Windows Live Mailが強制終了しました.(0x8E5E0408) このエラーはRecordTooBigForBackwardCompatibility:record would be too big if represented in a database format from a previous version of Jet.を意味する
    7. アドレス帳は空になっている
    8. 410MBのMail.MSMessageStoreというファイルを削除 *.chk, *.log, *.sqmファイルをすべて削除した.calendarsというフォルダ(ほとんど空)その他,空のフォルダを削除,拡張子 jfm, jrs, xml およびアカウントデータ以外はすべて削除して起動できた.ちらっと「データベースを復旧しています」を表示したあと,下記を出して停止:Windows Live Mailを起動できませんでした.アプリケーションはWindows Live メール メッセージストアを開けませんでした.現在お使いのWindows Live メール メールボックスデータは,ウィルススキャンプログラムなど他のプログラムで使用されています.…(0x800C0155)
    9. カスペルスキーで外付けHDをスキャン ⇒ 失敗:外付けHDの死亡宣告
    10. ミニノートのUSB3.0コネクタを使って東芝ポータブルHDを接続できた
    11. カスペルスキーで東芝ポータブルHDを完全スキャンする
    12. WLMからGmailにログインできない ⇒ Gmailでセキュリティの低いメーラーを使うオプションを選択
    13. Gmail(IMAP)の受信箱には3545本メールが入っている.ある特定の文字列を検索→すべてのメールを検索しますか?にはいと答えたら「変更を更新しています」のパネルを出したままハング状態
    14. Gmail受信は「フィッシィング詐欺メールの可能性があるメッセージをダウンロードしました」で停止
    15. Yahooメール(POP)にログインできない ⇒ メール管理→IMAP/POP/SMTPアクセスとメール転送で設定を変更 ⇒ メールの設定画面の右上スクロールしないと見えない位置にに保存ボタンがある
    16. カスペルスキーが東芝ポータブルHDのルートキットスキャンを実行
    17. Meryはテキストファイルしか検索しないのでWindows Live Mailの保存フォルダを検索できない ※[エクスプローラ→ファイル→オプション→検索→ファイル名と内容を常に検索するをオンにして検索できるようになった]
    18. ThunderBird 68.6.0 (32ビット)をダウンロードしてインストール ⇒ 小額寄付しようとしたがカードが弾かれた
    19. ThunderBirdのデフォルトのデータ保管場所はC:\Users\babalabo\AppData\Roaming\Thunderbird\Profiles\
    20. Gmailに接続してメールをダウンロード
    21. ImportExportTools NGをインストール
    22. 三メニュー→ツール→設定とデータのインポート→設定→Windows Live MailでWindows Live Mailの設定をインポート
    23. 馬場英治アカウントがダブっている これはWLMからインポートした設定に馬場英治が含まれていたためだ
    24. ツールパネルにImportExportTools NGが現れないので,以下から最新バージョンをダウンロードしてインストールしたが状況は変わらない https://addons.thunderbird.net/ja/thunderbird/addon/importexporttools-ng/?src=cb-dl-mostpopular
    25. WLMメールをエクスポート
    26. 重複ファイル検索削除ツールFileMany Ver2.1.9.1b 64bitをダウンロードしてインストール エクスポートしたWLMファイルの重複ファイル774本を削除する
    27. WLMの保存フォルダをFileManyで重複検査し,38,384本を削除
    28. 重複削除後のWLMをエクスポート
    29. フォルダを選択→右クリックで出るメニューの一番上にImportExportTools NGが出てくる.このサブメニューの中にImportExportTools NGのすべてのコマンドが入っている 
    30. Web上のGmailからエクスポート→Googleドライブに保存(2GB) この操作は相当時間が掛かる
    31. 「フォルダからすべてのemlをインポート(サブフォルダを含む)」でSLMのStorage Folderにあるすべてのファイルとフォルダを直接インポート
    32. 重複していた馬場英治のアカウントを削除
    33. 移行作業中にイレギュラーな状態になっていたフォルダの復旧:この点に関しては2020/03/19に詳しいメモ書きがある
    34. TBには物理的に温存されたすべてのメールが保持されている WLMとTBを完全に同期させるという目標で調整を行う:2020/03/20にこの作業の詳しいメモ書きがある
    35. ヤマダ電機でHDMIの切替器を購入:メイン機・ミニノート・タブレットからワイドスクリーンにビデオ出力できるようにした タブレットをワイドスクリーンに接続して障害が発生
    36. タブレットで①ディスプレイドライバーの更新,②Windows Updateを実行,Windows 10 Version 1909をインストール,③スタートメニュー→Windows管理ツール→メモリ診断を実行→OK,④ハードディスクチェック:スタートボタン→右クリック→PowerShell→chkdisk c: /F,⑤システムファイルチェッカーツールを使用
    37. TBとWLMの同期作業の続き 2020/03/20に手順リストがある
    38. ThunderBirdとSLMを完全に同期させるという試みを断念 Windows Live Mailに別れを告げる
    39. GmailからダウンロードしたファイルをTBにインポート
    40. WMLの2つのアカウントの送受信を停止
    41. TBのYahooアカウントで受信を開始
    42. オプション→詳細→一般→システム統合→Windows Searchによるメッセージの検索を可能にするという選択肢があった ⇒ 設定したが効果はない
    43. フィルタリングルールを追加しながらGmail, Yahooアカウントのメールを逐次ローカルフォルダに設置した新しいフォルダに選別・移動する
    44. ディスク上の受信メールの保存場所はアカウントごとに設定できる ローカルフォルダ,添付ファイルの保存先も独立に設定できる ⇒ これらをEドライブのThunderBird Dataに置く
    45. GmailとYahooの受信メールにフィルタリングを適用する ⇒ Gmailのサーバー上にある大きなフォルダのダウンロードは実行不可 ⇒ 5~600本単位でダウンロードすればスムーズに進む
    46. 相当数の重複ファイルが残っている
    47. TBが保持していたGmailのアーカイブ3個を削除
    48. 現在設定されているフィルタールールの個数は274.これは大まかにこのメーラーに配置したフォルダの数に等しい ⇒ いや,違う.WLMの保存フォルダには520個くらいのフォルダがあり,その一部は今回の移行で削除されているが,少なくとも300個以上は残っているはずだ.従ってフォルダの個数は全体で600個くらいはあるものと推定される

    現在Gmailの受信箱には114通,Yahooには21通入っている.これはおよそ2日分の着信メール数に相当する.現状では1日平均60通~くらいのメールが入ってきているように思われる.テストを兼ねてこれらをアーカイブしてみよう.⇒きれいに配信できた.試しにAVGにアーカイブを仕掛けてみたところすべてのファイルが未分類に移された.うち2本はAVGと無関係だった.TBのフィルタはそのファイルがいるべき場所にいるときでも最後までフィルタを実行してしまうようだ.従って,「アーカイブ」をローカルフォルダ内のフォルダで実行するというのは原則としてあり得ないということになる.しかし,ローカルフォルダ内で一律フィルタリングを禁止するというのも使い勝手が悪い.

    タブレットにApple Softwear Updateの通知が入り,iCloud for Windowsのインストールを進められたので試しに導入してみた.使うかどうかはわからない.

    相応の耐水性能を備えたフィルタリングシステムが完成した

    バックアップを取ってから開始したのだが,フィルターの項目数が昨日より減っている.昨日は始業時に210個あり,就業時には記憶では270個くらいになっていたはずなのに,いま見ると126しかない.なにかやり損なってしまったのだろうか?これはかなり痛い.フィルタログを取っていないので何が置きているのかもわからない.いや,ログを取っていたとしても同じかもしれない…就業時のバックアップというのはないので復元はおそらく不可能だ.⇒いや,焦ってはならぬ.フィルタはアカウントごとに設定されている.昨日の作業はほとんどローカルフォルダが対象だったから,そこを見なくてはならない.あった!272項目になっている.このメーラーではアカウントを越境してすべてのメールに同一ルールを適用するというポリシーになっているのでフィルタ設定ファイルを共有しなくてはならない.そのようなオプションは存在しないから,MAXの設定を他のアカウントにコピーする必要がある.

    ヘッダ部を残して真っ白,ないしすべて白紙のファイルは復元しようがないのですべて廃棄した.このようなファイルが少なくとも2000本.ヘッダ部が残っていればメタデータにはアクセスできる可能性はあるが,無駄な抵抗に近いのですでに破棄してしまっている.文字化けするメールのうち全文が英字で表示されるものは一旦emlファイルとしてエクスポートしてからMeryで開くと読める.ただし,一部が破損している場合もある.このような現象は途中に不可視文字が入っているために起きているようだ.これが攻撃によるものか,エンコード変換の失敗によるものかは判断できない.WLMではこのような現象は起きていなかったような気もするのでThunderBirdへのインポートの過程で起きている可能性が高い.フィルタの最後に無条件で「未分類」に落ちるように仕掛けたつもりだが,以前と同様に月次アーカイブに落ちている.⇒これは多分フィルタのコピーを実施する前に起きていたのではないかと思う.昨夜は動作確認のため,GmailとYahooの両側で「アーカイブ」を実行している.フィルタは前日のものだから当然の動作だ.

    いま,Gmailに11本,Yahooに4本新着メールが入っている.一日に入ってくる量は両側合わせて50本くらいではないか?相当量のメールをザッピングしているので,ダイレクトメールや詐欺師メールを一目で見分けることができるようになった.ダイレクトメールには大概「突然のメールで大変申し訳ありません」などの文言が冒頭にある.英文の「遺産相続話」などは読まなくても「臭い」で分かるようになった.このようなメールはほとんどプレーンテキストだから見分けやすいが,HTMLで整った文書形式になっているものにはかなりやばいものがある.パスワードを要求してきたり,リンクが張ってあるものはアウトだ.タイトルにグーグルサポートなどと入っているので大概の人は引っかかってしまうかもしれない.一つの企業で複数のメールアカウトを使っている場合がある.ドメイン名が同じならよいが,まったく違うサーバーから送ってくる場合がある.これはかなり紛らわしいので止めてもらいたい.

    かなりの本数の正当なメールが迷惑メールに振り分けられているが,これらも「アーカイブ」で振り分ければ一発で処理できる.現時点で月次アーカイブには2本メールが入っている.明らかに「迷惑メール」以外のなにものでもないので迷わず処理できる.⇒いや,少し甘かった.まだまだだ.未分類メール1本目は「しおりさん」からでこれは歴然とした迷惑メールだが,もう一本のtransifex.comは翻訳関係のサイトで一度アクセスしたことがあり,全部で6本あるそのうちの一本はLEARING/AI Scolarに入っているが,残りはアカウント・利用規約・サポートだ.AI Scolarは古いフォルダでいろいろ混在しているのでアーカイブでフィルタを掛けたら空っぽになり,全部未分類に落ちてしまった.

    新たに2つのフォルダOxford, GetSmarterを追加してそれぞれにフィルターを設定し,未分類でそれぞれフィルタリング実行したら,未分類には1本だけが残り,「しおりさん」がどこかへ紛失してしまった.さらに,transifexをアカウント・利用規約・サポートに移動したあと,このフォルダをチェックしたら,中身(アカウント・利用規約・サポート)が完全に空になってしまっていた.何か誤操作した可能性はもちろんゼロではないが,それよりもTBの誤動作の可能性の方が高いように思われる.誤って削除したのならゴミ箱に入っているはずだがその形跡はない.ネットに接続していたのでハックされている可能性も考えなくてはならない.⇒もう一度バックアップに戻ってやり直してみる.

    どうもいよいよ訳が分からなくなってきた.バックアップをコピーして開いたところ,中身がすっかり古くなっている.考えられない!今日のバックアップはSDに同名フォルダが存在していたため上書きになってしまっているが,中身は今日の始業時のレポジトリであることは間違いない.Eドライブにはそれしかないからだ.フォルダサイズを比較すると,バックアップは10.9 GB (11,756,879,703 バイト)でEドライブのコピーは10.9 GB (11,721,892,581 バイト)でその差は34,987,122‬Bもある.後者の方が内容が古いのにサイズが小さいというのもよくわからない.古いフォルダにはゴミが残っているからむしろ大きい方が自然だ.ちなみに作業していた仕掛版は9.31 GB (10,005,859,422 バイト)で一番小さい値になっている.これは今日の作業中白紙ファイルをまとめて削除しているので,そのためと思われる.

    フォルダサイズはエクスプローラ上で右クリック→プロパティから取っているが,この数字もやや怪しい.ファイル数がどちらも1,351,フォルダ数53となっている.実数はもちろんこの比ではない.仕掛版ではその数字が1,084,48となっている.これもかなり解せない数字だ.一度OSを再起動したいのだが,WLMのバックアップがあと30%くらい残っている.もちろん,OSを再起動したからと言って何が変わる訳でもない…⇒再起動 [ファイル数1,351というのは実数だろう.TBではメール単体ではなくデータベースになっているからサイズの割にファイル数が少ないのは当然だ.]もう一度バックアップを取ろうとしたら,ディスク容量であと7.27GBと言われた.EドライブのZELKOVA_2017は154GBあるのでその5分の1くらいを空けてみよう.日付が5の倍数になっているフォルダをすべて廃棄することにする.⇒空き領域は34.4GBになったが,ドライブのアイコンはまだ赤いままだ.これが青くなるまでやってみよう.⇒終わった.93.7GBになった.まず.当面これで間に合うだろう.

    フォルダをコピーした時点ですでにサイズが変化している.10.9 GB (11,756,879,703 バイト)→10.9 GB (11,755,643,234 バイト),差分は1,236,469で約1MBだ.どこでこの差異が発生するのだろう?この数字はディスク上のサイズではなく,論理サイズなのだが…やはり,同じだ.OUTLOOK 2008まで残っている.気になるのはSD上のバックアップ4本のうち3本の「更新日付」がまったく同じ2020‎年‎3‎月‎22‎日、‏‎08:30になっていることだ.もし,これが事実ならすべて同一物ということになってしまう…サイズで比較するとそれぞれ有意に異なるのでそれはないと思われるが…考えられるのは上書きするつもりが,スキップになっていたという可能性くらいだ…今日の仕掛り版をもう一度開いて中身がどうなっているのか確認してみよう.⇒OUTLOOK 2008は消えている.⇒これは当然だ.この版はオリジナルから開始している.問題はアカウント・利用規約・サポートフォルダが空になっているという点だけだ.

    すっかり浮足立ってしまったが,このフォルダにあったファイルはすべて未分類メールに落ちている.どこかで誤ってアーカイブしてしまったのだろう.アカウント・利用規約・サポートの一部にはフィルターで自動操作できるものもあるが,ほとんどは手操作で入れているものだ.中には「元のフォルダ」に戻ってしまっているものもあるだろう.まぁともかく紛失した訳ではないのでよかった.このまま続けよう.⇒どこから紛れ込んできたのだろう?「ちはるだよ~」などのファイルが入ってきている.⇒大体始末が付いた.⇒この時点でバックアップの取り直しをしておこう.AI-Scholar, GetSmarter, Online Oxford Programmesのフィルタには少し混乱がある.⇒msgFilterRules.datをエディタで開いて修正した方が確かだ.

    当初最初の2つはAIに送り込んでいたのだが,OxfordとGetSmarterが関連していることに気付いて修正したにも関わらず,元のフィルタを残したままになっていた.これを外すとAIフォルダは使われていない状態になるので,削除しておいた方が間違いないだろう.いや,AIというのはフォルダ名ではなくフィルタ名だ.フィルタ設定ファイルを毎回コピーして手動で同期を取るというのも結構厄介だ.フィルタパネルを開いて使うときにはアカウントを切り替えることができるので,注意すれば使えるが「アーカイブ」ボタンで一括処理しようとすると,その場によって適用される設定ファイルを自動選択するので予期しない動作になる可能性がある.「アカウント・利用規約・サポートと発注・請求・支払い以外のフォルダでは手操作でファイル移動を行わなってはならない」という原則は徹底されなくてはならない.

    おかしい.また未分類に158本もファイルが入ってきた!また,いつものアカウント・利用規約・サポートだ.しかも,削除したはずの「ちはるだよ~!」などまで復活してきている.フィルタは修正の入った最新のものだ.アカウント・利用規約・サポートのファイルがすべて未分類に落ちるためには,このフォルダを全選択→「アーカイブ」を実行しなくてはならない.それ以外にこのようなことが起こるとは考えられないのだが…アプリケーションを終了する手順の問題だろうか?メニューから終了するときはフィルタパネルも閉じられるが,クローズボックスで閉じたときにはパネルは開いた状態になっている.つまり,バックグラウンドでアプリがまだ走っているものと考えられる.ここでパネルを閉じて次にタスクバーから起動すると,仕掛りの作業をフラッシュしないで立ち上がってくるのではないだろうか?⇒チェックボタンでクローズするのはリスクがあるような気がするので,必ずメニュー→終了で閉じるように習慣付けよう.

    タイトルにFw:が付いた転送メールは暫定的に馬場研究所に落ちるようになっている.このようなメールは何かの都合で念のために自己宛に送信されたものと思われる.通常はオリジナルがどこかに存在すると考えられるので廃棄してよいのかもしれないが,置き場所を作って残しておくことにしよう.ダイレクトメールや破損メールを保管しているBAD LETTERSというフォルダがあるのでそこに「転送メール」というフォルダを作った.⇒これで大体収まったのではないだろうか?水も漏れないというほどの完璧な布陣にはなっていないと思われるが,それ相応の耐水性能は確保できたのではないかと思う.企業によっては複数のメールアカウントを使って,ユーザ登録や受注・請求などの処理を配信サービスと別建てにしているところもあるが,すべて共通のアカウントで済ませているところもあるので,どうしても手操作が必要な場面がある.フィルタで本文を検査できればよいのだが…

    メールは通常スマホでチェックして返信するときのみミニノートを使うということになっている.ここまで整備してきたが,実際にはThunder Birdを開く時間はあまりないのではないかと思う.長文を読むのならタブレットの方がむしろ適しているかも知れないし…タブレッtやスマホでチェックできるのはもちろん,サーバー上のメールだけだ.細かい手直しはあちこちあると思われるがミニノートの整備は一応ここまでとして,また開発機の本作業に戻ることにしよう.どこまで動くようになっていたのか?忘れてしまった.⇒ユーザ会関係のメールはもう少し整理しておく必要があるかもしれない.現在,最上層のゼルコバの木ユーザ会に入ってきているメールがある.少なくとも現在フォルダ内にあるメールだけでもフィルタリングできるようにしておこう.

    いくつかのフィルタを新設したが,ほとんどはすでに設定済だった.ゼルコバの木ユーザ会の順位を未分類のすぐ上まで下げて通った.⇒1件だけ未分類に落ちたのがある.SNSフォルダのトップに入っているメールがある.⇒SNSに直接入ってくるフィルタは存在しない.「その他」を入れておくボックスが必要だ.⇒Miscellaneousとしておこう.WEB TECHのトップには8本入っている.この位置を指定するフィルタは存在しない.⇒手操作で入れたものだ.この種のメールはMiscellaneousでよい.⇒今度は月次アーカイブに新着が302件も出ている.⇒数字は付いているが中身は空.ただし,数件の誤配はあった.

    これからは「未読」の山が積み上がることは金輪際発生しない!実に清々しい気分だ

    始業時バックアップを取ったので,昨日の続きに掛かることにしよう.フィルターに設定されているルールは210個になった.未分類のファイルはOUTLOOK 2008と月次アーカイブにそれぞれ5000通余り残っている.OUTLOOK 2008を片付ければフィルタはほぼ完璧なものになるので,月次アーカイブではそれを単純に適用するだけでよい.OUTLOOK 2008にはフォルダが27個ある.⇒Outlook 2008は完了した.月次アーカイブには1999~2020までの21個のフォルダがある.⇒分類されなかったメールはダイレクトメールに落ちるようにした.まだ3254本残っている.内容が空のメール,内容・ヘッダともに空のメール,破損して文字化けしてしまうメールが相当量発生している.どうも日本語以外の漢字圏のメールに破損が多発しているように思われる.特に簡体字が入っていたと思しきメールはほとんど読むことができない.

    完全に白紙のメールと内容のみ白紙のメールはすでに廃棄しているが,アドレスが読み取れるものがあればどの辺りのメールか確認しておこう.繁体字でもタイトルが読めないものがある.これらは「破損メール」として区分しておく.ロリポップ!からのメールでも読めないものがある.破損ではないがエンコードの関係ですべて英字のまま表示されている.⇒やはり,どこか壊れているようだ.一瞬ちらりと漢字・仮名混じりで表示されて,また戻ってしまった.

    終わった!完璧とは言わないが,まぁ,満足できる仕上がりになった.受信箱に入っていたメールは「アーカイブ」ボタンを押すだけで一瞬のうちに跡形もなく消えてしまう.もう,これからは「未読」の山が積み上がることは金輪際発生しない!実に清々しい気分だ.一行も読まずに「読了」ってそんなのありですか?もち,それでよいのだ!あとから想起できなければ,本を読むことの意義の大半は失われる.しかし,後日検索が可能なら,それはほぼ「記憶していること」と等価と言える.つまり,一行も読まずに読了することが可能だ…いや,もちろんタイトルくらいは目を通しているが,それで十分読み切っている.