下位展開は下位ページをどう見せるかを決める機能。例えば、Notionのようにページをカンバンにしたり、タスクリストの1項目にしたり。
必要な情報は上位ページが持つ †
必要な情報は利用者が持つ †
下位側(展開される側)は何も対応しない。下位展開を拒否できるくらい。その拒否も要らないかも知れない。
下位側が順序を持つという設計は却下。
下位展開で、どの下位ページをどう並べて見せるかは上位ページの情報。順不同パスにより上位ページは複数あるので、見せ方と順序の組も複数ある。同じページでも一度のレスポンスで見せ方の定義の数ぶん複数回レンダリングすることになる。ひとつを選ぶことにはならない。
:i/下位展開時の順序は利用者がスペースごとに持つ
デフォルトで下位展開する †
この見せ方の定義が「下位展開するか」のフラグになる?これがひとつの画面内で下位ページの重複を防ぐ仕組みになる。
定義が必要なのは面倒。だからといってデフォルト値を用意すると、「定義しない」という選択肢を選べなくなってしまう。
見せ方の定義はデフォルト値付き。ページを作るだけで、デフォルトの見せ方と順序はできる。
同じビュー内に同じページが複数回現れることがあるけど、それは現れていい。ページは読み物になっていなければならないので。ただし、いくつめかという印をつけて、全部読もうという人が同じテキストを読まないように配慮する。
存在する親ページの順列の数だけ表示が重複するので、ページの構成によっては、下位展開のせいでテキスト量が膨大になる。
同じビュー内に同じページが複数回現れることがあるけど、それは現れていい。ページは読み物になっていなければならないので。ただし、なにか印をつけて、全部読もうとする人が同じテキストを読まないように配慮する。
a、b、c、a/b/c という4つのページがあって、基準ページがルートで、ルート以下すべてを下位展開する設定なら、a/b/cは3回表示されることになる。
印は例えば…
- a
- a/b/c
- b
- b/a/c (a/b/cと同じ)
- c
- c/a/b (a/b/cと同じ)
同じページが何度も現れる †
-
a-
a/b/c
-
-
b-
b/a/c (a/b/cと同じ)
-
-
c-
c/a/b (a/b/cと同じ)
-
→ 下位展開を考慮せず検索して、その後に下位展開の構造に当てはめると回避できる。実装次第。
下位展開は連鎖する †
下位展開された下位ページでも、下位展開のレイアウトが有効になる。下位の下位はひとつ上(つまり下位)のレイアウトになる。下位展開の中で表示される限り、下位展開レイアウトによる表示になる。
→ :i/下位展開は1つ下まで