実装はテンプレートと区別なし。
WikiEngineが用意する画面。WebブラウザーをX専用ブラウザーにするスクリプトとUIのコンテナー。…と捉えなおす前のアイデアなので、あとでなおす


ビュー Edit

MVCのViewではなくWikiEngineが用意する画面。
利用者ユースケースを果たすために効果的なUIの組み合わせ。
実装はMVC/Viewクラスと、操作対象ページごと×MVC/Viewごとに用意されたテンプレートテンプレートとして利用するために書かれたページ
テンプレートはMVC/Viewクラスの設定項目と見なせる。特別な仕組みは無い。

実装するビュー Edit

どれもページの見せ方。それ以上に機能や処理を要するものは必要な権限を決めてユースケースとして作らないと。

下位展開をどう実現するかはそれぞれのビューで異なる。
下位展開付き閲覧ビューとか。

:i/ビューの種類 Edit

:i/ロール別のビュー Edit

レイアウト Edit

ここにグローバルナビを追加。

:Done/ビューとレイアウトの違いをはっきりと Edit

変更。
ビューUIレイアウトとその他の(なんとかヘッダーなどを含む)テンプレートはHTMLをデコレーションするもの。
ビューテンプレート類(レイアウト含む)という分け方。
ビューはリクエストで決まる(対象ページ属性権限によってはリクエスト通りにならないことがある)が、レイアウトとコンテンツ領域テンプレートは対象ページさえ分かれば決まるので状況依存しない?
下位展開付きのビューは区画ごとに別リクエスト。なのでビューは区画を用意するだけ。区画の中は別のリクエスト・別のビューの役割。

ページ/属性にはビュー名×そのビューが使うクエリーに適合する正規表現×テンプレートページ名、クエリーに…正規表現×レイアウトページ名、コンテンツ領域のテンプレート?のページ名を書いておく。ページ/属性なので、継承(オーバーライド)可能で最も下位で定義されたものが有効。

:i/レイアウトも下位展開も実装はページセットを受け入れるテンプレート Edit

レイアウト下位展開ビューのひとつ)もテンプレート。というわけで、いずれもクエリー(の一部)に応じて選択されるもの。ということでいい。

ビュー Edit

同じページ/内容の別の見え方。フレームワーク/WebアプリケーションのMVC Viewとは別。同じデータ(Wikiページ)の見せ方。要素の表現方法と取捨選択のこと。
テンプレートになるページが違うだけ。にしたいが機能ページ/要素が個別に対応する必要がありそう。実装ではリクエストされた通りのビューが使えるならそれ、使えなければ汎用のビューを使用。

HTMLヘッダー Edit

ヘッダー領域は辞書。
レンダリングの終わりの方で文字列化。
内部で発生した全てのヘッダーを連結。ページ/要素ヘッダーを出力する。

:i/出力の統合はどうやるか?

:i/3カラムレイアウトよりもいいレイアウトとは Edit

分かりやすさのためのビュー

:i/ページの分け方 Edit

HTMLヘッダー、サイトヘッダー/フッター、サイドがレイアウトの範囲。
ページ…」の区分がビューごとテンプレートの範囲。
リクエストされたビューで変わるのは内側だけ。

テンプレート構造の中のビュー Edit

…がすべて1つのビューの中に入る。
と、これらをまとめるルートテンプレートというかマスターテンプレート

閲覧や編集といったビューの違いは「コンテンツ」の枠。上中下を分けているところ。つまり「分けないビューを作れる」ということ。閲覧などのビューの違いは「コンテンツ」の違い。

下位展開ビューではコンテンツ部分が下位ページの数だけ用意した区画(だけ)。それぞれの区画は別リクエスト。区画の中には下位展開時の順番を考慮したページ名とそれぞれのビューなどを反映させる。
下位展開で1区画に入れるのが「コンテンツ」の部分。

ビューの外側は呼び出すときに選べるが、ビューの中はビューが決める。ビューの中を変更できるかどうかはビュー次第。

本文は埋め込み Edit

ビュー内のページ内容部分は埋め込みと同等の要素で。
埋め込みでも可。でも埋め込みは実体が別にあるときのものなので、意味合いが違う。

ページ展開先(PageHolder)要素。

ユースケース別のビュー Edit

…など。

ビューデータコンテキストを変えるだけ…ではない Edit

下位展開ビューは繰り返し部分を含むので、データコンテキストを変えるだけの仕様では対応できない。
それぞれのビューにあったコードが必要。

下位展開の区画を作る Edit

ビュー下位展開の区画を作る。
含む下位ページの数だけ区画は必要。これをコードで普通に作る。仕組みやルールではなく。下位ページのリクエスト方法とそれらがいくつあるのかを知る必要がある。

下位ページの順序も調べなければならない。

ビューでやること Edit

ビューを実装するには。

フレームワーク/Webアプリケーションでのビュー Edit

MVCのViewはUI。入出力担当。

入力
クエリー文字列やフォームセッションの中の外から来た生データ領域を等価な、自身が生成したデータに置き換え。
外から来たデータを排除。
出力
エスケープ処理。無害化というよりもの遵守。文字列→エスケープ済み文字列への変換。等価な値に変換。

ビュー/ Edit