mt4i 2.0b3 → b4

携帯用MT Viewerであるmt4iをバージョンアップしました。 が、500 INTERNAL SERVER ERROR が出て 携帯で見れなくなってました。 昨日の昼くらいからずっとそのまんまだったんだけど… すみません、気付かなかった。 修正したので今は問題ないと思います。 (問題は、プログラムに僕が追加した部分) 個人的には、β版だと作者の方が宣言されているものを 堂々と正式に採用するってのは違うかもしれないなーとは思うけど、 (そんなこと言ったらRegnessemなんて未だにα版なわけだが) β3に比べていくつかバグfixされているようだったので、 テストの意味も含めてアップしてみました。 相変わらず、ホントに便利です。ありがとうございます。 こういうオープンウェアなプログラムやソフトウェアの開発のされ方を見ると、 専業的な分業…『君はソレ出来るからソレ、僕はコレできるからコレ』という一般的な形だけじゃなく、 まさに分業的な『(僕も出来るけど)君がソレやるなら僕はコレやろうかな』という形で 共通財産として不可をみんなで軽減しあいながら、分野として共同開発する、 そう言う形も見えて、面白い。 ちなみに、α版、β版の定義というのは、 機能を追加していく状態がα、機能追加を止めてバグチェックを行うのがβ。 ソレが本来なんだけど…最近は結構曖昧ですな。 開発者の理想に対する到達度みたいになってるなー

続きを読む

MT4i T7 → 2.0b3

MTの携帯用プログラム、MT4iをバージョンアップ?してみた。 ハテナが付くのは、このプログラムには、オリジナル版と、改造版があり、 相互に機能を拡張、共有させながら発展してるプログラムだから。 このプログラムのオリジナル作者は太鉄さん。 (→talk to oneself 2) 改造版…というか機能拡張版を作っているのがTonkeyさん。 (→Tonkey Magic) 設置も簡単だし、中身もシンプルだし、本当にありがたい。 で、今回まだベータ版ながら、Tonkeyさんの機能拡張を取り入れた、 オリジナルver.2のβ3がリリースされていたので差し替えてみる。 まぁ、携帯で見ると、とにかく更新チェックって感じで、味はないんだけどねぇ… そりゃ仕方ないね。 それはもうどうしようもない問題なので置いておいて、このベータ版、 んー確かに前より使いやすくなってるかな? 設定変更なんかがコントロールパネル上から出来るんでわかりやすいし。 そんなに凝ったことやってない僕的には十分ぽ。 これで、携帯からも更新できるしね。 (TonekyVersionでも既に出来てたけど) それにしても面白いなぁ、と思うのは、このオープンソース具合。 このお二人は、特に共同開発というわけでもなく、 片方が機能を追加して、それをも片方も真似して、というのを繰り返して、 でも別のソフトウェアを作ってるんだよね。 GPL(General Public License)っていうらしいんだが、 簡単に言えば、フリーでソースプログラムを保護さえすれば、 自由に再配布、改変などを行って構いませんよ、ということなのだけど、 このソフトウェアの開発はその状況を超えてるような気が… どっちかっていうともうフリーウェアではなくて、オープンソースだもんね。 いっそのこと共同開発すればいいのに…とも思うけど まぁ、お互い忙しかったり好みがあったりで、 そういうわけにはいかないんでしょうね。 とりあえず、お二人に、感謝。

続きを読む

MovableType再設定(スパム対策他)

3.11-jaにバージョンアップしたことで、 プログラムそのものを改変した箇所が全てデフォルトに戻ってしまっているので それらをいちいち再設定。めんどくさい…しかしまぁ、 既にやり方は把握してるので問題ないけど。 (Akihiさんのところ(『きままにポロポロ』が引っ越し中で見れなくて焦ったけど(苦笑)) とりあえず、新版で段落付けやら改行の仕方が変わったようなので、そこを変更。 /lib/MT/Util.pm。 とりあえず以前行った、<p>を自動挿入しないように変更。 (→<p>自動挿入の仕様を変更) と、それだと、blockquote / div 内の改行が無視されることが判明。…なんだ? しかしすぐに判明して、

if ($p !~ m@^</?(?:h1|h2|h3|h4|h5|h6|table|ol|dl |ul|menu|dir|p|pre|center|form|fieldset|blockquote|address|div|hr)@) {
ここから、blockquoteとdivを削除したら正常に表示された。ふぃ。 で。まぁこれだけだろうと思って一日経ったら、おおう、SPAMコメントがざらざらと。 そうか…そっちもデフォルトに戻ったか。 そういうわけで、そっちも対策。 (コメントにはひらがな1文字以上入れてくださいね) とりあえずはこんなもんかなぁ… 管理テンプレートとか、他にもいじったところはいくつかあると思うけど 管理テンプレ用スタイルシートは上書きしてないし。 ふぃ。正常化。 …多分(苦笑)

続きを読む

Upgrade -> MovableType 3.11-ja

言うが早いか、アップグレードしました。 どれが必要でどれが必要じゃないのか、判別しにくいんですが、 milanoさんのところを参考に(→Milano::Monolog: Movable Type 3.1 日本語版リリース) アップグレード。 ものの10分ほどで終了、特に問題なし。 テンプレート各種が上書きされちゃうんで、 エントリー画面のカスタマイズなんかがデフォルトに戻るのは残念だけど、 まぁ再インストールと思えば。もう一回いじる、と。 mt.jsは上書きされてない(3.0Dと同じ日付だったので)おかげで JavaScript関係は影響を受けてないけど。 (エントリー画面のリンクで別画面を開くように変更した、など) で、早速サブカテゴリをいじってみる…ん? あぁそうか、テンプレートの方もいじらないと反映されないのか。 マニュアルによると、サブカテゴリ用のタグがいくつか新設された模様。 試してみる… …使いにくい(苦笑) 多分、リストを念頭に置いてるんだろうけど… なかなか望む形にできない。 結局、MTSubCatIsFirst/MTSubCatIsLast の使用は諦めて、 MTHasParentCategoryで子カテゴリにのみスペースを挿入することで 階層を表現してみる。 …。綺麗だけどなんか迂回路みたいで釈然としねぇな… とりあえず改善の余地はあるということで。 その他の点で言えば、テンプレートの再構築がしやすくなった。 前は、いちいち別ウィンドウが立ち上がってたけど、 『このテンプレートを再構築する』から、 そのまま再構築が出来る。 手間が減って便利になった。 今のところ目立った不具合もないし、 いいんじゃないですかね?

続きを読む

Movable Type 3.1日本語版の提供を開始

アメリカでのリリースから遅れること1ヶ月半、 新たな機能を追加した、Movable Typeの最新版、 Movable Type 3.1がリリースされた。 マイナーアップながら、動的ページ生成、サブカテゴリ、と、 追加される機能に結構注目していたので、早くバージョンアップしてみたい… …のだが、時間がない(苦笑) 今日には出来るかな? カテゴリーはあらかじめサブカテゴリーを想定してもいたし マニュアル読まないとわからないけど、なかなかいじれげ。 (予約機能は多分、ロリポップでは使えないと思うんだけど…どうなんだろう?) Movable Type 日本語版サイト: Movable Type 3.1日本語版の提供を開始

続きを読む

テンプレートの文字化け解消

先日TOOEARLY.NETで構築したMovableTypeが、 ありとあらゆる場所で文字化けを起こすので、おかしいな、と思っていたのだが 原因がはっきり分からなかった。 新しく投稿したエントリは文字化けしないのに、 どうやらテンプレートだけ文字化けているようなのである。 構築したときの状況を思い出してみて、ようやく原因に突き当たった。 このMTをインストールする際に、mt.cfgの設定でミスっていて、 本来、PublishCharset(表示用のエンコード)を、 Shift_JISに変更してから インストールしなければいけないのに、UTF-8のままインストールしてしまった。 その後、すぐに気づいて、 Shift_JISに変更したのだけど、 当然、インストール時点で作られたテンプレートはUTF-8のまま。 テンプレートの原形をほとんど残さず、破壊して作り直す僕はそれに気づかなかったというわけ。 使うテンプレートだけ直せば良いや、と、思ったのだけど、 やってみるとコレが幅広い。埒があかない。 そういうわけで、テンプレートと、エントリとをバックアップした上で、 もう一度、mt-load.cgiをアップロードして初期化。再構築。 今度は全てが Shift_JISでインストールされて、少なくとも文字化けだけは起きなくなった。 しかしまぁ、全てを終えた後で気づいてしまったのだけど、 もしかして、あの状態で新しくもう一つウェブログを作ったら、 Shift_JISで行けたんじゃないかと…。 そしたらそっちに移せばいいだけだったので、少しは楽だった。かも。…。 ま、いっか。結果的に上手くいったし(苦笑)

続きを読む

failed: HTTP error: 500 read timeout

10月に入ってから、アップデート情報を送るとエラーが出てしまっていた。 ログを見ると、 『failed: HTTP error: 500 read timeout』 となっており、どうやら何らかのエラーが出ているらしい。 何かしでかした、というようなことが思いつかなかったので、 送信先に問い合わせようか、とメールまで書いたんだが、 何故かWEBで検索するのを忘れている自分に気付いた。 結局、『failed: HTTP error: 500 read timeout』で検索したら 対処法はすぐに発見できた。 Manimani side.: Trackbackのエラーに対処する。PingTimeoutの設定 を参考に、mt.cfgの、PingTimeoutを少しいじってみる。

# PingTimeout 15  ↓ PingTimeout 30
これで多分出来た、と思うのだが… …↑ここまでで一旦エントリを保存し、トラックバック、Update情報を送信してみる。 おお、問題ない。 Ken.eu さんに感謝。 にしても、多分混み合ってるせいなんだろうとはいえ、 問い合わせなくてよかった。ふぃー。

続きを読む

管理用テンプレートをカスタマイズ。

/tmpl/cms 以下にあるテンプレートを色々といじってみる。 例えば、『メインメニュー』の表示をいじりたければ、list_blog.tmpl。 飾りをいじりたければ、header.tmplで指定されているcssファイル(デフォルトでは /style.css)を 変更してやればよい。 例えば背景色を黒にしたければ、background-color をいじるとか。 といっても、設定が多岐にわたっているので安易にいじるのは得策じゃありませんけどね。 とりあえずあんまり一気にやってやばかったら困るので、簡単なところから。 メインメニューの、 というところをクリックすると別ウィンドウが立ち上がって欲しい。 該当する部分を探すと… <div>構造がちょっとわかりにくいけど、 <div class=”blog-item”> で検索すれば見つけやすいはず。 103行目を <p><MT_TRANS phrase=”URL:”> <a href=”<TMPL_VAR NAME=SITE_URL>”><TMPL_VAR NAME=SITE_URL></a></p>   ↓ <p><MT_TRANS phrase=”URL:”> <a href=”<TMPL_VAR NAME=SITE_URL>” target=”_blank”><TMPL_VAR NAME=SITE_URL></a></p> と変更。わかりやすい。 正直に言って、決して使いやすいとは思えない管理ページなので、 カスタマイズする余地はまだまだあると思うのだが…テンプレが多すぎて結構辟易(苦笑) まぁ、地道に。

続きを読む

カテゴリーページの分割

MUTTERのカテゴリーが長くなってきたので コレを分割することにしました。 でも…特に解説することはなし。 多少は、いじりましたけどね。 下手に解説するよりも以下を読んでもらった方がわかりやすいかと… というわけで、どうぞ。 参考: MTのPHP化とページ分割(CROSSBREED クロスブリード!) 使用プラグイン: MT Extensions: MTPaginate 1.24 ※追記:半角スペースを数字に前後に挿入する仕様が気にくわなかったので、plugin自体を改変。 414行目の&nbsp;を削除。

my $format = decode_html($args->{format}) || “&nbsp;%d&nbsp;“; ↓ my $format = decode_html($args->{format}) || “%d”;

続きを読む

MONTHLY ARCHIVE

MTでのblogも3ヶ月目に入った。 ということは必然的に、ページ右のメニュー、 [MONTHLY ARCHIVE]も3つになるわけだけど、 これ、デフォルトで『September 2004』という表記になっており、 3つとなると、 September 2004 August 2004 July 2004 となって、ちょっとうるさい。 出来ることなら、同一年度内での年の表示は一度にしたい。 これは、Pluginを導入することで実現可能だ。 (実はテンプレート内にPHPを書いて実現させる方法もやってみたのだけど、 Pluginの方が遙かにスマートで簡単だったのでこちらに変更) 導入するのは、Compare.pl。 これに特化したというよりも、前後の値を比べて、 変化があったときに処理をするという動作をサポートしている。らしい。 その特性を利用して、次のような処理を入れた。

<table cellpadding=0 cellspacing=0> <tr><td>[<$MTDate format="%Y"$>]</td></tr> <tr><td> <MTArchiveList archive_type="Monthly"> <MTIfEqual a="[MTArchiveDate format=’%m’]" b="12"> <MTIfNotEqual a="[MTDate format=’%Y’]" b="[MTArchiveDate format=’%Y’]"> </tr><tr><td>[<$MTArchiveDate format="%Y"$>]</td> </MTIfNotEqual> </MTIfEqual> <a href="<$MTArchiveLink$>"><$MTArchiveDate format="%b" $></a> </MTArchiveList> </td></tr> </table>
簡単に言えば、月毎アーカイブの最初の日付の月が12に等しく、 年が1つ前のと異なるとき、テーブルの列を加えて年を挿入する、という処理。 (参考:bird.dip.jp: Monthly Archive) 良くできているし、デザイン的に柔軟であるのも良い。 3年ぐらいは放置でも良さそうだ。

続きを読む