• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:[[:t/ビュー]] [[:t/下位展開]] [[:t/テンプレート]]

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

#contents

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

-[[閲覧]]
-[[編集]]
編集というユースケースのステップ1
-[[履歴]]

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

RIGHT:[[:t/ビュー]] [[:t/UI]] [[:t/下位展開]]
***[[ビューの種類]] [#wf712d3b]

***[[:i/ロール別のビュー]] [#q7df2119]
***[[レイアウト]] [#hc02822f]
ここにグローバルナビを追加。

RIGHT:[[:t/レイアウト]] [[:t/ビュー]]

***[[:Done/ビューとレイアウトの違いをはっきりと]] [#ua2dccaa]
変更。
ビューはUI。レイアウトとその他(なんとかヘッダーなどを含む)テンプレートはHTMLをデコレーションするもの。
ビューとテンプレート類(レイアウト含む)という分け方。
下位展開付きのビューは区画ごとに別リクエスト。なので区画を用意するだけ。区画の中は考えない。
ビューはリクエストと対象ページで決まるが、レイアウトとコンテンツ領域テンプレートは対象ページだけで決まるので状況依存しない。
下位展開付きのビューは区画ごとに別リクエスト。なのでビューは区画を用意するだけ。区画の中は別のリクエスト・別のビューの役割。

ページ/属性にはレイアウトページ名、ビュー名×そのビューが使うテンプレートページ名、コンテンツ領域のテンプレートのページ名を書いておく。継承(オーバーライド)可能で最も下位で定義されたものが有効。
***[[:i/レイアウトも下位展開も実装はページセットを受け入れるテンプレート]] [#afae522c]
***ビュー [#k072c66e]
同じページの別の見え方。フレームワーク/WebアプリケーションのMVC Viewとは別。同じデータ(Wikiページ)の見せ方。要素の表現方法と取捨選択のこと。
テンプレートになるページが違うだけ。にしたいが機能が個別に対応する必要がありそう。実装ではリクエストされた通りのビューが使えるならそれ、使えなければ汎用のビューを使用。

-閲覧
--画面用(デフォルト、要定義)
--スマートフォン画面用
--ケータイ画面用
--印刷用
--読み上げ用
--API用
データをそのまま。
-編集
-履歴
履歴ビューは閲覧ビューで見る履歴と、編集ビューで見る履歴がある。
***HTMLヘッダー [#e544b6cf]
ヘッダー領域は辞書。
レンダリングの終わりの方で文字列化。
内部で発生した全てのヘッダーを連結。ページ/要素もヘッダーを出力する。


RIGHT:[[:t/HTML]] [[:t/レンダリング]] [[:t/ビュー]]

†[[:i/出力の統合はどうやるか?]]
***[[:i/3カラムレイアウトよりもいいレイアウトとは]] [#r1409f72]
分かりやすさのためのビュー。


RIGHT:[[:t/UI]] [[:t/レイアウト]]
***テンプレート構造の中のビュー [#o57704d3]
HTMLの構造は
-HTMLヘッダー
-ナビ
-コンテンツ(ビュー別)
--上
--中
---左/中/右
--下

と、これらをまとめるルートテンプレートというかマスターテンプレート。

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

閲覧などのビューの違いは「コンテンツ」の違い。

下位展開で1区画に入れるのが「コンテンツ」の部分。

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

RIGHT:[[:t/レイアウト]] [[:t/ビュー]] [[:t/テンプレート]]
***本文は埋め込み [#ted8846d]
ビュー内のページ内容部分は埋め込みと同等の要素で。
埋め込みでも可。でも埋め込みは実体が別にあるときのものなので、意味合いが違う。

ページ展開先(PageHolder)要素。
***ビューでやること [#mb60e698]

***ユースケース別のビュー [#xb17c9d4]
-read
閲覧ビュー
-editではなくupdate
編集ビュー(2ステップ構成。ステップ1がNotationTextを返す編集ビュー。ステップ2が投稿・更新)
-history
履歴ビュー

…など。