2003-04-20(日) [長年日記]
■ tDiary: form_procプラグイン
絵日記をどうにかプラグイン単体で動かすため、form_procを導入。これは、日記本文を書く更新フォームの下に、別のフォーム(別にフォームじゃなくてもいいけど)を追加するためのコールバック系プラグインである。
でもなー、なんか約束事が多すぎてきれいじゃないんだよなぁ。しょうがないか?
- submitボタンのname属性は「plugin」でなければならない
- 引数で与えられる日付を「YYYYMMDD」形式にしてdateというname属性を持ったアイテムに入れておくと、上の更新フォームと日付の同期がとれる
- その他のアイテムは、「plugin_プラグイン名_アイテム名」というname属性を持たせて他のプラグインとの名前空間を分ける
submit後は同じ画面に戻ってくるので、フォームの表示と、submitされたデータの処理は同じadd_form_proc内に書く。以下はファイルアップロードの実験用に書いた、指定されたローカルファイルの内容を表示する(意味なし)プラグイン。
add_form_proc do |date|
begin
text = @cgi.params['plugin_text_file'][0].read
rescue NameError
end
<<-HTML
<div class="form">
<div class="caption">
ファイル表示
</div>
<form class="update" method="post"
action="#{@conf.update}" enctype="multipart/form-data"><div>
<input type="hidden" name="date"
value="#{date.strftime( '%Y%m%d' )}">
テキストファイル: <input type="file" name="plugin_text_file">
<input type="submit" name="plugin" value="OK">
</div></form>
<pre>#{text}</pre>
</div>
HTML
end
いちおう先ほどCVS HEADにcommit。これで絵日記が実装できるなら、edit_procは廃止してもいいか。
2003-04-19(土) [長年日記]
■ tDiary: jdateプラグイン
日本語の曜日を「%J」で表示するために、tdiary.conf内でrequireするというけったいな仕様だったmisc/jtime.rbだが、先日の仕様変更でプラグイン化するメドが立った。
というわけで、jtime.rb改めjdate.rbとしてプラグイン集に登録。pluginディレクトリに入れるだけで、簡単に使えるようになった。
■ ライブカメラに時刻を入れるためのコード量0の実装
ただのコンピュータおたくにはできない発想。すばらしい。
■ tDiary: 絵日記
formにenctype="multipart/form-data"が必要という(言われる前に気づけ的な)衝撃の事実に対処するために、いろいろやってみたんだけど、ダメっぽいなぁ。
Ruby 1.6.xのcgi.rbは、multipart/form-dataが来るとすべてのパラメタをTempfileのインスタンスにする。1.8だとこれがStringIO。どっちも同じメソッドで中身を読み出せるから互換性の問題はないんだけど、日付やタイトルのような小さなものまでTempfileになっちゃうようだと、効率が悪すぎるよなー。
というわけで、ファイルアップロード専用のフォームを作れるような、別の口が必要ってことになりそうだ。ちょっと時間をみて実装してみよう。まぁ、edit_procと似たような手法で、プラグインで完結させる方法はあるだろうから、今の絵日記の実装よりはだいぶすっきりすると思うが……。
◆ 咳 [そいえばIndy使ってたときは光学式室温計というページを運用してました。温度計をIndyCamで撮ってるだけ。 もち..]
◆ ただただし [アナログとデジタルが素で出会うと楽しいですな]
◆ projectd@浜松 [我が家のあやしいWebcamもずーと時計憑きよん。OpenBlockSSだから負荷が高いと止まるからね(藁)。たださ..]
◆ ほそのひでとも [私はあのアイディアが俺ニュースでとりあげられてしまったのが一番おどろきますた。 projectdさんのよーなツッコミ..]
◆ ただただし [どんな発想も、環境に大きく依存するものなのです。この件は「ほそのくんの職場で」というのが驚きのポイント:-)]
◆ ほそのひでとも [(苦笑)]
2003-04-18(金) [長年日記]
■ 「リンク」から見るweb日記とblog(2)
昨日のツッコミをみて、「世代」という言葉を使ったのはよくなかったなぁ、と思った。登場順はたしかに第一、第二の順だが、両者はかなり初期段階から異なる枝をたどっているからだ。こんな用語を定着させてはいけない。少なくともカッコ悪いではないか。せめて「Web日記NG」とか「2G日記」とか(←元の発想から抜け出せない時点でさらにダメ)。さしずめtDiaryやはてなは「2.5G日記」か(まだ言うか)。
ようするに言いたかったことは、「Web日記」には「独り言指向(?)」と「コミュニケーション指向」があって、blogと比較するなら後者でしょ、ということだ。特に(何度も書いているけど)「段落アンカー」という優れた発明は、日記を日付でなくネタ単位で参照可能にしたという点で、blogと同じリンクの方向性を見せている。
まぁ、いくらコミュニケーション指向の日記者がいきがってみても、依然多くのWeb日記は段落アンカーはおろか日付指定もできない独り言系なわけで(段落アンカーの付けられるツールで独り言というパターンもあり)、「Web日記とblogは同じだ」と言われたらそっちと比べてみたくなるのはしかたがない。
で、その状況を作り出してしまったのは、「コミュニケーション指向Web日記」に対してなんら新しい名前を与えられなかったのが原因なのかも知れない、とjounoさんのツッコミを見て思った。やっぱり名前は大事だ。tDiaryが「Diary」を名乗るがゆえに、日記の呪縛から逃れられないように。
我々はいまだに「blog」の定義をし損ねているが、その言葉から想起される雰囲気や機能はだいぶ共有できてきたと思う。しかし「Web日記」から得られるのは、細々と日常を語る独り言の羅列から、ツッコミ合いによる密度の高いコミュニケーションまで、幅広くて曖昧模糊としたイメージだろう。初期のblog論争の時、何人かの日記者が「Web日記文化なんてあるの?」と冷めた言い方をしていたのは、こういうことなじゃなかろうか。
■ 「リンク」から見るweb日記とblog(3)
「本質的には同じ」と言いつつ、おれのアンテナにはほとんど(いわゆる)blogが入っていないのは、なんだか堅苦しくて毎日巡回する気になれないからなんだよな。ひたすらネタ指向的なところというか、論説指向的なところというか。結局おれには、両者の違いってこういうエモーショナルなところにしか見いだせてないんだけど。
blogはモテ系という意見には思わず賛同しそうになったけど、blogやっててモテた、という話は聞かないし(笑)。
はてな近藤さんのインタビューで、「ひきこもり性」という言葉に反応している人が多かったけど、ずいぶん前に似たようなことをyamkさんが言っている。この「おじゃまする」という感覚が、ほどほどに力が抜けていて居心地がいいのであろう(おれには)。
jounoさんが「ぼくのblogとは言いにくい」というのは、こういう「おうち感覚」がblogにはないからなのかも知れない。もっとも、JBAあたりに出入りしている人たちは普通に「誰それのblog」って言い方をするから、これも本質的なものではないのだろう。たぶん。
■ tDiary: SoftwareDesign 2003/05
たむらさんが「tDiaryプラグインを作ってみよう」という記事を書かれている。……というか、事前に原稿見せてもらっていたけど。でもすっかり忘れてたけど(笑)。
日記の名称が変わっていて混乱するかもという指摘があったので、急きょ(一時的に)横に「旧Asumi日記」と入れておくことにした。うーむ、デザインが……。
■ tDiary: ツッコミメールのプラグイン化
また熱めの変更をcommit。
前からやりたいと思っていた、「ツッコミメールのプラグイン化」である。かつてはsecureモードとの兼ね合いで不可能と思われていたんだけど、回避策がわかったので、プラグインにすべて追い出してしまった。ビルトインの機能が追い出せると、気持ちがいいぞ、と。
今までツッコミメールを使っていた人は、1.5.3.20030418以降にする場合、プラグイン集にあるcomment_mail-smtp.rbプラグインを入れなければならない(もしくはcomment_mail-sendmai.rbやcomment_mail-qmail.rbを)。comment_mail-smtp.rbに関しては互換性を考慮して、旧来の設定はそのまま使えるようになっている。ブラウザから設定できる分に関しても、今後の機能拡張でフォローしていく予定。
◆ たむら [紹介どうもです。私も MediaWatchで見るまで忘れてました ;-) みなさん、読んでねぇ〜。 # ていうか自分..]
◆ woods [「Visual-Web日記」...はかなり嫌だ。(^^;]
◆ rufein [Web日記++Builderなんてのもアリ?]
◆ kain [あ〜。ごめんなさい。TrackBackって何だろう? とか思いつつ送ってしまいました(^^; 関連技術資料等は無いの..]
◆ ただただし [とりあえずアンテナに捕捉できたのでいいのではないでしょうか;-)]
◆ jouno [最近は当たらし物好きやお調子者はもてないよーな気がしますねー世知辛いっす。ついでに手動トラックバックのフォーム。参考..]
◆ reno [もう呆然、ただただ絶句…です。必ずまた戻って来ると信じていたのに…合掌。]
◆ ハハハハ [todoやaの更新フォームへ飛ぶナビバーを表示するのにいいかなと思ってたんですが。一緒に更新するほど頻度高くないでし..]
◆ ただただし [それはnavi_adminの役割だと思いますよ]
◆ ハハハハ [確かに。でもplugin増えるごとにnavi_adminの書き換えが必要だからprocで追加できる方が…と思ったので..]
◆ woods [上書きじゃなくてメニューを追加したいならこんな感じのコードでできます。 http://sodium.dnsalias..]