bsnap_lt をまじめに考える
この Devlosxom の
フレーバー
改装工事が何となく、一段落ついた感じなので、
これを元に次は
Photolog の方を
何とかしようという気になってきました。
現状、1ページ一枚で写真を見せるコンセプトで最初に作り込んでそれっきりですが、 自分でみているとあまり使い勝手がよくないなぁ。。。と。
最初は bsnap_hs で 何とかしようと思っていたのですが、 「写真をいかに楽しく見せるか?」を考えると、 Lightbox JS を 応用した方がよいという結論になりつつあります。
で、一度、こちらで実装を試してから。。。 その前に要件定義などやってみるか。。。
# そもそもなんで「 lt 」にしたんだっけか???
現状、1ページ一枚で写真を見せるコンセプトで最初に作り込んでそれっきりですが、 自分でみているとあまり使い勝手がよくないなぁ。。。と。
最初は bsnap_hs で 何とかしようと思っていたのですが、 「写真をいかに楽しく見せるか?」を考えると、 Lightbox JS を 応用した方がよいという結論になりつつあります。
で、一度、こちらで実装を試してから。。。 その前に要件定義などやってみるか。。。
# そもそもなんで「 lt 」にしたんだっけか???
日本版 asin プラグイン「 jasin 」
asin_complex
プラグイン の ECS
4.0 対応 、一応終わりました。
ただし、アルゴリズムは以前のままで、 サービスの呼び出し部分と XSLT ファイルを書き換えることで対応できました。
それでも結構苦労しましたが、 このまま bracket_fep 対応に 入るためには、asin プラグイン 相当の 機能は一緒にできないために除去までしました (ただし、Ellinikonblue.com Weblog 側に 導入したものはそのままにしてあります)。
とは言っても、この asin プラグイン 相当の 機能も便利なため、オリジナルの asin プラグイン を Amazon.co.jp に対応させた上に、 少々改良したものを作成することにしました。
と言うことで、すぐできると思うのですがとりあえず このエントリはその実験エントリです。
## asin_complex プラグイン 相当の bfep 版プラグインができたときに公開しようと思います。
ただし、アルゴリズムは以前のままで、 サービスの呼び出し部分と XSLT ファイルを書き換えることで対応できました。
それでも結構苦労しましたが、 このまま bracket_fep 対応に 入るためには、asin プラグイン 相当の 機能は一緒にできないために除去までしました (ただし、Ellinikonblue.com Weblog 側に 導入したものはそのままにしてあります)。
とは言っても、この asin プラグイン 相当の 機能も便利なため、オリジナルの asin プラグイン を Amazon.co.jp に対応させた上に、 少々改良したものを作成することにしました。
と言うことで、すぐできると思うのですがとりあえず このエントリはその実験エントリです。
- 今年、購入予定のデジタル一眼レフ候補
## asin_complex プラグイン 相当の bfep 版プラグインができたときに公開しようと思います。
asin_complex プラグイン ECS4.0 対応テスト開始
ただ今、
asin_complex
プラグイン を
Amazon.co.jp アソシエイト
ECS4.0 に対応させるために格闘中です。
とりあえず このサイト にも asin_complex プラグイン をインストールして、これから本格的に対応していきます。
これはそのための実験エントリです。
とりあえず このサイト にも asin_complex プラグイン をインストールして、これから本格的に対応していきます。
これはそのための実験エントリです。
![]() |
ハックキットで夢のDebian GNU/Linuxサーバー 玄箱PROをハックしよう! 山下 康成 著 ( アスキー ) ¥ 2,310 |
|---|
![]() |
LOVE CONCENT hitomi ( エイベックス・トラックス ) ¥ 120 |
|---|
![]() |
Canon デジタル一眼レフカメラ EOS Kiss X2 ダブルズームキット KISSX2-WKIT ( キヤノン ) ¥ 85,835 |
|---|
【緊急】 asin_complex プラグインを Amazon ECS 4.0 に対応
ある日、Amazon.co.jp
アソシエイト・プログラム からメールが来ました。
「 Amazon アソシエイト ECS 3.0 サービス終了のご案内」
なんのこっちゃ?
と思いつつ、うちと何の関係があるのだろうと…あるとしたら asin_complex プラグイン くらいか…と思ったらどんぴしゃり orz
えらいこっちゃ。
Amazon.co.jp アソシエイト・プログラム は一番の稼ぎ頭。 これがなくなると、ただでさえほとんどないと言っていい我がサイト群のアフィリエイト収入に 壊滅的なダメージが… フレーバー を いじいじしている 場合ではありません。 期限は 3 末、緊急対応します (_ _;>
以下のサイトの情報を見ていると同じ REST リクエストで何とかなりそうですが、 今は思考ルーチンにそうであって欲しいとの願望が含まれている可能性があるので、 ちょっと試行錯誤してみます。
# 本業が忙しくなければ会社休んででも対応するのに… (^^;;;>
「 Amazon アソシエイト ECS 3.0 サービス終了のご案内」
なんのこっちゃ?
と思いつつ、うちと何の関係があるのだろうと…あるとしたら asin_complex プラグイン くらいか…と思ったらどんぴしゃり orz
えらいこっちゃ。
Amazon.co.jp アソシエイト・プログラム は一番の稼ぎ頭。 これがなくなると、ただでさえほとんどないと言っていい我がサイト群のアフィリエイト収入に 壊滅的なダメージが… フレーバー を いじいじしている 場合ではありません。 期限は 3 末、緊急対応します (_ _;>
以下のサイトの情報を見ていると同じ REST リクエストで何とかなりそうですが、 今は思考ルーチンにそうであって欲しいとの願望が含まれている可能性があるので、 ちょっと試行錯誤してみます。
# 本業が忙しくなければ会社休んででも対応するのに… (^^;;;>
bsnap_asin アイデアまとめ
まだ作りかけで中途半端になっているプラグインがありますが、
今年中くらいに
asin_complex
プラグイン の
bfep 版
bsnap_asin プラグイン(仮称)も作りたいなぁと思っています。
頭の中にいくつか実装したい機能というか、改良点を浮かんでいるので、 忘れないうちにまとめておきます。
# 3 月いっぱいくらいまで本業が忙しいので手を着けられないと思いますし…
とりあえずはちまたにある Amazon.co.jp から 商品情報を引っ張ってくるプラグインを読み漁ろうとは思いますが、それ以外にも
最近ちょっと頭が固くなってるかなぁ… (_ _;>
頭の中にいくつか実装したい機能というか、改良点を浮かんでいるので、 忘れないうちにまとめておきます。
# 3 月いっぱいくらいまで本業が忙しいので手を着けられないと思いますし…
とりあえずはちまたにある Amazon.co.jp から 商品情報を引っ張ってくるプラグインを読み漁ろうとは思いますが、それ以外にも
- 商品画像は一度登録済みの有効な画像にヒットしたら、 それ以降、画像の有効性をチェックしないようにする。
- Amazon.co.jp 側で データベースから削除された商品情報への対応(できるかなぁ?)
- Amazon.co.jp への問い合わせを 時間的にもっと分散させる方法はないかなぁ…
最近ちょっと頭が固くなってるかなぁ… (_ _;>
gsitemap 仕様 v2007.9.16
bsnap_hs/bsnap_tx
プラグイン より先に手をつけていた
gsitemap
プラグイン を公開しました。
entries_kache プラグイン のインデックスファイル出力タイミングとのかねあいで、 試行錯誤したために少々手こずった上、詰めの際に凡ミスを連発しましたが何とか entries_kache プラグイン のインデックス更新タイミングに同期して、 出力できるようになったので、ここで FIX しました。
以下に 2007 年版 gsitemap プラグイン の 2007.9.16 時点の仕様をまとめておきます。
entries_kache プラグイン のインデックスファイル出力タイミングとのかねあいで、 試行錯誤したために少々手こずった上、詰めの際に凡ミスを連発しましたが何とか entries_kache プラグイン のインデックス更新タイミングに同期して、 出力できるようになったので、ここで FIX しました。
以下に 2007 年版 gsitemap プラグイン の 2007.9.16 時点の仕様をまとめておきます。
- entries_kache
プラグイン が出力するインデックスファイルをサイトマップファイルに変換するため、
このプラグインのインストールは必須です。
インデックスファイルの仕様上、entries_index プラグインファイルでも代替可能。
ただし、entries_index プラグインの場合は、アクセスごとにインデックスファイルが更新されるため、 サイトマップファイルもその都度更新されます。効率低下の原因になるため、 entries_kache プラグイン のインストールを強く推奨します。 - タイムゾーンの設定は自動で行うようになっています。
国外のレンタルサーバなどではプログラム的に修正が必要かもしれません。
(要望があれば、手動設定するように修正することは簡単なので用意します) - 本バージョンは blosxom の
動的生成の仕組みを利用していないために専用のフレーバは必要ありません。
その代わりに、出力されるサイトマップファイルの形式の変更には、 プログラム本体の変更が必要になります(そんなに難しい修正ではないですが…)。
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
<url>
<loc>http://www.ellinikonblue.com/blosxom/</loc>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.ellinikonblue.com/blosxom/blosxom/plugins/20070916gsitemap2007.html</loc>
<lastmod>2007-09-16T17:30:01+09:00</lastmod>
</url>
:(以下、繰り返し)
</urlset>
bracket_fep 用 bsnap_hs/bsnap_tx プラグイン
Highslide JS を利用した
機能強化版 snap_in
プラグイン の実装はほぼ終わりました。
highslide プラグインと命名しようかと思ったのですが、 あまりにもひねりがないので、 bsnap_hs プラグイン とすることにしました。
この bsnap_hs プラグインは bracket_fep プラグイン 用のプラグインとして実装していて、 これまでの snap_in プラグイン 同様、エントリ内で
サムネイルが存在せず、画像ファイルだけが存在する場合は、 これまでの snap_in プラグインと同様の動きになります (単にエントリに画像を挿入するだけ)。
以下は Highslide JS を 有効にした場合の利用例。 無効にした場合の利用例。
上記二つの画像は、エントリテキスト上は同じ表現になっていますが、
サムネイルディレクトリに同名のファイルがあるかないかで
動作が変化しています。
さて、もともとの snap_in プラグイン は、画像を取り込む以外に、定型のテキストを取り込む機能を有しています。 この機能も bsnap_hs プラグインに取り込もうと思ったのですが、 コードが汚くなりそうだったので、突貫で定型テキストを取り込むだけの bracket_fep プラグイン 用プラグインも別途用意しました。
以下、その bsnap_tx プラグイン のテストです。
我ながらいい感じなので、さていつ公開しようかな。。。というとこです。
なんせこの Devlosxom だけで こそこそやってることなんで気軽気軽 (^ε^)
highslide プラグインと命名しようかと思ったのですが、 あまりにもひねりがないので、 bsnap_hs プラグイン とすることにしました。
この bsnap_hs プラグインは bracket_fep プラグイン 用のプラグインとして実装していて、 これまでの snap_in プラグイン 同様、エントリ内で
[imagefile.jpg]とした位置に画像を挿入します。 ただし、プラグイン内のパラメータで指定する画像ディレクトリと サムネイルディレクトリに同名の画像ファイルが存在すると Highslide JS が有効になり、 通常状態ではサムネイル画像が表示され、クリックすると画像ファイルに拡大されます。
サムネイルが存在せず、画像ファイルだけが存在する場合は、 これまでの snap_in プラグインと同様の動きになります (単にエントリに画像を挿入するだけ)。
以下は Highslide JS を 有効にした場合の利用例。 無効にした場合の利用例。
さて、もともとの snap_in プラグイン は、画像を取り込む以外に、定型のテキストを取り込む機能を有しています。 この機能も bsnap_hs プラグインに取り込もうと思ったのですが、 コードが汚くなりそうだったので、突貫で定型テキストを取り込むだけの bracket_fep プラグイン 用プラグインも別途用意しました。
以下、その bsnap_tx プラグイン のテストです。
なんせこの Devlosxom だけで こそこそやってることなんで気軽気軽 (^ε^)
bfep 版 highslide プラグイン(仮称)開発開始
いきなり Highslide JS を
利用したサムネイル対応画像挿入プラグインの実装に入りました。
このエントリが開発のためのテストエントリになります。
進行状況は、下図の写真をいじっているとわかるかも… (^^;>
このエントリが開発のためのテストエントリになります。
進行状況は、下図の写真をいじっているとわかるかも… (^^;>
gsitemap プラグイン 2007 年版
ひらめきました! (^^)b
なにをかというと、 gsitemap プラグイン の新しい実装方法です。
そもそもこの gsitemap プラグイン はどういうものかというと、 名前から察することができる方もいると思いますが、 Google サイトマップ に 提供する XML ファイルを生成するプラグインです。
意外にこのプラグイン、うちのいい加減にでっち上げたプラグインの中では、 ご使用いただいている方の多いプラグインではあるのですが、 開発(と言うほど偉そうなものではありませんが) 当時 、 即興で作ったために、エントリ数が多いと Internal Server Error を引き起こす 問題を解決しないまま、サイトマップに記載するエントリ数を制限するリミッタを設定するという 超いい加減な方法でアドホックに対処して、ほったらかしにしていました。
後になって冷静に考えると、専用フレーバーを使って blosxom の フレームワークをそのまま利用して、 サイトマップデータをメモリ上に生成するので、 あまりにもエントリ数が多い場合、メモリがオーバーフローするだろうとすぐに想像がつきました。
ではデータをファイルとして生成してしまえばよいのですが、 この生成するスクリプトをどう実装するかと言う問題になります。 CGI で作り込んでしまえば、さほど労せずできそうですが、 それは blosxom の スタイルではありません。「機能はプラグインで追加する」というのが正道です。
と言うことで悩んでいたのですが、最近、 gin プラグインに entries_kache プラグイン の機能を取り込んでいくにあたって、 このエントリインデックスファイルをサイトマップファイルに変換するプラグインにする と言う実装方法を思いつきました。
これなら gin プラグインが entries_kache プラグイン の機能を取り込んでも、 JSON 形式のエントリインデックスを読み込む部分だけをすり替えるだけで使えそうです。
方向性が決まれば、実装はそんなに難しくなさそうですので、 この Devlosxom の方で、 早速実験して、うまくいくようでしたら早々に公開したいと思います。
なにをかというと、 gsitemap プラグイン の新しい実装方法です。
そもそもこの gsitemap プラグイン はどういうものかというと、 名前から察することができる方もいると思いますが、 Google サイトマップ に 提供する XML ファイルを生成するプラグインです。
意外にこのプラグイン、うちのいい加減にでっち上げたプラグインの中では、 ご使用いただいている方の多いプラグインではあるのですが、 開発(と言うほど偉そうなものではありませんが) 当時 、 即興で作ったために、エントリ数が多いと Internal Server Error を引き起こす 問題を解決しないまま、サイトマップに記載するエントリ数を制限するリミッタを設定するという 超いい加減な方法でアドホックに対処して、ほったらかしにしていました。
後になって冷静に考えると、専用フレーバーを使って blosxom の フレームワークをそのまま利用して、 サイトマップデータをメモリ上に生成するので、 あまりにもエントリ数が多い場合、メモリがオーバーフローするだろうとすぐに想像がつきました。
ではデータをファイルとして生成してしまえばよいのですが、 この生成するスクリプトをどう実装するかと言う問題になります。 CGI で作り込んでしまえば、さほど労せずできそうですが、 それは blosxom の スタイルではありません。「機能はプラグインで追加する」というのが正道です。
と言うことで悩んでいたのですが、最近、 gin プラグインに entries_kache プラグイン の機能を取り込んでいくにあたって、 このエントリインデックスファイルをサイトマップファイルに変換するプラグインにする と言う実装方法を思いつきました。
これなら gin プラグインが entries_kache プラグイン の機能を取り込んでも、 JSON 形式のエントリインデックスを読み込む部分だけをすり替えるだけで使えそうです。
方向性が決まれば、実装はそんなに難しくなさそうですので、 この Devlosxom の方で、 早速実験して、うまくいくようでしたら早々に公開したいと思います。
gin プラグイン仕様 v2007.8.11
対策を
施した にもかかわらず、また消えました。。。エイリアス情報 orz
アルゴリズム的に消えないと思っていましたが、 ここは消えた現実を真摯に受け止めて、気合いを入れ直してコードを見直したのですが、 私の能力ではもう解決不能。。。
と言うことで、仕様を変更することにしました。
これまでは gin プラグインが出力したカテゴリ情報ファイル (categories_index.json) に直接、カテゴリに対するエイリアス情報を 書き込んでいましたが、エイリアス情報は別ファイル (categories.alias) とし、カテゴリ情報出力時にエントリ情報シーク結果とマージして、 出力するようにします。
この仕様であれば、一度作成したエイリアス情報は基本読み込むだけですから、 消えることはありません。 また、gin プラグインが出力するカテゴリ情報を利用する categories プラグインを 作り替える必要もありません。名案!(自画自賛。失礼 (_ _"> )
エイリアス情報を記載する categories.alias ファイル(ファイル名はデフォルト)は 以下のようなディレクトリ名とエイリアス名をセットにして記載する JSON 形式ファイルとします。
そんなに難しい改造でもないので、時間さえとれればすぐにできると思います。 うまく動き始めたら即 Ellinikonblue.com Weblog の方でテストを開始するつもりです。
アルゴリズム的に消えないと思っていましたが、 ここは消えた現実を真摯に受け止めて、気合いを入れ直してコードを見直したのですが、 私の能力ではもう解決不能。。。
と言うことで、仕様を変更することにしました。
これまでは gin プラグインが出力したカテゴリ情報ファイル (categories_index.json) に直接、カテゴリに対するエイリアス情報を 書き込んでいましたが、エイリアス情報は別ファイル (categories.alias) とし、カテゴリ情報出力時にエントリ情報シーク結果とマージして、 出力するようにします。
この仕様であれば、一度作成したエイリアス情報は基本読み込むだけですから、 消えることはありません。 また、gin プラグインが出力するカテゴリ情報を利用する categories プラグインを 作り替える必要もありません。名案!(自画自賛。失礼 (_ _"> )
エイリアス情報を記載する categories.alias ファイル(ファイル名はデフォルト)は 以下のようなディレクトリ名とエイリアス名をセットにして記載する JSON 形式ファイルとします。
{
{ "directory": "/home/public_html/devlosxom/data/About", "alias": "このブログについて" },
{ "directory": "/home/public_html/devlosxom/data/Doc", "alias": "ドキュメント" },
{ "directory": "/home/public_html/devlosxom/data/Doc/Idea", "alias": "アイデア" },
{ "directory": "/home/public_html/devlosxom/data/Doc/Resources", "alias": "参考資料・メモ" },
{ "directory": "/home/public_html/devlosxom/data/Plugin", "alias": "プラグイン" },
{ "directory": "/home/public_html/devlosxom/data/Plugin/Spec", "alias": "仕様" }
}
現在、この仕様で gin プラグインを改装中です。そんなに難しい改造でもないので、時間さえとれればすぐにできると思います。 うまく動き始めたら即 Ellinikonblue.com Weblog の方でテストを開始するつもりです。




