ツリー状のページ構造で、上位ページを扱うときに下位のページを含む機能。
ルートディレクトリにサブディレクトリが含まれるように。

別々のページに書いたテキストをまとめて見せる仕組み。
実装はページレンダリング時に使用するテンプレート。と、自動リンク先の修正くらい。

ページ/編集ページ/履歴とも関連。

下位展開でやること Edit

思い付き Edit

:i/下位展開をCRUDそれぞれの場合で[?] Edit

範囲 Edit

見える範囲 Edit

ページ構造のなかで、表示は指定されたページ下位ページの有力な見解[?]を表示。

表示中より深いページ編集するときの展開範囲 Edit

URIで指定されたページ(基準)と、そこからの深さで展開範囲指定。
閲覧ビューでも編集ビューでも深さが同じになるように展開。

閲覧時展開編集時展開

→「下位展開付き編集」ではなく「下位展開ビューからリクエストされる編集ビュー」。1ページ毎の編集
→複数ページを1つのテキストにするのは統合編集にする。他のビューと比べると編集+下位展開だけが特殊なので別ユースケースとする。

ページングかスクロールか→スクロール Edit

下位展開された長いページをどう見せるか。

下位展開するかしないかの設定 Edit

ページが2つのページ/属性を持つ。
隠し属性がついていれば「下位展開には応じない」
編集時、閲覧時共通。同じ属性値で両方の場合に影響。片方だけ許可されても無意味なので。禁止したいなら閲覧権限や、編集ビューの閲覧権限で。

一度に多数のページ編集することになるかも知れないが、1ページだけの編集操作も用意して対処。

1つ下まで Edit

2つ下は1つ下の繰り返し。1つ下に埋め込みがあれば2つ下も展開される。埋め込みの連鎖。

展開制限 Edit

リクエストやAPIで制限値をしていされたらそれを優先。ページ属性にある設定値は無視。

:i/下位展開を分かりやすく[?] Edit

運用の問題。デフォルト設定管理者向けマニュアルに書くこと。

構造 Edit

下位展開は区画だけ Edit

区画の中は別リクエスト。1ページだけ表示するときと同じ処理。
各区画をまとめる目次などもそれぞれ別のリクエストで。
同じページセットで呼べば全ての区画は整合する。

閲覧、履歴凍結、その他…
どれも区画と区画内リクエストで実現。
編集も区画別。それに加えて下位を統合した編集も。

下位統合編集下位展開とは別。(で、旧仕様の下位展開
リクエスト1回で下位展開範囲を1つに結合したNotationText編集ビューに入れて返す。利用者が投稿するとそれを分割して各ページに反映する。

下位展開の問題点は下位展開でないときの問題点 Edit

まとめ表示時の問題は1つ表示時と同じ。
例えば権限不足のとき、区画1つ1つでは何も返さない。

全ての区画が権限不足ならページ全体で権限不足の対応。1つだけ表示するときもページ全体で対応。同じ。
#tdd5facc:『下位展開は区画だけ』になったので、ページ全体で権限不足の対応はしない。(下位展開枠が権限不足で使えない場合は別)

権限混在で分かりにくくなるというのは下位展開だけの問題。

:i/下位展開はビューを表すページ Edit

なおす

ビューの一種に「下位展開付き閲覧ビュー」などがある。
ビュー」と呼んでいるが、ページレンダリング時のテンプレートの1つをそう呼んでいるだけ。

下位展開付き閲覧ビュー下位展開用の枠組みの中で通常の閲覧ビューを見せるもの。
下位展開の区画一つをとれば通常のビューがあるだけ。それが複数あるのが下位展開

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

1つ上/1つ下 Edit

外部名に含まれる単語を1つ除けば1レベル上位。
逆に1つ付け加えると1レベル下位。

階層レベルは含まれる語の数。ルートはレベル0。


例えば ページ/編集/UIページ編集UIページ/編集ページ/UI編集/UIルートページ のすべての下位に位置する。

ページ/編集/UIの…

  1. 1つ上
    ページ/編集ページ/UI編集/UI
  2. 2つ上
    ページ編集UI
  3. 3つ上
    ルートページ

保存単位 Edit

セクション永続化する。保存するのはページではない。
ゆえにページ/履歴セクション単位。

ページタイトルと下位ページは自動付与 Edit

ページ先頭にはページタイトルが見出しとして(ページ/内容に書いてなくても)閲覧時に自動付与する。
ページ/内容に埋め込まれていない下位ページセクション閲覧時に自動付与する。

ただし、権限判定に通った場合だけ。
それと基準ページ下位展開するか、下位展開される側が展開に応じるかの設定も反映。例えばルートページ下位展開しないとか。

下位ページ埋め込みは無くてもいいかも。上位ページが作られていないときの自動生成ページに埋め込んでおけば。
(例えば/A/Bというページを作って、/Aを作らない場合に/Aを閲覧すると自動生成)

対象はセクションページ Edit

:i/リストでネスト風 Edit

†:i/編集時展開はどうなるか[?]
リスト構造だけど展開範囲を工夫してネストしているかのように見せる。

:Done/セクションをやめてページのネストで[?] Edit

区画別に下位展開なしのユースケースを実行する方式にしたので、問題は全て解決。

体裁 Edit

閲覧/編集履歴 Edit

どのビューでも下位展開

閲覧は内容を全て再生するビュー。読ませたい情報を全て載せる。
編集は画一化。追加と削除のためのもの。
履歴は1区画に複数のを(その名前と一緒に)表示。できれば閲覧時並みに再生。

編集ビューでの履歴もある。WikiTextでの履歴。「ソース表示」と言われるもの。スライダーでを選択するような。

区画ごとにビュー切り換え。1区画をページ全体に表示するような独占ビューも。
区画の大きさは広げられるように。上下方向だけでいい。ハンドルを用意、そのドラッグで上下にサイズ変更。横方向を変えられるとややこしい。
履歴の年表を出すなら1区画だけの独占ビューで。年表だけで画面の大部分を使うので。

1区画
1区画
1区画1区画
1区画

:i/見解の見せ方[?] Edit

「New」組み込み済 Edit

差分表示でなくても更新された部分を見つけやすくするために、ページ名セクションの後に「New」を表示。
目次にも、本文中にも)

展開された色 Edit

展開時に深い(遠い)ページほど薄く表示。
文字の大きさを変えてもいい。
…で、見えないものは処理しない。代わりに「もっと詳しく…」というリンクを表示。

  • 色は粗い階調で違いが分かるように
  • 薄くしない深さ
    通常の1ページとして扱いたい深さ。
    デフォルトは全色階調の1/2とか。
  • 処理する深さ
    デフォルトは全色階調の範囲。

…を継承できるようにページ/属性に。

複数ページを閲覧/編集 Edit

編集時は見出し記法セクション記法WikiTextで複数ページを一度に記述可能。
複数ページは作れない。

:i/下位展開の全区画にコメント欄 Edit

ほぼどこにでもコメント追加。

ページの作成/削除 Edit

ルートページが消されたとき Edit

もしルートページからでも展開する設定で、ルートページが消されてしまったとき、ルートページを戻すだけで全て元通り。
書き換えられたのはルートページだけなので、同じ手間で復帰。
下位ページ(ルートの下位=全ページ)も消えてしまう実装にしても1ページあたり2〜3クリックで復帰(リバート)。

ルートページに含まれるセクションも一度消えるがルートページと一緒に復帰。

ルートページを消すことで全ページを削除したりはできない。それぞれのページを対象にした削除をしないと。

:i/削除済みページのパージ Edit

不要。

権限 Edit

:i/下位展開時に権限不足の場合[?] Edit

ファセット分類との組み合わせ Edit

:i/検索結果からではなく下位展開でファセット分類 Edit

下位展開にはページ/要素ファセット分類する機能がつく。ファセット欄でフォーカスを選択すると下位展開されたページをフィルタリング。
ファセット索引の機能も果たす。

目次は別途生成。

あとでなおす Edit

必ず埋め込み Edit

埋め込まれていないセクションページ末尾についた#ls 的な要素により自動的に埋め込み。すでに埋め込まれているページは除く(という機能を付ける)。つまり「その他の下位ページ」。
利用者が書いたテキストの後にソートされたセクションが続く。Windowsのスタートメニューのような。

ページオーファン化は避けられる。

この後付けを「ゴミ箱の中」とする。

権限判定(錠と鍵の整合確認)あり。


下位ページについても同様に埋め込み
権限2種類(錠と鍵)の判定あり。


埋め込みではなくなった。順序情報が無いページは無理のない範囲で上に展開される。

下位展開/ Edit

tag:下位展開 Edit