2004年06月02日 Wed 01:16

人柱日記その9「カンペキダ?編」

Movable Type 3.0DEのogawa氏による
バグフィックスのテンプレートに対する修正を試してみました。
結果は問題なく動き、サイン・イン/アウトも問題なくなりました。

以下に、私の行った手順を記入しますが、ogawa氏のWeblogにも
同じ内容が書かれていますので、そちらの方が参考になるかも…。

ogawa氏のWeblog

Ogawa::Memoranda
http://hassaku.main.jp/blog/
『Movable Type 3.0DEのバグフィックス』
http://hassaku.main.jp/blog/archives/000871.html

より、default-templates.zipをDLし解凍。

その中のdefault-templates-ja.pl(今回は日本語環境で試してみたため)を
lib/MT/default-templates.plに上書き
(-jaを消すか、default-templates-ja.plをdefault-templates.plにリネームして下さい)。

次にTypoの修正

1)tmpl/cms/cfg_prefs.tmplの312行目あたりの

<p><MT_TRANS phrase="To enable comment registration,
enter your TypeKeysite token.">
<MT_TRANS phrase="To sign up for a TypeKey token,visit the ">
<a href="http://www.typepad.com/t/typekey/">TypeKey</a>
<MT_TRANS phrase="website">.</p>

を、下記のように修正。

<p><MT_TRANS phrase="To enable comment registration,
enter your TypeKey site token.">
<MT_TRANS phrase="To sign up for a TypeKey token, visit the ">
<a href="http://www.typekey.com/t/typekey/">TypeKey</a>
<MT_TRANS phrase="website">.</p>

2)lib/MT/App/Comments.pmの693行目あたりの

if ($cookies && $cookies->{commenter_name} &&
$cookie->{commenter_name}->value()) {

を下記のように修正

if ($cookies && $cookies->{commenter_name} &&
$cookies->{commenter_name}->value()) {

3)lib/MT/Template/Context.pmの1126行目と1196行目の2箇所をを以下の通り修正

<input type="radio" id="remember" name="bakecookie" />
<label for="bakecookie">
<label for="remember"><MT_TRANS phrase="Yes"></label>
<input type="radio" id="forget" name="bakecookie" onclick="forgetMe(this.form)"
value="Forget Info" style="margin-left: 15px;" />
<label for="forget"><MT_TRANS phrase="No"></label>
<br style="clear: both;" /></p>

を下記のように修正

<input type="radio" id="remember" name="bakecookie"
onclick="rememberMe(this.form)" />
<label for="bakecookie">(削除)
<label for="remember"><MT_TRANS phrase="Yes"></label>
<input type="radio" id="forget" name="bakecookie" onclick="forgetMe(this.form)"
value="Forget Info" style="margin-left: 15px;" />
<label for="forget"><MT_TRANS phrase="No"></label>
<br style="clear: both;" /></p>

4)tmpl/cms/bm_entry.tmplの160行目あたりを以下のように修正
 QuickPostのAllow Comments(コメントを受け入れる)の設定値が読み込まれない。
 ここは本来checkboxではなくselection listになっているべきなのため。

<p><TMPL_IF NAME=SHOW_ALLOW_COMMENTS>
<label><input type="checkbox" name="allow_comments" value="1" />
<MT_TRANS phrase="Allow Comments"></label><br />
<TMPL_ELSE>
<input type="hidden" name="allow_comments" value="0" />
</TMPL_IF>

を下記のように修正

<p><TMPL_IF NAME=SHOW_ALLOW_COMMENTS>
<label for="allow_comments">
<MT_TRANS phrase="Allow Comments"></label><br />
<select name="allow_comments" id="allow_comments"
<option value="0"<TMPL_IF NAME=ALLOW_COMMENTS_0> selected</TMPL_IF>>
<MT_TRANS phrase="None"></option>
<option value="1"<TMPL_IF NAME=ALLOW_COMMENTS_1> selected</TMPL_IF>>
<MT_TRANS phrase="Open"></option>
<option value="2"<TMPL_IF NAME=ALLOW_COMMENTS_2> selected</TMPL_IF>>
<MT_TRANS phrase="Closed"></option></select>

<TMPL_ELSE>
<input type="hidden" name="allow_comments" value="0" />
</TMPL_IF>
<p>
<TMPL_IF NAME=SHOW_ALLOW_PINGS>
<label><input type="checkbox" name="allow_pings" value="1" />
<MT_TRANS phrase="Allow TrackBack Pings"></label><br />
<TMPL_ELSE>
<input type="hidden" name="allow_pings" value="0" />
</TMPL_IF>
</p>

5)Bookmarkletにはそもそも長さ制限があるため、QuickPostが動かない場合があります。
 lib/MT/App/CMS.pmの380行目近辺の_bm_jsの定義を読むと
 「scrollbars=yes」が無駄に二回出てくるので削れば15文字余裕ができる計算になります。
 すべてのオプションを付けた場合でも「http://.../mt.cgi」が
 35文字以内であれば動作するようです。

sub _bm_js { my($uri, $show, $height) = @_;
qq!javascript:d=document;w=window;t='';if(d.selection)
{t=d.selection.createRange().text}else%20if(d.getSelection)
{t=d.getSelection()}else%20if(w.getSelection){t=w.getSelection();
}void(w.open('$uri?is_bm=1&bm_show=$show&__mode=
view&_type=entry&link_title='+escape(d.title)+
'&link_href='+escape(d.location.href)+'&text='+escape(t),'_blank','scrollbars=yes,
width=400,height=$height,status=yes,resizable=yes,scrollbars=yes(削除)'))!; }

また、細かい話をすれば、Apache httpdサーバを使用している(多くの)場合、
mt.cfgで以下のように設定しておけば「mt.cgi」の「.cgi」は省略できます。
つまり、最悪でもCGIPathが33文字以内なら問題ないということになります。

AdminScript mt

以上で、修正は終了です。

なお、上記修正に加え、BetaWeblogやogawa氏のWeblogOgawa::Memorandaにて、
日々、バグの発見や修正が行われているので、
随時チェックすることをお勧めします。

次に、各環境に合わせ、mt.cfgを変更し、
サーバにアップロードしパーミッションの変更、DBの設定などを行い、
mt-check.cgi、mt-load.cgi、mt.cgiを順次実行します。
そして、mt.cgi実行後、設定画面にて各種設定を行います。

このあたりに関しては、
みらの氏のWeblog

Milano::Monolog
http://rebecca.ac/milano/mt/
Movable Type 3.x 導入手順
http://rebecca.ac/milano/install/

に詳しく解説されていますので、分からない方は、ご覧下さい。

プロフィールの編集及びウェブログの設定で必要となるTypeKey トークンを
取得するには、Typekey.comに登録する必要があります(無料)。

TypeKeyを使用する際にTypekey.comでTypeKeyのYour Weblog Preferencesの
URLを記入する部分に「MTがインストールされているURL」を書いてください。
mt.cfg(の18行目あたり)で指定したCGIPathのURLがそれにあたります。

また、上記手順を行っても、Typekey認証がうまくいかない場合は、

人柱日記その8「救いの神降臨?編」
http://www.tugaa.net/blog/archives/000132.html
を参照してみてください。

また、このTypekeyに関する問題はMT3.0の英語版でも確認されているようです
(ogawa氏の指摘により知りました)。
http://www.movabletype.org/support/index.php?act=ST&f=27&t=41025&s=1a54affa18fe424d4e746b471ca91c91

その他問題なども、
MT Support Forumを参照してみてください。

まだ、バグや修正部分があるかもしれませんが、
それらはBetaWeblogを参照したり、報告した方が良いと思います。

ogawa氏やみらの氏、そして多くのβテスターに感謝いたします。

Posted by tugaa | Comments (2) | Category( MovableType )
このエントリのTrackBack URL:

このエントリのPermalink:
  このエントリーをブックマークに追加 
Trackback
Title: MT3.x日本語版のバグフィックス一時終了みたいです
from: ネット関連覚書
Excerpt: ありがとうございました。書き込みです。 [Read More]
Tracked on 2004年06月03日 17:30
Title: movable type 6
from: 半兵衛の徒然記
Excerpt: コメントのリンクの問題が直ったようです lib/Mt/App/Comments.pmの98行目あたりの window.onload = function() { document.location = document.links[0].href; }; これを window.onload = function() { document.location = '$uri'; }; に変更すればよいらしいで... [Read More]
Tracked on 2004年06月08日 23:50
Comments

ありがとうございました。すべて、記載されているとおりに直しました。
これから、使い込んでみようと思います。

実は、メールの送信だけが出来ないんですけどね。。。
ま、自力更生を目指してがんばってみます。

Posted by: GG at 2004年06月03日 17:07

GGさんコメントありがとうございます。

問題なく動くようになるといいですね。
現在MTはMT3.0DE-jaのβしか入手できない状況なので、
新規にMTを導入するのは色々大変だと思いますし、
ましてや、自鯖だとさらに大変そうですね。

けど、実はこのエントリもバグフィックスもほとんど全て、
ogawa氏のおかげであるようなものなんで、実際私は試しただけ
なんで、偉そうなことは全く言えません…。

Posted by: tugaa at 2004年06月03日 18:47