Ellinikonblue.net Devlosxom

ここはまだ壮大な夢の途中…

Posted on Jul 15, 2007 at 00:46

asin_complex プラグインアップデート

 一ヶ月くらい前の話になるのですが、 asin_complex plug-inAmazon.co.jp の 商品画像へのリンクを作成する際、失敗することが目立って多くなっていることが 気になり始めました。

 これまでも商品画像が落ちることはあって、それなりに対策は打っていたのですが、 どうもこれまでとは違う「新商品でかつ商品画像が登録されていない 製品のものに限って落ちる」という規則性があることに気づきました。
 よくよく調べてみると、これまでは商品画像がまだ登録されていない新商品には、 ダミーの商品画像への URL が XSLT の問い合わせで返ってきたのですが、 新製品に関しては全く画像への URL を返さないようになっていました。 いつから仕様が変わったのかわかりませんが、 直近で登録されている商品については、 商品画像が登録されるまでは商品画像への URL は何も返さないようです。
 これに対しての対策と、商品画像があってもうまく判別できないことがあったので、 以下の対策を施しました。
  1. 問い合わせの結果で商品画像の URL を返さないときの処理を追加
  2. 商品画像の確認は 5 秒おきに 5 回までリトライを行って、成功した時点で 商品画像への URL を確定する
 半月くらい試した結果、安定性も向上したように思いますので、 Ellinikonblue.com PukiWiki でも 公開することにしました。 もしご使用の方がいらっしゃいましたら、アップデートをご検討ください。

Posted on Jun 12, 2007 at 22:23

地図系ウェブサービス API まとめ

「 ぐるなびが API 公開、全国約 4 万件の飲食店情報が利用可能に」CNET Japan より)

 エントリを書いている際、まれに地図情報が必要になるときがあるので、 そのうち何らかのサービスもしくはその API を利用して、 blosxom のプラグインをでっち上げたいと思っています。
 いつかその日がきたときのために、 ちょっと今現在気になっている地図系ウェブサービスを整理しておきます。
Posted on Jun 07, 2007 at 00:27

デフォルトスタイルの差異をなくす CSS

3ping.org 「 デフォルトスタイルの差異を無くす CSS 」

 blosxom の フレーバーを作るときなど、結構重要なテクニックになるそうな予感 (._.)φ

【ネタもと】
Posted on Jun 04, 2007 at 22:16

asin_complex ライクなものを作るためのネタ

「 バリューコマース、商品検索 API サービスをバージョンアップ -- システムも増強」CNET Japan より)

 blosxom で エントリ中で取り上げる商品をアフィリエイトと連携させたい場合、 意外に多そうでそうでもない Amazon.co.jp だけでは、 商品ラインナップとして物足りなさを感じることがあります。  楽天 API や、 バリューコマース ・ウェブサービス 2.0 などで、 asin_complex プラグインみたいなプラグインを作り込めないか研究したいと思っていますが、 やるとしたらちょっとまとまった時間が必要っぽい。
 asin_complex も 相当、手こずりましたし。。。
Posted on May 05, 2007 at 13:52

gin プラグイン仕様 v2007.5.4

 blosxom における エントリのメタ情報を一括してインデクシングするプラグインを こつこつ作っていました。 gin(Generate INdex) プラグインと命名しました。 ジン (gin) は様々なカクテルのベースになるお酒なので、それにちなんでみました。
 この gin プラグインが、ある程度形になってきましたので、 とりあえずここまでの仕様とまとめておきます。
  1. エントリの分類(カテゴリ)、エントリ日時を一括してインデクシングします
  2. インデクシングされた情報は JSON 形式で出力されます
  3. エントリの分類情報で、子カテゴリ数を親カテゴリに含めるかどうかは、 このプラグイン内で設定します
  4. エントリの分類名に対するエイリアス(別名)は、このプラグインが出力する JSON ファイルに記述します
  5. gin プラグインが出力する JSON ファイルを元にする archives/categories プラグイン互換のプラグインを用意しました
    (現在このページで使用中)
 分類情報の JSON ファイルは以下のようになります。
{
	{ "directory": "/home/public_html/devlosxom/data", "count": 7 },
	{ "directory": "/home/public_html/devlosxom/data/About", "count": 2, "alias": "このブログについて" },
	{ "directory": "/home/public_html/devlosxom/data/Doc", "count": 4, "alias": "ドキュメント" },
	{ "directory": "/home/public_html/devlosxom/data/Doc/Idea", "count": 1, "alias": "アイデア" },
	{ "directory": "/home/public_html/devlosxom/data/Plugin", "count": 1, "alias": "プラグイン" },
	{ "directory": "/home/public_html/devlosxom/data/Plugin/Spec", "count": 1, "alias": "仕様" }
}
 エントリ日時情報の JSON ファイルは以下のようになります。
{
	{ "year": 2007, "count": 7 },
		{ "year": 2007, "month": 5, "count": 1 },
			{ "year": 2007, "month": 5, "day": 4, "count": 1 },
		{ "year": 2007, "month": 4, "count": 2 },
			{ "year": 2007, "month": 4, "day": 18, "count": 1 },
			{ "year": 2007, "month": 4, "day": 7, "count": 1 },
		{ "year": 2007, "month": 3, "count": 3 },
			{ "year": 2007, "month": 3, "day": 24, "count": 1 },
			{ "year": 2007, "month": 3, "day": 3, "count": 1 },
			{ "year": 2007, "month": 3, "day": 2, "count": 1 },
		{ "year": 2007, "month": 2, "count": 1 },
			{ "year": 2007, "month": 2, "day": 26, "count": 1 },
	"count" : 7
}
 今後、さらに以下の機能を追加していく予定です(優先順位順)。
  1. entries_kache プラグイン に同期して、メタ情報を更新するようにする
  2. 最終的には entries_kache プラグインの機能を取り込んで、 entries_kache プラグインが出力するエントリに関するメタ情報も JSON 形式で出力するようにする
 entries_kache プラグインと同期して更新するところまでできれば、 Ellinikonblue.com Weblog の方でも紹介して、 そろそろこのブログもオープンにしようかな。。。
Posted on May 04, 2007 at 13:39

nofound プラグイン仕様 v2007.4.18

Ellinikonblue.com Weblog 「 nofound プラグイン」

 ずいぶん前に Ellinikonblue.com Weblog の 方に書きましたが、 徒書notfound プラグイン をベースにした nofound プラグイン が何とかできました。
 これ以上手を加えることもないとは思いますので、 その改変した部分を仕様としてまとめておきます。
  1. @noindex_flavours に設定したフレーバーに対して、インデックスページを要求する (例 index.writeback )は not found を返すように設定可能にした
  2. 設定値 @except_flavours, @noindex_flavours は正規表現形式ではなく、 リスト形式で記述できるように変更
Posted on Apr 18, 2007 at 00:13

iCalendar 形式のエントリ日付データを生成する

 どこまで意味があるかは不明。
 イメージとして、iCal でエントリ日時のメタ情報をはけば、 例えば Google カレンダー のような オンラインカレンダーサービスとマッシュアップしておもしろそうなものができそうな気がする。。。
 何となく調べていると、iCalender 形式の仕様が出てきたのでとりあえずメモ (._.)φ
Posted on Apr 07, 2007 at 00:15

nofound プラグイン

 先般 から blosxom の エントリをインデックス化するプラグインを試作しているのですが手間取っています。
 インデックスを JSON 形式で出力すると決めたところまではよかったのですが、 何を思ったか(って一応、それなりに思うところはあったのですが…) この JSON 形式の ファイル入出力を CPANJSON モジュール を 使わないと決めたのが運の尽き。出力はそれなりにできたのですが、入力でこけてます。
 しかし、JSON モジュール は使わないという ポリシーは貫こうと思うので、もう少しこちらは時間がかかりそう。

 それと並行して、徒書notfound プラグイン の改造をやっています。
 Ellinikonblue.com Weblog の方のことなんですが、 以前から妙な URL へのアクセスが頻発していて、一度、この notfound プラグイン を導入してみたことがあるのですが、 オリジナルのままではこのアクセスを排除できませんでした。
 ただ発想は同じ方法で排除できると思うので、本来インデックスページがあるはずのない フレーバー のインデックスページへのアクセスを排除する機能だけを付け加えようと思ったのですが、 とちくるって全面改装しています。 ということで、名前も nofound プラグイン と改名しようかと。 できあがればですけどね f^-^;
Posted on Mar 24, 2007 at 23:56

見栄えをちょっとだけ

 いくらまだ人を見せることを意識していないサイトと言えど、 いつまでたっても CSS すら用意せず、べたのまんま放っておくのは どうかと思いまして、ちょっとレイアウトだけ整えました。
 最終的には、 JavaScript を駆使したりして、いろいろ フレーバー を試そうと思っているのですが、 とりあえず今は自分が見るときに見苦しくなければ、それで O.K. ということで。
Posted on Mar 03, 2007 at 12:23

archives/categories/calendar プラグインの見直し

 この devlosxom を開設して、 まず何から手をつけるかというと、 どの blosxom サイトにも 導入されていることの多い archives/ categories/ calendar プラグインの見直しです。
 この三つのプラグイン、blosxom.cgi から呼び出される filter サブルーチンで似たり寄ったりのことをやっています。 エントリの登録年月日、タグやカテゴリ、投稿者などのメタ情報の全件検索です。 これら三つのプラグインを導入するだけで、 1 ページの画面を作り出すために、三度もエントリの全件検索を やっているわけですから、効率の低下は明らかです。

 ところで、一般的なブログツールでバックエンドにデータベースを用意すると 何が便利になるかというと、記事の検索です。 それも本文の内容とかそう言う細かいことではなく、 各エントリに対するメタ情報に関する検索、統計が瞬時に引き出せます。 データベースでは登録されたデータに関してインデックス化しているので、 当たり前といえば当たり前なんですが、 逆にバックエンドにデータベースを持たない blosxom にとっては、 この機能がないことが弱点となっていることが少なくないわけです。

 しかしながら、非常に重要に見えるインデックス化の処理というのは、 ブログというツールにおいて、少なくともエントリのメタ情報に関しては 更新の頻度はそんなに多くありません。 その更新のタイミングは、ほぼ新規エントリが登録されたときか、 メタ情報そのものを編集したときだけです(…だと思います)。

 以上の思いこみを元に、 エントリに関するインデックス化を一手に引き受けるプラグインの作成、 そのプラグインの存在を前提とした archives/ categories プラグインと、時間があれば calendar プラグインまで見直したいと思います。