« リール買った!ヽ(´ー`)ノ | メイン | ブログバトラーって何よ? »

2006年12月21日

タイトルアイコンMovableType3.3 指定日公開機能(備忘)

釣りには全く関係の無い雑記です。
内容は、MovableType 3.3でのエントリ指定日公開機能のツボです。
興味の無い方はスルーして下さい。

以下、本文

ちなみに、このエントリは指定日公開機能を使用しています。
この機能でハマった方、結構いらっしゃると思います。
私もハマったので、備忘としてこの記事をエントリーしておきます。
使用しているバージョンは3.3-jaになります。

このブログはsix apart社のMovable Typeというツールを使っています。
で、引っ越したにも関わらず、更新頻度が低かったのは、指定日公開機能が中々実現出来なかった為です。
指定日公開機能というのは、ナチュログを使用している方はご存知かと思いますが、
エントリーのステータスを公開とし、日付に未来日時を指定して投稿するやり方です。
その日時が来ると、サーバー側で勝手に投稿処理を行ってくれると。そういう便利機能です。

恐らくナチュログのベースであろう、MovableTypeにも当然(Ver.3からですが)、
エントリの指定日公開機能があるんです。
でも、そのままじゃ使えない。

まず、サーバーのcron設定を行わなければならない。
crontabに

0,15,30,45 * * * * cd <MT_Path>; ./tools/run-periodic-tasks

以上のコマンドを追記し、run-periodic-tasksが決まった時間で自動的に動作するように設定します。
ちなみ、上記は「毎時、15分毎にrun-periodic-tasksを動かします」というコマンドです。
で、私のレンタルしているサーバーはtelnetは使用不可なので、
crontabの編集依頼をサーバー管理者にする必要があって、依頼をしました。

その後、設定完了の回答を受け、取り敢えずテスト。→ 動作せず(T-T)
ググって調べた所、run-periodic-tasksに実行権限を与える必要があるとの事。
run-periodic-tasksの権限を'755'に変更し、再度テスト。→ 動作せず(T-T)
そして、サーバーから以下のエラーメール送信されて来ていた。
     ↓適当に改行しています。

Can't locate MT/Bootstrap.pm in @INC
 (@INC contains: lib ../lib
            /usr/lib/perl5/5.6.1/i386-linux
            /usr/lib/perl5/5.6.1
            /usr/lib/perl5/site_perl/5.6.1/i386-linux
            /usr/lib/perl5/site_perl/5.6.1
            /usr/lib/perl5/site_perl/5.6.0/i386-linux
            /usr/lib/perl5/site_perl/5.6.0
            /usr/lib/perl5/site_perl
            /usr/lib/perl5/vendor_perl/5.6.1/i386-linux
            /usr/lib/perl5/vendor_perl/5.6.1
            /usr/lib/perl5/vendor_perl.
 )
at <MT_Path>/tools/run-periodic-tasks line 11.
BEGIN failed--compilation aborted at <MT_Path>/tools/run-periodic-tasks line 11.

run-periodic-tasksの11行目がなにやらおかしいらしい。
そして、run-periodic-tasksの11行目は

use MT::Bootstrap;

と、あるので、何らかの理由でBootstrap.pmが動作しないと判断。
/lib/MTにBootstrap.pmが存在しているので、
run-periodic-tasksの10行目、
use lib 'lib', '../lib';

に注目。恐らく相対パス指定になっているので、エラーメールと総合して考えると、
全く関係の無い、/usr/libを指定しているのではないかと判断。以下の様に修正。
use lib 'lib', '../lib';

          ↓
use lib 'lib', '<MT_Path>/lib';

つか、これってMTのバグだよねぇ…。(^^;
三度、動作検証。→ 取り敢えず、投稿は出来た。ヽ(´ー`)ノ
ただ、またしてもエラーメールが…。
Use of uninitialized value in substitution iterator at <MT_Path>/lib/MT/Util.pm line 256.

これに関しては未解決で、現在調査中。
コレわかる方がいらっしゃったら、解決方法をご教示下さい。お願いします。m(_ _)m

※尚、日時指定の際、'YYYY/MM/DD HH:MI:SS'と入力するのだけど、
 秒(SSの部分)の指定を'00'以外にすると、正常に投稿されない現象あり。
 これはもう、全然ワカランです。(T-T)

以上、自分的備忘でした。
釣りに関係の無い話題で申し訳ありませんでした。m(_ _)m



トラックバックURL

このエントリーのトラックバックURL:
http://nino.tiara.cc/FISHING/cgi-bin/mt/trbck-untispam.cgi/6

コメント

こんばんわです。

何かすごいっすね!
プログラムの問題点とか判ってしまうなんて!
実は私もPCネタ書いてたのですが、次元が違うというか、何か憧れを感じます。

最近会社内もPCだらけになり、ちょっとしたトラブルで仕事が止まるので、こういった事が判る方って凄いと感じます!

私は出来上がった物を使うので精一杯です。

長文書いた上に、何の参考にもなれず申し訳ありませんです。

>>エスクさん
こんにちは。
余り褒められても…。恐縮です。
一応、これが私の本業ですので、
このぐらいは出来ないと仕事にならないです。

エスクさんのPCクラッシュネタ、
早速、コメントさせて頂きました。

コメントする