Movable Type けんてーごっこ
けんてーごっこ - 検定(クイズ)を作って、ブログパーツに! オリジナル検定共有コミュニティ
MTユーザーとして申し分なし!!社名の由来は勘で当たっただけですが、、、ね。
けんてーごっこ - 検定(クイズ)を作って、ブログパーツに! オリジナル検定共有コミュニティ
MTユーザーとして申し分なし!!社名の由来は勘で当たっただけですが、、、ね。
これは便利そうだ!時間を見つけてじっくり読んでみよう。
Apacheをインストールし、MySQLをインストールしてmt-check.cgiで環境をチェックしたところ、HTML::Entities、Image::Magick、Crypt::DSA、XML::Atomが不足していた。ほぼ最小インストールでこの状態なので、これより多いと言うことは無いはず。aptitudeで入手できるのは現時点でImage::Magick、XML::Atomの二つのみ。後の二つは拾ってくる必要がある。
まずImage::Magick。
# aptitude search imageMagickでそのままのものが出てきたんだが、これをインストールしてもモジュールチェックが通らなかった。モジュールじゃないと駄目かー、ということでそれっぽい奴をさがしたら出てきたのでインストール。
# aptitude install perlmagickImageMagickはこれで解決。さて使うことがあるんだろうか。
さらにXML::Atom。これは検索でサクッと出てきた。
# apt-chache search XML::Atom何の問題もなく終了。
# aptitude install libxml-atom-perl
HTML::Entities、Crypt::DSAはCPANから直接ソースをいただいてきてインストールする。手順はほぼ同じなので、Crypt::DSAで説明。
ただしHTML::Entities::NumberedはHTML-Parserに依存しているので、予めインストールしておく。
# aptitude install perl-HTML-Parser
Crypt::DSAのソース
HTML::Entities::Numbered のソース
ソース取ってきてあれやこれや
# wget http://search.cpan.org/CPAN/authors/id/B/BT/BTROTT/Crypt-DSA-0.14.tar.gz「何かたらんえー」と言われたらそれインストールしてガンガンいったれ。
# tar zxf Crypt-DSA-0.14.tar.gz
# cd Crypt-DSA-0.14
# ./Makefile.PL
# make test
# make install
モジュールは
# ./Makefile.PLでインストールが可能。
# make test
# make install
Movable Typeを3.3にアップグレードして以来、どうも使いづらい。3.2までと比べてかなり大きく変わっており、慣れるまでになかなか時間がかかりそうです。まず最初に対処したことはファイルのアップロード先を自動で指定してやるというもの。
以前、『アップロード方法を指定するプラグイン』を紹介したのですが、MT3.3では見事に使えなくなってました。しょうがないので手動でやろうとするものの、単純に『アップロード先の自動指定』この方法では対処不能。該当ファイル自体の中身がかなり変わっているため。
当方が行った方法としては、"\mt\tmpl\cms\upload.tmpl"と言うファイルの52行目に以下のように青い文字列を追加してやればOK。
/ <input name="extra_path" value="archives/img" id="extra_path" />
Six Apart - Six Apart: Movable Type 3.3 がリリースされました
本サイトでも使用しているMovable Typeの最新版としてVer3.3がリリースされています。個人的に最も嬉しい点は、
個人ライセンスは、ユーザー数/ブログ数に関係なく無償となりますので、より多くの方々にご利用いただければ幸いです(ただし、オンラインサポートは別途購入の必要があります)。
再構築をもっと軽くしてくれれば言うことはないのですが、全てスタティック・ページで構成している限りは無理なんかなぁ?
Movable Type 3.3 日本語版出荷、タグ機能などを追加 - @IT
去る2006年6月2日よりMT3.3のベータテストが開始されていましたが、正式版のリリースが6月27日に決まったようです。とりあえずベータテストは見送るとして、正式版もリリース後落ち着いてからアップグレードすることにしましょう。
まぁ、MTが飛んでもデータベースさえ生きていれば何とかなるんでしょうが、出来るだけ無駄な手間は減らしたいところ。もしくは優先度の高くない別のブログからまず3.3にアップグレードしてみるかな。
Movable Typeを使う上で若干不便な点が、画像を含むファイルをアップロードする場合アップロード先のディレクトリを指定してやらないとルートまたはArchivesディレクトリにアップロードされてしまい、管理が結構厄介だったりする。このため当方はこんな風にアップロード先を自動で指定してやっていたのですが、これだとMTのバージョンを上げる度に"\mt\tmpl\cms\upload.tmpl"を書き換える必要がありなかなか面倒だなぁ、と考えていたところ。
これを改善するためにBetter File Uploaderというプラグインを導入しました。BigPAPI を利用したプラグインですので、バージョンアップによる修正は(多分)不要。
以下設定方法。
plugins/BigPAPI.pl
また、BetterFileUploader.cgi のファイル属性を 755 等に変更しておく。
また、当方はテキストを画像を回り込んで表示するようにアップロード時自動でclass="img_R"というタグを挿入していますが、本プラグインを適用するとこれが挿入されなくなります。使ってみた感じ、アップロードスクリプトを乗っ取ってる感じでしょうか?これを従来通りにするためには、以下の通り青文字の部分をBetterFileUploader.pmに追加する。
my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height" alt="$thumb" class=\"img_R\" />) : q{<MT_TRANS phrase="View image">};
my $html = qq(<a href="$url" onclick="window.open('$url','popup','width=$width,height=$height,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">$link</a>);
return $app->translate_templatized($html);
} elsif ($q->param('include')) {
(my $fname = $url) =~ s!^.*/!!;
if ($thumb) {
return "<a href=\"$url\"><img alt=\"$fname\" src=\"$thumb\" class=\"img_R\" width=\"$thumb_width\" height=\"$thumb_height\" /></a>";
} else {
return "<img alt=\"$fname\" src=\"$url\" class=\"img_R\" width=\"$width\" height=\"$height\" />";
}
} elsif ($q->param('photogallery')) {
(my $fname = $url) =~ s!^(.*)\.jpg!$1!i;
return $fname;
} elsif ($q->param('link')) {
return "<a href=\"$url\">Download file</a>";
}
The blog of H.Fujimoto:エントリーの投稿日を公開日に自動変更する(MT3.2用)
このプラグイン、以前から存在自体は知っていたのですが、いろいろあって導入を見送っていました。
どうゆう機能を有するかというと、Movable Typeの場合、エントリーの投稿日はブログ管理画面から「新規エントリー」をクリックした時の時間が記録されます。つまり、新規エントリーを書き始めてから投稿するまでが短ければ数分~数十分のタイムラグですむのですが、ちょっと編集して推敲、2~3日寝かせて改めて編集→投稿となると時間的なずれはかなりの物になります。それを、このプラグインを使うと投稿日を公開日、つまり新規エントリー投稿画面から保存を押した日時に自動的に変更してくれるわけです。
確かに手動で時間を入れることは可能なのですが、それを毎回するのが面倒になってきたというのが正直なところ。というわけで改めて探して入れてみました。やはり便利です。かなり。ちなみに使い方はリンク先のサイトに載っていますが、ごくごく基本的な使い方のみの場合、
BigPAPI | Plugins for Movable Type | staggernation.com
ReleaseDate_1_10.zip
上記二つのプラグインをMTのプラグインディレクトリに放り込んでやるだけでOK。至って簡単です、えぇ。
欠点としては、記事の投稿欄から一度確認画面に移り、そこから「このエントリーを保存する」では日付・日時の変更が反映されていないという点。確認した後一度投稿画面へ戻ってそこから保存してやれば問題無さそうです。当方の使い方が悪いのか、調べ方が足り無いのかは分かりませんが、とりあえず現状特別面倒だとは思いませんので、暫くこのままで良いかな、、、と。
というか、今まで導入していなかったのが悔やまれますよ、えぇ。MTを使っている方には是非オススメしたいですね。
Six Apart - MovableType News: Movable Type 3.2日本語版 Release-2 の提供を開始
Six Apartより、Berkeley DB環境での不具合及びその他各種改善が施された、Movable Type 3.2日本語版 Release-2が公開されましたのでさくっと更新することに。いちいち全てのファイルを更新→設定を以前の物に戻すという手順では面倒すぎると判断し、小粋空間: Movable Type 3.2-ja-2 リリースを参照に差分ファイルのみを更新しました。上記手順で問題なく動いております。
また、一般的な修正
かとおもったら、3.2-ja Release-2を導入して以来トップページに最近のコメントが表示されなくなりました。これはどうやらMySQLを使っている際に起こる現象であり、MTを使用する祭のユーザにCreate_tmp_table_priv権限がないためと判明。いろいろやり方を書いてあるサイトはあるのですが、どうにもうまくいかずしょうがないのでしばらくはrootでアクセスすることに…。セキュリティ上好ましくないんで、何とか対処しないとなぁ…。
Six Apart - MovableType News: Movable Type 3.2 日本語版の提供を開始
悪戦苦闘の末Movable Type 3.2の導入が完了。バージョンのアップグレードは簡単だったのですが、今まで使っていたテンプレートやカテゴリの名前が使えなかったりとかなり大変な目に遭いましたね。@ET.の方はそれほどでもなかったのですが、Makologg???の方はほぼ一晩がかりの作業になってしまいました…。勘弁しテクれぇ…。
今までカテゴリは、日別:<$MTEntryDate format="%Y/%m/%d"$>.php、月別:<$MTEntryDate format="%Y/%m"$>/index.phpと言った感じの名前の指定をしていたのですが、このまま3.2に移行して再構築しようとすると、
<MTEntryDate>タグでエラーが発生しました: MTEntryDateタグが、エントリーのコンテキスト外で使われた可能性があります。<MTEntries>コンテナの外に誤って記述していませんか?
3.1x→3.2へ劇的な差はないですね。ちょっと速くなってるのか?程度です。スパムに関しても優秀なプラグインが出回っており、ほとんどそれで対処できますので、当方からするとあまり意味はないかも…。暫く様子見ぃ見いやっていきたいと思います。
[2005/10/10 15:54追記]
3.1xから3.2xに変更するに辺り各種テンプレートもアップデートしました。元ネタの小粋空間にて3.2用のテンプレートが公開されていたためです。テンプレートの紹介ページはこちらをどうぞ。現在は標準の配色を使用しておりますが、スタイルシート作成ページにてある程度自由に弄ることができるようです。時間があるときに試しに作ってみよぅ。特に@ET.用に真っ黒作らないとなぁ。あっちもLiquidスタイル(センターの幅可変)にしたいですし。
Six Apart - MovableType News: Movable Type 3.2日本語版の公開ベータテストを開始
英語版の方は既に3.2正式版が出ていますので、微妙に今更感が漂っています。テスト用ブログは3.2-enの方を使用していますので、βの3.2-jaを入れる必要はないかなぁ?英語であっても特別不自由はしておりませんので。
ここは3.2日本語版が正式公開になったら入れ替えようと思っています。開発コードネームである「Spam Fighter」の名前通りの働きをしてくれるのか!?ただ、Quasi Spam Filter Plugin 0.20とMT::Plugin::BanNoReferTb v0.01でほぼ全てのTBスパムとコメントスパムは弾けてますから現状スパム対策は必要ないんですよねぇ、、、。ま、デベロッパの姿勢は非常に評価できるでしょう。
Movable Type で言及リンクのない TrackBack ping を弾くプラグイン
上記サイトのMovable Type用プラグインを導入しました。本来のTBの使い方を理解していれば入れる必要のないプラグインですが、そうでないのが圧倒的多数ですので入れておくことにします。
本来TBとは参考にしたサイト、関連のあるページ(記事)に送るものであり、自信の書いた記事の中に該当記事にリンクを張ることは至極自然なことであり、これ故に双方向にリンクが成り立ちお互いの行き来が出来るようになるわけです(少なくとも当方はこのように考えています)。
しかしながら、トラフィックを増やすためだけにほとんど関係のない記事に関してもトラックバックを送りまくる方が多いのも現状です。個人的には「別に良いんでねぇ?」とは思いますが、どこかで"そゆのは受ける側にも問題あり"なんて記事がありましたので対策してみようと言うことです。大した手間でもなかったですし。
Livedoorのウザイ仕様(外部へのリンクに1クッションはいる)が無くなったので、ユーザー数が最も多いと考えられるLivedoorからPingが送れないという状況もなくなりましたので、暫くこれで行こうと思います。
カテゴリが増えてきたために冗長感が出てきた右サイドバーのカテゴリリストを折りたたみ形式にしました。参考にさせていただいたのはおなじみの小粋空間よりサブカテゴリーリストの折りたたみ。以前に一度挑戦して挫折しましたが改めて挑戦。今回は何とか無事に行きました。
以前引っかかった点はおそらく5.JavaScript起動用スクリプト設定 » 5.2 手動設定の場合だったように記憶しています。
管理メニューの「カテゴリー」をクリックしてカテゴリー名をマウスオン(またはクリック)するとステータスバー(あるいはアドレス)にhttp://~/mt.cgi?__mode=view&_type=category&blog_id=1&id=n
が表示されます。このURLの最後の n がMTCategoryIDです
[関連リンク]
小粋空間: サブカテゴリーリストの折りたたみ
同じMovable Typeで複数のブログを管理しており、片方は問題なく動作しており、もう片方のみTBの表示がおかしいという点から、SQLサーバのデータベースが逝ったとかMovable Typeの構成ファイルが逝ったとかは考えにくいです。となると、本サイト用に割り振っているディレクトリが何らかのダメージを負ったと言うことでしょうか?現状かなり不便ですので、なにか対処法統あれば情報いただけますと幸いです。マジで…。
Movable Typeの3.17が出ていましたのでアップグレードを行いました。今回のアップグレードで修正された項目は、
- MTDateにutc="1"オプションを与えた場合に2回オフセット補正されてしまう不具合を修正しました。
- 通知メールのヘッダに余分な空白行を入ってしまう箇所を修正しました。
- UTF-8の環境下でのdirifyで、-(ハイフン)の処理を3.151日本語版と同様にしました。
- mod_perl 1.xの環境で、ウェブログの設定」で「設定」を選択して、その後編集し、保存すると、ウェブログ名が空白になる不具合を修正しました。
- search_templateで翻訳されていなかった箇所を翻訳しました。
- 再構築時のエラーメッセージに、MTArchiveLit と表示していた箇所を修正しました。
- 3.17日本語版にて指定日投稿をした際に、"Use of uninitialized value in join or string at lib/MT/Util.pm line 110."とエラーを表示した不具合を修正しました。
[関連リンク]
Six Apart - MovableType News: Movable Type 3.171日本語版の提供を開始
[NC] : 3.1にしましたが。
Movable Typeが3.17にバージョンアップしていたので当方もアップグレードをしてみる。アップグレード自体はMT-3.17-upgrade-ja.zipを解凍して上書きするだけという至って簡単な物。以前のようにcgiを実行させるといった手間も必要ありません。
が、ここでなぜかトラブル発生。新規エントリーを投稿しようとすると(既存のエントリーの編集でも同様)、ファイルのアップロードボタンが消えている!
=>![]()
かなり多用する機能だったので非常に痛い。これって当方だけの現象なんだろうか?調べてもまだその辺の情報が全くないので何ともいえませんですが。現状これでは使い物にならないので3.151に戻しました。解決策があれば3.17にアップグレードしたいと思ってます。
[追記2005/06/11 14:50]
おもいっきり我流ですがとりあえず回避できましたので、当方がやって手順を紹介。
\mt\tmpl\cms\edit_entry.tmpl このファイルをテキストエディタで開いて、194行目・218行目付近の分を以下のように修正。
<!--
if (canFormat) {
with (document) {
write('<a title="<MT_TRANS phrase="Bold" escape="singlequotes">" href="#" onclick="return formatStr(document.entry_form.text, \'strong\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-bold.gif" alt="<MT_TRANS phrase="Bold" escape="singlequotes">" width="22" height="16" /></a>');
write('<a title="<MT_TRANS phrase="Italic" escape="singlequotes">" href="#" onclick="return formatStr(document.entry_form.text, \'em\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-italic.gif" alt="<MT_TRANS phrase="Italic" escape="singlequotes">" width="22" height="16" /></a>');
write('<a title="<MT_TRANS phrase="Underline" escape="singlequotes">" href="#" onclick="return formatStr(document.entry_form.text, \'u\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-underline.gif" alt="<MT_TRANS phrase="Underline" escape="singlequotes">" width="22" height="16" /></a>');
write('<a title="<MT_TRANS phrase="Insert Link" escape="singlequotes">" href="#" onclick="return insertLink(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-link.gif" alt="<MT_TRANS phrase="Insert Link" escape="singlequotes">" width="22" height="16" /></a>');
write('<a title="<MT_TRANS phrase="Insert Email Link" escape="singlequotes">" href="#" onclick="return insertLink(document.entry_form.text, 1)"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-email.gif" alt="<MT_TRANS phrase="Insert Email Link" escape="singlequotes">" width="22" height="16" /></a>');
write('<a title="<MT_TRANS phrase="Quote" escape="singlequotes">" href="#" onclick="return formatStr(document.entry_form.text, \'blockquote\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-quote.gif" alt="<MT_TRANS phrase="Quote" escape="singlequotes">" width="22" height="16" /></a>');
}
}
<TMPL_IF NAME=CAN_UPLOAD>
if (canFormat) {
with (document) {
write('<a title="<MT_TRANS phrase="Upload File">" href="<TMPL_VAR NAME=SCRIPT_URL>?__mode=start_upload&blog_id=<TMPL_VAR NAME=BLOG_ID>" onclick="window.open(this.href, \'upload\', \'width=400,height=450,resizable=yes\'); return false"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-file.gif" alt="<MT_TRANS phrase="Upload File">" width="22" height="16" /></a>');
}
}
</TMPL_IF>
// -->
</script>
上記のように青字の部分を追加。とりあえず現状はこれで行けてますので、このまま行く予定。で、ちゃんとした方法が見つかればそれに従おうと思ってます。
で、新規トラブル。複数のカテゴリが選択できない。主カテゴリーを選択して保存すると、既存エントリーを編集しようとすると主カテゴリーが未選択状態になってしまってます。駄目じゃん、3.17…。それともやはり当方だけの現象なんだろうか…。わからん。
[追記2005/06/11 18:09]
3.151-jaに戻して改めて3.17-jaにすれば上記の問題は解消されました。…マジでわからん。カテゴリ呼び出すところもツリー形式になってて見易くなってますね。
Movable Typeで新規リンクを作成する場合、たいていの場合リンク作成ボタン(→の赤で囲んだ部分)
を使っていますが(タグで直で入れる場合も多々あり)、これだとTarget属性が自動では着かず面倒なことがあります。
当方、’target="_blank"’属性は好きではないので自分から使うと言うことはあまりしませんが、target="_top"を使いたいと思うことは多々あります。特に現在このサイトの一部は他で管理しているWebページにインラインフレームを用いて表示させており、そのときリンクを辿るとInline Frameの中にリンク先が表示されてしまい結構面倒だったりします。そこで自動でtarget属性を挿入する方法がない傘がしてみると、ありました。参考にしたサイトは、[NC] : URLボタンの手直し。こちらは"_blank"属性を付ける方法を説明していらっしゃいますが、そこを"_top"に変えると良いだけですので、大変参考になりました。
Version 3.1では→URLボタンにTarget属性 Ver. 3.1(2004.10.21追記)
Version 3.0 では、mtフォルダーのmt.jsをテキストエディタで開いて、赤文字を消して青文字に変更。Version 3.2 からは、mt/mt-staticにmt.jsは移動したようです。変えないでほしいなぁ、こうゆうのは。
function insertLink (e, isMail) {
if (!canFormat) return;
var str = getSelection(e);
if (!str) return;
var my_link = isMail ? prompt('Enter email address:') : prompt('Enter URL:', 'http://');
if (isMail) my_link = 'mailto:' + my_link;
if (my_link != null)
setSelection(e, '<a href="' + my_link + '">' + str + '</a>');
setSelection(e, '<a href="' + my_link + '" target="_top">' + str + '</a>');
return false;
}
以上です。ブラウザにキャッシュやCookieが残っているとすぐには反映されない場合がありますので、該当する場合はキャッシュ・Cookieを削除すれば大丈夫なはずです。
ついこのあいだ3.15にアップグレードしたばっかり何ですが、3.151が出ていたようなので、アップグレードしました。
前回最近のコメントを表示する方法を書きましたが、間違っていたようなので修正稿を改めて載せておきます。編集箇所は\mt\lib\MT\Template\Context.pmの743行目から始まる以下の数行をAfterのものに書き換えること。
Before
} elsif (my $n = $args->{recently_commented_on}) {
$args{'join'} = [ 'MT::Comment', 'entry_id',
{ blog_id => $blog_id, unique => 1 },
{ 'sort' => 'created_on',
direction => 'descend',
unique => 1,
limit => $n } ];
$no_resort = 1;
}
} elsif (my $n = $args->{recently_commented_on}) {
$args{'join'} = [ 'MT::Comment', 'entry_id',
{ blog_id => $blog_id},{ unique=> 1 } ];
$args{'sort'} = 'created_on';
$args{direction} = 'descend';
$args{limit} = $n;
$no_resort = 1;
}
また、画像をアップロードした際に自動で回り込むようにするには、mt\lib\MT\App\CMS.pmの1962行目を、
my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width"↓↓↓
height="$thumb_height" border="0"/>) : "View image";
return <<HTML;
<a href="$url"
onclick="window.open('$url','popup','width=$width, height=$height, scrollbars=no, resizable=no, toolbar=no, directories=no, location=no, menubar=no, status=no, left=150, top=100');
return false">$link</a>
HTML
} elsif ($q->param('include')) {
(my $fname = $url) =~ s!^.*/!!;
if ($thumb) {
return <<HTML;
<a href="$url"><img alt="$fname" src="$thumb"width="$thumb_width"
height="$thumb_height" border="0" /></a>
HTML
} else {
return <<HTML;
<img alt="$fname" src="$url" width="$width" height="$height" border="0"/>
HTML
}
} elsif ($q->param('link')) {
return <<HTML;
<a href="$url">Download file</a>
HTML
}
}
my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height" border="0" class="img_L" />) : "View image";
return <<HTML;
<a href="$url" onclick="window.open('$url','popup','width=$width,height=$height,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">$link</a>
HTML
} elsif ($q->param('include')) {
(my $fname = $url) =~ s!^.*/!!;
if ($thumb) {
return <<HTML;
<a href="$url"><img alt="$fname" src="$thumb" class="img_L" width="$thumb_width" height="$thumb_height" /></a>
HTML
} else {
return <<HTML;
<img alt="$fname" src="$url" width="$width" height="$height" class="img_L" />
HTML
}
} elsif ($q->param('link')) {
return <<HTML;
<a href="$url">Download file</a>
HTML
}
}
"\mt\tmpl\cms\upload.tmpl"と言うファイルの22行目を、
<input name="extra_path_archive" value="img" />










