MT4i Version 1.71を公開します。年明け早々、誠に申し訳ございませんが、不具合への対策です。ダウンロードは以下のページより。
・MT4i/MovableType用 携帯電話向け変換プログラム
Version 1.7からの変更点
v1.7リリース時、画像縮小機能を実装してから「use strict」を追加した為、チェックが漏れていました。申し訳ございません。
対策箇所ですが、912行目の「my $photo_width;」の1行を削除しただけです。設定値等、変更されていて入れ替えるのが面倒な方は、この一行を取っ払って頂くだけでもオッケーです。
今回、画像縮小機能を実装してみて初めて気が付いたんですが、Image::Magickで画像の縦横だけリサイズしてあげても、i-modeで表示できないケースが結構多そうです。事実、1月1日にEntryした謹賀新年の画像が、MT4i経由だというのに母の携帯電話(F251i、うちは夫婦ともH"なので)では表示されませんでした。それもそのはず、i-modeシミュレータで確かめてみると、リサイズ後の画像がなんと17KBもあったんです。
画像周りは、もうちょっと詰める必要がありますね。
こだるま
ここで質問するのもどうかと思ったのですが
ちょっと質問したい内容の記事が見つけきれなかったもので・・・。
写真が表示されないのですが
ワタクシの場合image/imgと言うフォルダの中に写真を入れているのですがcgiのどこをいじれば写真が表示されるのか分からないのです(汗
お忙しいでしょうしお暇なときに教えていただければ幸いです。
Hama-man
はじめまして、濱万といいます。ここに質問しても良いでしょうか。
僕のブログにも『MT4i』を導入しましたがうまく表示されません。アクセスすると『500Error-InternalServerError』と表示されます。
mt4i.cgiの変更は
1行目:#!/usr/bin/perl
36行目:my($MT_DIR) = './mt'; # MTホームディレクトリ
37行目:my $blog_id = "2"; # Blog ID(省略する場合は引数'id'として渡すこと)
と変更してます。サーバーは、ロリポップを利用しています。大変申し訳ありません。よろしければアドバイスをいただければと思います。
管理人
>こだるまさん
「写真が表示されない」というのが、どういう現象なのかもう少し具体的に教えて頂けますでしょうか。
画像へのリンクが表示されないとか、画像がまったく表示されないとか、一部しか表示されないとか、ヘンテコな文字列が表示されるとか、エラーが表示されるとか、またはまったく別の現象なのか。
それと、PCでアクセスした時と携帯電話でアクセスした時とまったく同じ現象が発生しますか?
携帯電話でアクセスした場合に発生する現象であれば、お使いの携帯電話のキャリアと機種を教えてください。
それらの情報があれば、原因を特定するお手伝いはできると思います。
>濱万さん
アップロードしたファイルのパーミッションは推奨値の「705」に設定されていますか?
それで動かない場合は、「755」に設定してみてください。
それで動いたという記述をどこかで見た気がします。
あと、設定を変更した後、ファイルを文字コードEUC-JPで保存されていますでしょうか。
また、MTのホームディレクトリは「./mt」で間違いないですか?
これですと、「http://hama-man.daa.jp/」の直下にMT4iのファイルが存在していないといけないことになります。
こだるま
申し訳ございませんでした。
上手く説明する自信がないのでURLを貼り付けておきますね。
http://www.tiers-macce.com/nakayoshikoyoshi/mt4i.cgi
携帯(AU A5401CA/Ⅱ)で見てもブラウザ(XP,IE)で見ても結果は一緒で×マークが出ちゃいます。
タイトル「ちょっと食べすぎ」で見てください。
あれ?よく見ると文字化けもしてますねぇ・・・(汗
Hama-man
濱万です。アドバイスありがとうございます。
いまだ解決しておりません。パーミションに関してはID取得のCGIが『705』でも動いてますので、これに関しては問題ないと推測します。
EUCコードも1行目の『#!/usr/bin/perl』の変更を秀丸にて行いアップロードしてます。(ID取得のCGIを含めて)コードに関しても問題ないと推測します。
MTのホームディレクトリこれってCGIの置く場所でしたのですね。だと僕のところは『./cgi/mt/』になります。これでアクセス
http://hama-man.daa.jp/cgi/mt/mt4i.cgi
にアクセスしても、500のエラーが戻ってきます。階層が下のほうにあるからでしょうか。
管理人
>こだるまさん
もしや、自前でサーバーを立ててらっしゃいますか?
画像を縮小して表示する際、SOCKETを利用して画像を取得しているんですが、ソケットを生成するところまではできているようなんですけど、connectが失敗しているようです。
http://www.tiers-macce.com/nakayoshikoyoshi/mt4i.cgi?mode=img_cut&id=1;&img=http:%2F%2Fwww.tiers-macce.com%2Fnakayoshikoyoshi%2Farchives%2Fimages%2Fimg%2F040116_2156~001.jpg
ポートが閉じているとか、そういうことはありませんでしょうか。
文字化けについては、う〜ん、こちらも原因がちょっとわかりません。
どうやら、半角の「コメント」が化けているようですが……。
調査します。
>濱万さん
>>MTのホームディレクトリこれってCGIの置く場所でしたのですね。
そうですね、僕のコメントもとんちんかんでした。すいません。
MTのホームディレクトリとは、mt.cgiのある場所ということになります。
そこへのパスを、相対パスか絶対パスで指定してください。
濱万さんの場合、mt.cgiとmt4i.cgiが同じ場所にありますから、MTのホームディレクトリの指定は"./"となります。
Hama-man
濱万です。アドバイスありがとうございます。
>そこへのパスを、相対パスか絶対パスで指定してください。
MTへのパスの設定がまずかったのですね。
『/.』に修正しましたところうまくいきました。
ありがとうございました。
さぁ、携帯から書き込みまくるぞ。
ハイジドルフ
はじめました。
お手間をおかけします。
わたしも、画像がNG です。
こだるまさんとほぼ似た端末 A5401CA です。
Movable Type 2.6.5 をつかい、
mt4i.cgi の、my $photo_width = 132; としました。
この 132 は携帯撮影サイズ 132x176から決めました。
携帯用 URL は、http://heididorf.cool.ne.jp/cgi-bin/mt/mt4i.cgi?id=2 です。
パソコンから確認して、画像のプロパティーをみると、%2F を / と置き換えられば、そのファイルは存在しています。ファイルの属性は 666 です。
文字は OK です。
何か改善の方法があれあばご教示いただけますか。
よろしくお願いします。
管理人
>濱万さん
とんちんかんな回答をしてしまい、ご迷惑お掛けいたしました。
動いたようですね、良かったです。
>ハイジドルフさん
MT4iの画像縮小機能は、SOCKETで画像ファイルを取得し、縮小して表示しています。
COOL Onlineでは、SOCKETが利用できないようです。
ハイジドルフ
お手数おかけいたします。
>COOL Onlineでは、SOCKETが利用できないようです。
そうですか。。。
サーバー側にどのような機能があればうごきますか?
SOCKET の利用がしたいといえばサーバー管理者は理解できますか。もしよろしければ、もう少し詳しく教えていただくことは可能でしょうか。
こだるま
自宅サーバーではないのですが。
ハイジドルフさんと大体同じ症状ということは
携帯の端末のせいですかねぇ?
でもブラウザでも駄目ですもんねぇ…。
ポートはサーバーの管理者に聞いて見なければ分かりませんが、フォルダのパーミッションって関係しますか?
ハイジドルフ
SOCKET 理解しました。
ネットワークプログラムですね。
なぜうまくいかないか、自分でちょっと考えてみます。
管理人
>ハイジドルフさん、こだるまさん
作者のくせに、SOCKETのことが良く分かっていない管理人です。
表示されるエラーメッセージに、ポート番号が表示されていなかったのがちょっと引っ掛かります。
getservbyname関数でのポート番号取得が上手く行ってないような。
これが原因かもしれません。
ポート番号の取得に失敗した場合、強制的にポート80番を使うようにした、1.72βです。
http://www.hazama.nu/t2o2/archives/mt4i/mt4i172b.lzh
試しにこれを動かして頂けますでしょうか。
ハイジ
1.72βでテストしました。 OK です。
cool.ne.jp に socket connect関数は使えるか?問い合わせ中ですが、問題ないようですね。
ありがとうございます。これで、PC を持たないお友達にも写真を見てもらえるようになります。
ハイジドルフ
すみません。
うまくいってると思うのですが、、、
http://heididorf.cool.ne.jp/cgi-bin/mt/mt4i.cgi?id=2&mode=image&no=10&eid=7&img=http://www.heididorf.net/P10100251.JPG
この写真が出ません。サイズが小さい写真はOK のようですがサイズの問題でしょうか。
管理人
>ハイジドルフさん
>>http://www.heididorf.net/P10100251.JPG
この画像、拡張子は「.JPG」となっていますが、BMPではありませんか?
ImageMagickは、確かファイルの拡張子から画像フォーマットを判断するはずなんで、それで変換に失敗しているのかもしれません。
管理人
>ハイジドルフさん
あ、でも良く見たら、みんなBMP?
すると、表示されるのとされないのとあるのはなんでだろう……。
管理人
表示されているものとされていないものの違いが分かりました。
表示されているものはすべて小さい画像で、縮小の処理をしていません(このバージョンから盛り込んだ機能)。
管理人
試しに、うちのエントリーに上記画像を埋め込み、MT4iで表示させてみました。
→表示されません。
今度は上記画像をダウンロードさせて頂き、hazama.nuのサーバーにアップロードして、それを表示させてみました。
→きちんと表示されます。
となると、画像ファイルではなく、やはりサーバー側の問題ですね。
また、表示されるものとされないものの違いがもう一つ。
「http://heididorf.cool.ne.jp/」上にある画像は表示されて、「http://www.heididorf.net/」上にある画像が表示されていません。
エラーを見ると、
HTTP Error: Status 302(Moved Temporarily) at mt4i.cgi line xxx, chunk 6.
となっています。
ハイジドルフ
携帯で画面がでること確認しました。
(若干、埋め込んだtag も辺でしたが、それは関係ないと思います。)
ドメインが違うというのが問題だとおもいます。
実際の URL を使えば問題ないです。
http://www.heididorf.net のアドレスと
http://heididorf.cool.ne.jp で引かれるアドレスが違います。web を見る分にはきちんと転送されるのでしょうが、プログラムでは正直に heididorf.net のアドレスを引いてくるのでファイルが存在しないということになっているのではないでしょうか。ネットワークプログラムには疎いので解決法が浮かびませんが。。。とりあえず、blogの書き込み時に注意すれば問題ないでしょう。
ちなみに cool.ne.jp では socket connect 関数はOKと回答がきました。
管理人
>ハイジドルフさん
あ、そうか、http://www.heididorf.net はhttp://heididorf.cool.ne.jp へ転送されるんですね。
実体はhttp://heididorf.cool.ne.jp にあると。
SOCKETでのアクセスは、転送されないのでしょうね。
Perlからでも転送先のhostを引っ張ってくることができるかもしれませんが、転送の仕組みが良く分かってないのでなんとも。
仰る通り、エントリーに画像を貼る際、http://heididorf.cool.ne.jp で貼るよう気をつけていただくしかないと思います。
よろしくお願いいたします。
あと、SOCKETはOKなんですね……。
ググったら、使えない書いてあるサイトがあったもんで、鵜呑みにしてしまいました。すいません。
私の勘違いだったようで、お手数お掛けいたしました。
ハイジドルフ
感謝です。これで、携帯しか持ってない友人も、平田氏のmoblog mail gateway で書き込みさせて、太鉄さんの mt4iを使って、閲覧させることができるようになりました。Movable Type のすごさを実感しています。
携帯用の web ページ、通常のwebページと区別がいらないというのはすごいですね。
実はこの Movable Type はじめて一週間程度のはずですが皆さんのおかげでいい物ができました。久しぶりにはまっています。
本当にありがとうございました。
ハイジドルフ
たびたびすみません。
投稿した場合 mail address が webに表示されますがこれは、mt4i の仕様でしょうか、それとも MovableType 側の設定でしょうか。もしよろしければ教えていただけますか。
もし、mt4i 側の仕様なら、その部分もコメントしても Movable Type はOk でしょうか。
管理人
>ハイジドルフさん
それはMovableType側の設定になります。
以下を参考にして下さい。
コメント投稿者のメールアドレスを非表示に
http://www.hazama.nu/t2o2/archives/001242.html
ハイジドルフ
ありがとうございます。早速確認させていただきます。
ご存知かもしれませんが、画像が表示しないパターンとして、moblog mail gateway の登録時にimage archive-path/image site-path の設定で、最後の文字にスペースを(意図せず)入れてしまうと moblog mail gateway はきちんとスペースをつけたディレクトリーをつくり保存します。それで出来上がった index.html はそれで問題なく画像を表示しますが、mt4i でつくられた htnl はディレクトリーのスペースがあると画像を表示しないようです。 ちょっとはまりました。
失礼します。
管理人
>ハイジドルフさん
知りませんでした……。>スペースを含むパス表示不可
試してみましたが、確かに表示されませんね。
GETを投げたところで400 Bad Requestとか言われます。
ダブル・シングルクォーテーションで囲んだり、スペースを%20にエスケープしてみたりしましたが、ダメでした。
これも注意事項として挙げておいた方が良さそうですね。
ありがとうございました。
nanana
カテゴリセレクタの、カテゴリに含まれる記事数が「下書き」の状態のものも含んでカウントされているようです。
すこし気になったのでコメントさせていただきました。
既出でしたら申し訳ありません。
管理人
>nananaさん
ご指摘ありがとうございます。
確かに下書きも含まれていますね。
気付きませんでした。(汗
時期リリースで対策したいと思います。