タグ「Movable Type 5」が付けられているもの

Movable Typeでphp includeが動作しない?

Movable Type 5でDynamicMTMLを有効にして、サーバーサイドインクルードでphpインクルードを使用するようにしたら、ソースにあるphp includeの部分が期待通りの動作にならなくなってしまいました。

apacheの設定に問題があるのかな?と思いましたが、エラーログも吐いていないのでよくわからず・・・。

phpインクルードを使わないようにするしかないかなぁと、諦めかけていましたが、DynamicMTMLに関して調べていたら、偶然、こちらで「phpを実行するには、mt-config.cgiに「DynamicIncludeStatic」という環境変数に「1」を設定する必要があります。」という文章を発見しました。

という事で、mt-config.cgiに

DynamicIncludeStatic 1

と追記してphpインクルードが動作するようになりました。

Rainierをカスタマイズ(タグ)

Movable TypeのレスポンシブWebデザインテーマ「Rainier」では、ブログ記事に付けたタグを表示するようになっていないので、テンプレートを修正してタグを表示し、同じタグが付いた記事の一覧へリンクさせるようにしました。

ブログ記事のテンプレートに下記のコードを追加しました。

<MTEntryIfTagged>
 <div><p>タグ<span class="delimiter">:</span><mt:EntryTags glue='<span class="delimiter">,</span>'><a href="javascript:void(0)" onclick="location.href='<$mt:TagSearchLink encode_js="1"$>';return false;" rel="tag"><$mt:TagName$></a></mt:EntryTags></p></div> 
</MTEntryIfTagged>

javascriptの部分は、無くても大丈夫だと思います・・・。

Rainierの詳細情報は、レスポンシブWebデザインテーマ 「Rainier」にあります。

Movable Type 5.2.6へアップデート

Movable Type 5.2.6をリリース。スマートフォンからの記事投稿・編集も可能に | Movable Type

Movable Type 5.2.6がリリースされたので、早速アップデートしてみました。

アップデート前にデータベースのバックアップをとるのを忘れてしまいましたが、特に問題なくアップデートできたので良かったです・・・。

プラグインのTypePad AntiSpamが同梱されなくなったようですね。spamlookupと日本語を含まないコメントを拒否するプラグインを利用しているので、すぐにスパムコメントが増えるという事はないと考えています。

Smartphone Optionが同梱されるようになりましたが、まだWindows Phoneには未対応のようです・・・。nexus 7でアクセスしたら、SmartPhone用の管理画面が表示されるのは確認できました。

ケータイキットで文字化け

Movable Typeのプラグインでケータイキットを使用していますが、タグ検索の結果が文字化けしています。

ヘッダーに文字コードを指定するタグを入れたり、phpの設定を変更しても解決できないので、サポートへ問い合わせ中。

簡単に解決できれば良いのですが・・・。

Movable Type スマートフォンオプションのテンプレートを修正

Movable Type スマートフォンオプションをインストールして使用していますが、一つのページにh1タグが複数あり、あまりよろしくないので修正しました。

アーカイブテンプレートのブログ記事で、

<h1 class="title entry-title">
<mt:if tag="EntryTitle">
<$mt:EntryTitle$>
<mt:Else>
タイトルなし
</mt:If>
</h1>

を下記のように修正。

<h2 class="title entry-title">
<mt:if tag="EntryTitle">
<$mt:EntryTitle$>
<mt:Else>
タイトルなし
</mt:If>
</h2>

Movable Type 5.13へアップデート

Movable Type 5.13が公開されたので、アップデートしました。

  1. 既存のmtをインストールしたディレクトリをバックアップ。
  2. データベースをバックアップ。
  3. ダウンロードして、解凍したファイルを上書きアップロード。
  4. 「JavaScript」「コメントプレビュー」「SmartBlog」のテンプレートを初期化。

Movable Type 5.13で管理画面がIE9に対応したようです。IE9の開発者ツールで確認すると、「ブラウザモード:IE9」「ドキュメントモード:IE9標準」という状態で、メニューなど正常に表示されています。

Movable Type 5とWindows Phone

Movable Typeのスマートフォンオプションを使用して構築したブログに、Windows Phoneでアクセスした場合もきちんとスマートフォン向けのレイアウトになりました。

いわゆるガラケーでアクセスした場合は、それなりに見れるページが表示されましたが、「検索」は文字コードの関係で正常に機能しませんでした。

管理画面へのアクセスは、Windows PhoneのIE9ではPC用の画面しか表示できません。Sleipnir Mobile for Windows Phoneをインストールし、ユーザーエージェントをiPhoneに変更することで、スマートフォン用の画面が表示できますが、「ブログ記事一覧」を表示しようとすると、エラーが発生して正常に表示することができません。

Can't call method "has" on an undefined value at lib/MT/CMS/Common.pm line 1385.

Windows PhoneでMovable Typeの管理をするには、ちょっと重たいPC用の管理画面で作業するしか方法はなさそうです。

Movable Typeのスマートフォンオプションについては、スマートフォンオプションを公開 | MovableType.jpページに詳しい情報があります。

tagを削除した時の対処

Movable Typeでtagを削除したり、サーバー移転などによりブログIDが変わった時に、tagの検索結果がなくなった場合の対処です。

Apacheの設定や.htaccessで対処する方法が思いつかたかったので、Movable Typeのシステムテンプレートにある検索結果を変更しました。

検索結果が0件=検索結果が0ページという事で、下記のコードを<head></head>間に追加しました。

<mt:unless tag="totalPages">
    <meta name="robots" content="noindex" />
</mt:unless>

検索サイトからはすぐには消えないですが、放置しておくよりは良いんじゃないかと思います。

Movable Type 5.051から5.11へアップデート

Movable Typeを5.051からMovable Type 5.11へアップデートしました。

アップデート作業メモ。

  1. サーバーに新しいディレクトリ(mt-new)を作成して、Movable Type 5.11のファイルをアップロード。
  2. 現行mtディレクトリから、plugin、mt-static/plugin、mt-static/supportディレクトリをコピー。
  3. mt→mt-old、mt-new→mtとリネーム。
  4. mt.cgiにアクセスしてデータベースのアップデート完了。

あとは、使用しているプラグインの動作確認をして、問題なければ作業完了となります。

携帯電話用ページの作成

DSC05425.jpg

CMSとして使う Movable Type 5 ガイドブックを参考にして、Movable Typeで携帯電話用のページを作成しました。

サンプルファイルを流用させていただきましたが、自分のブログに合わせてカスタマイズするのに、苦労した点がいくつかありました・・・。

本の間違いでハマった点。

  • P.357にあるブログ記事(ケータイ)テンプレートと詳細(ケータイ)のリンクしているファイルが、両方ともdetail.tmplになっています。詳細(ケータイ)がリンクしているのは、mod-detail.tmplです。
  • トラックバック(ケータイ)がリンクするファイルは、trackback.tmplではなくtrackbacks.tmplです。

Movable Type 5.02へアップデート

Movable Type 5.01から5.02へアップデートしました。

データベースのアップデートもあるので、念のため、データベースのバックアップをしてからアップデートをすると良いと思います。

セキュリティに関する修正とバグ修正がされているようです。

5.02 リリースノート

ブログで指定しているフォント

Movable Typeのスタイルシートでtrebuchet msというフォントを指定していると、時々文字の大きさが変に表示されます。

ネットで検索すると、trebuchet msとIE8の相性が悪い?。

「スタイルシートでtrebuchet msを記述している部分が""(ダブルクォーテーション)で囲っていない影響かも?」と思い、そのようにしてみました。確かフォント名でスペースが入っているものは、""(ダブルクォーテーション)で囲うルールだったはず・・・。

もう少し様子を見ないとわかりませんが、文字の大きさが変になる事は無くなったようです。

Movable Type 4とかMovable Type 5をお使いの方で、同じような現象な方は試してみてください。

タグクラウドのテンプレートを変更

Movable Type 5.01のウィジェットにあるタグクラウドのテンプレートを変更し、javascriptを無効にしてみました。

javascriptで表示するようにしていると、javascriptが処理できない携帯携帯電話からアクセスしても、タグクラウドのリンクがクリックできるようになります。

最新記事のフィード

Movable Type 5.01 最新記事フィード(atom.xml)のデフォルトテンプレートは、全文配信するようになっていますが、続きを読むという形式に変更してみました。

そのうち気が変わって、また全文配信するかもしれません・・・(^^;;。

Movable Type 5.01へアップデート

20100125.png

Movable Type 4.27からMovable Type 5.01へアップデートしてみました。

アップデート後、以下のような不具合がありました。

  • ウェブサイトのアドレスでwwwが抜けていた。
  • ブログによってサブアドレスを使用する設定になっていて、wwwがダブって設定されていた。

その他の不具合は、今のところ無いように思えます。

不具合以外で気づいた事など。

  • Movable Type 5になってからmotionプラグインが使用できなくなったので、picoのテーマを使用するようにしました。でも、この元motionを使っていたブログは、そのうち削除すると思います・・・。
  • プラグインはPageButeUploadDirを使用していますが、「エラーが発生しました: Can't call method "id" on an undefined value at /mt/plugins/UploadDir/mt-uploaddir.pl line 215.」というようなエラーメッセージがログにありました。ファイルのアップロードは出来ていますので、UploadDirは使用できますがなんか気持ち悪いです。
  • なかったので、この点では特に困ったことはありませんでした。

Websliceを購読できるようにしてみました

IE8からWebsliceという機能が使えるようになっています。

IE8_Webslice.png

RSS Feedの公開よりも手軽に出来るので、今後広く普及しそうな予感がします。

試しにMovable Typeのテンプレートを編集して、自分のブログでWebsliceを使えるか試してみました。

ThickBox

ゼロからはじめるThickBox 3 - 画像もHTMLファイルもスイスイ表示を見ながら、ThickBoxを導入してみました。

特に難しい作業はありませんでしたが、thickbox.jsの8行目にある

var tb_pathToImage = "images/loadingAnimation.gif";

var tb_pathToImage = "http://example.com/blog/images/loadingAnimation.gif";

というように、loadingAnimation.gifをアップロードした場所に合わせて修正する必要があります。

バックグラウンドのキューを使って再構築を行う

Movable Type 4の公開設定に

バックグラウンドのキューを使って再構築を行う

というのがあります。

どうやって使うのかよくわからなかったのですが、色々と実験してみてどんなものなのかわかってきました・・・。

エントリーを作成したり修正した後に保存した時や、テンプレートを修正して保存した時に、データベースへデータが保存されます。そして、cronを使ってrun-periodic-tasksを実行させるようにしていると、再構築作業が実行されてhtmlやcssなどのファイルが書き換えられます。

トラックバックのスクリプト名を変更

古いエントリへのトラックバックを受信しないように修正しても、最近のエントリに対して沢山のトラックバックスパムが来ますので、ゴミがいっぱいたまってしまいます・・・。

HTTP error: 403 Throttled対策として、一日に受信できるトラックバックの数を多く設定すれば、ゴミがなおさらいっぱいたまってしまいます(^^;;。

というわけで、最も単純な方法ですが、トラックバックのスクリプト名をデフォルトのmt-tb.cgiから変更してみました。スクリプト名を変更した事で、しばらくの間はトラックバックスパムを受信しなくて済みますが、いずれは変更後のスクリプト名へPOSTされるようになってしまうと思います。そうなったら、またスクリプト名を変更して対処したいと思います。

以下のように、スクリプト名を変更しました。

  1. mt-config.cgiにTrackbackScript [変更後のスクリプト名].cgiを追加してアップロードする。
  2. サーバにあるmt-tb.cgiの名前を変更する。
  3. Movable Typeの管理画面にアクセスし、サイトを再構築する。
    エントリー・アーカイブをダイナミック・ページにしている場合、再構築しなくても大丈夫みたいです。

HTTP error: 403 Throttled

ブログ内のエントリーにトラックバックを打ったら、
HTTP error: 403 Throttled
というエラーが発生しました。

トラックバック・スパムが原因で、OneDayMaxPingsやOneHourMaxPingsの最大値に達してしまっていたようです。Movable Type 3.3 マニュアル: 環境変数を参考にして、mt-config.cgiの末尾に

OneHourMaxPings 50
OneDayMaxPings 250

を追加して最大値を変更しました。

設定を変更してもトラックバックスパムが沢山送られてきたら意味がないので、トラックバックのスクリプト名を変更したり、User Agent名でトラックバックのスクリプトへのアクセスを拒否する対策(トラックバックスパム対策)をした方が良いと思います。