こんにちは。クリスマスの昨日、ppBlog1.7.7をリリースしました。一度クリスマス・リリース というのをしてみたかったんです。
前のバージョン1.7.6の最終リリースが、11月10日でそれから結構色んなところをちょこちょこ弄(いじ)りました。ppBlogも少しずつバージョンを重ねてきて、そんなに弄るところもないだろうと思ったりもしてたんですが、決してそんなことはないですね。まぁ、やり尽くした感が来ても、それはそれで悲しいことなので、どこか弄る部分があるのは良いことでしょう。今回、新たな機能としては、以前のエントリーにも挙げてるものがありますが、以下のような感じです。
- 不正ログイン試行を監視する機能を追加
- コメントの通知メールに、ダイレクトに返信画面にアクセス出来るリンクを追加
ありゃ、2つだけか。1番目のやつは、基本的にこのエントリー にあるものですが、特定のIPは不正チェックから除外する、いわゆるホワイトリストも考慮したものにしています。単に、admin.phpの最初の方に、$white_list = array(); という変数を設けただけです。ここには、チェックをして欲しくないIPアドレス(例えば、127.0.0.1とか)を配列形式で入れていけば良いのですが、注意しないといけないのは、IPアドレスなんて外から簡単に分かってしまうということです。なので、原則、このホワイトリストの活用はオススメしません。開発のデバグ用だと思って下さい。
2番目のやつは、従来は「コメントが付きましたよ!」という通知メールを受け取って、その記事リンク先にアクセスしても、ログインしていない状態であれば、ログインという手順を踏んで、さらに返信のアイコンをクリックして・・・、というふうにスムーズに返信という訳にはいきませんでしたが、ダイレクト認証をつけたので、気軽に返信が可能です。ただし、セキュリティーを考慮して、メール送信時刻から24時間以内だけ有効なリンクとしています。
後は、挙動が気になるところやらバグやら、見栄えの修正など、多岐に渡って弄ってます。主なものは以下の通り。
- コメント投稿のaction送信先をadmin.phpからindex.phpに移した。
- 更新pingサーバーリストを一新。かつ、管理画面にて、更新サーバーの重複をチェックするように。
- アクセス解析の「リンク元」で、グーグルのイメージ検索のリンクがうまく動いていなかったのを修正。
- JavaScriptソースの殆どは、圧縮した状態でリリースしていたのを、圧縮前の状態に戻した。
- エディタ画面で、テーブルタグ挿入の際、行と列の指定が逆だったのを修正。
- ブログ名(TITLE属性のやつ)にアポストロフィー(')が含まれていると、お知らせメールのときなどに表示される送信者エンコードがうまく行ってないのを修正。
ってところです。具体的に、1番目から。
従来は、コメント投稿の送信先がadmin.phpを介したものになっていました。でも考えてみれば、こうする必要性は全然ないし、admin.phpは管理者用に特化したものであるのが理に適っていると思いますので、送信先をindex.phpにしました。この影響で index.phpに修正が入っています。index.phpの253行目は、従来だと、
case 'comment' : include_once('modules/comment.inc.php'); comment_form($UID); break;
のようになっていますが、最新版ではこの部分が、
case 'comment' : include_once('modules/comment.inc.php'); catch_comment($mode); break;
となっています。
2番目の更新ping関連は、以前のエントリー を参照。
3番目は、グーグルの画像検索からp2b.jpにアクセスしてくることがあるのですが、そのリンクURLが正しくなかったので、Bad Requestが返ってました。それを修正して、以下のショットのようにきちんとリンクが有効なようにしました。

4番目ですが、これまでは、複数のJavaScript(以下JS)圧縮プログラムを一度に走らせてくれる便利なサイトThe JavaScript CompressorRater を利用して、JSソースを圧縮していました。なぜ、圧縮していたかですが、少しでもサーバーからの転送量を減らそうと思ってです。でも、ppBlogで使っているJS群はもともとそんなに重量級ではないですし、このブロードバンドが当たり前のご時世、20KB前後のファイルが16-17KBになったところで、そう大した差はないだろうし、確かにgzip圧縮までかませば3分の1ぐらいになりますが、これは汎用性に問題があります。何より、圧縮するとメンテナンスが大変ですし、JSソースに興味があって読みたいと思う人がいても、圧縮されて1行になってしまったJSソースなんぞ読む気にもなりません(この手の1行圧縮されたJSファイルを展開してくれる Js Decoder
みたいなサービスもありますが)。というわけで、基本的にJSソースは圧縮前に戻しました。圧縮してみたいという方は、上記に挙げたサイトを利用すると良いかと思います。ただし、JSソース中にIE用の条件コンパイル(@cc_onとか)を含んでいるoParts.jsなどは注意しないと、この記述を単なるコメントとして削除してしまうものもあるので、動作検証は慎重に。
例によって、前回バージョン(11月10日版)からの差分を添付しておきます。ちょっと数が多い気もしますが、基本的に、すべてそのまま既存のものの上書きで良いです。view.phpは、statディレクトリにあるview.phpとの入れ替えになります。notfound-amazon.pngは、トップディレクトリのImagesディレクトリにある既存のやつと入れ替えです。気分転換にアイコンを変えました。
最後になりましたが、ppBlogをお使いの皆さん、いつも貴重なフィードバックありがとうございます。良いお年をお迎え下さい

Googleウェブマスターツールでサイトマップにfeeds/atom1.0.xmlをセットしてもエラーで返されています。