• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:&tag(実装,コード,目次,更新中);

*目次 [#n27e7315]
#contents
----
#lsx(new=true);

*関連 [#q6bdea1e]
#lsx(tag=プロトタイピング,new=true,except=^プロトタイピング(/.*)?$)

[[検索:プロトタイピング]]

*プロトタイピング周辺のタグ [#k2465701]
#tag(0,プロトタイピング)

*プロトタイピングとは [#k44c6dd0]
RIGHT:[[:t/プロトタイピング]]

実装のためのまとめ。


*特に関連の強いページ [#a1b1cc24]
-[[モデリング]]
-[[フレームワーク]]


*実装 [#u5232eb6]

Perlで。
UI抜きで。
フレームワークの実現と主要機能の実現を。


*最低限必要なもの [#w0fbb4e3]

-フレームワーク2種類
フレームワーク/Webアプリケーション
フレームワーク/WikiEngine
-WikiFormat定義の書式
--WikiFormat/表 |…|…|
--WikiFormat/強調 ''…''
-検索/クエリーの実装案
-利用者→権限の書式
-利用者のOpenID認証
-[[派閥]]の実装案
--ページの派閥分け
--閲覧時、利用者にあった出力を
--ページ/統合の仕方
***データ変換 [#j528038f]
テキスト→オブジェクト→HTML
オブジェクト→永続オブジェクト

もしWikiFormatやプラグインをまったく使えないWikiEngineを作ったら…
もしWikiNotationやプラグインをまったく使えないWikiEngineを作ったら…
テキストを記録するだけ。
ファイル名とテキストを与えると記録、ファイル名のみならテキストを出力。

これにプラグイン独自のデータと処理を加えて、プラグインごとに違うHTML出力ができるようにする。
中心はプラグインを作るためのAPI。


*最低限必要なもの [#w0fbb4e3]


***データ変換(WikiNotationクラス) [#j528038f]
テキスト→オブジェクト→HTML
オブジェクト→永続オブジェクト
どれもWikiNotationクラスの役目。


-WikiNotation/表 |…|…|
-WikiNotation/強調 ''…''

***アカウント [#s0de27cc]
-ログイン、ログアウト
-UIとアカウントと権限設定
OpenIDまたははてな認証のいずれか
-UIとアカウントとロールと権限設定
-アカウント管理

[[利用者]]


***派閥 [#h3dae9a5]
-ページの複製
-ページの統合
-アカウントとページの結び付け

[[派閥]]


***コア部分 [#zae1fb02]
-WikiNotationを含むテキストをオブジェクト化する
-個々のオブジェクトから(HTMLなどの)別形式を得る
-各WikiNotationクラスによる同型オブジェクト間の同一性の評価
検索で使用。類似度を算出。
-検索
-オブジェクトの永続化
-プラグインの使用
-構造化ページ
-代表

***周辺部分 [#c715cd8b]
特にWebアプリケーションとしてのWikiに必要なこと。
-Webアプリケーションとしてのコントロールクラス
-アカウント管理
-スキン



*コード [#u12dfe3d]

**01 [#rf91a0f1]
[[codeなにがし>http://code.nanigac.com/]]に投稿してみる。
-フレームワーク/Webアプリケーション
[[code*:357]]
-フレームワーク/WikiEngine
[[code*:362]]
-ページ、|…|…|、''…''
[[code*:364]] [[code*:375]]
-検索/クエリー
[[code*:375]]
[[検索/流れ]]
-利用者
クラス定義とOpenID認証のサンプルだけで良い。
''[[code*:???]]'' [[code*:412]]


**02 [#x29cf857]
テスト用のUIを付けて…
[[http://wiki.pmint.name/proto/02/>http://wiki.pmint.name/proto/02/]]に設置して…
コードは[[http://wiki.pmint.name/>http://wiki.pmint.name/]]のどこかに置いて。

-見解
-代表
-利用者
-ページ/章