• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:&tag(ページ,編集,UI);
RIGHT:&tag(ページ,編集,UI,下位展開);

*目次 [#w75bb1ef]
#contents
----
#lsx(new=true);

*関連 [#fb08e581]
#lsx(tag=下位展開,new=true,except=^下位展開(/.*)?$)

[[検索:下位展開]]

*下位展開周辺のタグ [#gad22428]
#tag(0,下位展開)


*下位展開とは [#v252e4b3]
RIGHT:[[:t/下位展開]]

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

別々のページに書いたテキストをまとめて見せる仕組み。
実装は埋め込み機能の自動付与。と、展開範囲に制限を加えることくらい。

ページ/編集とも関連。
**対象はセクションとページ [#gdf270a7]


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

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

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

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

--------

下位ページについても同様に埋め込み。
権限2種類(錠と鍵)の判定あり。
**1つ下まで [#p3a56b25]
2つ下は1つ下の繰り返し。1つ下に埋め込みがあれば2つ下も展開される。埋め込みの連鎖。
**体裁 [#q1420ada]
編集時はWikiTextで複数セクションを記述可能。記法/セクション
複数ページは作れない。


**表示中より深いページを編集するときの展開範囲 [#h9500888]
URIで指定されたページ(基準)と、そこからの深さで展開範囲指定。
閲覧ビューでも編集ビューでも深さが同じになるように展開。

閲覧時展開/編集時展開


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

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

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


**下位展開をCRUDそれぞれの場合で [#j0a9707d]
C:セクション記法で作成。ページは作成フォームやDanglingLinkで作成。
R:閲覧時、「下位展開しない属性」が付いていないページなら(そして下位ページが展開に応じるなら)下位と結合して表示。セクションは必ず展開するし応じる。セクションは親が1つ(アクセス経路が1つ)なので、展開じゃないと見られない。
U:下位展開されたページを編集すれば下位ページも更新。セクションは1つのWikiTextの一部なので普通に更新。
D:下位展開されたページを消せば、そのページも消える。セクションは1つの…。
**権限不足 [#yadfe92a]
編集権限がない場合、下位ページが埋め込み記法だけになり、下位ページの内容が保護される。見出しを削除しても埋め込みが行なわれなくなるだけ。埋め込み記法は上位ページのものなので上位ページの編集が可能なら消せる。
見出しだけの下位ページがあると展開されたかどうか見分けが付かなそうだが、埋め込み記法か見出し(テキスト)かで区別できるはず。



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

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

ルートページを消すことで全ページを削除したりはできない。それぞれのページを対象にした削除をしないと。
**パージ [#ie1b7ac7]
不要。
ページは独立したものなので上位が消えたからといって下位には影響なし。ただの埋め込み。
セクションは親(ページ)の一部なので、ページ諸共消える。パージ不要。セクション作成は利用者から特に意識されないし、セクション削除もページ編集の一部として見える。

孤立したページ(オーファン)は別途対処。オーファンの一覧を作るとか、オーファンをパージするとか。→[[オーファン]]

%%埋め込みされなくなっただけで、消したつもりのページが残ってしまうことがあるので、そういうページを消す仕組みがいる。%%
%%複数データを一括処理するとき、取り消しが困難になりやすいので、その対策も含めて。%%
%%時間経過かパージコマンド実行で削除する。’’通常の削除なのでそれでもまだ復帰できる’’。%%
%%時間は無限大にもできるように。→自動的には削除しないという設定になる。%%

%%被リンク数ではなく、上位ページが無いページをパージ対象にする。%%
%%これはファイルシステムのフォルダーのメタファーに当てはめやすい。%%

--------------------

%%下位ページ作成をユーザーに意識させなくするので、パージも意識不要する必要がある。%%
%%編集時に下位展開されれば、下位ページが孤立することはなくなる。問題は下位展開の深さに制限をかける設定の時。埋め込みだけ消すことができる。%%
%%それでも孤立ページができてしまうなら、孤立しているページ一覧を作る機能も用意。%%


**編集コマンドの下位展開オプション [#p371614e]
編集コマンドでは「下位を含むか」ではなく、「下位をいくつ含むか」を指定。
これは分かりやすくするため閲覧時も編集時も同じ値を設定しておく。非推奨設定ながら別の値にもできるように。

デフォルトは無制限。ページ属性の下位展開するか/下位展開に応じるかに任せる。

値の範囲は0以上の整数。0で下位を見せない(下位展開しない)。
無限大(制限なし)も設定可能に。%%それ以外はデフォルト値。デフォルト値は1〜2程度?ハードコーディング。デフォルト値のときだけページ/属性の「下位を展開しない」を反映する。%%

下位展開をまったくしないときでもアウトライン編集として利用価値がある。見出しの順序入れ替えをしやすい。

リクエストでの指定をページ属性の設定値より優先、ページ属性は無視される。

普通にページ作成していけば最大でも深度は4程度。
編集頻度は末端のほうが高いだろうから下位展開を気にすることは少ないはず。


**見える範囲 [#p748006c]

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


**展開制限 [#ha19ff70]
リクエストやAPIで制限値をしていされたらそれを優先。ページ属性にある設定値は無視。
**下位展開するかしないかの設定 [#z2578147]
-下位を展開するか
-下位展開に応じるか

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