MT4i v2.0β1仮公開

  • 投稿日:
  • by
  • カテゴリ:

MT4i v2.0β1を仮公開します。ようやくです。Tonkeyさんによる改変版(MT4i_18T6、一つ前のバージョンです)の、管理機能の取り込みがメインです。

  • MT4i v2.0β1(β2を仮公開したのでダウンロードを停止します。β2はこちら

インストール手順は、このエントリーの最後の方に書きます。

v1.82β1からの変更点は以下の通り。

  • トラックバックの表示機能追加
  • Entryの新規投稿/編集/削除機能追加
  • コメントの削除機能追加
  • トラックバックの削除機能追加
  • メール通知のON/OFF切替機能追加
  • カテゴリセレクトボックスのカテゴリ名ソート機能追加
  • 個別記事表示時のカテゴリ名表示機能追加
  • 個別記事表示時のAuthor名表示機能追加
  • 設定部を別ファイルに分割
  • 設定の読み込み処理をライブラリ化
  • 設定は設定プログラムから行うようにした
  • 画像縮小時、デジカメで撮影した画像などに含まれる、アプリケーション情報などを削除する処理を追加

以上です。あんまり一杯有り過ぎて、書き漏れがないことを祈っててください。何の事はない、その大半がTonkeyさんによる改変版からの取り込みです。僕の方でやったのは最後の4つだけです。でも、その4つのうちでも上の3つが、結構大変でした。

設定部を別ファイルに分割しようと思ったのは、あまりにも設定項目が増えすぎてしまったが為に、バージョンアップ時に苦労している、あるいはその為に面倒だからという理由でバージョンアップを躊躇っているユーザーがいるのではないか、と思ったことに端を発しています。設定部だけ別にしておけば、比較的分かりやすいんじゃないかと。で、設定部を別ファイルに書き出して、分かりやすいようにと各項目の説明文を充実させていったわけですが、いや待てよ、そうなると設定ファイルがでかくなって、読み込みに時間がかかるじゃん、サーバーに負荷がかかるじゃん、なんて思ったわけです。微々たるもんなんですが。しかし、二度にわたってレンタルサーバ業者からCGI停止処分を受けた僕にとっては、その微々たることも気になって。で、設定プログラムをこしらえ、各項目の説明はそちらに記述し、設定ファイルを最小サイズに抑えることにしました。などと偉そうにぐだぐだと書いていますが、別にたいしたことではございません。はい。

設定プログラムには、以前のバージョン(1.82β1以前)から設定を読み込む機能を付けました。おそらく、Tonkey版やヴァリウム版からも読み込めるような気がしないでもありません。これで移行もラクチンです。たぶん。2.0以降では、バージョンアップなどにより例え設定項目が増えても、設定プログラムを一度起動して設定を保存するだけで、新しい設定項目を設定ファイルに追加するようになります。ラクチンです。たぶん。

相変わらず、気分でプログラム作ってます。すいません。

Tonkeyさんによる改変版からの取り込んだ機能については、下記の点を対策。

  • 携帯電話からEntryを編集する際、半角の「<>」が含まれる文字列を正常に表示できない。
  • 携帯電話からEntryを編集する際、タイトルに半角スペースが含まれているとそれ以降が表示されない。

もう一つくらいあったような気がしますが忘れました(汗。一つ目については、半角「<>」を一旦全角「<>」に変換、DB保存前に逆変換で戻してあげるという方法で対処されていましたが、半角「<>」を「&lt;」「&gt;」に置換してから表示させてやることで解決しました。これだけだと今度は「&lt;」「&gt;」が入力できないので、加えて「&」を「&amp;」に置換しています。二つ目についても、半角スペースを「&nbsp;」に置換してから表示。不思議なのは、半角スペースがダメなのはinputタグだけってこと。textareaでは問題ありません。謎です、i-mode。ちなみにこのあたりの動作確認は、Docomoが配布しているi-modeのシミュレータで行っています。僕、H"ユーザーなので。もしかすると実機や、他のキャリアでは不具合が出るかもしれません。

参考:
DoCoMo Net - 製品・サービス・料金 - i-mode - 2.その他の機能 - 2.6.特殊文字

あと、Tonkeyさんによる改変版からの機能で、同一IPからのコメント/トラックバックの一括削除及びIPのbanlistへの登録機能をとりあえず止めてあります。機能としては実装されていますが、機能へのリンクをコメントアウトしてあります。何故かというと、僕がこの機能を未だ検証できていないから。「削除」だけに、バグが潜んでいた場合の影響がちょっと恐いので。どうしても使ってみたい方は、該当箇所を探してコメントアウトを外してみてください。もちろん、自己の責任において。

というわけで、前々から「管理機能を追加したら2.0にバージョンアップだ!」と思っていたのがようやく実現。まだβですけど。きちんと検証できているかどうか自信がないですけど。特に管理者モードでの自サイト内リンクや最近のコメント一覧経由の動きが心配ですけど。設定プログラムも含め、細部はちょっとずつ調整していく所存でございます。

さてと、そいじゃあインストール&アップグレード方法の解説!

■新規インストール

  1. mt4i.cgiを文字コードEUC-JPを扱えるエディタ等で開き、一行目のPerlパスをインストールする環境に合わせて編集、保存。
  2. mt4imgr.cgiを文字コードEUC-JPを扱えるエディタ等で開き、一行目のPerlパスをインストールする環境に合わせて編集。9行目の「my $password = 'dummypassword';」の「dummypassword」部分を、設定プログラムにログインする為のパスワードに書き換え、保存。
  3. ファイル「mt4i.cgi」「mt4imgr.cgi」、フォルダ「mt4ilib」をサーバーにアップロード(すべて同階層に置くこと)し、「mt4i.cgi」と「mt4imgr.cgi」のパーミッションを「705」あるいはプロバイダ等で指定されているCGIプログラムを動かす際のパーミッション値に変更。
  4. Webブラウザより「mt4imgr.cgi」にアクセス。パスワード入力しログイン、設定を編集して保存(設定値にはすべてデフォルト値が用意されているので何もしないで保存してもOK)。
  5. Webブラウザより「mt4i.cgi」にアクセスして動作確認。

■v2.0未満からのアップグレード

  1. mt4i.cgiを文字コードEUC-JPを扱えるエディタ等で開き、一行目のPerlパスをインストールする環境に合わせて編集、保存。
  2. mt4imgr.cgiを文字コードEUC-JPを扱えるエディタ等で開き、一行目のPerlパスをインストールする環境に合わせて編集。9行目の「my $password = 'dummypassword';」の「dummypassword」部分を、設定プログラムにログインする為のパスワードに書き換え、保存。
  3. ファイル「mt4imgr.cgi」、フォルダ「mt4ilib」をサーバーにアップロード(同階層に置くこと)。「mt4i.cgi」はまだアップロードしない。「mt4imgr.cgi」のパーミッションを「705」あるいはプロバイダ等で指定されているCGIプログラムを動かす際のパーミッション値に変更。
  4. Webブラウザより「mt4imgr.cgi」にアクセスし、パスワード入力してログイン。上部に表示される「v1.82β1以前の設定を読み込む。」リンクをクリック。
  5. mt4iのファイル名をデフォルトの「mt4i.cgi」から変更している場合は、ファイル名の入力を求められるので入力。
  6. 設定が読み込まれる。設定を編集するならして、保存。
  7. 「mt4i.cgi」をサーバーにアップロード(「mt4imgr.cgi」と同階層に置くこと。また、ファイル名の変更も必要ならやる。前バージョンを上書きするなら、バックアップを取っておくことをオススメ)し、パーミッションを「705」あるいは適当な値に変更。
  8. Webブラウザより「mt4i.cgi」にアクセスして動作確認。

以上です。ダラダラと分かりにくくて毎度すみません。今気付いたんですが、管理者モードへの突入の仕方を書いていませんでした。Tonkeyさんによる改変版ユーザーならお馴染みですが、そちらもサクっと解説。

■管理者モードについて

  • Webブラウザより「mt4imgr.cgi」にアクセス。ログインして、「AdminDoor」を「yes」に設定、「AdminPassword」を入力し、保存。
  • Webブラウザ or 携帯電話より「mt4i.cgi」にアクセス。最下に表れたバックドアに前項で設定したパスワードを入力し、ログイン。
  • 管理者モードへのリンクを辿り、ブックマーク。
  • Webブラウザより「mt4imgr.cgi」にアクセス。「AdminDoor」を「no」に設定し、保存。

以上でやんす。設定プログラムであるMT4i Managerなど、「とりあえず動けばいいや」とばかりにレイアウトなど使い勝手の部分でまだまだ手を入れる必要があると思っていますが、まぁ、まだβ版ということでご勘弁を。動作報告お待ちしております〜。