Page Top

2013年はアメリカ・カナダで小麦・コーン関係食料品価格平均4%上昇の見込みーアメリカ中西部大旱魃の影響で

August 14, 2012

大旱魃が始まっていますね。アメリカの中西部を中心に大旱魃が起こっており、とうもろこし畑や大豆畑などの穀物が影響を大に受けているようです。来年2013年のこれら穀物が関係する食品などは、アメリカ・カナダにおいて平均して4%の価格上昇が見込まれるだろうとニュースで言われていました。

アメリカの中西部から少し上に上ったカナダのサスカチュワン州などはこの旱魃の影響を受けそうでしたが、幸いにも雨が降ってくれたお陰で、今のところ穀物には影響していないようです。穀物不足+価格上昇なので、これはある意味カナダの農家さんにとってはプラスということになるようです。

しかし、今年の春あたりはカナダの東部やBC州ではFloodが起こったり、ランドスライドが起こったりしていましたので、天候を軽んじることはできません。グレーターバンクーバーを通るフレイザーリバーも今年はかなりやばい水位を記録していました。サウスバーナビーに行くとフレイザーリバー沿いのパークに行けるのですが、水位がもうすぐそこな感じでした。あの辺りは家族経営のファーミングランド、もしくはビジネスパークになっていて色々な企業のオフィスや倉庫が立ち並んでいますので、もしも水位が上がったら結構大変な事になるのだろうなと感じました。

今はまだ目に見えた影響は出てきていませんが、これから少しずつ私達の実生活にジリジリと影響を及ぼしてくるのでしょうね。日本は今円高なのでまだ良い状況なのかなと思います。それにしても、今年も日本人のお米離れが進んだらしいです。パン食が増えたのでしょうか?私はパンよりもご飯が好きなので今でも毎日ご飯は食べています。ストックとして買っていたお米があるので、消費しないといけないのですが。。新しいストックのお米も購入しておきたいですし。。玄米も沢山買っておいたのがあるので、あれも発芽玄米にして食べなきゃなのですが~。まぁ、耳を傾け、想像し、それに対して行動していれば、少なくともキリギリスにならずとも済むのかな?あまり自然を怒らせないようにしないと大変ですね。くわばらくわばら。

下のビデオは、先月発生したBC州Johnsons Landingでのランドスライド発生模様を撮ったビデオ。危機一髪です。でもこのランドスライド結構大きなスライドで何名かの方々が家を潰され亡くなられました。ご冥福をお祈りしたいです。

Movable Type(MT)のスタティックパブリッシングとダイナミックパブリッシングにおけるコードの読み込まれ方の違い~その2ー自分用覚書

August 13, 2012

前回の「Movable Type(MT)のスタティックパブリッシングとダイナミックパブリッシングにおけるコードの読み込まれ方の違い~その1ー自分用覚書」では、表面的に明らかに出てきたエラーを2点ご紹介しました。その後、更にサイトを検証していきますと、5点ほど表示がおかしな点が見つかりました。(MT5.14にてです。)

1)タグクラウドのリンクをクリックすると、エラー「ブログ(ID:children)をロードできません。」が出てくる。
2)カテゴリアーカイブのページに居る時、サイドナビゲーションにあるブログの最新記事のタイトルとリンクが表示されず、日付は出てくるが何故か全てその日の日付になっている。
3)カテゴリアーカイブのページとウェブページに居る時、アイテムが表示されない。
4)ウェブページに居る時、サイドナビゲーションにあるブログの最新記事のタイトルがブログの最新記事のものではなく、そのブログに属するウェブページの最新記事になっている、が、それぞれのタイトルのリンク先は全て今居るウェブページへのリンク先になっている。
5)サイドナビゲーションにあるウェブページのところで、指定したシークレットタグを充てたウェブページのタイトルとリンクは表示しないようにしているのに、なぜかそのシークレットタグが付いたウェブページのタイトルとリンクを表示してしまう。

これらの現象を1つずつ確認していき、5点中3点を解決することが出来ました。
まずは、解決できた3件について。

2)カテゴリアーカイブのページに居る時、サイドナビゲーションにあるブログの最新記事のタイトルとリンクが表示されず、日付は出てくるが何故か全てその日の日付になっている。
3)カテゴリアーカイブのページとウェブページに居る時、アイテムが表示されない。
4)ウェブページに居る時、サイドナビゲーションにあるブログの最新記事のタイトルがブログの最新記事のものではなく、そのブログに属するウェブページの最新記事になっている、が、それぞれのタイトルのリンク先は全て今居るウェブページへのリンク先になっている。

これらのいずれも下記のコードの書き方が影響していました。

<MTArchiveList lastn="5">

これを下記のようにしたら良くなりました。

<MTArchiveList lastn="5" archive_type="Individual">

具体的にarchive_typeを指定してあげないと、ダイナミックパブリッシング下ではアーカイブのタイプを認識できないようです。

また、解決していない1)と5)について。
1)については、下記のコードを指定していたのですが、

<MTTags type="entry" top="20" include_blogs="children">

どうも、この include_blogs="children"(siblingsでも同じ症状)が読み込めていないようです。childrenの代わりにブログのIDを直接記入すると大丈夫でした。

5)については、下記のコードを指定していたのですが、

<MTPages no_folder="1" tag="NOT @freearea_side">

どうもこの「NOT」が効いていないようで、@freearea_sideを表示したくないのに、このシークレットタグが付いたウェブページが表示されてしまう結果となっていました。逆にこの@freearea_sideがついていないウェブページは表示されませんでした。本当はこちらを表示したかったのですけれど。。

ということで、1)と5)については、タグ自体の不具合ということで、Movable Typeさんに不具合の報告を行いました。次は、MT5.2のベータ版の方で確認しようと思います。

う~、なかなか先に進めないです~。気合~~~。

テキストエディタ EmEditor

August 10, 2012

私はWindows使用でテキストエディタはHomeSite(当初はマクロメディア社開発→アドビ社買収→2009年に開発終了)という随分と古いテキストエディタを学生時代から今まで使っていたのですが、数週間前、開発中のテーマのあるCSSファイルが2300行を超えた辺りから、いつもの挙動不審(UTF-8で保存してファイルを閉じると、次にファイルを開いた時、データが最初の数行だけでそれ以外のデータが全部なくなっている)が始まり、以前もこの問題に遭遇したことがあったので、いつものようにファイルをとりあえずANSIにして保存をしましたが、今回のcssファイルでは何故か先頭に入れた文字コード宣言とファイルを指定の文字コードで保存することがうまく行かず、文字コードの読み取り問題とデータの消失が継続したので、新しいテキストエディタを探す旅に出かけました。

ちなみにHomeSiteは英語版を使っていたのでエディタ上では日本語が文字化け状態で常時表示されていました。それをこの10年以上も使っていました。それをどうやってテーマ開発中のMovable Typeのテンプレートに貼り付けていたかと言いますと・・、HomeSiteで作成したコーディングをCtr+Cでコピーして、それを一旦Dreamweaverにペーストし(Dreamweaver上ではSHIFT_JISの文字コード設定をしておきます)、日本語の部分がちゃんと変換されたものを、Movable Typeの画面に貼り付けていました(でも、Movable TypeのファイルはUTF-8で作成なので、ファイル自体はUTF-8です。)毎回毎回コードを作成・修正するたびにこの作業なので、時々訳ワカメになってしまうこともあったりだったのですが、HomeSiteが軽くて、文字コードの意味でも安定した使いやすいエディタだったので、これをずーっと使っていたのでした。結構ガラパゴス化していました。でも、本当に必要な機能が揃ったエディタだったので変えたくなかったのですが、なにせアドビの開発自体がTHE ENDなのでどうすることもできません・・。なぜあんなにも優れたテキストエディタの開発をTHE ENDにしちゃったのでしょう・・。まぁ、Dreamweaverがあるからでしょうが。Dreamweaverとは異なるテイストなので継続してもらいたかったです。それか、もう開発しないのであればオープンソースにしてくれたら良かったのにな、などというのは、他の人も同じ思いだったみたいです。。

Dreamweaverはウェブ制作者の定番ですが、私が持っている古いDreamweaverは、時々文字コード変換が変な感じで安定性に欠け(私が貼り付け用で使用する以外は)、最新版のDreamweaverをお試しでダウンロードしてみましたが、さすがに私の古いノートパソコンには重すぎたようで、うんともすんとも動かず即コントロールパネルの削除のところからプログラムを削除しました。そうしましたら何故か古いDreamweaverまでもが動かなくなってしまい、泣きっ面に蜂。パソコン自体を工場出荷状態にまで初期化して、またDreamweaverを入れることもできますが、HomeSiteもこんなだし、Dreamweaverも古いのでそこまでして使うほどでもないと感じ、新しいテキストエディタ探しに出かけたのでした。

そこで見つけたのがいくつかあり、タイトルにあるEmEditor Professionalというのが一番HomeSiteの仕様に近く、と言っても、同じような初期状態にするのに、設定を色々変更したりプラグインを入れなくてはならなかったのですが、エンジン自体が軽く、文字コードの取り扱いも安定しており、HomeSiteで保存できなかった2000行以上のUTF-8のCSSファイルも問題なく保存&Openできましたし、HomeSiteのエディタ上でずっと文字化け状態で見えなかった日本語もちゃんとエディタ上で読めるようになりましたし、なにしろ、そのエディタ上で編集したコード(UTF-8ファイル)をMovable Typeに直接ペーストしても日本語が文字化けを起こさないのが良かったです。ちなみにEmEditor Professionalは有料(4,200円)ですが、フリー版もあるようでそちらも試してみましたが、使いたいような機能が使えず、やはりEmEditor Professionalにしました。他にもフリーウェアのテキストエディタがあり、2つほどインストールして使ってみましたが、文字コードの問題があったり(エディタから直接Movable Typeにペーストすると文字化け)、機能が不足していたり、ライセンスの問題(フリーウェアなので必ずリンクウェアだったり)で、やはり使えませんでした。

1つEmEditorさんにリクエストがあるとすれば、指定フォルダ配下の検索結果をアウトプットバーに表示できるのですが、この検索結果に表示されるファイルへのディレクトリが長いと自動改行で2行になってしまい、ダブルクリックしてもそのファイルが開けない状態になるので、できれば2行にせず、アウトプットバーにスクロールバーを出す事で1行に抑えてくれるとリンクが効いてありがたいのでした。これだとHomeSiteと同じような仕様になります。

ちなみにCodaというエレガントなテキストエディタがあり巷で人気のようなのですが、今のところMac版だけのようで、残念。Windows版も作ってくれたら使ってみたいなぁ~と思いました。

Movable Type(MT)のスタティックパブリッシングとダイナミックパブリッシングにおけるコードの読み込まれ方の違い~その1ー自分用覚書

August 06, 2012

Movable Type(MT)でダイナミックパブリッシングが出来るようになりましたので、テーマを充ててみたのですが、スタティックパブリッシングではOKだったものが、ダイナミックパブリッシングの時では、コードの読み込まれ方が異なるようでエラーが発生するのを2点ほど見つけました。

Fatal error: Smarty error: [in evaluated template line 145]: syntax error: unrecognized tag 'mtusersessionstate' (Smarty_Compiler.class.php, line 580) in /home/xxxxx/public_html/xxxxx/xxxxx/xxxxx/php/extlib/smarty/libs/Smarty.class.php on line 1095

mt_dynamic_smarty_error.png

当初このエラーを見てもどこに原因があるのか良くわからなかったのですが、どうやらヘッダーモジュールに以下のように各アーカイブテンプレート用の<script>~</script>をまとめて記載している箇所があるのですが、これが問題だったようです。

<MTIf name="page_template">
 <script type="text/javascript">
  ~~~~
 </script>
</MTIf>

<MTIf name="comment_preview_template">
 <script type="text/javascript">
  ~~~~
 </script>
</MTIf>

これらのコードを一旦削除して更新するとエラーは消え、サイトが表示されるようになりました。ですので、これらのコードは、Movable Type(MT)のデフォルトテンプレートのように関連する各テンプレートに直接記述するか、<script>~~</script>の部分を1つずつモジュール化してウェブサイト側にまとめ、例えば次のようなブロックタグ<MTIf name="page_template">~</MTIf>で判別して読み込みを行う(ブログから読み込む場合は、マルチブログで読み込み)か、になると思います。(私は後記の方法=ウェブサイト側にモジュールとして一箇所にまとめ、利用する時はインクルードでモジュール化したコードを読み込む事で、他ブログからでもマルチブログのインクルードを使ってコードを再利用する方法にしました。)

error in template: mtif found but mtelseif was expected

が、今度はサイドナビゲーションが消えていました。先ほどのような大きなエラーメッセージはなかったのですが、サイトの下の方に「error in template: mtif found but mtelseif was expected 」というエラーメッセージが小さく表示されていました。サイドナビが表示されていないので関連のあるテンプレートはサイドバー用のテンプレートかと思いきや、コーディングの順序でサイドバー用のコードが来る前のパンくずナビ用のテンプレートのところでエラーが発生しているのがわかりました。メッセージのとおり、MTElseIfに関係があるようなのですが、MTElseIfのクロージングタグがmissingなのかな?と思いましたが、ちゃんとクロージングタグはあるし、見たところ問題はなく、スタティックパブリッシングではOKなので余計に訳がわからなかったのですが、どうも、次に表す「駄目な例」の書き方が、ダイナミックパブリッシングでは読み込めない?ようです。スタティックではOKです。

◆駄目な例
<MTIf>
<MTElseIf>
<MTElse>
 ~~~
</MTElse>
</MTElseIf>
</MTIf>

◆OKな例
<MTIf>
<MTElseIf>
<MTElse>
 ~~~
</MTIf>

ということで、上記の「OKな例」のような記述にしたところ、問題はなくなりました。ちなみに、なぜかMTElseIfだけが問題で、MTElseの分は前の書き方のままでもOKでした。とりあえずは、今のところこの2点がスタティックパブリッシングとダイナミックパブリッシングにおける違い(?)のようです。私のテーマにおいて、の話ですが。忘れないように自分用覚書です。

Movable Type (MT) ダイナミックパブリッシング エラー 500 Internal Server Errorとページが見つかりません。

August 03, 2012

今回重い腰を上げ、本格的にMovable Type(MT)のダイナミックパブリッシングにチャレンジしようと頑張ってみました。「500 Internal Server Error」と「ページが見つかりません。」のエラーが発生し、途中でちょっとやっぱり私の環境では無理なのかな・・と思ったりしたのですが、無事にダイナミックパブリッシングが出来るようになったので、忘れないように自分用覚書です。解決法は意外と簡単だったのですが、それにたどり着くまでに2日もかかってしまいました。。

500 Internal Server Errorとその対処法

まず始めに、今回ダイナミックパブリッシングを行うにあたって、新しいデータベースとフレッシュなMovable Type(今回使ったバージョンは5.14です)を用意しました。いつものようにインストールし、ユーザー情報の設定やFirst Websiteの設定などを行いました。そして、ダイナミックパブリッシングを行うのに、ウェブサイトテンプレートの管理ページにアクセスし(左ナビのデザイン>テンプレート)、ページ右側にある「公開プロファイルを設定」をクリックし、ダイナミックパブリッシングを選択しました。そして、確認が終わると共に各アーカイブテンプレートがダイナミックパブリッシングに構築され、ウェブサイトを確認したところ、「500 Internal Server Error」が出てきました。

mt_dynamic_publishing_500.png

・エラーにおいて参考にしたMovable Typeのドキュメント

(上記のドキュメントを参照後)結局・・ってかなり話を端折ってしまうのですが、私の場合、.htaccessもちゃんと動作していたし、IISでもないし、サーバ会社さんに確認して、.htaccess の内容の修正も無かったですし、結局何が、と思ったらパーミッションの問題でした。Movable Type(MT)の管理画面で指定して作成されたウェブサイトのフォルダのパーミッションを、MTが自動で設定する「777」から「755」に変更しないといけなかったのでした。理由はサーバ会社さんの環境がsuPHPを採用していたからでした。(ちなみに、ダイナミックパブリッシングによって作成される、ウェブサイトフォルダ配下の「templates_c」というフォルダに対するパーミッション変更はせずとも動いているので、この分はMTデフォルト設定の「777」のままにしています。)

「ページが見つかりません。An error occurs.」のエラーとその対処法

次に、パーミッションを変えてサイトは無事に表示されるようになったものの、「ページが見つかりません。An error occurs.」というエラーが表示されるようになりました。しかも入れ子のエラー表示です。

mt_dynamic_publishing_error.png

これも結局話を大きく端折りますと(色々長い話があったのですが・・)、First Website 配下のブログを作成していなかったから「ページが見つかりません。An error occurs.」のエラーが発生していたのでした。なんと!!(これを見つけるのにかなりの時間がかかったのです。。)ウェブサイト配下のブログを作成して、ウェブサイトの方のダイナミックパブリッシングを再度確認したら、タラ~ン無事にサイトが表示されるようになりました!(ブログの方もウェブサイトの時と同じようにフォルダのパーミッションを「777」から「755」に変更します。)

mt_dynamic_publishing_fine.png

これで私が利用させていただいているアメリカのホスティング会社さんのシェアードサーバの環境でもMovable Type(MT)のダイナミックパブリッシングを行うことが出来るようになりました。今は、ダイナミックパブリッシングにおけるコードの書き方がスタティックパブリッシングの時とちょっと違うようなので、その確認中です。これで開発時間がかなり短縮できそうです。頑張ります。ちなみに、MTでダイナミックパブリッシングにしても、拡張子は.htmlのままでもOKなのですね。これは便利~。