このページの記事一覧

Movable Type 4へアップグレードする方法(テンプレートの変更)

Movable Type 3からMovable Type 4へアップグレードした場合、Movable Type 4で新しく追加された機能等は反映されません。

ということで、本エントリーではMovable Type 4の新機能を利用する為の設定方法をご紹介します。

なお、本エントリーの内容をテンプレートに反映する場合、インデックステンプレートのmt.js(Movable Type 3のmt-site.jsの後継)の利用が前提になります。しかし、以前のバージョンからアップグレードした場合はmt.jsが生成されません。

なので、mt.jsの生成の仕方から順に紹介したいと思います。


注意!

このエントリーによって貴方自身に損害を受けても、本ブログのオーナーは一切保証をしないものとします。

また、テンプレートのバックアップはなるべくしておきましょう。


1.mt.jsの取得


インデックステンプレートの生成


まず、「インデックステンプレートを作成」をクリックします。


保存


そして、名前を「JavaScript」、テンプレートの種類を「JavaScript(javascript)」、出力ファイル名を「mt.js」にそれぞれ設定して、最後に「保存」をクリックします。


初期化


そこまでいったら、インデックステンプレートの一覧に戻って、「JavaScript(mt.js)」のテンプレートのチェックボックスにチェックを付けます。

そしたら、上の部分に「アクション...」と書かれているプルダウンメニューがあるはずなので、そこを「テンプレートの初期化」に変えてから「Go」ボタンをクリックします。

すると、mt.jsのコードをゲットできます!


2.テンプレートの変更


注意!

これをやる前にmt-site.jsを読み込むようにしている要素はmt.jsを読み込むように変更してください。そうしないと、反映することが出来ません。


(1)認証表示用JavaScript

以前のバージョンまではTypeKeyでの認証のみでしたが、Movable Type 4からは、Movable Type/OpenID/LiveJournal/Vox/TypeKeyと、複数の認証方法に対応するようになりました。

そのため、TypeKey認証用JavaScriptをそれに対応出来るように変更します。


Movable Type 3


<script type="text/javascript">
writeTypeKeyGreeting(commenter_name, <$MTEntryID$>);
</script>

Movable Type 4


<MTIfRegistrationAllowed>
   <div id="comment-form-external-auth">
        <script type="text/javascript">
        <!--
        writeCommenterGreeting(commenter_name, <$MTEntryID$>, <$MTEntryBlogID$>, commenter_id, commenter_url);
        //-->
        </script>
    </div>
</MTIfRegistrationAllowed>

Movable Type 4 (コメントプレビュー)


<MTIfRegistrationAllowed>
    <div id="comment-form-external-auth">
        <script type="text/javascript">
        <!--
        is_preview = true;
        writeCommenterGreeting(commenter_name, <$MTEntryID$>, <$MTEntryBlogID$>, commenter_id, commenter_url);
        //-->
        </script>
    </div>
</MTIfRegistrationAllowed>

また、コメントプレビューテンプレートには「is_preview = true;」が追加されていますので、注意してください。


!重要!

このJavaScriptはMovable Type 3ではform要素の中にありましたが、Movable Type 4ではform要素の直前に移動するようにしてください。


理由は、Movable Type 4では、コメントフォームがデフォルトで非表示になって、認証が必要な場合はサインインすることによってコメントフォームが表示されるようになったからです。


また、ブログ管理画面の「設定」→「登録・認証」にて、「認証なしコメント」をチェックすることによって認証なしでもコメントすることが可能ですが、その場合は下図のように、コメントフォームの代わりに「匿名でコメントすることもできます。 」というリンクが表示されて、それをクリックする事によってコメントフォームが表示されます。

匿名サインイン


(2)form要素


コメントフォームのform要素にid 属性comments-formを追加します。

またinput要素をひとつ追加します。


Movable Type 3


<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" onsubmit="if (this.bakecookie.checked) rememberMe(this)">
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />

Movable Type 4(コメントプレビューも同じ)


<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" id="comments-form" onsubmit="if (this.bakecookie.checked) rememberMe(this)">
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />
<input type="hidden" name="__lang" value="<$MTBlogLanguage$>" />

(3)コメントフォーム


Movable Type 3までは「名前」と「メールアドレス」がdiv要素で囲ってあって、TypeKey サインインの時にid属性name-emailを非表示にしていましたが、Movable Type 4では「名前」と「メールアドレス」に新たに与えられたid属性comment-form-nameとcomment-form-emailによって表示・非表示を切り替えられるようにしています。

また、コメントプレビューには、value要素が追加されているので確認してください。


Movable Type 3


<div id="comments-open-data">
   <div id="name-email">
      <p>
         <label for="comment-author">名前:</label>
         <input id="comment-author" name="author" size="30" />
      </p>
      <p>
         <label for="comment-email">メールアドレス:</label>
         <input id="comment-email" name="email" size="30" />
      </p>
   </div>
   <p>
      <label for="comment-url">URL:</label>
      <input id="comment-url" name="url" size="30" />
   </p>
   <p>
      <label for="comment-bake-cookie"><input type="checkbox" id="comment-bake-cookie" name="bakecookie" onclick="if (!this.checked) forgetMe(document.comments_form)" value="1" />
         この情報を登録しますか?</label>
   </p>
</div>

Movable Type 4


<div id="comments-open-data">
    <div id="comment-form-name">
        <label for="comment-author">名前</label>
        <input id="comment-author" name="author" size="30" />
    </div>
    <div id="comment-form-email">
        <label for="comment-email">メールアドレス</label>
        <input id="comment-email" name="email" size="30" />
    </div>
    <div id="comment-form-url">
        <label for="comment-url">URL</label>
        <input id="comment-url" name="url" size="30" />
    </div>
    <div id="comment-form-remember-me">
        <label for="comment-bake-cookie"><input type="checkbox" id="comment-bake-cookie" name="bakecookie" onclick="if (!this.checked) forgetMe(document.comments_form)" value="1" />
            ログイン情報を記憶</label>
    </div>
</div>

Movable Type 4(コメントプレビュー)


<div id="comments-open-data">
    <div id="comment-form-name">
        <label for="comment-author">名前</label>
        <input id="comment-author" name="author" size="30" value="<$MTCommentAuthor encode_html="1"$>" />
    </div>
    <div id="comment-form-email">
        <label for="comment-email">メールアドレス</label>
        <input id="comment-email" name="email" size="30" value="<$MTCommentEmail encode_html="1"$>" />
    </div>
    <div id="comment-form-url">
        <label for="comment-url">URL</label>
        <input id="comment-url" name="url" size="30" value="<$MTCommentURL encode_html="1"$>" />
    </div>
    <div id="comment-form-remember-me">
        <label for="comment-bake-cookie"><input type="checkbox" id="comment-bake-cookie" name="bakecookie" onclick="if (!this.checked) forgetMe(document.comments_form)" value="1" />
            ログイン情報を記憶</label>
    </div>
</div>

(4)CAPTCHA入力フィールド


Movable Type 4では下図のようなCAPTCHA入力フィールドを表示できるようになりました。これにより、コメントスパムをかなり軽減することが出来るようになります。

表示させるには、下記の赤色部分のタグを追記してください。

この設定とは別に、ブログ管理画面の「設定」→「コメント」にて、CAPTCHAプロバイダの設定が必要になります。

captcha



     :
<p id="comments-open-text">
   <label for="comment-text">コメント: <MTIfAllowCommentHTML>(スタイル用のHTMLタグが使えます)</MTIfAllowCommentHTML></label>
   <textarea id="comment-text" name="text" rows="15" cols="50"></textarea>
</p>
<MTIfNonEmpty tag="MTCaptchaFields">
<MTIfCommentsAccepted><MTIfRegistrationAllowed><MTElse><$MTCaptchaFields$></MTIfRegistrationAllowed></MTIfCommentsAccepted>
<div id="comments-open-captcha">
</div>
</MTIfNonEmpty>
<div id="comments-open-footer" class="comments-open-footer">
     :

はい、こんなもんでしょう。

ちなみに、変えてはいけないid属性は以下の通りになっています。


comment-form-name

comment-form-email

comments-open-data

comments-open-text

comments-open-footer


何故変えてはいけないのか、というと、mt.jsで参照されるid属性だからです。

そんなこといっても、mt.jsの中身をちょっといじればすぐに出来るとは思いますけれど、かえって時間がかかってしまいそうなのでおすすめはしません。


ここまでいって、問題がなければおめでとう!ということで。

失敗してしまったら、分かる範囲ならアドバイスします。

Movable Type 4へアップグレードする方法

以前、Movable Type 4にアップグレードしました。

ということで、アップグレード方法を書いちゃいます!


一番はじめに書いておきますけれど、このエントリーはアップグレードの正常性を100%保証するものではありません。このエントリーのよって自身に被害を受けても、何も保証はいたしませんのでご注意下さい。あくまで参考に。


また、Movable Type 4 ドキュメントも参考にしながらアップグレードを進めた方が良いと思います。


注意!

  • Movable Type3系のプラグインは何故か知らんけれどエラーになります。(時々使えるのもあるけれど・・・)
  • 利用できなくなるタグがあります。

1.バックアップする。

万が一の為に下記のディレクトリをFTPツールなどでダウンロードします。

  • アプリケーションディレクトリ(mt.cgiなど、cgiファイルがあるところ)
  • スタティックディレクトリ(mt-static)
  • ブログディレクトリ(現在ブログを公開しているディレクトリ)
  • データベースディレクトリ(berkeley DBまたはSQLiteを利用している場合のみ)

アップグレードには、ダウンロードしたアプリケーションディレクトリ内にあるmt-config.cgiとデータベースディレクトリを使用します。


2.データベースのバックアップ(berkeley DBまたはSQLiteを除く)

MySQLまたはPostgreSQLデータベースのバックアップをします。

これは、レンタルサーバーの会社によって違うので、それに従ってください。


3.旧バージョンのデータ削除

バックアップを作成した後、アプリケーションディレクトリとスタティックディレクトリの中身を空にします。何故削除するのかというと、以前のバージョンと混在してしまう恐れがあるからみたいです。

注意!

ここで、ブログディレクトリとデータベースディレクトリを削除しないようにしてください!


4.Movable Type 4のアップロード

あらかじめダウンロードしておいたMovable Type 4を以前と同様にアップロードします。

パーミッションの設定も忘れずに実行可能な状態にしておいてください。


5.構成ファイル(mt-config.cgi)を復旧

1項でバックアップしたアプリケーションディレクトリ内にあるmt-config.cgiを元の場所へアップロードします。

また、Movable Type 3.3以前のバージョンからアップグレードする場合はmt-config.cgiに以下の行を追記してください。

AltTemplate feed results_feed.tmpl

パーミッションの設定も忘れずに実行可能な状態にしておいてください。


6.mt.cgiにアクセスしてアップグレードする

「アップグレード開始」と出てくると思うので、「アップグレード開始」をクリックします。

その後、ログイン画面が出てくると思うのでユーザー名とパスワードを入力します。

そしたら、アップグレードが開始されると思うので、完了するまで待ちます。

完了したら「Movable Type に戻る」をクリックします。

そして、下図のようなダッシュボードが現れたら完了です!


ダッシュボード


一定期間動かしてみて、問題がなければ本当に完了です。

もう疲れたので、あとで、テンプレートの変更事項について書いてみます。

今からアップグレードしようと思ってる方々は頑張って!

できればアドバイスします。

ドメイン変更のお知らせ

ドメイン変更に伴い、URLが変更になりました。

といっても、今までのアドレスであるhttp://aqua.tanc.jp/weblog/(←現在リンク切れ)

にアクセスしても

リダイレクトされて、http://weblog.infinity-art.net/になると思います。

 

アホなことでゴタゴタを起こしてしまうかもしれませんが、

これからもよろしくお願いします。

Movable Type4にアップグレード成功!

2日間ずっと画面とにらめっこしていたわけですが、

ようやく、アップグレードに成功しました!

インストールまでは出来ていたのですが、どうもJavaScriptがおかしいせいか、

管理画面でどうしてもプルダウンメニューが出て来なくて、

そんでもって、コメントすら投稿できない状態でした・・・


しかし、よく見てみると、

ローカルにあるmt_core_compact.jsというファイルと

サーバー側にあるmt_core_compact.jsの容量が異なっていることに気付きました。

もしかして・・・と思って上書きしてみると、

プルダウンメニューが出てくるようになりました!

Six Apartがミスってるのかな~とずっと思ってた俺にはとても嬉しかった・・・・


それからは無事(多分)にMovable Typeを操作しています。

その内多分、おかしくなるとは思うけれど・・・・

Movable Type4公開!

いよいよMovable Type 4が公開されました!

でも、アップグレードが面倒くさそうです。

しかし、そんなことでめげてはいけない・・・・

ということで、頑張ってアップグレードしたいと思います。。。

なお、アップグレードに伴い、

コメントの投稿や、検索機能などが言うこと聞かなくなると思いますが、

あらかじめご了承下さい。

では、頑張ってきます。