• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:&tag(ページ,編集,UI);
RIGHT:[[:t/下位展開]] [[:t/レイアウト]] [[:t/ビュー]] [[☆]]

*目次 [#w75bb1ef]
#contents
[[Piggydb>:i/参考に/Piggydb]]のような、個人用Wikiで細切れドキュメントを1つにまとめて見やすくするためのビュー。
%%E-Ink向けのビューでもある。%%

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

別々のページに書いたテキストをまとめて見せる仕組み。
%%実装はページレンダリング時に使用するテンプレート。と、%%自動リンク先の修正はせず、ページを開いたときに基準ページの一部として見えるようにする。…のは要らないかも知れない。

ページ/編集やページ/履歴など、ページに関わるものとも関連。

----
#lsx(new=true);

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

[[検索:下位展開]]
*下位展開 [#y93d11ca]

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


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

ツリー状のページ構造で、上位ページを扱うときに下位のページを含むこと。
ルートディレクトリにサブディレクトリが含まれるように。
*[[:t/下位展開]]より [#ab03f849]

あとで残りの[[:t/下位展開]]を追加。

%%''編集時に''下位ページを埋め込み。%%
閲覧時に見える範囲を編集するので、閲覧時・編集時両方で。
まとめて編集、ページの分割や統合なども。
**下位展開 [#g67e9601]

その範囲が編集対象の下位に位置するページ。
***[[:i/下位展開レイアウト]] [#ofa0377c]

-何階層下まで含むか?


**対象はセクションとページ [#gdf270a7]
***[[:/下位展開をCRUDそれぞれの場合で]] [#s07ee8e0]
**範囲 [#fd2bc2c6]

***[[:i/下位展開で見える範囲]] [#w930cd2d]

**必ず埋め込み [#w3efb61b]
埋め込まれていないセクションはページ末尾に自動的に埋め込み。
利用者が書いたテキストの後にソートされたセクションが続く。Windowsのスタートメニューのような。

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

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

権限判定(錠と鍵の整合確認)あり。
***[[:i/基準ページより下位を編集するとき]] [#h2000e77]
***[[:Done/ページングかスクロールか]] [#n8622029]
→スクロールで。
下位展開された長いページをどう見せるか。

--------

下位ページについても同様に埋め込み。
権限2種類(錠と鍵)の判定あり。
**体裁 [#q1420ada]
編集時はWikiTextで複数ページを表現しないといけない。
→WikiNotation/ページタイトル で1ページずつ区切る。(ページ区切り、マーカーを用意する)

ページ/章 と競合。
ページが細切れになるのは隠蔽すべきだけど、マーカー(ページ区切り)が見えるくらいならいい。
***[[:i/下位展開するかしないかの設定]] [#b68400a5]


**表示中より深いページを編集するときの展開範囲 [#h9500888]
基準ページと、深さで展開範囲指定。
閲覧ビューが基準。他のビューでは閲覧ビューに合わせて展開。
→展開された下位ページの編集ボタンを押しても閲覧時と同じ深さまでしか展開しないように。
%%それよりも、基準ページはそのまま(上位)、深さもそのまま、代わりに編集対象ページ名を付けたほうが分かりやすい。URIが閲覧していたページになるので。%%
**下位展開(閲覧時/編集時) [#z8af969d]
下位ページが展開されないと使いにくい。
作成時のページ内容が再現されないので。
→編集時に下位ページが展開されるように。1つのテキストに下位ページ分も含むようにする。見出しを編集するときはその見出しの下位ページも含む。

%%見出し横のEditボタンはその見出しだけ。下位ページは埋め込みリンクのまま。%%
%%どのページも見出しで始まるので下位展開しない編集はページ全体どこででもできる。%%
***[[:i/下位展開は1つ下まで]] [#f9e9a757]

ページ先頭にはページタイトルが見出しとして(ページ/内容に書いてなくても)''閲覧時に''自動付与する。

自動で埋め込み記法を追加するようなことはしない。
下位展開しないページでは(例えばルートページでは)下位とは別のページとして見えるようにする。
それ以外のページは下位ページ全てを含めて1つのページに見えるように。
***下位展開をCRUDそれぞれの場合で [#j0a9707d]
C:見出しは下位ページになる。
R:閲覧時、「下位ページを見せない属性」が付いていないページなら下位と結合(下位展開)して表示。
U:下位展開されたページを編集すれば下位ページも更新。
D:下位展開されたページを消せば、そのページも消える。

***[[:i/下位展開の展開制限]] [#db0ab3bb]

**実装案 [#yadfe92a]
編集には下位ページを含めることができる。どうするかはユーザーからのリクエスト次第。編集コマンドに下位展開オプションがある。
下位ページが展開されているときは複数ファイルを書き換えることになる。
編集権限がない場合、下位ページが見出し(埋め込みリンク)だけになり、下位ページの内容が保護される。見出しを削除しても埋め込みが行なわれなくなるだけ。
見出しだけの下位ページがあると権限があるかどうか分かりにくそうだが、埋め込みリンク記法になっているかどうかで区別できるはず。それに見出しごとではなく1ページ分をまとめて下位展開するので気付きにくくはない。
**例 [#y30d53b1]


***ルートページを消されたとき [#s950be4f]
ルートページを消してしまったとき、あるいは書き換えられてしまったとき、下位ページが残っている間はルートページを戻すだけで全て元通り。
下位ページ(ルートの下位=全ページ)も消えてしまったら1ページあたり2〜3クリックでリバート。
***[[:Done/下位展開を分かりやすく]] [#x3a89d72]
運用の問題。デフォルト設定と管理者向けマニュアルに書くこと。
**構造 [#ob3a9095]

***[[:i/下位展開は区画だけ]] [#daf3239c]

***ルートページを消したいとき [#qdb9b2cb]
ルートページだけ消す。あとは放置するか、パージコマンドを実行。全ページが削除される。下位ページを編集する必要は無い。


**パージ [#ie1b7ac7]
不要。
***[[:i/下位展開の問題点は下位展開でないときの問題点]] [#p2bbe02d]

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

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

--------------------
***[[:i/下位展開はビューを表すページ]] [#q5f99945]
なおす。

下位ページ作成をユーザーに意識させなくするので、パージも意識不要する必要がある。
編集時に下位展開されれば、下位ページが孤立することはなくなる。問題は下位展開の深さに制限をかける設定の時。埋め込みだけ消すことができる。
それでも孤立ページができてしまうなら、孤立しているページ一覧を作るプラグインも用意。
**編集コマンドの下位展開オプション [#p371614e]
編集コマンドでは「下位を含むか」ではなく、「下位をいくつ含むか」を指定。
これは分かりやすくするため閲覧時も編集時も同じ値を設定しておく。非推奨設定ながら別の値にもできるように。
ビューの一種に「下位展開付き閲覧ビュー」などがある。
「ビュー」と呼んでいるが、ページレンダリング時のテンプレートの1つをそう呼んでいるだけ。

値の範囲は0以上の整数。0で下位を見せない(下位展開しない)。
無限大も設定可能に。それ以外はデフォルト値。デフォルト値は1〜2程度?ハードコーディング。デフォルト値のときだけページ/属性の「下位を展開しない」を反映する。
下位展開付き閲覧ビューは下位展開用の枠組みの中で通常の閲覧ビューを見せるもの。
下位展開の区画1つをとれば通常のビューがあるだけ。それが複数あるのが下位展開。

0のときでもアウトライン編集として利用価値がある。見出しの順序入れ替えをしやすい。
区画1つに複数のページを含めるのは統合編集ビュー。


**%%下位ページをサポートする機能を%% [#pf587e20]
%%ページ作成時とページ編集時でも下位ページの仕組みをサポートする機能を用意。%%
下位ページは上位ページと一緒に扱われる。

***[[:i/レイアウトも下位展開も実装はページセットを受け入れるテンプレート]] [#hfccd3fa]
ページセット内のページごとに下位展開する。
***[[ページ/名前#i8d1b64a]] [#xe478543]
> 1つ上/1つ下 
下位とは。

**想定される使用方法 [#of8e17c3]
一番分かりやすいのは
-デフォルト展開深度は∞に設定
特に指定しなければ末端まで展開。
-ルートページには展開しない属性を付与
ルートに限らず任意のページでページ属性を設定すればいい。

展開深度のデフォルト値を設定するので、ルートページなどでは下位展開されない。ちょうどいい。

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


**見える範囲 [#p748006c]

ページ構造のなかで、表示は指定されたページと下位ページの[[有力な見解]]を表示。
%%下位方向の管理者設定にある「下位何階層を表示するか」。%%→これはやめて、常に最下層まで展開するように。使いやすさのため。作成時に打ち込んだテキストがすべて見えるように。
***[[:i/ページタイトルと下位ページは自動付与]] [#m4c42f32]

%%それより下位のページはページ名だけ目次として表示。%%
%%これも管理者設定の「目次だけを何階層表示するか」で。内容表示しない深さを何階層分にするか。%%

ページ/属性で下位展開をしないよう設定されているページを閲覧・編集するとき、下位ページのサポートはしない。
別のページのように見えていいので。例えばルートページとその下位ページ。

--------------------
***[[:/下位展開の対象はセクションとページ]] [#w4d37057]

%%目次の位置はそれぞれのページ内容の末尾、関連するページの側がいい。%%
**下位展開するかしないかの設定 [#z2578147]
-下位を展開するか
-下位展開に応じるか

ページが2つのページ/属性を持つ。
隠し属性がついていれば「下位展開には応じない」ので、「下位展開に応じるか」=隠し属性でもいい。
編集時、閲覧時共通。同じ属性値で両方の場合に影響。

***[[:i/リストでネスト風]] [#j34a0edd]
†[[:/編集時展開はどうなるか]]
リスト構造だけど展開範囲を工夫してネストしているかのように見せる。
***[[:/セクションをやめてページのネストで]] [#d813a9fa]
区画別に下位展開なしのユースケースを実行する方式にしたので、問題は全て解決。
**体裁 [#q1420ada]

**編集時の下位展開 [#fda9ea42]
投稿時、マーカーの存在しないページは空とみなす→ページ削除
編集フォームには(下位展開分も含めた)ページ名を版ID付きで付けておく。これでページ名を表すマーカーがあるかどうか判定。
版ID付き…編集の衝突判定にも使うので。
***[[:i/閲覧/編集/履歴どのビューでも下位展開]] [#ffd48b21]

ページ/編集とも関連。


***[[:i/同名ページの見せ方]] [#c4bdc172]
***[[:i/「New」組み込み済み]] [#fd7a9c55]



***[[:i/下位展開時深いページは薄く表示]] [#t2562864]



***[[:/複数ページを一度に記述]] [#w3efa04c]



***[[:i/下位展開の全区画にコメント欄]] [#ubd86af6]
見出しごとにコメント追加可能。ほぼどこにでもということ。
見出しごとにビューのテンプレートを用意するということ。
**ページの作成/削除 [#x96444fa]

***[[:i/ルートページが消されたとき]] [#h930ad8d]



***[[:i/削除済みページのパージ]] [#v02cd624]

不要。



**権限 [#t6cb63b3]

***[[:/下位展開時に権限不足の場合]] [#kdbe7105]
**ファセット分類との組み合わせ [#e3f922b3]

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

目次とは別。
***[[:/セクションはどこかに必ず埋め込み]] [#i6da92a2]



**下位展開/ [#mbb42702]
- [[下位展開でやること]]

#ls