HTMLテンプレートの続きの続き

早速ご返答いただきました_(..)_
http://d.hatena.ne.jp/harux/20041222#p1

「デザイナー用HTML(テンプレート)←→プログラマー用HTML(PHPとか)」の可逆変換が必要(というか変換しないですむor表示時に自動変換ならそれが一番)。

というのが、具体的にはどういうことか解らないが、

ということですが、わかりにくくてすいません。考えながら書いていたので途中から全然別の方向に…PHPを直接埋め込む方法だとデザイナー→プログラマーの一方通行だよな、と思いながら書いていました。
デザイナーもプログラマーも同じテンプレート用ファイルを見て理解&文法チェックできる方法は一番良いのです。


PHPを埋め込んだものをデザイナーに渡していじらせると、一番多いのが「範囲の閉じ忘れ」。テストサーバにおいてプレビューさせてチェックすることができますが、エラーを見てテンプレートファイルを修正することができない。その点タグで埋め込む形式にすると「閉じ忘れ」はデザイナーがチェックできる。


behavior で希望している機能は入力値チェックとかだけでは無くって、

<input type="text" name="date" v:behavior="dropdowndate" />

などとした場合に最終的なHTMLとして

<input type="hidden" name="date" />
<select name="date/year" onchange="hiddenset('date',this.form);">
  <option>2001</option>
  <option>2002</option>
  ....
</selct>
<select name="date/month" onchange="hiddenset('date',this.form);">
....
</selct>
<script>
function hiddenset(name,form){
 ...
}
</select>

みたいなのをまとめてはき出す、てのもやりたいのです。ie DHTML の Behaviorが一番イメージに近かった。
だから僕が必要なのはやっぱりHTMLタグの拡張=カスタムタグなんだと思います。


phpをおいていく方法」でわかりやすい方法でWordPressを見てみましたが、たぶん「必要な部品をすべて関数化する」ってことだと思うんですが、引数の指定方法とかPHP形式になるのが微妙かな、と。特に、先ほど説明した behavior のような仕組みを作る場合とか。<? wedget_date("name",$date) ?> だと「その部分にDreamweaverやブラウザ上では何も表示されない」のが嫌なのです。(ちなみに現在はそのやり方でやってます)
カスタムタグだと何も表示してくれないんで同じなんですが…

テンプレート等のプレゼンテーションにデータ構造が依存するのではなく、データ構造にプレゼンテーションを依存させるという発想だ。

ということですが、一番違和感を感じたのがコンディションのところ。つまり http://phpoot.sourceforge.jp/zogan/ar01s07.html の部分ですが、

 ***PHP
$model['table']=$table; // array(1,2,3);
 ***HTML
<p var:cont="{table}"></p>

という感じで作っていたものに「空の時はその旨を表示してくれ」という変更要求が入ったとき、Zoganだとたぶん

 ***PHP
$model['table']=$table; // array(1,2,3);
$model['table_empty']=empty($table);
 ***HTML
<p var:cont="{table}"></p>
<p var:cont="{table_empty}">空です</p>

だと思うんですが。僕が求めているテンプレートはこういう場合、PHPに変更を加えずに

 ***HTML
<p var:cont="{table}"></p>
<p var:cont="{table}" var:condition="empty">空です</p>

みたいな感じで設定できるものなんです。

具体的には、ちょっとしたイントラの画面変更とか、かな。「ここのHTMLかえたら変わるから自分でやってよー。」

という投げ方をしたい場合、こういう仕組みが用意されていないと難しいかな、と。
まあ、こんなことを言い出すとタグがどんどん多様複雑化していってXSLTになっていくわけですが…
(追記: <p var:cont="{not:table}>空です</p> みたいなのができるらしいです… function の存在を忘れてました汗)

あと「僕が作りたい物」にJavaScriptによるいろんな機能は絶対必要なんで…それをサポートしてくれる機能がないとやっぱり困ります。


ということで設計思想で食い違いがあるようなので、誰か別の物を作ってくれる人が現れるのを待つ方向で… behavior がMozillaで使えれば(;_;)
PHPカスタムタグは、「既存のタグを乗っ取る」機能がないのが辛いです。behaviorは属性で設定したい…。でコードを覗いてみるといろいろ違和感が(--;)

Wikiのページは長すぎる

基本的全体的な現在の利用のされ方を見ていて、長すぎる、と思う。
Wikiの1ページはカード的なイメージがあるので1ページの長さは1画面に収まる程度が妥当だと考えているのだが。
おそらくWikiが「ページ間の”階層””順番”」という概念を持たない、というところから発生する問題なんだろうな。逆にページの内容には構造を記述する書式があるので「階層」「順番」を表現できる。自然と「順番」「階層」を取り入れたい情報は1ページ内に押し込まれ、どんどんページが長くなる…

「順番」が無い以上「次へ」ボタンの実装が不可能だ。「階層(まとまり)」という概念も無いので、「上へ」ボタンも実装不可能。
何とか、ページ自体に階層や順番を意識させずに「次へ」ボタンを実装する方法はないだろうか…?
「目次ページ」という特殊なページ(クラス)を作るのはどうだろう。「目次ページ」から移動した場合は「目次に記述された順番に従って”次へ””戻る””一つ上へ”などが表示される」…は実装可能だろうか。「目次」以外は「階層」「順番」を認識せず、「目次」を起点とした閲覧時のみ順番が発生する…セッションを使えば案外可能な気がするな…。「別ウィンドウ」とか「永久ループ」とかいろいろ考えないといけないけど。
「目次ページ」はリバースリンク中で目立つとか(最初に出てくるとか)できるとうれしそう。

PukiWikiのプラグインで「navi2」というのがあるけど、あれだとページ自体に、自分がどの階層に所属しているかを書き込まないといけないし…
「ページ名に階層を組み込む」という方法も同じように、ページ自体に階層情報を書き込まないといけないので辛そう。
なぜページ自体に自分がどのツリーに所属しているか情報を書き込ませるのが嫌か、というと「整理は後からしたくなる」から。Wikiのページ名は変えにくいし、特にページ名に階層を組み込むのは特に避けたい。複数のツリーに所属させたい場合、も往々にして出てくるし。

大量のダミーファイルでWinnyユーザーをうんざりさせるソリューション

株式会社Whizzy R&Dは、P2Pネットワークなどに流出してしまったコンテンツを保護するソリューション「コンテンツシェルタ」の提供を開始した。コンサルティングによる調査とその後の対策とに分かれている。料金は別途見積りが必要だが、Whizzy R&Dによれば調査費が80,000円から、対策費が調査費の2倍程度で160,000円からとしている。

大量のダミーファイルでWinnyユーザーをうんざりさせるソリューション

なんかネタみたいな仕事だな…。実際のところ有効だと思うけど。1コンテンツにつきその値段なんだろうか? 2ちゃんねるのダウンロード板とかに偽物のハッシュを本物として書き込み&本物だったと感謝の声を自作自演してくれるサービス、とかもありますか?

例えば、「音楽CDであればCCCDを採用したほうがいい」などの助言も行なう。

大量のダミーファイルでWinnyユーザーをうんざりさせるソリューション

これは対策としてどうかと…

追記:

どっかで「Winnyネットワークで流す=中継はしてしまう=それってどうなの?」みたいな記事があった。僕は認めたくないのだが、バーチャルネット法律娘 真紀奈17歳:Winnyと著作権:受信者・中継者の責任によると、中継だけでも「楽観的な判断はできないんじゃないかと思っています。」とのこと…。つまりWinnyネットワークに接続している時点で訴えられる可能性があるわけだ…
まあ通常「仲間同士」なので親告罪である著作権違反で著作者が訴えることはないと思うけど、「著作者」なんてのは誰でもなれるわけで彼らに敵対する誰かが著作権者になって訴えることもできる、かな。
まあ僕は「無自覚な中継では罪に問われない」と思いたいですが。日本のために

あと「こんなの有効なわけないじゃん」的な記事が結構多いんだけど、僕は有効だと思う。海外では著作権協会とかがやってるほど有効な手段。例えば「nazokingさんのすてきポエム(無断配布禁止、アマゾンで買うと100円)をWinnyで手に入れよう」と思った場合、Winny利用者は「Winnyで”nazoking”を検索→ダウンロード」するんだけど、100くらいファイルがあっていくつか落としてみて偽物だった場合、あきらめると思う。「落とす労力>正規の手段で買う労力」となったら(ここら辺個人の感覚なんでどれくらい粘るかは人によるけど)。
「ハッシュがあるから有効じゃない」みたいな論法だけどそのハッシュを得る方法って「どっかの匿名掲示板で誰かが書き込んだキャッシュを見つける」しかないと思うし、つまりいくらでも嘘が書けるわけだ。

あと「ネットワークトラフィックが増大する点について考慮してないのかよ」ってなつっこみが多数あったけど、まず、これはこの会社が考慮する必要はないと思う。次に、実際に増えるトラフィックはこの会社1社分で、あとの利用者の分は「利用者の平均Winny起動時間が増えるならインターネット全体のトラフィックは増えるし、起動時間が減るならトラフィックは減る」。Winnyは起動させている間ほとんどずっと、トラフィックを最大限消費し続ける(一応「切断」ボタンあるけど)。で、偽物が大量に流された場合、はじめは本物を探そうと思って起動時間が少し増えるかもしれないけど、やがて探そうと思わなくなって…そう、Winnyネットワークを崩壊させるのが一番トラフィックを減らす方法じゃないかな。

唯一Winnyに対抗手段があるとすれば「信頼できる利用者(かなりの悪者)がトリップをつけて流したファイルを見つける」だろうけど…トリップをつけて流すって「自分が悪いことしましたって印を付けて流す」のと同じような気がするから、あまり流行らないかも…今はついてますか?

何語か調べるサイト

Language Guesser
20文字入力するだけで何語か教えてくれるらしい。でも、どうやって20文字入力すれば良いんだろう…アラビア語とかの入力方法って分かりますか? パソコンでコピペ専用なのかな?

うんざりさせるソリューション(コンテンツシェルタ)の社長の人のブログを見た

はてなダイアリー - 大量のダミーファイルでWinnyユーザーをうんざりさせるソリューションを含む日記を見ていると、はてなダイアリー - deblogに、「大量のダミーファイルでWinnyユーザーをうんざりさせるソリューション」の会社の社長の人のブログが出ていた。
社長のぬるぽBlog


「今更CCCDを推薦したりしません」そうです。よかった。

取材の人には、コンテンツシェルタだけではなく他にお客様の要望にもっと効果のあるソリューションがあれば紹介します、例えばCCCDのように拡散前のコピー防止という上流工程のソリューションも紹介できますよ」とニュアンスでお話させてもらいました。結果としてあのように書いていただいたというのは、私の力不足ですが。

社長のぬるぽBlog

ということらしいです。いやいや、あの一言はimpressに文句言って取り消してもらった方が良いですよ。かなり反感買うと思います。CCCDって、それだけ嫌われていると思う。


たぶんその「なんで俺のPCで正規の値段(割引さえない)で買ったCDが聞けないんだよ→CCCDってゴミじゃん→コンテンツ提供者側はガリガリ亡者」イメージが、あの記事のイメージを無駄に悪くしていると思う。


で、前の記事にも書いた、「Winnyネットワークに接続する=違法なファイルを中継してしまうかもしれないことへの責任」の会社としての見解ってのはどうなってるんだろう? 第3者のキャッシュを中継しないような特殊な(たとえばクラックバージョンの)Winnyでも使ってるんだろうか?


あとプレスリリースを見てびっくりしましたが

なおこのソリューションは福島県の公的助成認定プロジェクトから誕生した。

お知らせ - 株式会社ウィジー

えー。ねつ造君とかで作ってるだけなんじゃないの?

1000個(Winny上で一度にそんな表示は実際のところ不可能ですが)の検索結果中、ユーザ的には正解が数個しかない、これ最悪ですよね。違法コピーしたい側としては。しかもDLしただけじゃそれが本物かどうかわかりませんw 実際に解凍して再生してみるまでは!

社長のぬるぽBlog

ということで「ちゃんと再生できるファイルをねつ造する」らしいです。
そうだなー。対抗ソリューション作るとしたらこうだ。「ダウンロードしたmp3のIDタグを調べて設定した検索文字列のない物は自動的に削除するソフトウェア」とか。mp3限定だな…しかもすぐに対策されそう。
やっぱり流し手のID(トリップ)によるフィルタリングくらいしか無いのかな?そういえばどっかでWinnyのトリップは既にクラックされているみたいな記事を見た気がする…47氏の発言から見る限りはソースを見ても推測できないようにはなっているみたいだけど…ってこれはWinnyBBSの方の話か?


あと社長のブログとは関係ないんだけど、Winnyの捏造対策機能はこういう手合いには全然役に立たないと思う。あれって、「誰かがファイル(ハッシュ)に捏造だとマークしたら、他の人にもそのハッシュがに捏造マークが付いていると分かる」という機能なんだけど、たぶんこの会社の人が「本物を見つけた場合には捏造とマークする」仕事もしてくれるはずですから。この会社の人は偽物を流す人なので、つまり「どれが偽物か分かっている」から本物を探すのも比較的簡単なはず。

そのうち P2Pソーシャルネットワークみたいな感じになったりしてな.誰かに招待されないと P2P ネットのノードに接続できないとかさ.「共犯者」としての特定の条件を満たしていないと接続を拒否する閉じたネットワークにするとかね.そうなるとこのテの対処療法は難しいだろうな.

はてなダイアリー - 猫が逃げ惑う日記

ああ、これは比較的スマートかも! でもnapstarサーバとか自分で立ててる人が居る、それと同じか…いや、あれはIPが分かれば接続できるんだったっけ。でも認証機能は一応あるから、管理者がIDを発行するという方法ではなくて、ID発行権を一般ユーザーにまで広げ、誰が誰のIDを発行したかを管理できるシステムを用意すれば良いんだな。WinMXはチャットがあるから特殊なチャットルームでID発行用の合い言葉をしゃべるとボットがそれを認識して発行できるとか…
で、誰か捕まると芋づる式に一網打尽な訳だ(汗)