Movable Type に関連する情報やプラグインを公開。お天気情報プラグインが一番人気

MTWeather プラグインをバージョンアップ ver 1.00

多数のサイトでご利用頂いている Movable Type 用のお天気表示 Plugin を MTWeatherJP をメジャーバージョンアップしました。やっと 1.00 公開(現在ver1.07)です。今回から、天気情報を「気象庁の天気予報情報を XML で配信 :: Japan Weather Forecast xml」から取得するようにしましたので、幾つか ver 0.0x から変更点があります。

update 06.04.11
より便利なツールとして生まれ変わりました。MTWeather の進化系→JavaScriptで導入簡単なお天気プラグインに乗り換えて下さい。

update 05.09.01
tenki.jp の大幅リニューアルにより ver 0.0x 系は正常動作しなくなりました。引き続きMTプラグイン版として使いたい方はこちらをどうぞ。

ver 0.0x からの変更点(古いバージョンが使いたい方はこちらからどうぞ。

  • 内部処理として情報の取得先を、tenki.jp → Japan Weather Forecast xml へ変更
  • 下記に示す花粉情報の取得タグの一時廃止。<$MTTodayKafun$><$MTTodayKafunGif$><$MTTomorrowKafun$><$MTTomorrowKafunGif$>
  • 波情報と週間予報の対応と新規タグの導入。詳細は MTWeatherJP のタグ一覧を参照。
  • MTWeatherJP アトリビュートの dir を廃止。URL を絶対パスで指定可能な imgpath に変更。
  • 天気情報の地域区分指定をより詳細な指定に変更。具体的には、MTWeatherJP アトリビュートの area を pref と area の2つに拡張変更。

スクリプトはこちら(MTWeatherJP.zip) 

<動作環境>
Movable Type をご使用の環境ならどれでも。

<plugin の設置方法>
(1)圧縮ファイルを解凍して下さい。
(2)他の Plugin 同様に、Movable Type の plugin ディレクトリへ MTWeatherJP.pl を FTP して下さい。
  ※ファイルの文字コードは変更せず、このまま UP してください。ここポイント!!
(3)展開した lib ディレクトリ内を Movable Type の extlib ディレクトリへ必ず全て FTP して下さい。
(4)img ディレクトリの全ファイルを public_html 等、画像が表示可能なディレクトリの適当な場所に FTP して下さい。

以上で、Movable Typeで <MTWeatherJP></MTWeatherJP> というコンテナ・タグが使用可能になり、指定の都道府県とエリアの値に応じた天気情報が表示できます。また、MTWeatherJP は MT を再構築したときに情報が更新される仕組みになっています。毎日記事を投稿しないけど、自動更新させたいという方は、MTのindex Rebuild自動化の記事をご覧下さい。

<MTWeatherJP のアトリビュート>
  • pref="都道府県" area="エリア"
    (必須指定)指定の都道府県の指定の地域の天気情報を取得します。値は pref="・・・" area="・・・" の組を1つだけ指定可能です。
    pref="北海道"
    area="宗谷地方" / area="上川地方" / area="留萌地方" / area="網走地方" / area="紋別地方" / area="北見地方" / 
    area="根室地方" / area="十勝地方" / area="釧路地方" / area="胆振地方" / area="日高地方" / area="後志地方" / 
    area="空知地方" / area="石狩地方" / area="檜山地方" / area="渡島地方" / area="三八上北" / area="檜山地方" / 
    
    
    pref="青森県" area="津軽" / area="下北" / area="三八上北" /
    pref="秋田県" area="内陸" / area="沿岸" /
    pref="岩手県" area="沿岸北部" / area="内陸" / area="沿岸南部" /
    pref="山形県" area="置賜" / area="庄内" / area="最上" / area="村山" /
    pref="宮城県" area="東部" / area="西部" /
    pref="福島県" area="会津" / area="中通り" / area="浜通り" /
    pref="栃木県" area="南部" / area="北部" /
    pref="群馬県" area="南部" / area="北部" /
    pref="埼玉県" area="南部" / area="秩父地方" / area="北部" /
    pref="茨城県" area="南部" / area="北部" /
    pref="千葉県" area="北西部" / area="南部" / area="北東部" /
    pref="東京都" area="小笠原諸島" / area="伊豆諸島南部" / area="東京地方" / area="伊豆諸島北部" /
    pref="神奈川県" area="東部" / area="西部" /
    pref="長野県" area="南部" / area="中部" / area="北部" /
    pref="山梨県" area="東部・富士五湖" / area="中・西部" /
    pref="静岡県" area="東部" / area="中部" / area="西部" / area="伊豆" /
    pref="岐阜県" area="美濃地方" / area="飛騨地方" /
    pref="愛知県" area="東部" / area="西部" /
    pref="三重県" area="南部" / area="北中部" /
    pref="新潟県" area="下越" / area="佐渡" / area="中越" / area="上越" /
    pref="富山県" area="東部" / area="西部" /
    pref="石川県" area="能登" / area="加賀" /
    pref="福井県" area="嶺南" / area="嶺北" /
    pref="滋賀県" area="南部" / area="北部" /
    pref="京都府" area="南部" / area="北部" /
    pref="奈良県" area="南部" / area="北部" /
    pref="大阪府" area="大阪府" /
    pref="兵庫県" area="南部" / area="北部" /
    pref="和歌山県" area="南部" / area="北部" /
    pref="鳥取県" area="東部" / area="中・西部" /
    pref="島根県" area="東部" / area="隠岐" / area="西部" /
    pref="岡山県" area="南部" / area="北部" /
    pref="広島県" area="南部" / area="北部" /
    pref="香川県" area="香川県" /
    pref="徳島県" area="南部" / area="北部" /
    pref="愛媛県" area="南予" / area="東予" / area="中予" /
    pref="高知県" area="東部" / area="中部" / area="西部" /
    pref="山口県" area="東部" / area="中部" / area="西部" / area="北部" /
    pref="福岡県" area="筑後地方" / area="福岡地方" / area="筑豊地方" / area="北九州地方" /
    pref="大分県" area="南部" / area="中部" / area="西部" / area="北部" /
    pref="佐賀県" area="南部" / area="北部" /
    pref="熊本県" area="球磨地方" / area="天草・芦北地方" / area="阿蘇地方" / area="熊本地方" /
    pref="長崎県" area="五島" / area="壱岐・対馬" / area="南部" / area="北部" /
    pref="宮崎県" area="南部山沿い" / area="南部平野部" / area="北部平野部" / area="北部山沿い" /
    pref="鹿児島県" area="大隅地方" / area="奄美地方" / area="薩摩地方" /
    pref="沖縄県" area="本島北部" / area="久米島" / area="本島中南部" / area="大東島地方" / area="宮古島地方" / area="石垣島地方" / area="与那国島地方" /
  • imgpath="画像URL"
    (任意指定)解凍した img ディレクトリのファイル群を FTP した URL の絶対パスを指定します。
    省略した場合、MT の index.html が生成される場所からの相対パス images/MTWeather/ がデフォルト値として用いられます。
  • timeout="タイムアウト値"
    (任意指定)ワJapan Weather Forecast xml 情報を取得する際のタイムアウト値を指定します。
    省略した場合、15秒をデフォルト値として用います。
  • ie="sjis または euc または utf8"
    (任意指定)自分のサイトの文字コードを指定します。省略した場合、euc をデフォルト値として用います。

    MT-config から自動取得するように変更しました。
  • utfflag="0"
    (任意指定)utf8 な環境で文字化けが発生する場合にのみ設定してみて下さい(UTF-8フラグをonのままで処理します)。無指定の場合はutfflag="1" と同じ意味になりますので、"0" 以外は指定不要です。

<MTWeatherJP のタグ一覧>
  • ver 0.0x 互換のタグは ver 0.0x の説明をご覧下さい。
  • <$MTWeatherDate offset="0〜6"$>
    offset( 0 が本日)で指定した日の日付
  • <$MTWeather offset="0〜6"$>
    offset( 0 が本日)で指定した日の天気予報
  • <$MTWeatherImg offset="0〜6"$>
    offset( 0 が本日)で指定した日の天気画像の URL
  • <$MTTempMax offset="0〜6"$>
    offset( 0 が本日)で指定した日の最高気温
  • <$MTTempMin offset="0〜6"$>
    offset( 0 が本日)で指定した日の最低気温
  • <$MTWeatherDetail offset="0〜6"$>
    offset( 0 が本日)で指定した日の詳細天気予報。※offset="0", offset="1" のみで有効
  • <$MTWave offset="0〜6"$>
    offset( 0 が本日)で指定した日の波予報。※offset="0", offset="1" のみで有効
  • <$MTRain00 offset="0〜6"$>
    offset( 0 が本日)で指定した日の00−06時の降水確率。※offset="0", offset="1" のみで有効
  • <$MTRain06 offset="0〜6"$>
    offset( 0 が本日)で指定した日の06−12時の降水確率。※offset="0", offset="1" のみで有効
  • <$MTRain12 offset="0〜6"$>
    offset( 0 が本日)で指定した日の12−18時の降水確率。※offset="0", offset="1" のみで有効
  • <$MTRain18 offset="0〜6"$>
    offset( 0 が本日)で指定した日の18−24時の降水確率。※offset="0", offset="1" のみで有効

<使用例1>
<MTWeatherJP timeout="15" pref="東京都" area="東京地方" >
<tr>
  <td width="60" align="right"> </td>
  <td width="30" align="center"><$MTTomorrowDate$>日</td>
  <td width="55" align="center">降水確率</td>
  <td width="50" align="center">気温</td>
</tr>
<tr>
  <td colspan="4" bgcolor="#808080"><img alt="" src="/images/1pt.gif" width="1" height="1" border="0" /></td>
</tr>
<tr>
  <td>東京</td>
  <td><img src="<$MTTomorrowGifEx$>" width="25" height="15" alt="<$MTWeatherDetail offset="1"$>" /></td>
  <td align="center"><font color="#0050F0"><$MTRain06 offset="1"$>%</font></td>
  <td align="center"><font color="#0050F0"><$MTTomorrowMin$></font>-<font color="#FF0055"><$MTTomorrowMax$></font></td>
</tr>
</MTWeatherJP>
<MTWeatherJP timeout="15" pref="大阪府" area="大阪府" >
<tr>
  <td>大阪府</td>
  <td><img src="<$MTTomorrowGifEx$>" width="25" height="15" alt="<$MTWeatherDetail offset="1"$>" /></td>
  <td align="center"><font color="#0050F0"><$MTRain06 offset="1"$>%</font></td>
  <td align="center"><font color="#0050F0"><$MTTomorrowMin$></font>-<font color="#FF0055"><$MTTomorrowMax$></font></td>
</tr>
</MTWeatherJP>
<MTWeatherJP timeout="15" pref="愛知県" area="東部" >
<tr>
  <td>愛知県</td>
  <td><img src="<$MTTomorrowGifEx$>" width="25" height="15" alt="<$MTWeatherDetail offset="1"$>" /></td>
  <td align="center"><font color="#0050F0"><$MTRain06 offset="1"$>%</font></td>
  <td align="center"><font color="#0050F0"><$MTTomorrowMin$></font>-<font color="#FF0055"><$MTTomorrowMax$></font></td>
</tr>
</MTWeatherJP>
2005/07/30 update
どうしても文字化けが発生するという方は(perl 5.6 系の場合と思います)245行〜251行の eval {}; の部分をコメントアウトしてみて下さい。
2005/07/30 update
キャッシュアルゴリズムのbug-fix および Charset を MT のコンフィグから自動取得
2005/08/05 update
気象庁の8月リニューアルに対応
2005/08/25 update
各種バグ対応
2005/09/02 update
各種文字化けがらみのバグ対応。どうしても文字化けが解決しない人向けに、utfflagオプションを作成。
2005/09/04 update
環境によってはDrk::Dateモジュールが正しく動作しないようなので、泣く泣く原始的な方法に変更して対応。
2005/10/07 update
perl 5.6.x な環境でも文字化けが発生しないように Unicode::RecursiveDowngrade を利用して UTF-8フラグを処理。このバージョンに差し替えて文字化けが発生下方は、utfflag オプションの 0/1 を逆にしてみて下さい。

この記事を読んでいる方は、以下の関連記事も読んでいます。よろしければ一緒にご覧ください!

2005年7月27日 | drk | コメント(84)  

コメント(84)

こんばんは。
表示をカスタマイズしたいので、javascriptの方ではなく、
こちらのプラグインをインストールしてみましたが、
管理画面のプラグイン一覧では「読み込みに失敗しました」と
表示されていて、使えないようです。
MT4.13には対応してないでしょうか?
もしくは、javascript版も見た目をカスタマイズできますか?

drk様
了解致しました。
では、JavaScript版のほうでまたお世話になりたいと思います。

またまたお時間取らせてしまいました。
ありがとうございました!

hnさん>このバージョンのMTのメンテナンスは凍結していますので、冒頭で説明しておりますJavaScript版をご利用下さい。

drk様
修正、有難うございました。

しかし、また一つ問題が出てしまいました。

修正の書き込みを確認させて頂いた後、MTを再構築したのですが、
Invalid element name [Ln: 1491, Col: 5]
というエラーが出て処理を中断してしまいました。

原因の切り分けを、と思いMTWeather関連タグをはずしてみたところ、
正常に再構築が行われました。

勝手に使わせて頂きながら大変恐縮ですが、
もう一度ご確認頂けないものでしょうか。

よろしくお願い致します。

hnさん>ご報告有り難うございました。修正致しました。

はじめまして。
最近からプラグインを使わせて頂いているものです。
素晴らしいプラグインを公開して頂き、有難うございます!

一つ教えて頂きたいことがあります。

現在、北海道主要地(7箇所)の週間天気を表示させようとしているのですが、
その中の
pref="北海道" area="釧路地方" と
pref="北海道" area="十勝地方"
だけが3日目以降表示されませんでした。

そこで、
http://www.drk7.jp/weather/xml/01.xml
を確認してみたところ、3日目のデータが欠如しておりました。

その地方だけ元データがないのかな?と気象庁のサイトで
確認してみたところ、きちんと表示されていました。

これって抽出時に何か不具合が生じているのでしょうか?

こんばんは^^
確認していただいて本当にありがとうございました
私の環境では、文字化けも発生していなかったので
そのままv1.05を使用させていただいていました(^-^;

今回、現在のv1.09に変更したら、問題なく動作しました
こちらの確認不足からお手数をおかけし本当に申し訳ありませんでした(>_<;)
これからも、ずっと大切に使わせていただきますね
本当にありがとうございました

youさん>MT3.3 + MTWeather を検証してみましたが、正常に動作するようです。その後不具合は続いておりますでしょうか?

こんばんは^^
Blogを始めた頃からずっとこちらのプラグインを
使わせていただいていました
進化系のJavaScriptが配布されましたが
私は、降水確率が6時間毎に表示できるこちらを愛用させていただいています(^-^;
それがMovable Type 3.2までは使えていたのですが、
今回のMovable Type 3.3になってから表示ができなくなってしまいました

いろいろなお天気プラグインはありますが
私は、ずっとこちらのプラグインを使いたいのです(>_<;)
何かアドバイスがありましたら、どうぞよろしくお願いいたします

ご返信ありがとうございます。

近々バージョンアップは、これは期待大です!!
相変わらず表示されませんが、バージョンアップして様子をみたいと思います。

連続投稿申し訳ありません。

下記の同じようなエラーに大阪が出ないとありましたが
その方と同じようにキャッシュをクリアしましたが、やはり改善されません。

ムーバのエラーは

Not a SCALAR reference at /usr/lib/perl5/site_perl/5.6.1/i386-linux/Jcode/Unicode.pm line 64

と、出ます。

こちらが確認したところ青森県もエラーがはられる模様です。
福島県はエラーが出ないことを確認しました。

ちょっと ??? な感じです。

quantさん>何も変更はしてませんよ。ところで、このサイトのTOPに設置してある新しいMTWeatherに近々変更して配布するので、少々お待ち頂くと幸せと思います。

はじめまして。かねてよりお世話になっております。

今まで正常動作をしていたのに急にエラーを出すようになり
ちゃんと動くように修正を加えたのですが一部地域で動作ができません。

pref=東京都 area=東京地方
pref=神奈川県 area=東部
などは動作するのですが

pref=北海道 area=宗谷地方
などが動作できません。

これは指定の仕方が変更されたのでしょうか?ご教授お願い致します。

解決しました。
14.xmlを一度削除したら表示は、明日の表示になりました。

ご迷惑をお掛けして申し訳ありませんでした。

はじめまして!
MTWeatherを使用させていただいているんですが、
<MTWeatherJP timeout="15" pref="神奈川県" area="東部" >

にして

<td width="30" align="center"><$MTTomorrowDate$>日</td>

にすると明日の日付か表示されるはずなんですが・・・神奈川県は本日の日付が表示されてしまいます。
どのようにすれば修正できますか?


MTWeatherを使わせていています。
ver 0.0x からの変更点に花粉情報の取得タグである等は一時廃止と記されています。
αサービスとして提供されている全国の花粉予報情報(pollen.xml)は、どのようなタグを使えばよいのでしょうか?使い方を教えてください。

こんにちは!
従前からMTWeatherを利用させて頂きありがとうございます。
現在、自宅鯖をMT3.2へバージョンアップすると同時に、内容のリニューアルを進めているのですが、こちらのMTWeatherが以前のように組み込めず、一時はやめようかと諦めていました。 ところが、Perlの知識がないまま、今日一挙に解決してしまい嬉しくてアップしてしまいました。
私の場合は、MTをいじっているうちに、こちらのプラグインがエラーになっているのを見つけ、そのメッセージを見ているうちに、”RecursiveDowngrade.pmが見つからないよ!”って、言われているのに気がつき、PerlをインストールしたフォルダーのUnicodeフォルダーに入れてみました。
正しい方法なのか分かりませんが、取りあえず解決したということで、更新作業がまた一歩前進しました。 末永く使わせていただきます。(チョ、オーバーかな?)

はじめまして。
MTWeatherを設置したいのですが、苦戦しています。

再構築を行うと、<MTWeatherJP>タグでエラーが発生しました:
MTWeatherJP error: bad arguments "pref:「?「?ァ" or "area:「?"
と表示され、地域が文字化けしているのだと思い、色々調べたのですが
良くわかりませんでした。 utfflag="0"も試しましたがだめでした。
現バージョンは、他に文字コード指定のオプションは無いと思いますが、
何が問題なのでしょうか。

サーバはWindowsです。

こんばんは、こちらのサイトの存在を知り、
早速MTWeatherを使わせていただきました。
とても気に入っています。
次はAmazonのサービスを使ってみたく思います。
また、これからもよろしくお願いします。

有難うございました。使わせていただきました
前々からどうなっているのか不思議におもっていましたが・・・ご苦労のほど納得しました

連続コメントでごめんなさい。

perlは、5.6.1です。5.6.1は、いろいろと相性が悪いのでしょうか?

MTWeatherJPプラグインを旧バージョン(tenki.jp版)から利用させていただいています。

しばらく前から、正しく表示できなくなっていることに気づき、この度version1.09をインストールしてみました。

ところが、次のような状況で利用できませんでした。

=====

XMLin() requires either XML::SAX or XML::Parser at MT/plugins/MTWeatherJP.pl line 234
というエラーが表示されたので、XML::Parserを、

# perl -MCPAN -e shell
CPAN> install XML::Parser

でインストールしたところ、インデックスページを再構築したら化け化けになってしまいました。私が焦ってしまった様子は、うちのサイトに記事を書いていますので、ご覧ください。(現在は、復旧しています)

Not a SCALAR reference at /usr/(省略)/Jcode/Unicode.pm line 64.
というエラーもその前だったかあとだったかに表示された覚えがあるのですが、
そちらに原因があるような気もします。

おそらく、UNICODE関連のエラーだと思うのですが、素人なのでよく分かりません。

ちなみに、うちはEUC-JPで運用しています。うちの環境でMTWeatherJPを動かすには、どうしたらよろしいでしょうか。よろしくご教授ください。

初めまして。
MTWeatherを使用したいのですが、MTWeatherJP.plをMovable Type の plugin ディレクトリへFTPしたのですが、プラグインエラーが発生します。文字化け等は無いようですがうまくいきません。何か解決策はないのでしょうか?

オペレーティング・システム(OS): linux
Perl のバージョン: 5.8.4
/etc/perl
/usr/local/lib/perl/5.8.4
/usr/local/share/perl/5.8.4
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.8
/usr/share/perl/5.8
/usr/local/lib/site_perl
ウェブ・サーバー: Apache/1.3.33 (Unix) PHP/4.3.11

宜しくお願いします。

drkさんへ

先のエラーで動かない云々の続報です。取り急ぎ「Too many arguments for open」で検索してみたところ、Perlの表記が古いバージョンのだと使えないような場合に出る、とのことでした。openがらみのところだと思うのですが……
(検索したところでは例として「open(FILE, '>>', $path)をopen(FILE, ">>$path")に変える」とありました。ただこれと同じようなことをやって良いのかどうか)。

後半部分のBEGIN〜関連も、もしかしたら前半のopenがらみが直ればあるいは問題も解決するかも、と考えてます。

とはいえ当方、スクリプトそのものの知識は無きに等しいので、ここから先はどうすればよいのか分からずじまいでした。

drkさん

ご連絡が遅くなりましたが、XML::Parserの件、解決しました。
>どちらでもいいですよ。自宅サーバなら make install の方がスマートです。
との事でしたので、installの方を実施した所
問題なく再構築できました。
また、天気予報に関しても問題なく表示されております。

何から何までご教授くださいましてありがとうございました!

drkさんへ

書き換え後、ちゃんと再構築で新しい情報が反映されるようになりました。

何度も何度もお手数おかけして申し訳ございませんでした。
大事に使わせていただきます。
ありがとうございました。

drkさん

ご回答ありがとうございました。パスはどっちでもいいのですね。安心です。

で、本命の方の質問なのですが、不明ですか……。XML/Simple.pmもちゃんと入ってましたし、謎です。エラーメッセージを検索エンジンで逆引きして、もう少し状況を調べて再度ご報告申し上げます。Perlのバージョンのせいで使えないコマンド(引数関係?)がスクリプトに入っているような気がするのですが、今の私にはそこまではちょっと分からないのです(^^;)

こんにちは〜。早速 MTWeatherJP.pl を書き換え、再構築で XMLファイルが
ちゃんと更新されてることを確認しました。どうもありがとうございました。

pino さん>どちらでもいいですよ。自宅サーバなら make install の方がスマートです。

さえらさん、sanntaさん>MTWeatherJP ver1系はアクセス負荷を下げるため、xmlファイルをローカルにキャッシュする仕組みになっています。
xmlファイルが生成されていること自体は正常な動作です。ただ、環境によっては日付処理がうまくいかないようです。その場合、MTWeatherJP.pl内を下記のように書き換えて下さい。
sub _load_cache {
my($args, $xmluri, $pref) = @_;
return '';
}

不破雷蔵さん>絶対パスは /??? でも http://??? でもかまいません。エラーについては分かり兼ねます。XML/Simple.pm は extlib にちゃんと入ってますか?

drkさん

先日質問させていただきましたpinoです。
早速のご回答、ありがとうございます。
そこで1点確認させていただきたいのですが
> XML::Parser をダウンロードして extlib へ追加してみて下さい。
というのは解凍したファイルをextlibへ置けばよいのでしょうか。
それとも「make install」すれば良いのでしょうか。
(自宅サーバなのでなんとでもなります)

基本的な質問で大変恐縮ではありますが、よろしくお願いします。

こんにちはー。今までは 再構築すると お天気の日付が更新されたのですが
再構築しても 更新されないことに気付きました。
↓ を読んでみると sanntaさんとまさに同じ状態のようです。
そこで、真似して MTのフォルダにできてる xml ファイルを削除した上で
再構築してみると日付が更新されました。
で、今はまた xml ファイルが 新しく自動でできてます。

MTWeather 遅ればせながら ヴァージョンアップさせていただきました。
ありがとうございました。

ログを再確認したところエラーが出てました。何かの不具合でデータを取得できないようです(*****は差し替えて隠してあります)。

Plugin error: *****/plugins/MTWeatherJP.pl Too many arguments for open at *****/extlib/XML/Simple.pm line 334, near "$filename) " Too many arguments for open at *****/extlib/XML/Simple.pm line 553, near ""$self->{opt}->{outputfile}") " BEGIN not safe after errors--compilation aborted at *****/extlib/XML/Simple.pm line 1550, chunk 1. BEGIN failed--compilation aborted at *****/plugins/MTWeatherJP.pl line 39, chunk 1.

はじめまして。不破雷蔵です。

設置挫折中ですが二つほどご質問を。
1:「imgpath="画像URL"」の指定が絶対パスとありますが、これはhttp://付の絶対パスでしょうか? それともサーバ上の絶対パスでしょうか?

2:特に変な変更はしていないのですが、どうもうまく表示がなされません。エラーは出ないのですが、再構築してもMTフォルダ内にxmlファイルが出てこないようです(データが取得されないので、結局表示されずに各種データ部分がブランク表示されてしまう)。

使用サーバはファーストサーバ、Perl:バージョン5.00503 / 5.8.5
SSI:利用可能 exec cmd:使用可能 Shell:利用不可 Cron:利用不可です。
MTのバージョンは3.17Jaです。

何か思い当たる点がありましたらご教授いただけると幸いです。

drkさんへ

サーバー移転完了してRebuildIndex.cgiも利用できるようになりました。
ありがとうございます。

coronも設定して自動再構築できるようになったのですが
今度は再構築しても更新されなくなりました。

「24.xml」などのファイルがmt.cgiと同じ階層にたくさん作られており
(たくさんの地域の設定をしているからなのですが)
このxmlファイルを手動で消さない限り何度再構築かけても天気情報が更新されません。
現状、毎日このxmlをファイルを消して再構築かけております。
(↓のdaylongさまと同じ状況なのでしょうか?)

念のためMTWeatherのスクリプトを何度もUPし直してはみたのですが
どうしても再構築かけるとxmlファイルが現れてしまいます。

サーバーを変える前はxmlファイルが現れることはありませんでしたので
サーバーが変わったことがなにか影響でているのでしょうか?
xmlファイルが出ないようにする対処法をご教授願えますでしょうか?
どうか宜しくお願いいたします。

pino さん>エラーの通り、XML::SAX or XML::Parser のいずれかが必要なのですが、ちょっとするとお使いのレンタルサーバに入っていないのかもしれません。

http://search.cpan.org/CPAN/authors/id/M/MS/MSERGEANT/XML-Parser-2.34.tar.gz

から XML::Parser をダウンロードして extlib へ追加してみて下さい。

drkさん

はじめまして。pinoと申します。
MTWeatherを導入してみたのですが、再構築時に以下のメッセージが表示されます。
---
XMLin() requires either XML::SAX or XML::Parser at MT/plugins/MTWeatherJP.pl line 234
---
対応策等、ございますでしょうか。
なお、MTのバージョンは3.2-ja-2、perlのバージョンは5.8.7です。
また、初期導入時にextlib/Unicode/RecursiveDowngrade.pmと
extlib/XML/Simple.pmがなかったため、2ファイルのみ導入しました。
お手数をおかけますが、よろしくお願いいたします。

drk様

早々にご対応いただきありがとうございました。早速新しいバージョンを試してみたところ、エラーが出なくなりました。
ただ、まだ情報の更新ができないのですが、こちらでタグの打ち間違いや記述ミスをしているかもしれませんので、確認してまたご報告させていただきたいと思います。
まずは御礼まで。

johohiroba さん>当該部分を修正しましたのでおためし下さい。

drkさんへ

基本的なことが理解できていなくて申し訳ございませんでした。

「MTのindex Rebuild自動化」にはCRONが使える環境でないとダメなんですね。
さくらのライトからスタンダードへ乗り換えますので
乗り換え後「MTのindex Rebuild自動化」にチャレンジしてみます。
ありがとうございます。

当サイトでもMTWeather使わせていただいております。素晴らしいスクリプトをありがとうございます。
スクリプトのバージョンアップにあたり、当サイトでも作業を行ったのですが、再構築の際
Use of uninitialized value in string ne at plugins/MTWeatherJP.pl line 104.
というエラーが出て、天気情報の取得ができない状態になっています。
104行目を見たところ、文字化けの場合に設定を変更するところのようでしたが、サイトでは文字化けはしていないようです。
お手数をおかけして恐縮ですが、修正方法等につきご教授頂けませんでしょうか。
よろしくお願いいたします。

sannta さん>MTWeather はMTのプラグインなので、MTを更新したときに”のみ”データが更新されます。従いまして、毎日データを更新したければ毎日再構築する必要があります。
MTの再構築を自動化する場合は
http://www.drk7.jp/MT/archives/000028.html
をご覧下さい。

drkさんへ

やっぱり毎日データ更新されません(涙)
しかしサイトを再構築すると反映されるようです。
これから毎日再構築させないといけないのでしょうか?
(毎朝自動更新されるものと思っていましたので・・・)

↓のdaylongさまの件と何か関連があるのでしょうか?

drkさんへ

相変わらず"28日 29日"と表示されていたので
PCのキャッシュをクリアしたらちゃんと反映されるようになりました。
もしかしたら毎日クリアしないといけないのかな(^^;
様子見ながら使わせていただきます。
ありがとうございます。

わざわざチェックに来ていただき恐縮です。その後は問題なく動作しています。ありがとうございました。自ブログの方にも返信をしてありますが、ご連絡まで。

sannta さん>正常に表示されているように見えますが、現在も不具合が発生しておりますでしょうか?

drkさん、初めまして。

MTWeatherを使いたいがために、悪戦苦闘してMTをセットUPしました。

MTWeatherを設置完了できたのですが、どうしても「大阪」の天気が反映されません。
試しに同じ設定でpref="●●"area="●●"だけ変更してみると
北海道・宮城県・群馬県・神奈川県・岡山県・福岡県・沖縄県
などではしっかり反映されておりました。

pref="●●"area="●●"以外は全く同じ設定で設置しているのに、
大阪・東京・愛知だけはデータが反映されないようです。
何故なのでしょうか?

リンク先のサイドにまとめて並べてみました。
よろしければご確認いただけましたら幸いです。


ラキッ! さん>ご報告有り難うございます。xml 側で対応しました。

埼玉県のような海のない"埼玉県""南部"などの地域設定の場合、
xml で などのように中身が無いとNot a SCALAR referenceに
なるようです。ひとまず $wave=""; としてみました。
参考になりましたら幸いです。

はじめまして。
こちらで公開されているXMLデータを、Flashで天気予報を作成する際に利用させていただきました。このXMLは気象庁から独自の手法でデータ化されているとのことですが、とても扱いやすく本当に感謝しています。これからもMTWeatherの開発等、頑張ってください。
少々場違いですが、報告させて頂きました。ありがとうございました。

早速のご返答ありがとうございます。
改めてアップグレードし直してしばらく様子を見てみることにします。

daylong さん>バージョン管理を失敗してしまい、同じバグを再度混入させてしまいました。現在修正済みです。

いつも重宝させていただいています。
MTWeatherをアップグレードさせていただきました。
ところが、一定間隔が経つと更新が止まってしまいます。
MTのインストールフォルダに生成されるxmlファイル(キャッシュ)を
手動で削除してあげると再度更新がされるのですが、一度キャッシュが
生成されるとまた更新が止まります。このままでは毎回削除をしないと
更新がされないような状況なのですが、何か原因と対処法が考えられましたら、
ご教授願いませんでしょうか。
宜しくお願いします。

はじめまして。
pref="沖縄県"でarea="宮古島地方"とすると

Not a SCALAR reference at /usr/local/lib/perl5/site_perl/5.8.4/i686-linux/Jcode/Unicode.pm line 64.

というエラーメッセージが出てしまうのですが、
何か原因はあるのでしょうか?
その他は全てうまくいっております。

マコ さん>bug報告有り難うございました。実は、気象庁のサイトって内部のhtmlを微妙に修正しまくりで、突然に値が取得できなくなる場合があるのですよ。

今後も同じようなことが考え得るので、値がおかしいなという場合はご報告頂ければ幸いです。

お世話になっております。
pref="東京都"/area="東京地方"で1週間動作させていますが、本日の最高気温が1度も表示されません。(以前は表示されました)
xml書類を見ると、東京都の他の地方(小笠原諸島、伊豆諸島南部、伊豆諸島北部)では本日の最高気温が取得されていますが、東京地方だけ取得されていないようです。
これは仕様なのでしょうか。
よろしくお願いいたします。

drkさん>
えっと、本日「Perl 5.6.1」「Perl 5.8.7」どちらでも正常に情報を取得する事ができました。ありがとうございました。

原因は、タグでした・・・;
どうも私の環境では、天気画像の<img>タグを設定する時に、alt属性にタグが設定されていると文字化けするみたいです。
「Perl 5.8.7」の方で正常に表示されるのは何故なのかよくわかりませんが・・・。

0.0x系の天気画像のタグサンプルが
<img src="<$MTTodayGifEx$>" width="25" height="15" alt="<$MTToday$>">
1.0系の天気画像のタグサンプルが
<img src="<$MTTomorrowGifEx$>" width="25" height="15" alt="<$MTWeatherDetail offset="1"$>" />
となっておりましたので、画像を設定する時は alt属性を指定する事が必須だと思い込んでました・・・。

<$MTWeatherImg offset="0〜6"$>
で設定できる事を知り、やってみたら正常に表示されました。

いろいろとお騒がせ致しました。ありがとうございました。

Drkさま
 itaです。どうもPerl5.6.1の問題のようなので、こちらでもMovable Typeだけ Perl-5.8.6 を見るようにしたところ、問題なく使えるのを確認しました。
 この後、他の問題が出ないようなら、この環境で試用してみたいと思います。いろいろめんどくさい対応などしていただき申し訳ありませんでした。

旧バージョンが使えず、おや?と思っていたんですが、tenki.jpのリニューアルだったんですね。今まで文字化けで使えなかったんですが、今回のバージョンは問題なく表示できてました。すばやい対応に脱帽です。ありがとうございましたっ。

こんにちは。
9/2に不具合報告をしました、マコです。
昨日、アップデートされたデータに置き換えたところ、無事表示されるようになりました。
ありがとうございます。
ただ少し気になるのは、最新情報を入手するタイミングが前回より遅くなったような。(これは情報元によるものですかね)
それと、気温の表示ですが、前回の場合、本日の気温情報がないときは「--」と表示されたと思いますが今回は出なくなりましたね。
あと気温の単位も前回は自動的に「℃(だったかな?)」と出ていたのが出なくなりました。
まぁ気にならない程度のことですが、一応ご報告です。

drkさん、早速のご対応ありがとう御座いました!
HNStenkiJP添付モジュールの方も更新させて頂きました。
これからもよろしくご指導くださいませ!
http://x68k.net/nagai/pukiwiki/index.php?docs%2Fhns

ラキッ! さん>typoしてました。ご報告有難う御座います。修正済みです。

今朝、表示が更新されていないのに気付いたのですが、キャッシュ制御の時間比較のところを
http://x68k.net/diary/?200509a&to=200509051#200509051
↑のようにしてみました。
もしも参考になりましたら幸いです。

始めまして。
今までこちらの「MTWeather」を利用させて頂いておりました。
最近、表示されなくなったのでこちらのHPを参照しましたところ、Ver UPと言う事で早速、対応してみました。
特に問題も発生せず、スムーズに移行出来ました。
これからも宜しくお願いします。

Drkさんこんにちは。

2日間ヤボ用があってこちらにアクセスしてなかったのですが、いつのまにやらコメント数が倍に増えてますね。
バージョンもあがっていてびっくりです。

そんなわけで、さっそく試してみましたところ、2サイト中片方は無事に表示されるようになりました。
ありがとうございました。
もう片方のサイトでも、天気予報は正常に表示されるようになりましたが、他の文字が化けます;;
ざんねんながら、「utfflag="0"」も効果はありませんでした。文字化けしていても、設定画面などには問題はありませんでした。
現在はプラグインを削除することで回避しています。

そんなわけで、2つのサーバの違いを確認してたところ、perlのバージョンが違ってました。文字化けする方は、「Perl 5.6.1」正常に動作している方は「Perl 5.8.7」でした。ちなみに、この2つのサイトは全く同じ構成でつくられていますので、絡んでいるのかな〜なんて考えています。何かの参考/ヒントになればと書き込んでみましたが・・・このあたりの知識は素人に近いので、参考になるかどうか・・・^^;

Drkさま
 1.07 の 13:31版で試してみたところ、perlでエラーが出なくなり、xml も拾ってくるようになったのですが、文字化けは直りませんでした。
 今回は、テンプレート中でコメントしても、文字化けのせいなのか途中からコメントが効かなくなってしまったため、テンプレートから外してあります。

Drkさま
 早朝の対応まことにすみません。
 試してみたのですが、文字化けはしないのですが、xmlを取得してこないようです。perl MTWeatherJP.pl してみると、
Global symbol "$date" requires explicit package name at MTWeatherJP.pl line 452.
Execution of MTWeatherJP.pl aborted due to compilation errors.
というエラーが出ています。
 お手数おかけして申し訳ありません。

ita さま>対応致しましたので、お試し下さい。

Drkさま
 itaです。extlib の中の Drk/Date.pm を入れた時点で、化けてしまうようです。xml の中身は、utf-8 で書かれているようなので、そこからの変換がおかしくなっているのでしょうか。
 こちらの環境は、mt を EUC-JP で動作させていて、perlは、5.6.1 です。

Drkさま
お手数おかけします。NoXS.pm は、存在していたのですが、やはりエラーが出るようですので、extlib側のJcode/ Jcode.pmを削除しシステム側のJcode.pm を使うようにしました。これで、mt.cgi での管理画面が出るようになりました。
1.これで、utfflag="1" で を再構築したのですが、文字が化けました。しかし、xml の内容は拾ってきているようで天気の絵も降水量も数字で表示されています。
2.なぜだか、MTWeather をコメントアウトしても文字が化けるので、extlibを、オリジナルのものに戻し、utfflag="1" で再構築しました。文字化けは無くなったのですが、MTWeather で拾ってくる値が何も出なくなってしまいました。

はじめまして。
以前のバージョンを愛用させて頂いてましたが、9/1より表示されなくなったので、新バージョンをご指定通りに設置しました。
残念ながら、ともさん同様に天気情報が表示されません。
抜かりはなかったか確認し、再構築も3回しましたがダメです(泣)
MTディレクトリに「13.xml」という書類が吐き出されているので、プラグインは動いているようなのですが。
環境は以下の通りです。

サーバー:ロリポップ
MTバージョン:2.661
文字コード:UTF-8
出力ファイル:php

それと、<使用例1>に書かれているタグ、
$MTTomorrowGifEx$、$MTTomorrowMax$
などは以前のバージョンのものですよね?
$MTWeatherImg offset="1"$、$MTTempMax offset="1"$
こちらの新しいほうにしてみてるんですが・・・ダメです。
utfflagの指定をしてみてもダメです。
その他、Jcode.pm等の変更によるエラーは今のところ出ていません。

解決策等おわかりになりましたらよろしくお願い致します。

■追伸
Macのsafariだと、こちらのコメントが読めません(泣)
クリックでの折りたたみが効いてないようです。
なのでFireFoxで書き込んでいます。

う〜ん・・・どうやらutfエンコードを実行するかしないか自動判定で環境によってはうまくいかない場合に、utfflag オプションでエンコードを無効化するってのが良かったみたいです。

ちゃんと表示されるようになる人が増えて嬉しいです。
utfflag を設定しても動作しない人は、引き続きレポート頂けると助かります。

ita さん>Jcode::euc_utf8 となってしまうと言うことは、Jcode\Unicode\NoXS.pm ってファイルが upload されていない可能性があります。もともとの環境にJcodeが入っている場合は、MTweatherに付属しているJcodeは削除頂いても構いません。それでも動作すると思います。

MTWeatherは以前のバージョンからありがたく使わせて頂いております。
作者のdrkさんには心から感謝しています。
当方の日記システムはhns(ハイパー日記システム)なので少し変更を加えて
使わせて頂いております。(未完成)
http://x68k.net/diary/?200509a&to=200509031#200509031
これからもdrkさんの素晴らしい活動に期待しています!

もうバージョンアップされたのですね。すごいです。
早速試そうと思って設置して確認しようとしたら、
mt.cgi で管理画面に入ろうとするところで、
Got an error: Undefined subroutine &Jcode::euc_utf8 called at /usr/local/apache/htdocs/mt/extlib/Jcode.pm line 496.
となってしまいました。この現象は、今回のものだけではなく以前のものも同様でした。extlib から、Jcode.pm と Jcode を外したら管理画面に入れるのですが、それでは意味がないですよね。こちらは、自サーバなので、確認できるところは、確認できますのでもし情報が必要な場合はおっしゃってください。

1.0x系は今まで正常に動作することは無かったんですが、utfflagを指定したところうまく動いてくれました。

はじめまして、ぽこちきと申します。運よくMTWeatherと出会い、前バージョンより試験的に使用させて頂いておりました。

8月の終わりから本格運用にしたとたん、tenki.jpのリニューアルとともにVerUpのお奨め。早速Ver1.04に変更したところ、↓の方と同様に情報を表示しません。
以前Ver1.02で試した時にはうまくいきましたが、その後旧バージョンに戻してしまった為、ファイルは消してしまい今では試すことができません。

MTのログには何も吐き出されておりませんが、ひとつだけ、管理画面のファイルのアップロードが500(内部サーバー)エラーで実行できなくなるようです。正確には、ファイルはアップロードされるのですが、その後のサムネイル等指定する画面がエラーとなります。
MTWeatherJP.plをVer0.07に戻したり、MTWeatherJP.plそのものをpluginから削除するとエラーは出なくなります。ということは、内部処理と衝突しているのでしょうか?

情報のご提供など、わかる範囲でご協力させていただきたいです^^ (レンタルサーバなので限界はありますが...)

長文大変失礼いたしました。

drkさん>
お返事ありがとうございます。
っということは、一応動作しているんですね。
・・・なぜ表示されないのか;;

実は、ver.1.03(ver.1.02だったかも・・・)を試した事があるのですが、この時は文字化けして、できなかったんです。
その時は旧バージョンで十分だったので、すぐに元に戻したんですけど。

タグの間違いも疑ったのですが、使用例を丸ごと使っても表示されず・・・。
Movable Type 3.17-ja で利用していますが、MTのログには何も表示されていません。レンタルサーバなので、サーバのログも見る事ができずです。

また、時間を見つけて試して見ますね。

コメントいただきありがとうございます。
移転前のサーバーでは旧バージョンで動作しております。
http://www2.big.or.jp/~surf/

ということはサーバー環境の問題でしょうか?
さくら
プラン:スタンダード
http://www.sakura.ne.jp/

自分なりにいろいろ調べてみます。

んぱ さん>サーバのエラーログとかにエラーが出力されたりしていましたら、教えて下さい。

とも さん>正常動作です。xmlを毎回このサイトに問い合わせにくると大変なことになるので、1日に1回、初期アクセス時にローカルに保持する仕組みになっています。その他、エラー情報があれば教えて下さい。

※MT3系をお使いの方は、MTのログにエラーが出ている場合もありますので、出ていたらエラー内容を教えて頂けると助かります。

はじめまして。前バージョンからMTWeatherを使用させて頂いておりました。
今回、ver.1.00にバージョンアップという事で、早速アップデートさせて頂きました。
しかし・・・文字化けはしませんが、天気情報が表示されません。
ちなみに、再構築するたびに設定した地域(pref)に該当するXMLファイルがMTがインストールされたフォルダ(index.htmlがあるフォルダ)にダウンロードされているのですが・・・これは正常動作でしょうか。
いろいろ試していますが、原因がわからず・・・。
何か解かる事がありましたら、ご教授下さい。よろしくお願いします。

本日ver 1.00にアップデートしましたが、Shouさんと同じように動いている気配がありません。
Movable Type 3.17-jaを使用しております。

>shouさん
ページの案内にありますように、前のバージョンでは、8/31というか、9/1までは動いてました。9/1の昼間に、tenki.jp が大幅リニューアルされてというよりも、完全書き換えに近い状態になっているので、0.0系は、動作しなくなっていますので、1.0系で動作させるしかないと思います。今のtenki.jp に合わせて、改訂しても、HTMLの情報から取ってくる限り、ページデザインを改訂されると、また改訂が発生してしまうので、1.0系の xml 情報から拾ってくるというのは、正しい方向だと思います。
問題は、ちょいとこちらの環境が悪いせいか文字が化けてしまうところなのですが、これに関してこちらの環境を合わせるかどうしようか悩んでいます。

はじめまして。
MTWeatherを使用させていただいているんですが、
本日MTWeatherが動かなくなっている事に気づきこちらのを見たらアップグレードしていたのを拝見し変更したのですがやはり動いている気配がありません。
今日の朝までは前のバージョンでですが動いていたのですがなぜでしょうか?
ご教授おねがいできないでしょうか。
よろしくお願いします

1.0系は、気象庁に対応しているので、tenki.jp に関係ないのですね。すばらしいです。設置してみたところ、dump.log には、日本語の化けもなく正常に変数が格納されているようですが、ページが盛大に化けてしまいました。
もっともこちらの環境は、FreeBSD 4.10 で perl 5.6.1 という相性がいいとは思えないような環境です。化けたので、MTWeather を外しても化けたままなのであせりましたが、Jcode/ Jcode.pm を削除したところ復帰しました。
Jcode.pm を使って、Drk/Date.pm にいったところで、locale に ja_JP という
のが システムに存在しないというエラーが返っています。こちらのシステムでは、確かに locale は ja_JP.EUC です。時間が取れたら、再度チャレンジしてみたいと思います。

コメントする

CONTACTご相談・お問い合わせ

drk7.jpでは、小規模な CGI 開発から技術支援まで幅広くご相談にのります。

ご相談・お問い合わせはこちら からお気軽にどうぞ。

ページのTOPへ

Copyright © drk7.jp, All Rights Reserved.