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

年次更新作業メモ

160111
年次更新について

注意
このページは、毎年、1月の初めに実施するサイトの更新作業に関するメモです。管理人以外には意味がありません。
まあ、無理して読めば、サイトの構造などが、ある程度分かるかもしれませんけど。

このページで解説している作業は、トップページを除き、実際のページの生成などは新年になってから実行してください。
年末に実行し、新しい年次のページなどを作ってしまうと、どこかでつじつまが合わなくなると思います。

さて、毎年、年が改まると、サイトの更新処理が必要です。
これは年一回の作業で、手書きでの作業です。

現在、このサイトでは、このページのような文章を作ること以外、ほとんどプログラム化してあります。
写真を撮って、適当に選んで、ほぼ決まった形に編集して、決めてあるフォルダに保存して、自動化のプログラムを動かします。
すると、目的のページとそれに関連するページを生成、更新してくれるようにしてあります。
本来は、それに素晴らしい文章を追加して仕上げれば理想的なのですが、文章が苦手で面倒なので、ほとんど写真だけのページに仕上がってしまいます。

この大半の作業が自動化されているので、年一回、新年を迎えた時、数少ない手作業での操作が必要なのです。
その作業は複雑なものではありません。しかしながら、自動化してある関係で、自由には修正できません。
この作業に関して、毎年、同じようなメモも作ってはいますが、年一回のことです。メモ書きがあるのを忘れてしまいます。
そうすると、面倒なコードの解釈から始めてしまうことになります。

そこでここに、専用のページを作っておくことにしました。
そして、ここが肝要です。年末になると、このページを見るように、メッセージを出すことにしました。
実は、今でも、この啓蒙ルーチンはプログラム中に組み込んであり、昨年末にもちゃんと年末にダイアログが出て、ああそうだったかと驚いたものです。
しかし、自分で作った悲しさ、ほとんど内容を読みませんでした。結構役に立つことを書いていたのですけど。
ついでながら、その様子が下の写真です。現在の調整中の画面で、昨年とは多少違います。雰囲気はこんなものです。

キャプチャー画面

さて、このページでは、プログラム中のダイアログと違い、各種の制限もありませんので、かなり詳しく説明を書き込んでいます。
問題は、来年読むかどうか、だけです。
ですので、今回は時期が来たら、強引にこのページを呼び出したいと考えています。
ちょっと調べたら、exec云々を使えば、他のプログラムを実行できるようです。
これを読んでいけば、迷うことなく年次更新作業ができる、はずです。
以下本題です。

更新が必要なページ類

更新が必要なページとは、年次ごとに新しいページを作っているものです。具体的には、
観察野鳥一覧表(mlindex.htm)、
制作メモ(memo.htm)、
パソコンメモ(pcmemo.htm)、の3つです。

今回このページには、同じ時期に作業が必要なページ類の作業メモも追加しています。それは、
トップページ(ndex.htm)、毎回、同じ時期に、同じような年始の挨拶を入れるので、これについての作業があります。
マップファイル、この更新作業で新しいページが3つできます。これをマップファイルに登録します。
プログラムの変更、観察野鳥一覧表に関しては、これを生成するプログラムの修正が必要です。
観察メモのページは毎年、年次ごとのフォルダを新しく作って保存しています。そのためにプログラムのコードの変更が必要なのです。
これらに関しても、詳しい解説を書き込んでおきます。

繰り返しますが、この作業は、トップページを除き、新年になってから実行してください。
年末に実行し、新しい年次のページなどを作ってしまうと、どこかでつじつまが合わなくなるはずです。

今回作業を簡略化したこと

上にあげた各メモのページは、昔から1年ごとにページが作られていますので、今現在、合計で36ページあります。これからも毎年増えていきます。
以前はこの全部のページのリンクを修正、追加していました。
それを今回、思い切って変更し、古い年次のページは更新しなくていいようにしました。
これまでは、ほぼ全部のページに、各年次のページに飛べるようにと、たくさんのリンクが作ってありました。
このため、新しいページを作ると、それに応じて全部のページを修正する必要があったのです。

今回、これを廃止して、この面倒な各ページへのリンクは最新のページのみに残しました。
古いページには、ページの末尾にその前年へのリンクがあるだけにしてあります。
よって、古い方へシーケンシャルに読んでいくことに不自由はありませんが、年次を遡ったり飛び越したりは、直接はできません。一旦、最新のページに戻る必要があります。
不便かもしれませんが、もともとこれを読む必要がほとんどありませんので、影響は皆無でしょう。
それよりもこの修正で、毎年の更新作業は、古いページに関しては必要なくなったことが大きいのです。
直前まで使っていたページを前年次分として書き換える、新しい年次分をコピーして作る、だけの作業になります。

さて、以下、具体的な作業のメモです。
旧年次が2015年、新年次が2016年として説明します。毎年、これを読みかえるだけです。

観察野鳥一覧表(mlindex.htm)の更新

ファイルmlindex.htmのコピーを作ります。
新しい年のページは、同じファイル名mlindex.htmとして使います。
そこで、今年の場合ですと、前年分として使うページのファイル名は、mlindex2015.htmとします。
コピーするなり、HPBで名前を付けて保存するなりで作ります。
ただ、ここの所、ファイル名に関してはとても重要です、新年次をmlindex.htm、旧年次をmlindex2015.htmという形式にする事は必須なのです。
理由は、この観察野鳥一覧表には、自動化のプログラムで、古い年次のメモのページも生成・追加できます。
時々、古い写真を見直したりして、何か月も前のメモを作るときがあります。そんな場合に対応させています。
古い年次のメモは、その古い年次の一覧表に追加されます。
その際、この年数を後ろにつけたファイル名にしてるという前提でプログラムから読み書きしています。

前年次分mlindex2015.htmの修正箇所は、
1、右側の小さな表に、過去の記録として、古い年次のページへのリンクを置いています。今見てみると過去11年分のページへのリンクがあります。このリンクを全部削除します。
表内にセットされていますので、行削除で複数の行を削除するのが簡単です。

2、最上段の、観察野鳥鳥名順目次へのリンクは、そのまま残します。

3.それに、ページの最下段にある前年次へのリンクも残さないといけません。

古い方はこれだけです。一応、ファイル名とタイトルなどの年数が合っているか、確かめておきます。

新年次分mlindex.htmの修正箇所
1、左側の表の内容は、旧年次のメモです。これを一部を残して削除します。
旧年次のメモは、本来、すべて削除すべきものなのですが、プログラムで全く新しい状態での追加を考慮していません。
メモの行が1件もないとエラーになるか暴走するはずです。まあ、その場合でも、ページが壊れるようなことはないとは思います。たぶん。
ということで、メモが1、2件しかないと寂しいので、通常、12月分を全部残しています。
で、見苦しくない程度に新年次のメモができてから、前年次分のメモを削除します。
削除の方法は、やはり表の行削除でいいはずです。Shiftキーを使って、複数指定して行削除です。
ただ、プログラムでは、行の前後の行も参照して間違いないかをチェックしています。
余計な段落や改行などが入ってしまうと、エラーを出すかもしれません。
そのために、ファイル比較ソフトのRekisaなどを使って、削除の前後のファイルを比較することも大事です。
つまり、一応、変更前のバックアップを取っておけ、ということです。

2、当然、前年分として使っていたもの、今回でいうと、2015年分として使っていたものを2016年分として使いまわしますので、項目などの修正が必要です。
Description行、TITLE行、それにページのタイトルとして使っている段落に年数が入っています。3か所です。
これを新しい年次に書き換えます。今回であれば、2015とあるのを全部2016とします。
なお、タイトルの段落に、一部重複、などの文字を追加することは、自動化プログラム上からも問題ありません。

3、右側の表に各年次のページへのリンクテーブルがあります。これの最上段に行を追加して、前年次へのリンクを追加します。
今回だと、2014年分のページまでしか作ってないはずですので、これに2015年分を追加します。
リンク先は、当然、先ほど作った前年次2015年のページ、mlindex2015.htmとなるはずです。

4、リンクが末尾にもう一つあります。
表の下に前年次へのリンクが設置してあります。これがやはり、一つ前のページへのリンクになっているはずです。
これを、正しい年次へのリンクへ書き直します。
今回の場合ですと、mlindex2014.htmへのリンクになっているものを、今回作った前年次のmlindex2015.htmへのリンクに書き換えです。
なお、翌年からは、一覧表のページ間のリンクは、このリンクだけが残ります。ですので、古いページの修正の必要がなくなります。

この作業は、リンクを修正する作業が主体です。
HPBのビジュアルサイトの機能で、リンクが切れているところを教えてくれます。
一つのページの作業が終わったら、HPBでリンクの点検をしてください。

制作メモ(memo.htm)の更新

制作メモの更新作業は、観察野鳥一覧表の場合と基本的に同じですので、細かいことは省略します。

ファイルmemo.htmのコピーを作ります。
前年次はmemo2015.htm、新年次のファイル名はmemo.htmですので、まずコピーなどで、内容の同じものを二つ作ります。

前年次分memo2015.htmの修正箇所は、
1、前年次のページにするものは、リネームして、ジャンプテーブルのある表全体を削除します。
こちらの方は、この後は古い年次のページには、プログラムがアクセスすることはありませんので、原則としては修正は自由です。
ですが、各年次のページとの体裁を合わせる必要はあります。

2、ページの末尾にある前年次のページへのリンクは残します。

新年次分memo.htmの修正箇所は、
1、ここにはやはり、昨年の記録が全部残っていますので12月分を残して削除します。

2、Description行、TITLE行、それにページのタイトルとして使っている段落の年数を書き換えます。

3、各ページへのジャンプテーブルに前年次へのリンクを追加します。

4、ページ末尾の前年次へのリンクを修正します。


なお、参考までに、
年次の更新作業ではなく、毎月末にする作業があります。月末にトップページの「月々の一枚」を入れ替える作業です。
この作業も、一連の専用のプログラムが作ってあり、毎月、月末から月初めに使う前提になっています。
ただ、年末にはここにある通り、制作メモのページも更新します。そして、この自動化のプログラムは制作メモのページを参照します。
つまり、制作メモを新年次のページに切り替えてからでは、この「月々の一枚」の作業が出来なくなります。
よって、年次の更新前にその月々の作業を済ませてください。
念のために、後から手書きで更新しても、さほど面倒な作業ではありませんので、さほどの問題でもありません。

パソコンメモ(pcmemo.htm)の更新

こちらも作業の原則は上の二つと同じです。
ただ、このパソコンメモのページはプログラムでの自動化はされていません。
このページは、必要なとき、手書きで書きこむスタイルです。
パソコンに関して、メモしておけば後で役立つかな、という内容を書いていますので、プログラム化の必要はありません。
他の2つのメモと体裁を合わせてあるだけです。

ファイルpcmemo.htmのコピーを作ります。
前年次のメモをコピーして新年次用のメモとします。

前年次分pcmemo15.htmの修正箇所
前年分として使うものはリネームします。こちらはpcmemo15.htmという形式になります。
1、ジャンプテーブルのある小さな表を削除します。

新年次分pcmemo.htmの修正箇所
1、前年次分のメモを全部消します。体裁もあるので、何か残すか、新しいメモを書き込みます。
このメモページ類の更新作業が必ずありますので、更新した旨書けばいいでしょう。

2、ジャンプテーブルに前年次分を追加、末尾のリンクを修正、前年の数字になっているタイトルなどを書き換えます。

3、末尾にある前年へのリンクを修正します。

なお、パソコンメモは、1年に1ページという形式になっていない年次があります。
昨年みたいに、Win10を契機にページを変えたことがあります。手書きなので自由なのです。
このあたりへの対応は考えておかねばなりません。

トップページを新年用に変更

毎年、新年の挨拶をMARQUEE文で挿入しています。大体、松の内の間ぐらいは、挨拶が出るようにしています。
今回分は、古いページを入れてあるフォルダに、その時のページを残してあるので、参照するといいでしょう。
今回の例は、以下の通りです。
<HR>
<P><FONT color="#800000" size="7"><MARQUEE scrollamount="5"><img alt="" src="gif/ruribitaki.gif" /><b>  あけましておめでとうございます</b></MARQUEE></FONT></P>
<H3>野鳥紀</H3>


見てわかる通り、HRとH3の間にMARQUEE文を挟んでいるだけです。
大事なことは、フリーのgifアニメのファイルを使わせていただいていますので、その旨の表示を末尾に入れておきます。

トップページは、自動化プログラムでページが追加されるたびに、ほぼ必ず更新されます。
この程度の行の追加や削除では、自動化の作業に影響がないことは確かめてあります。
(ここここ、こういうメモを残すことが1年後にとても役立つのです。こう書いておかないと、プログラムを解析しないといけません。)

マップファイルの更新

自動化プログラムで普通に生成される写真集のページとか観察メモのページは、自動的にマップファイルに追加登録されます。

このような手作業で作ったもメモのページも、一応、マップファイルに追加しておきたいところです。
一応は、自動化のプログラムで追加できるようにしてあります。
ただ、こういう、忘れたころに動かすプログラムは、そのたびちゃんと生成されているか、不安が残ります。
で、結局、マップファイルを開いて、正しく追加されているか、あれやこれや見直すことになります。
そんなことをして苦労するぐらいなら、3本ぐらいです。手書きで追加しても、そう面倒なことはありませんし、確実です。
メモファイルは、前年分が作ってありますので、それをひとブロックコピーして、年数を書き換えるぐらいの作業で済みます。

フォルダの追加

観察メモを入れていくフォルダは毎年新しいものを作ります。
フォルダの名前はtemp99という形式にしています。
今年だとtemp16となります。

フォルダを毎年新しく作るのは、昔のFTPの速度の関係です。
FTPでミラーリングするときの話です。今はどうなのか試していませんけど、以前は、ファイルの数が多くなると加速度的に時間がかかるようになっていました。(ソートの関係でしょうね。)
当然だとは思います。ミラーリングは、各ファイルをフォルダの単位で比較しているはずです。
フォルダを別にすると、多分ですが、更新されていないフォルダは作業の必要がないことが分かるのでしょう。
で、FTPの速度が飛躍的に早くなります。
観察メモのページは、最近では、年間に150ページ程度が生成追加されます。
もし、単独のフォルダに保存していたら(いま数えてみました)、1000ページを超えています。
昔だったら、確かに待ちきれないぐらい遅くなっていたと思います。
(現在の回線速度、CPU速度だと、どうなのか試してはいません。サーバ側の問題かもしれません。)

さて、新しく作ったフォルダに補助的なファイルを入れておきます。
*.gifのバナーなどのアイコンやバナーのファイル、button6.jsなどのスクリプトファイル、000022.htmなどのテンプレートファイルです。
具体的には、前年のフォルダから、生成されたファイル以外のファイルを全部、コピーして持って来ればいいのです。
このような共通のファイルは、共通のフォルダから引用すると楽なのでしょう。今後の改善点です。
(確か、フォルダを変えると、HPBの融通が利かなかったような)

プログラムの修正

そういうわけで、修正が必要なプログラムは、観察メモを生成するプログラムです。
修正する所は、1か所だけです。(プログラムを開いて、「年次更新」で検索すると、必要なところに飛びます。)

1、*nendirsetというサブルーチンに、年次ごとの処理、古い年次の記録だった場合の処理、を書いています。
具体的には、if文で年次を調べて、変数をセットするだけですけど。
これに、直前の年次(前年)のケースだった場合の処理を追加します。
当年分の処理のルーチンをコピーして追加し、年次を示す数字だけ書き換えればOKです。
具体的には、当年分の処理、mlindex.htmの処理をコピーでもう一つ作って、一つに前年の年数を入れる事になります。
例えば、mlindex2016.htmとなります。

2017年までは、もう一か所、初期設定のルーチンに、dirstt="temp15"など、年次を指定する変数があり、作ったフォルダ名に変えていました。今回から日付関数を使って処理し、必要をなくしました。
ですので、先ほどの新しい年のフォルダの作り方は、この形式にしないといけません。

この観察メモのフォルダとプログラムの更新作業を早めに済ませると少し困ります。
新年次の観察メモ用のサブフォルダや写真が無い状態で観察メモ生成のプログラムを動かすと、
写真を入れたフォルダが無い、
というダイアログが出ます。
過去の年次の作業をすることもあるのでエラー終了にはなりませんが、コンパイルは新しい写真ができた時でいいでしょう。

以上で、年始の作業はすべて完了です。

備考、

このメモを作ってみて、プログラムや更新処理の修正点があることがわかります。メモ中にも指摘してきました。
また、他方では、こまごました修正より、いっそのこと、このページで説明しているような処理を全部自動化できればいいのかもしれません。
結論は、プログラムを作ることの苦労と、その信頼性や作業がどれだけ効率化されるかということとの兼ね合いで決まります。
今の考えでは、年に一回しか動かさないものを作っても無駄だという方に傾いています。
何とかなっていることは、そのままでもいいのです。

さあ、このページをちゃんと読めば、来年の年次更新の作業は簡単なはずです。
そして、年末になると、このページは自動的に呼び出されます。
問題は来年、これが役に立つと考えるかどうかです。

2017年の更新作業には、とても役立ちました。
2017年、プログラムを多少改変したので、文言も少し変更しました。


トップページへ 前のページに戻る