Flash カレンダープラグイン(3.00 対応版) for Serene Bach

Flash カレンダープラグイン(3.00 対応版) for Serene Bach

Posted at April 10,2007 1:51 AM
Tag:[Calendar, Customize, Flash, SereneBach]

当サイトで公開中の「Flash カレンダープラグイン for Serene Bach」をバージョンアップ致しました。

このプラグインは、Serene Bach で、Kinarie&May さんが配布されている Movable Type 用の Flash カレンダーを使えるようにするためのプラグインですが、配布元の Kinarie&May さんが Movable Type 用の Flash カレンダーをバージョンアップされ、「MT用横型フラッシュカレンダー3.00」を公開されていました(トラックバックで知りました)。

頂いたトラックバックでも「これまでのプラグインでは正常に動作しない」ということが書かれてましたので、早速試してみたところ、バージョンアップされた Flash カレンダーは読み込むためのXMLファイルのフォーマットが大幅に変更されてました。したがって、以前のFlash カレンダープラグインでは フラッシュカレンダー3.00 は利用することができません。

ということで、今回バージョンアップに対応したプラグインを新たに作成しました。Kinarie&May さんは以前のカレンダーもそのまま配布されているようですので、お好きな方をお選びください。

プラグイン導入前当サイトのテンプレートではどのブログツールか分かりづらいので、Serene Bach テンプレート配布サイトとして有名な宵闇書房さんの「grayish」をサンプルにさせて頂きました。
左は Flash カレンダー適用前のスクリーンショットです(クリックすると全体が表示されます)。

プラグイン導入後このテンプレートに「Movable Type 用 Flash カレンダー」を設置するとこのようになります(画像は前のバージョンのものです。あしからず)。

1.プラグインのダウンロード

下記のリンク先にある FlashCalendarHandler.zip または FlashCalendarHandler.lzh をクリックして、プラグインのアーカイブをダウンロードしてください。

FlashCalendarHandler.zip / FlashCalendarHandler.lzh

2007.04.10 Ver 2.00 公開
2007.04.18 Ver 2.01 XMLファイルが正常に生成されない不具合を修正
2007.05.28 Ver 2.02 EUC-JP版でXMLファイルが正常に生成されない不具合を修正
2007.05.28 Ver 2.03 本文・追記のCDATA化・タイムゾーンが適正に収集されない不具合を修正
2007.06.04 Ver 2.04 channel 要素が付与されない不具合を修正

2.プラグインのアップロード

ダウンロードしたアーカイブを解凍し、中にある FlashCalendarHandler.pmplugins ディレクトリ直下に、resource/ja/flashcalendarhandler.txt を、同じディレクトリの構成があると思いますので、flashcalendarhandler.txt のみを ja 配下にアップロードしてください。

アップロードの後、Serene Bach の管理画面を起動し、「環境設定」→「プラグイン」をクリックし、プラグイン一覧に FlashCalendarHandler.pm が表示されていることを確認し、一番右のチェックボックスをチェックして右下の「利用する」をクリックしてください。

3.テンプレートの設定

3.1 フラッシュカレンダー表示用 object タグの作成

Kinarie&May さんのサイトにある「MT用横型フラッシュカレンダー3.00」のページを参考に、フラッシュカレンダー表示用 object タグを下記の手順で作成します。

  1. swf ファイルのダウンロード(設置方法1)
  2. swf ファイルのアップロード(設置方法2)
  3. ソース(Object タグ)の作成(設置方法4)

「設置方法3」は Movable Type のための説明ですのでスキップしてください。
そして作成した object タグを、HTMLテンプレートのカレンダーを表示したい部分に貼り付けてください。

最後の「Object タグの作成」で、「XMLフォルダアドレス」を入力する項目があります。このアドレスには index.html までのURL(例:http://user-domain/)と

http://user-domain/xml/

と、青色で示したファイル名 xml ディレクトリを加えた内容を入力してください。最後の"/"をお忘れなく

このディレクトリはFlash が読む込むためのXMLファイルを保存するディレクトリで、プラグインが自動生成します。
以前のバージョンでは calendar.xml というファイルをひとつだけ生成していましたが、3.00 対応では年月分のXMLファイル(yyyy_mm.xml)を生成する必要があります(2007年4月のエントリー情報が含まれるファイル名は "2007_04.xml" となります)。
そのため、xml ディレクトリを作成し、メインページがあるディレクトりが煩雑にならないようにしています。

設定画面の「設置場所」は「通常使用」を選択してください。デザイン・カラーはお好みに合わせて修正してください。

3.2 フラッシュカレンダー用XML出力の独自ブロック

下記の独自ブロック(青色)をベースHTMLテンプレートの任意の位置に貼り付けてください。例は </body> の直前に設定した場合です。
注:個別記事用HTMLテンプレートを利用されている場合も、ベースHTMLテンプレートのみに設定してください。

<!-- BEGIN flash_calendar -->
<!-- END flash_calendar -->
 
</body>
</html>

これは、3.1項で設定した XML ファイルを出力するためのタグです。このファイルは swf ファイルが読み込む XML ファイルで、ページ上には何も表示されません。

4.ページの再構築

タグを貼り付けた後、インデックス(または全体)のページ再構築を行います。ブログに Flash カレンダーが表示されればOKです。スタイルは適宜設定してください。

表示されない場合、index.html があるディレクトリに xml ディレクトリおよびその配下に yyyy_mm.xml という年月別のファイルが作成されていることを確認してください。ファイルの有無で下記のいずれかの原因が考えられます。

  • 作成されている場合:3.1項の「ソース(Object タグ)の作成」で設定内容に誤りがある可能性があります。
  • 作成されていない場合:プラグインの設定または独自ブロックの設定に誤りがある可能性があります。

yyyy_mm.xml というファイルがひとつでも生成されていれば、Object タグで swf ファイルおよび yyyy_mm.xml を読み込む動作はブログの動作と関係ありませんので、簡素な HTMLページ を作り、そこに Object タグを貼り付けて Flash が表示されるかどうか確認してみてください。

5.swf ファイルのキャッシュについて

エントリー投稿や再構築によって yyyy_mm.xml が更新されることは確認済ですが、ブラウザを更新してもカレンダー表示が更新されない場合があります。この原因は、yyyy_mm.xml を取得する swf ファイル自体がキャッシュから取得されてしまうようです。
これは利用しているレンタルサーバやブラウザの設定に依存するようです。

毎回最新の情報を取得するのであれば「ブラウザのキャッシュをクリアする」を参考にしてみてください。

6.参考:動作の仕組み

Flashカレンダーは、記事タイトル一覧と投稿日が記述された XML を Flash が読み込む元データとしてカレンダーを表示します。
Movable Type ではカレンダー表示用のタグとユーザが作成できるテンプレートを利用すればXMLを簡単に出力できますが、Serene Bach にはユーザがテンプレートやXMLファイルを出力する機能がないためプラグインで実現しました。

2007.04.18
バグ修正に伴い 2.01 をリリースしました。

2007.05.28
バグ修正に伴い 2.02 をリリースしました。

関連記事
zenback
人気エントリー
トラックバックURL


コメント

すみません、質問させてください。

上記手順で途中までは上手くいっていたのですが、xmlファイルが2007_01.xmlや2006_01.xmlなどしか作成されません。
どうやら1年ごとにしかxmlファイルが作成されていないようです。
flashカレンダーを見ても、各年の1月分だけきちんと表示されますが、
2月?12月は何も表示されません・・・
今日の日付表示はされています。

これはプラグインの何か設定を変えなければいけないのでしょうか?
お手数ですが、ご教授いただけないでしょうか・・・?
よろしくお願いします。

[1] Posted by つぢ。 : April 17, 2007 8:37 PM

>つぢ。さん
こんばんは。
ご指摘ありがとうございました。
プラグインを修正致しましたのでダウンロードして動作をご確認頂けますでしょうか。
不具合が解消されない場合、お手数ですが再度ご連絡頂ければ幸いです。
それではよろしくお願い致します。

[2] Posted by yujiro : April 18, 2007 1:29 AM

>yujiroさん

おはようございます。
早速のご対応本当にありがとうございます!!
試してみたところ、きちんと表示されました。
いつも有難うございます!!

寒いですが、お体にお気をつけて。
jokeカテゴリの更新もお待ちしております(笑

[3] Posted by つぢ。 : April 18, 2007 10:04 AM

>つぢ。さん
こんにちは。
ご連絡ありがとうございました。
デバグ不足でご迷惑おかけ致しました。
つぢ。さんもどうぞご自愛ください。
ダジャレも週1でどうぞお楽しみに(笑)。
ではでは!

[4] Posted by yujiro : April 19, 2007 11:21 AM

フラッシュカレンダー&プラグインの新バージョンを設置してみたのですが、存在する記事のうちの極僅かしかフラッシュに反映されない状態になってます。
(因みに、フラッシュ旧バージョン2.10ではきちんと動作します)
設置をいちからやり直してみたり、キャッシュ云々を試してみたのですが解決できず…。
どうかお力添えお願いします。

[5] Posted by グリフ : May 26, 2007 2:51 PM

>グリフさん
こんにちは。
ご利用ありがとうございます。
ご質問の件ですが、EUC-JP 版 Serene Bach で完全に対応できていない箇所がありました。ご迷惑おかけして申し訳ございません。
不具合を修正しましたので、バージョン2.02 をダウンロードしてお試しください。解消しないようであればお手数ですが再度ご連絡頂けますでしょうか。
それではよろしくお願い致します。

[6] Posted by yujiro : May 28, 2007 2:13 PM

お早い対応助かります。
2.02を試した結果、記事の大半はフラッシュに反映されるようにはなりましたが、完全とまではいきませんでした。
そこで記事とフラッシュの反映状態を見比べてみたところ、毎月の最終更新記事が反映されない事に気付きました。
完全解決の糸口になれば幸いです。

[7] Posted by グリフ : May 28, 2007 6:03 PM

>グリフさん
こんばんは。
お手数おかけして申し訳ありません。
2.03 をリリースしましたので再度ご確認ください(配布元のXMLサンプルと同じものが出力されることを確認しました)。
それではよろしくお願い致します。

[8] Posted by yujiro : May 28, 2007 7:07 PM

度々の報告失礼します。
2.03試してみましたが改善されませんでしたorz
それと、前のコメントで反映状態に関してやや説明不足な点があったので訂正をば。↓
今月(5月)分に関しては最終記事もきちんと反映されてますが、4月以前の毎月最終更新記事が反映されないようです。

また、SereneBachで同フラッシュを使用しているサイトを巡ってみましたが、同様の記事反映状態となってました。
MTでは正常に動作しているようなのですが…う?ん。

[9] Posted by グリフ : May 28, 2007 10:02 PM

>グリフさん
こんにちは。
ご返事遅くなり申し訳ありません。
グリフさんのサイトのXMLファイルを確認したところ、channel 要素が含まれていないようです(赤色部分)。

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:admin="http://webns.net/mvcb/"
xmlns:cc="http://web.resource.org/cc/"
xmlns="http://purl.org/rss/1.0/">
<channel rdf:about="http://gulif.netgamers.jp/blog/">
</channel>
<item rdf:about="http://gulif.netgamers.jp/blog/log/eid375.html">
    :

念のため、現在アップロードしたプラグインアーカイブをダウンロードして、動作を確認しましたが、channel 要素は正常に付与されています。またグリフさんのXMLファイルをこちらにダウンロードして channel 要素を付与したところ、正常に表示されました。

ということで、xml 配下のファイルを一旦削除し、再構築を実施して、XMLファイルの中に channel 要素があることを確認してみて頂けますでしょうか。
また、ブラウザのキャッシュ等もクリアしてみてください。

それではよろしくお願い致します。

[10] Posted by yujiro : June 4, 2007 10:30 AM

ご指摘の通りchannel要素の有無がFLASHの反映状況に関係している事はわかりましたが、どうがんばってもひと月以上前のXMLファイルにchannel要素が自動的に付与される事はありませんでした。
(当月のXMLファイルにchannel要素が付与されているのは確認済み)

手動でchannel要素を付与する事でFLASHの完全動作を確認はできましたが、xmlファイルは半自動的に更新されちゃいますよね…。

[11] Posted by グリフ : June 4, 2007 5:11 PM

>グリフさん
こんにちは。
すいません。グリフさんから頂いたコメントで原因が分かりました。
たびたびの動作確認不足で申し訳ございません。
2.04を公開しましたので再度ご確認ください。
それではよろしくお願い致します。

[12] Posted by yujiro : June 4, 2007 5:36 PM

2.04にて完全動作を確認いたしました。
無事解決できてホッとしました。ほんとうにありがとうございました。

[13] Posted by グリフ : June 4, 2007 7:07 PM

>グリフさん
こんにちは。
ご連絡ありがとうございました。
無事に表示されて良かったです。
色々お手数おかけしてすいませんでした。

[14] Posted by yujiro : June 7, 2007 10:50 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)