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保存前に逆変換で戻してあげるという方法で対処されていましたが、半角「<>」を「<」「>」に置換してから表示させてやることで解決しました。これだけだと今度は「<」「>」が入力できないので、加えて「&」を「&」に置換しています。二つ目についても、半角スペースを「 」に置換してから表示。不思議なのは、半角スペースがダメなのはinputタグだけってこと。textareaでは問題ありません。謎です、i-mode。ちなみにこのあたりの動作確認は、Docomoが配布しているi-modeのシミュレータで行っています。僕、H"ユーザーなので。もしかすると実機や、他のキャリアでは不具合が出るかもしれません。
参考:
DoCoMo Net - 製品・サービス・料金 - i-mode - 2.その他の機能 - 2.6.特殊文字
あと、Tonkeyさんによる改変版からの機能で、同一IPからのコメント/トラックバックの一括削除及びIPのbanlistへの登録機能をとりあえず止めてあります。機能としては実装されていますが、機能へのリンクをコメントアウトしてあります。何故かというと、僕がこの機能を未だ検証できていないから。「削除」だけに、バグが潜んでいた場合の影響がちょっと恐いので。どうしても使ってみたい方は、該当箇所を探してコメントアウトを外してみてください。もちろん、自己の責任において。
というわけで、前々から「管理機能を追加したら2.0にバージョンアップだ!」と思っていたのがようやく実現。まだβですけど。きちんと検証できているかどうか自信がないですけど。特に管理者モードでの自サイト内リンクや最近のコメント一覧経由の動きが心配ですけど。設定プログラムも含め、細部はちょっとずつ調整していく所存でございます。
さてと、そいじゃあインストール&アップグレード方法の解説!
■新規インストール
- mt4i.cgiを文字コードEUC-JPを扱えるエディタ等で開き、一行目のPerlパスをインストールする環境に合わせて編集、保存。
- mt4imgr.cgiを文字コードEUC-JPを扱えるエディタ等で開き、一行目のPerlパスをインストールする環境に合わせて編集。9行目の「my $password = 'dummypassword';」の「dummypassword」部分を、設定プログラムにログインする為のパスワードに書き換え、保存。
- ファイル「mt4i.cgi」「mt4imgr.cgi」、フォルダ「mt4ilib」をサーバーにアップロード(すべて同階層に置くこと)し、「mt4i.cgi」と「mt4imgr.cgi」のパーミッションを「705」あるいはプロバイダ等で指定されているCGIプログラムを動かす際のパーミッション値に変更。
- Webブラウザより「mt4imgr.cgi」にアクセス。パスワード入力しログイン、設定を編集して保存(設定値にはすべてデフォルト値が用意されているので何もしないで保存してもOK)。
- Webブラウザより「mt4i.cgi」にアクセスして動作確認。
■v2.0未満からのアップグレード
- mt4i.cgiを文字コードEUC-JPを扱えるエディタ等で開き、一行目のPerlパスをインストールする環境に合わせて編集、保存。
- mt4imgr.cgiを文字コードEUC-JPを扱えるエディタ等で開き、一行目のPerlパスをインストールする環境に合わせて編集。9行目の「my $password = 'dummypassword';」の「dummypassword」部分を、設定プログラムにログインする為のパスワードに書き換え、保存。
- ファイル「mt4imgr.cgi」、フォルダ「mt4ilib」をサーバーにアップロード(同階層に置くこと)。「mt4i.cgi」はまだアップロードしない。「mt4imgr.cgi」のパーミッションを「705」あるいはプロバイダ等で指定されているCGIプログラムを動かす際のパーミッション値に変更。
- Webブラウザより「mt4imgr.cgi」にアクセスし、パスワード入力してログイン。上部に表示される「v1.82β1以前の設定を読み込む。」リンクをクリック。
- mt4iのファイル名をデフォルトの「mt4i.cgi」から変更している場合は、ファイル名の入力を求められるので入力。
- 設定が読み込まれる。設定を編集するならして、保存。
- 「mt4i.cgi」をサーバーにアップロード(「mt4imgr.cgi」と同階層に置くこと。また、ファイル名の変更も必要ならやる。前バージョンを上書きするなら、バックアップを取っておくことをオススメ)し、パーミッションを「705」あるいは適当な値に変更。
- Webブラウザより「mt4i.cgi」にアクセスして動作確認。
以上です。ダラダラと分かりにくくて毎度すみません。今気付いたんですが、管理者モードへの突入の仕方を書いていませんでした。Tonkeyさんによる改変版ユーザーならお馴染みですが、そちらもサクっと解説。
■管理者モードについて
- Webブラウザより「mt4imgr.cgi」にアクセス。ログインして、「AdminDoor」を「yes」に設定、「AdminPassword」を入力し、保存。
- Webブラウザ or 携帯電話より「mt4i.cgi」にアクセス。最下に表れたバックドアに前項で設定したパスワードを入力し、ログイン。
- 管理者モードへのリンクを辿り、ブックマーク。
- Webブラウザより「mt4imgr.cgi」にアクセス。「AdminDoor」を「no」に設定し、保存。
以上でやんす。設定プログラムであるMT4i Managerなど、「とりあえず動けばいいや」とばかりにレイアウトなど使い勝手の部分でまだまだ手を入れる必要があると思っていますが、まぁ、まだβ版ということでご勘弁を。動作報告お待ちしております〜。
カテキン
先日より携帯対応のブログを作ろうと思い悪戦苦闘しております。
環境はRHL9+Mysqlです。
他のCGI(MTも含め)は動くのですがmt4iだけはどうしても動いてくれません。以前のVerでもダメでしたが、今回もダメでした。
エラーとしては
Error message:
Premature end of script headers: mt4imgr.cgi
という原因のつかみにくいエラーを表示しています。
どなたかヒントをいただければと思っております・・・
太鉄
>カテキンさん
1行目を
#!/usr/bin/perl --
あるいは
#!/usr/bin/perl -w
としてみたらどうでしょう。
また、ファイルを編集して保存する際に、改行コードを「CR」または「CRLF」で保存してしまっていませんか?
hide
はじめまして。MT4i使わせて貰っています。
不具合を発見しましたので報告します。
全角カナ>半角カナ設定をYesに設定するとページ分割時に2ページ目以降の表示開始位置が狂ってしまうようです。表示文字数は正常でしたが、開始位置が0かNullになっているようで、必ず文頭から表示されてしまいます。
hide
間違えました、全角カナ>半角カナ変換をnoにすると。でした。
太鉄
>カテキンさん
追記。
合わせて、文字コードをEUC-JPから変更していないか、また、ファイル及びディレクトリのパーミッションを再度確認してみてください。
>hideさん
ご報告ありがとうございます。
現象確認しました。
原因も掴みました。
早急に対策版をリリースします。
K-Jirow
はじめまして。
すみません。こちらに間違ってトラバを2回送ってしまいました。このコメントとあわせて削除していただけないでしょうか?失礼しました。
よろしくお願いします。
shin
# MovableType用 i-mode変換スクリプト
# 「MT4i」
my $version = "2.0β5";
試用してみました。
Posted by: カテキン on 2004年09月16日 19:24
の現象、私もそうでしたが、
mt4imgr.cgi デフォルトのMT_DIR ./ を
mt 3.121-ja
MT_DIR - MTホームディレクトリ 絶対パスで指定
私の設置MT_DIRにしましたら、エラーなくなりました。
とりあえず報告致します。
megu
はじめまして。
2週間ぐらい前から使わせていただいてます。
Movable Type3.121でも正常に作動しているのでご報告します。
これからもお世話になります。
ゆらら
お世話になります。
v1.81からバージョンアップを試みました。
mt4imgr.cgiはちょんと表示され設定終了後保存をしたところ
Internal Server Error がでてしまいました。
「Apache/1.3.28 Server at www.***.com Port 80」
というエラーメッセージです。
現在はそのままmt4imgr.cgiを削除してV1.81の状態で使っています。
どうしたらよろしいでしょうか?
west
こんばんは。
MT4i v2.0B1導入させていただきました。
1.8Tからのアップデートです。
少々困ったことが起きています。
PCからMt4iにアクセスすると全機能使用できます。
docomo SO505is 標準ブラウザからも全機能使用できました。
ところが、携帯からブラウザするときにはjigアプリ(パケット圧縮アプリ)を使用しているので、jigアプリでアクセスすると、エントリーの一覧が出ません。
さらに、エントリーの新規投稿リンクが選択できず、コメントメールの通知選択しか選択できません。
やはり、パケット圧縮アプリを使用してのmoblogは無理があるのでしょうか。
ちなみに、1.8T&1.81では全機能が使用できました。
太鉄
最新のβ版(現時点ではβ5)で試してみてください。
既にβ5を使用されているなら、β5のエントリへコメントして下さい。
よろしくお願い致します。