ISHIDA Naoto
not20****@anet*****
2005年 4月 12日 (火) 04:13:12 JST
いしだなおとです。 あきさんにつられて出してみます。私の意見を掘り返したみたいで議論になって ないかもしれませんが、自分なりにまとめてみました。 > ■IDの方式について > ・バックエンドではIDを利用してページを管理する。 > ・ページ名とタイトルは別々に設定できるようにする。 > この2点については意見が一致していると認識しています。 はい。いいと思います。 ただ先にも書いたとおり、ページ名の制限を厳しくするのは使いにくくなってし まうと思います。 「別のタイトル」というのもオプショナルな扱い、あるいはプラグインでもいい と思います。 ページを作るときに決めなくてはいけないことは、極力減らすほうが良いと考え るからです。 この件と不可分なのが、ページに関する情報を得るAPIを今まで以上に整備する 必要があるということですね。Wiki::get_page_list()のようなものは、内部で キャッシュ(そのリクエストの間は有効)するようにしたほうがいいかと思います。 ストレージレイヤで隠蔽化するという、方針自体は従来どおりですね。 > 問題はIDでのリンクを行うかというところで > ・ページ名とタイトルが別々に設定できればIDでのリンクは不要 > というのが今のところ私の考えです。 先にも書いたとおり、機能の如何にかかわらず、IDでのリンクは不要(悪)と思い ます。URL短縮は、Alias、あるいはプラグインで実現できると思います。 必要に応じて外部のサービスを使ってもいいです。(ほんの一例:http: //jpan.jp/) Aliasもページ属性の役割になるのかな? > ■複数行プラグインについて > {{pre arg1,arg2}} > ..... > {{/pre}} > > という記法を導入する。 方針は大賛成ですが、記法については反対票を投じておきます。 もう少し練りこんだ記法を採用すべきだと考えます。 伝統的なWikiでは行指向のパーザで完結する記法のみがサポートされていまし た。実装が容易という利点はもちろんですが、ブロック型のマークアップはWiki テキストを一見したときに文書構造が把握しにくくなるという欠点があります。 (そもそも文書構造を意識して書くことができる人なら、そんなことないと言わ れそうですが。意識せずとも構造的になるのが理想です。) それでもブロック型の記法は欲しいですから、その点を意識して、使いやすくし たいです。 上記の欠点は[1]従来の記法との区別が付きにくく、[2]開始と終了が分かりにく くなりやすそうだということ、[3]さらに入れ子になった場合や、エスケープの ことがあまり考えられていないように思えることです。 [4]プラグイン引数が多く、長くなったときも、やはり見辛さが増してしまいます。 YukiWiki2.1のバーベイタム機能の記法は考慮されていますね。 たけぞうさんからは既に却下された例の私の案はもう出しませんが、考慮したつ もりです。 [3]については、決め事で済ますこともできるので、必ずしも記法の問題ではな いかもしれません。[4]は[2]と関連しています。 要点はプラグインの記法そのものについて、文書の中で本文とは容易に区別が付 くこと=「簡潔で目立つ」ことが重要と思います。それには必要十分な長さの文 字列(同じ文字が3文字行頭に連続するなど)で、ある行では単独で存在するこ とがよさそうです。 > ■プラグインの引数について > ・プラグインの引数をクォートできるようにする。 > ・テーブル(CSV)の場合と同じ記法にしようと思います。 > ・可能であれば3.5系にも導入します。 プラグイン引数の取り出しもAPIを厳格化して、正規化と同時にHTMLエスケープ も面倒見て欲しいです。生のクエリにアクセスできるようだと脆弱性の温床をう む懸念が…。 蛇足ですが、上記の複数行プラグインを利用すれば、テーブルはCSVでもTSVで も、あるいはPukiWiki互換でも可能になりますね。 > ■プラグイン機構について プラグインのオンライン・インストール(一覧から選択→TARなどをサーバ側で GET、もしくはUAからアップロード→展開・配置、までをする)と、本体のオンラ イン・アップデートを実装したらどうでしょう。PukiWikiやhikiにもまだなさそ うですけど、野心的な実装として面白いと思います。 ※Webmin(中身はPerlスクリプト)なんかはそういったものを実装しています。 あと、HTTPヘッダー、HTML文書のhead要素に影響を与えるプラグインを書きたい と思うことがあります。 link要素やmeta要素をいろいろ追加したいとか、P3Pを付加したいとか、応用的 だったり、個別の用途に特化したものですが。 以上です。 -- いしだなおと [ISHIDA Naoto] not20****@anet***** http://isnot.jp/