目次 Edit


関連 Edit

検索:プロトタイピング

プロトタイピング周辺のタグ Edit

Array

プロトタイピングとは Edit

実装のためのまとめ。

特に関連の強いページ Edit

実装 Edit

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

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

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

Edit

Webアプリケーションのフレームワーク

20090927012512.png

フレームワーク/Webアプリケーション

  • ユーザー
    システム外。
  • メイン
    非オブジェクト指向の手続き指向。
  • クエリー(ユーザーから与えられたデータ)
    グローバルなデータ。なのでシングルトン。
    モデルによって書き換えられた後、ビューに参照される。
  • モデル系
    クエリーから入力(内部形式・独自形式、扱い方はモデル系クラス自身が知っている)、処理、保存(永続化)、クエリーに出力
  • ビュー
    クエリーから入力(文字列)、それをHTMLなどのテンプレートに埋め込む。

Wikiエンジンのフレームワーク

フレームワーク/WikiEngine

Webアプリ部分で言うモデル系のこと。
スキンはビュー系。

直接関連はしない。コントロールクラス経由で呼び出し。

  1. ユースケース(コントロールクラス)→モデル
  2. ユースケース(コントロールクラス)→ビュー

でも、ビューがモデルを呼ぶこともあるかも。
決まりきっている部分。HTMLヘッダーとか、背景とか。多くのページが必要とする部分とか。ユースケース別にすることもない部分。


クライアント側で動くものはUI周辺のみ。

最低限必要なもの Edit

  • コア部分
  • 周辺部分

コア部分 Edit

  • データ変換
    • WikiNotationを含むテキストをオブジェクト化する
    • 個々のオブジェクトから(HTMLなどの)別形式を得る
  • 各WikiNotationクラスによる同オブジェクト間の同一性の評価
    検索で使用。類似度を算出。
  • 検索
  • オブジェクトの永続化
  • プラグインの使用
  • 構造化ページ
  • 代表とその決定方法
  • エラーレベル

[Prog]参照

データ変換(WikiNotationクラス) Edit

テキスト→オブジェクト→HTML
オブジェクト→永続オブジェクト
どれもWikiNotationクラスの役目。

周辺部分 Edit

特にWebアプリケーションとしてのWikiに必要なこと。

UI Edit

スキンに含まれるテンプレートと関連が深い。

アカウント Edit

利用者


必要なときに必要としているクラスから呼び出される。
主にユースケースを表すコントロールクラスから。


ユーザー属性


アカウント属性


ロール属性


権限属性

スキン Edit

ページの一種。それがテンプレートになる。
スタイルシートや画像は普通に作ればいい。

UI Edit

最低限必要なUIだけ。

コード Edit

今使ってるPerlのほか、PHP、Microsoftの、Rubyも。

01 Edit

codeなにがしに投稿してみる。

02 Edit

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