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

MovableType、バージョンアップとかする度にどこかしら調子が悪くなって困りものです。

気づいたら、サムネイル画像が全滅してました。アイテムの管理ページで「ファイルが存在しないアイテム」フィルタを使ったら、ほぼ全部。。。

仕方が無いので手作業でちまちま直しました。

継続は力なり!なのか?を見て、手作業で直すしかないかな・・・と。

MovableTypeセキュリティアップデート

昨年の12月にMovableTypeのセキュリティアップデートが出ていたのですが、色々と多忙だったので今まで放置してました。

やっとMTOS-4.28にアップデートしたのですが、たまにバージョンアップとかするといつも何かしらのトラブルが。
・・・と思ったけど、トラブルも起こらず、ちょっと拍子抜け。
勢いでMTOS-5.04まで一気に上げてしまいました。

色々とトラブルは起こりそうですが、とりあえずトップページは動いたので。。。

ページめくり2

結局、、、

ページめくりは 前のページ と 次のページ だけにしました。



Googleみたいな方法、

えと、今10ページ目に居るとして

<<Prev   6 7 8 9 10 11 12 13 14 15  Next>>

みたいな表示もいいかなとか思ってみたんですが、


最初のページに行きたいだとか、最後のページに行きたいとか
欲が出てくると、ごちゃごちゃしてくるので。


あっさりしてるほうがいいかなとか、思って。

ページめぐり

ついでに、ですが。

修正のついでにページめぐり機能とか実装してみました。

ただ、もうちょっとカスタマイズしないと、あまりにも見た目が酷いかなぁという感じですが。

MTOSサイドバーが表示されない

Aboutの内容が表示されないとか色々不具合があったので、テンプレートの初期化を行いました。
ま、MT3から引き続き利用してきた部分もあったので、ある程度問題はあるだろうなとか思っていたワケですが。

そうすると、サイドバー(ウイジェットセット)が表示されないというトラブルが。



仕方ないのでサイドバーを表示している箇所を突き止めるために、テンプレートからメインページを辿ると、
<$mt:Include module="サイドバー"$>
とあって、
サイドバーの内容は
<div id="beta">
    <div id="beta-inner">

<mt:If name="page_columns" eq="2">
    <mt:Ignore><!-- Use the 2-column layout Sidebar if page layout is layout-wt or layout-tw. --></mt:Ignore>
    <$mt:WidgetSet name="2カラムのサイドバー"$>
<mt:Else name="page_columns" eq="3">
    <mt:Ignore><!-- Use the 3-column layout Primary Sidebar if page layout is layout-wtt or layout-twt. --></mt:Ignore>
    <$mt:WidgetSet name="3カラムのサイドバー(メイン)"$>
</mt:If>

    </div>
</div>


<mt:If name="page_columns" eq="3">
    <mt:Ignore><!-- Use the 3-column layout Secondary Sidebar if page layout is layout-wtt or layout-twt. --></mt:Ignore>
<div id="gamma">
    <div id="gamma-inner">
    <$mt:WidgetSet name="3カラムのサイドバー(サブ)"$>
    </div>
</div>
</mt:If>
完全にデフォルトです。(当然、WidgetSetの名前は指定通りにつくってあります)
こうなると何が悪いのかよく判らなくなってしまったので、$mt:WidgetSetのリファレンスを参照したところ、

このテンプレートタグは MTWidgetManager ファンクションタグと同じ機能を持ちます (エイリアス)

と書かれていました。そこで

<$mt:WidgetSet name="2カラムのサイドバー"$>

の部分を

<$MTWidgetManager name="2カラムのサイドバー"$>

と書き換えてみたところ、

Fatal error: Cannot redeclare smarty_function_mtwidgetmanager() (previously declared in /php/lib/function.mtwidgetmanager.php:9) in /plugins/WidgetManager/php/function.mtwidgetmanager.php on line 26

というエラーが表示されていました。

結局、現在のMTOSではWidget Managerはコア機能に取り込まれているのですが、過去の遺物というか、pluginsの中にWidgetManagerのフォルダが残っており、必要な関数が2重に定義されている状態になってしまっていたのでした。

で、フォルダごと削除して復旧したのですが、テンプレートの初期化を行ったのはちょっとマズかった。完全に初期状態です。

初期化する際にバックアップにチェックを入れて置いたのですが、バックアップから一気に戻すのはどうして良いやら・・・というか・・・多分1つずつ戻す必要がありそう・・・面倒・・・という事で完全に初期状態から新たに作り直すつもりでチマチマ直す必要がありそうですね。。。



ちょっとフォント弄ってみた

文字を少しだけ小さめに。
これで、ちょっと可読性良くなると良いけど・・・

あと時々改行がされなくなるのは、<pre>タグが書かれてしまうからなんだけど、
これってMT4のエディタのバグじゃなかろうか・・・と思っている(いや、多分そう)
でもそこまで修正するのは面倒だなぁ・・・。とか。


MovableType 4.261新規インストール時にダイナミックパブリッシングでブログが表示されないというトラブルがあるようだ。

条件
 MT, MTOS 4.26xを新規インストールした
 データベースにMySQLを使用している
 ダイナミックパブリシングを利用している

症状
 ???????というページが表示される・・・。

解決方法
 mt-config.cgiにSQLSetNames 1と入力して、テンプレート再構築を行う。

Movable Type 4.261にバージョンアップ

今更かよ・・・というほど放置していたんですが、4.261にバージョンアップしました。

ついでにMovableType → MovableType OpenSourceに変更したんですが、
MTのダッシュボードで書き込みフォームが表示されなくなってしまいました。
検索すると似たような症状は見つかったのですが、肝心の対処策は見つからず。
諦めて同じ手順を踏もうかと思ったんですが、偶然対処法が判りました。

MTのフォルダのaddonsディレクトリを丸ごと削除

これで無事に記事が書けるようになったのでした。

MovableType 4.13にバージョンアップ

一応、4.1→4.12、4.12→4.13のバージョンアップ手順をメモ


MT-4_13-ja.zipを解凍
# unzip MT-4_13-ja.zip

現在のmt-config.cgiをMT4_13-jaディレクトリにコピー
# cd 現在のMovableTypeのディレクトリ
# cp -p mt-config.cgi ~/MT4_13-ja/

MT4_13-jaディレクトリの内容を全て現在のMovableTypeのディレクトリに上書き
# cd MT4_13-ja
# cp -pR * 現在のMovableTypeのディレクトリ

MovableTypeのページにブラウザでアクセスするとmt-upgrade.cgiが表示される。

index.htmlを削除する
# cd 現在のMovableTypeのディレクトリ
# rm index.html
MT4_13-jaディレクトリを削除
# rm -rf MT4_13-ja/

たったこれだけなんですけどね。

MovableType 4.13

MovableType4.12(セキュリティアップデート)が6月20日に提供されていました。

とりあえず、やっとバージョンアップ終わったよー。ふぅ。


とか思ってたら、


MovableType4.13だってさ。



ところで、4月にMovableTypeを4.1にバージョンアップしたときに、MovableType4.01→MovableType4.15に上げたつもりをしていたので、ドキュメントで「必須のアップデートですか?: お使いのバージョンが Movable Type 4.0 (を含む) 以降のバージョンの場合、必ずアップデートしてください。ただし、Movable Type 4.2 RC は、この問題の影響を受けません。」という一文を見たとき、何でバージョンダウン(4.15→4.12)なんだ?・・・何かの勘違い?と思ってて、ちょっと調べたら、やっぱりありました
ドキュメントを確認してからダウンロードしたから、表記上は4.1だったんですが、きっとこれが4.15なんだろうなぁと思いこんでいたんですね。
実際には4.15は開発途中で4.2に表記が変更されていて、いわゆる4.15というのは幻のバージョンになっていたようなんですが。


で、Perlのバージョンが5.6とか5.8の時の不具合を修正ということですので、必要はなさそうなんですが一応4.13には上げておいた方が良さそうですね・・・。

ふぅ。

めんどくさい

MT4.2

Movable Type 4.2 を発表しました
  • ブログのサイト内検索にかかる時間は2ケタ減
  • Movable Type 4.1 から 4.2 にアップグレードするだけで構築処理速度は 33% アップ。さらに テンプレートモジュールのキャッシュ機能を使用すると、45% 以上の速度アップを期待できます。
  • Movable Type 4.2 は、インストールしてすぐの MT3.36 よりも2倍速く、テンプレートモジュールのキャッシュ機能を使用すれば、Movable Type 4.2 は MT3 よりも3倍近く速い
個人的には、それよりアドエスとか、携帯のフルブラウザからも管理画面にアクセスできたらなぁ・・・と思ってますけど。

それにしてもMovable Typeってけっこうな頻度でバージョンアップされますよね。。。

絵文字

絵文字の携帯連携ができないかなぁ・・・と思って
MT4iのソースとにらめっこしてみたんですが、

ちょっと面倒臭くなってきました。


今のところ実装出来てない機能。
・携帯の絵文字対応
・携帯からのファイルアップロード


どっちも実装できれば、それなりに記事書きやすくなるはずなんですけどね。



絵文字が使えるように・・・

無事emoddyも動くようになって、絵文字が使えるようになりましたicon:face_self-conscious_smile

ちょっとcssとの兼ね合いでずれるicon:face_embarrassedけどね。。


ちょっとイヤーンicon:face_shoutだったのが、emoddyがmt-config.cgiのAdminCGIPathを考慮してくれないこと。
最初、テストでicon:pencil書いたら絵文字がalt文字に化けやがるicon:face_shock
(°Д°)ハァ? と思ってソース見たら、リンクが・・・リンクが・・・・謎のパスにicon:question

ダッシュボードからプラグインの設定でicon pathを設定したら直りましたicon:face_expressionless


と言うことで、MT4使いで、共有SSL使ってる人はicon pathの設定必須ですicon:face_sparkling_smile


ちなみにPC上ではあくまで画像ファイルが埋め込まれているだけですので、MT4iでは画像リンクとしてalt文字が表示されます。うまいこと携帯絵文字と変換も出来るようになると素晴らしいんですけどね。



 ^ ^
 ミ・。・ミ


MT4で絵文字を使いたい

MovableType4で絵文字を使えるようにするプラグインで
CSS Happylifeで公開されているemoddyってのを見つけたんですが、

インストールしたら、管理画面がScript Error。

Script Error

The script did not produce proper HTTP headers. Please see the error log to see the detail of the errors. Depending on the server configuration, you can also run thisscript under CGIWrap debugging. Usually, either rename or linkthe script temporarily to a file which ends with .cgidextension, or add a AddHandler cgi-script-debug .cgiline to your .htaccess file.

いきなりエラーってのは、ちょっとびびりましたけど
Coreserverは基本的にXERAと同じだと思うので・・・

mt.cgiをmt.cgidにリネームしてデバッグ
Output of script follows:
=====================================================
"my" variable $blog_id masks earlier declaration in same scope at /virtual/yas/public_html/test.1x4x9.net/plugins/emoddy/emoddy.pl line 101.
なるほど、101行目ですか。

ソースを見てみると・・・
sub edit_entry_header {
        my ($eh, $app, $tmpl) = @_;


        if(($app->param('_type') ne 'entry') && ($app->param('_type') ne 'page')) { return; }


        my $blog_id = $app->param('blog_id');
        my $blog_id = $app->blog->id; ←ココ

        my $tag_emoji = $plugin->get_config_value('tag_emoji', 'blog:' . $blog_id);
        if(!$tag_emoji) {
                $tag_emoji = $plugin->get_config_value('tag_emoji', 'system');
        }
うーん。100行目と101行目って(゜;)エエッ
取りあえず101行目をコメントアウトしたら動くようになりました。


MT4iとの兼ね合いもあるので、これでしばらく様子を見てみようかと思います。

なにげに調べてたら、ケータイキット for Movable Typeって市販品もあるようですね。
お値段見てびっくり・・・¥52,500/1ライセンス・・・

か、買えねぇ。 携帯対応のためだけにそこまでの出資はできんばい(-.-;)y-゜゜

MT4.1にバージョンアップついでに

もろもろ修正・・・
気付いたら半日以上掛かってる(-_-;


バージョンアップしたらタグクラウドのテンプレートが上手く表示されなくなって、ちょっと焦った。。
誤 <MTTags>
   ↓
正 <mt:Tags>
結果から言うと、これだけだったんだけど
スタイルシートの定義の見直しからはじめて、ここに気付くまでしばらく掛かりました。。

MovableTypeのウェブページ機能

静的なウェブページをMovableTypeで管理する機能なんだけど、使ってみた感覚として、なんていうか、CMSとしては弱いかなと。単なるブログの1記事と扱いが変わらない気がする。ファイル一覧とかがうまく使えるならいいんだけど。結局、自前でCGI書かなきゃダメか?



MT4重い

重いぞMT4@リターンズというタイトルだけで、激しく同意です。。

管理画面がJavaScript多用のリッチ仕様になって、重さが半端じゃありません。
正直PowerPC G3のMacから、アクセスすると信じられないくらい遅かったりします。
G4でも決して快適ではない。

MT3.35だとそれほど重くなく、重いと言われ続けた更新もダイナミック・パブリシングで回避出来たし。


MT4も奥が深い

Movable Type4にしてから、テンプレート弄ろうとか思いつつ何となくそのままつかってた訳ですが。

<$MTInclude module="すきな名前"$>
とか入れると、そのまますきに弄れることが判ったので、少し弄ってみました。
(新規でテンプレートを作ってから、既存のテンプレートに埋め込むのではなく、既存のテンプレートに上記を埋め込むと、テンプレートが作りやすくなる・・・)

こうやって小分けしてちょっとだけ触ることで全体への影響を抑えつつちょっとずつ自分モジュールが作れるというか、、機能追加が簡単になっている訳ですね。

遅いとか、重いとか、面倒くさいと言われることの多いMovableTypeですが、ダイナミック・パブリシングで考えるのであれば、それほど重くはないです?。但し、MT4以降はリッチな管理画面とエディタで、非常に重くなった感じがあるのですけど。個人的にはMT3.35+Wysiwygエディタの方が軽かったし、アドエスからもそのまま使えたり・・・と、メリットが多いわけですが、MT4も良くなってる面もあるかな?と感じられる一面でした。

バックアップの仕込み

先日のトラブルでデータベースのバックアップが必要という事に気づいて、バックアップを取ることにしました。

#!/bin/bash
DATE=`/usr/bin/date '+%Y%m%d%H'`
DBPASSWORD=MySQLパスワード
BACKUPDIR=~/バックアップディレクトリ
BACKUPDB=$BACKUPDIR/mysql.dump.$DATE
BACKUPCN=$BACKUPDIR/コンテンツ.$DATE.tar.gz

/usr/local/mysql/bin/mysqldump --all-databases --password=$DBPASSWORD > $BACKUPDB
/bin/tar zcf $BACKUPCN ~/public_html

こんな感じでシェルスクリプトを書いて、cronでバックアップをしてみることにしました。
MovableTypeのエクスポート機能がコマンドラインから呼び出せるともっと良いのですが。

ようやくMT4i導入

アドエスで書き込めないと騒いでから、しばらく経っちゃった訳ですが、ようやくMT4iを導入しました。
無事書き込みも出来るようになりました。作者さん多謝!

本来であればiモード用なのでアドエスで使うにはちょっと不便なんですが、仕方ないでしょうね。作者さんも「出来る限り考慮する」って言ってくれてるし。