野鳥紀トップページへ 野鳥の写真集・総合目次へ 観察野鳥一覧表へ 制作メモのページへ ご案内のページへ 一シギ二タカ三ツグミへ移動 動画集「ビデオカメラと野鳥」のサイトへ移動

半自動化プログラム書き直し、サイト用のローカルフォルダ変更

230305
半自動化プログラム
ここまで、HSPで作っていた既存のプログラムが年を重ねるごとに複雑になり、継ぎはぎだらけです。
特に、観察メモに関しては、FTPまで含めると数分の作業時間がかかっていました。
C#の方が早いという事は分かっています。この際、C#で作り直す事にしました。

出来上がりに不満はあるものの、一応終わり、いよいよこれを使おうとしています。
実行しながら、少しずつ修正追加していきます。
ただ、この間の作業が複雑で、総合的なメモを作っておきます。
理由は下に書いていますが、同時に、ローカルのサイト用のフォルダを変更したことです。
万一、この作業に失敗して、元に戻さざるをえない場合も考えられます。
その際は、今回の作業の詳しいメモが必要と思い、このページを作っています。

これまでの自動化では、観察メモ生成以外にもたくさんのプログラムを使っています。
サイトの各種のページに対応しているのです。
しかし、現在、諸般の事情もあり、観察メモ以外のページは、ほとんど作っていません。
そういう事で、これさえ作っておけば何とかなるという、見切り発車です。
他には、小さなプログラムですが、月々の一枚というトップページを更新するプログラムも作り直しました。
これ以外の作業は、ここ数年ありません。このページのような単体のページはいずれにしろ手書きで作ります。
万一の場合は、必要に応じて作り変えるか、手書きでの対応になると思います。

実は、観察メモに関して、一連の作業全部、ページ生成、更新、それらのファイルのFTPの作業まで、C#で作ろうと取り組みましたが、最後のFTPがうまく動きませんでした。
その為、FTPに関する作業はHSPに戻しました。HSPで作り直しました。
元もと、HSPではFTPは動いていましたので若干の補正で動くようになりました。
そこで、C#からHSPを呼び出す形にしました。
これまでは、観察メモの場合、4個のプログラムを呼び出していました。
あとから機能を付加したせいです。今回の動機にはこれが嫌だったこともあります。
それでもHSPを使ったのは本末転倒ですが、やむを得ません。そのうち、C#でも動くようになるでしょう。

ローカルフォルダ変更
プログラムの改編に合わせて、ローカルのフォルダを変えました。
現在のローカルはフォルダ名が古いのです。LaCoocanの時代を引きずっています。
以前はサーバーの変遷に伴い、ローカルのフォルダも作り変えていました。
しかし、自動化のプログラムを使っている現在は、大事をとって元のままにしておきました。
LaCoocan時代のフォルダからSAKURAのサーバーにFTPしていました。
これは、フォルダ名を変えるとプログラムの対応が面倒だと考えたせいです。
ですので、今回、ローカルでは、これを現行の名前にしたフォルダにコピーして作業を始めました。
当然、これからは新しい名前のフォルダからアップすることになります。
なお、今回、一部HSPのプログラムを転用しましたが、変更は、基本、フォルダ名に使っていた変数を変えただけです。
これは今後の改編の参考になります。他のプログラムもそれほど難しくなく改編できそうです。

ファイル名の変更
ファイル名を変えたページがあります。
大昔、自動化の事を考えていない頃、適当なファイル名で使っていたページがありました。
その後、基本的に、ファイル名と鳥名を同じにして使っています。しかし、古いページはそのままでした。
ですので、これまでも、例えばジョウビタキなど、一部不安定な動きをして、その都度手書きで修正していました。
これを、この際、統一しました。
ここ、具体的には、
ファイル名は基本ローマ字です。しかし、ページに表示する鳥名はカタカナです。
そこで、どうしたかというと、ローマ字とカタカナの変換表のファイルを作りました。
今、数えてみたら390種程の対応表があります。
これを最初に読み込ませて、ファイル名から鳥名を作り出しています。
ファイル名が一様でないと、ここがうまくいきません。

ファイル名を変えた合併写真集のページは、
_kasasagi_you.htm→_kasasagi.htm
_ootaka_you.htm→_ootaka.htm
_s_oohasisigi.htm→_siberiaoohsisigi.htm
_sirotidori_sei.htm→_sirotidori.htm
_yamagara2.htm→_yamagara.htm
_zyoubitaki_f.htm→_zyoubitaki.htm

こうすることで、ローマ字からカタカナへの変換が統一できます。
しかし、余波があります。
リンク元を修正する必要があります。

修正したページは、リンク先に上のページがある個所で、
PC版では、
b_index_picg.htm合併写真集・分類順目次
textindexg.htm合併写真集・五十音順目次

独立スマホ版では
sp_b_index_picg.htm合併写真集分類順目次
sp_photo_si_g.htm野鳥の写真集(し行)
sp_photo_ya_g.htm野鳥の写真集(や行)
sp_photo_o_g.htm野鳥の写真集(お行)
sp_photo_ka_g.htm野鳥の写真集(か行)
です。

この作業には、先に作ってあったリンクをチェックするプログラム(LinkCheck)がとても役に立ちました。
手前味噌ですが、どのページの何行目にエラーがあると教えてくれます。
つまり、まず、リンク先のファイル名を変えて、このLinkCheckを動かすと、リンク元の位置が全部わかります。

また、Rekisaでローカルの新旧のフォルダでファイルの違いを見るのに使いました。便利なものです。
Rekisaは今回C#で観察メモを生成する際、重宝しました。
単に、観察メモを生成して終わりではありません。同時にリンク元を更新しないといけないのです。
都合11ページの修正が必要でした。
出来上がった全部のページが、HSPで作ったものと同じか照合するのに、Rekisaを使いました。
一つの不満は、メニューの最近使用したファイル、に10個の経過しか出ないことです。13個必要でした。
(11個の更新と2個の生成がありました。)

同じ目的で、WinMergeというツールを導入してみました。
こちらはまだ使い始めで、使用方法が今一なところがあります。
Rekisaはファイルごとの違いを調べ、WinMergeはフォルダ内のファイルの違いを一括で見つけてくれます。

今回の作業とは直接関係はありませんが、FFFTPは2.00を使っています。
FFFTPの5.7も導入してあります。今回これが使えないかと試してみましたが、使えません。ミラーリングがおかしいのです。
5.7の方が仕事が早いような気がしますが、ミラーリングが使えなければ意味がありません。

作業には、試験用のディレクトリをサーバーに作って試しました。こちらでは完璧に作業できていました。
しかしながら、いざ、本番のルートで作業したら、一部のファイルがアップロードされません。
HSPでは、FTPはアップロードに失敗しても止まりません。平然と次のコードを実行しています。
これが原因をつかむのが難しい点です。

本番では、アップロードするフォルダをサーバールートに戻すのに変数を書き換えれば済むと思っていました。
ここに問題がありました。StarServerFreeのルートが文字通りの「/」だったのです。
テストには/直下にtestというディレクトリを作って作業をしていました。
勿論ルート直下のファイルをtestディレクトリにコピーしています。
本番になれば、サーバールートとして使っていた変数を/testから/に戻せばいい、はずでした。
しかしながら、実際にルートに戻した時に動かないファイルがありました。
それなら、試験用の/testを/test/にしたらいいだろうと思ってコードを書き換えました。
なぜか、これでも/に戻すとき、変換がうまくいきませんでした。
原因は/の出し入れです。ファイル名に/が付かなかったり、二つ付いたりして、読み込めない書き込めない状態でした。
それでもHSPのFTPではエラーになりません。例えばアップロードの作業をしないだけです。
ファイル名を作るとき、/を出し入れして2,3回試して成功した方法を取りました。
いわゆる試行錯誤です。
実際、これで動いています。

この点、次にサーバーやフォルダを変えるときに気を付けないといけない点です。

230305
ついでの事で、写真集のファイル名が統一されていない問題を是正しようと思います。
上のメモは合併写真集のページ、こちらは、その元になっている(合併写真集の一部になっている)通常の写真集のページです。
是正するページは先にあげている6ページです。
当然、リンク元を変える必要が出てきました。
zyoubitaki.htm
yamagara.htm
sirotidori.htm
siberiaoohsisigi.htm
ootaka.htm
kasasagi.htm

textindex.htm(五十音順目次)
b_index.htm(分類順目次)
b_index_pic.htm(サムネイル付分類順目次)
photo_a.htm(あ行目次)
photo_ka.htm(か行目次)
photo_sa.htm(さ行目次)
photo_ya.htm(や行目次)

textindex.htm
b_index_pic.htm
b_index.htm
photo_a.htm
photo_ka.htm
photo_sa.htm
photo_ya.htm

ここまでリンクの修正を済ませると、今度は制作メモの古いページに余波が及びます。
ファイル名を修正したページをアップした時点での制作メモです。
これを逐一見つけて、修正いきます。
一見、大変そうですが、LinkCheckあります。
LinkCheckを動かして結果を見ます。
すると、例えば、2005年の制作メモの58行目のリンクが切れていると分かります。
その他にも10数件のリンク切れがありました。これを手書きで書き直していきます。
当然、他の年度の制作メモにもエラーがあります。これを一つ一つ修正していきました。
memo2005.htm
memo2006.htm
memo2007.htm
memo2008.htm
memo2009.htm
memo2010.htm
memo2012.htm

ここまで作業して、最終的にリンク切れがないことを確認して終わりました。


230306
ここで、ファイル名を変えると、サイトマップファイルも書き直さないといけないことに気づきました。
必要なファイル名は、上にメモしてあるので、それほど面倒ではありません。

ただ、万一、行き詰った場合は元に戻すことを考えていました。
その為に元のフォルダと同期しておこうと思っていたことはどうやら難しい事になりました。
やむを得ません。以前使っていた自動化のプログラムの見直しを早めた方がいいのかもしれません。

更には、サイトマップファイルを覗いたら、他にもファイル名が規格通りになっていない物が散見されます。
今回、写真集のトップページは上の8枚を修正しました。
しかしながら、写真集のトップページではないページにも規格外があるのです。これをどうするか考えないといけません。
まあ、現在の作業に影響が出るものではありません。多分。



トップページへ