かなり苦労したが、ようやくTinyMCE for Movable Type 1.30jaの導入に成功した。WYSIWYGエディタで記事が書けるのが便利なだけでなはく、アップロードする画像を管理できるComplete php file/image managerの機能がぜひ使いたかった。上の写真はマウスオーバーを感知して入れ替わるように設定。なかなかお洒落である。
ところが、うちのサイト固有の条件がいろいろ重なって、ここに至るまでは試行錯誤の連続・・・
自宅のサーバーでは、Movable Typeの管理画面をSSL化していることと、従来からmt-staticをcgi-bin/mt/下に置いて運用してきたことが複雑に絡んで、file_manager.phpが期待通り動いてくれない現象に悩まされた。
まず、mt-staticをドキュメントルートに移動して実験すると、file_manager.phpを起動するときにポップアップウィンドウが"$lang_insert_image_title"というタイトルで空っぽに表示されてしまう。
FireFoxのエラーコンソールを手がかりに、ググッてみてもあんまり日本語の情報がない。英語サイトの情報(例えばここなど)によるとTinyMCEとFireFoxの組み合わせでよくあるトラブルらしいことが分かったが、あれこれ実験しても、どれもうまくいかない。
StudiO C-BOXs Library : TinyMCE for MovableTypeの設置によると、新しく開くwindowがhttpで開くため、管理画面(https)のプロパティ情報を取得できないことが原因という情報を発見。
そこで、mt-staticを従来どおりcgi-bin/mt/下に置き、mt-config.cgiのStaticWebPathもhttps://で指定して試してみるが、403 Forbiddenになってしまってスクリプトが実行されない。 SSLが問題なのか、apacheのcgi-binフォルダ設定が問題なのか、落ち着いて冷静に一つずつ試行錯誤を繰り返し、結局apacheのhttpd.confにて、cgi-bin下でもphpが動くようにするため、ScriptAliasの設定を見直すことでとりあえず、ここまでのトラブルを一つ潰す。
テスト用のphpファイルはcgi-bin/mt/mt-static/TinyMCEforMT/下でも動作することは確認した。しかし、file_manager.phpは403 Forbiddenを返さなくなったもののまだ動作しないので、file_manager_config.phpのフォルダ指定に誤りがないか再度検討したら、無事に動作完了。(ちなみに、任意の位置にデータを置けるようにするアップグレードパッチも導入してあるので、アップロードフォルダはドキュメントルート下に配置。)
これで使えるぞ!と思ったのもつかの間。サブフォルダをブラウザから作成したらきちんとアイコンが表示されるし、フォルダの削除もきちんとできるのに、アップロードした画像はファイル名しか表示されず、サムネイル画像が表示されないので選択できない。
もう一度、file_manager_config.phpの指定を見直し、アップロードフォルダのURLをhttp://から指定してみたら、ようやく思い通りに動いてくれた。
file_manager.phpがブラウザから丸見えなので、BASIC認証で対応しようとしたが、mt.cgiにまで認証がかかってしまう。何度やってもうまくいかないので、再びmt-static/の位置をまた別の場所に移してhttpd.confにてcgi-bin/のエイリアス設定を元にもどす。
やっぱりBASIC認証はうまくいかないので、結局、file_manager.phpをリネームして動くようにTinyMCEforMT.plを変更。
その後、file_manager.phpをIP認証で制限することに成功したので、TinyMCEforMT.plなどを元にもどす。
まったく、あれこれ触りすぎて、何がなんだか分からないが、まあ、とりあえず動き出したということで・・・。(笑) これから、よーく使い込んでいかなくちゃ・・・。
写真は、Providence R.I. USAにて、昨年撮影したもの。撮影ポイントは、続きをご覧になればGoogle Mapsでアメリカの地図+航空写真も表示されますよ。
まだ、問題がないわけではない。
Google Maps APIのJavascriptコードは、TinyMCEのWYSIWYG画面では入力できないので、こうして今は追記部分でWYSIWYGをオフにして記述している。何かいい方法はないかな?
file_managerからサブフォルダを作って、その中に画像をアップロードしてもサムネイルが表示されない。サブフォルダの外にアップロードした同じ画像は大丈夫。すると、不思議なことに、先ほどのサブフォルダ内のサムネイルも表示される。どうも、サムネイルの取得部分にバグがあるような感じがする。
このあたりも、もう少し使い込んで調べてみたいと思う。
