目次 †
Piggydbのような、個人用Wikiで細切れドキュメントを1つにまとめて見やすくするためのビュー。
ツリー状のページ構造で、上位ページを、下位ページを含む単一ページにする機能。
ルートディレクトリにサブディレクトリが含まれるように。
別々のページに書いたテキストをまとめて見せる仕組み。
ページ/編集やページ/履歴など、ページに関わるものとも関連。
関連 †
検索:下位展開
下位展開 †
下位展開周辺のタグ †
Array下位展開とは †
ツリー状のページ構造で、上位ページを扱うときに下位のページを含むこと。
ルートディレクトリにサブディレクトリが含まれるように。
:t/下位展開より †
あとで残りの:t/下位展開を追加。
閲覧時に見える範囲を編集するので、閲覧時・編集時両方で。
まとめて編集、ページの分割や統合なども。
下位展開 †
その範囲が編集対象の下位に位置するページ。
:i/下位展開レイアウト †
- 何階層下まで含むか?
体裁 †
編集時はWikiTextで複数ページを表現しないといけない。
→WikiNotation/ページタイトル で1ページずつ区切る。(ページ区切り、マーカーを用意する)
ページ/章 と競合。
ページが細切れになるのは隠蔽すべきだけど、マーカー(ページ区切り)が見えるくらいならいい。
:/下位展開をCRUDそれぞれの場合で †
範囲 †
:i/下位展開で見える範囲 †
表示中より深いページを編集するときの展開範囲 †
基準ページと、深さで展開範囲指定。
閲覧ビューが基準。他のビューでは閲覧ビューに合わせて展開。
→展開された下位ページの編集ボタンを押すと、深さを減らして展開するように。
下位展開(閲覧時/編集時) †
下位ページが展開されないと使いにくい。
作成時のページ内容が再現されないので。
→編集時に下位ページが展開されるように。1つのテキストに下位ページ分も含むようにする。見出しを編集するときはその見出しの下位ページも含む。
:i/基準ページより下位を編集するとき †
:Done/ページングかスクロールか †
→スクロールで。
下位展開された長いページをどう見せるか。
ページ先頭にはページタイトルが見出しとして(ページ/内容に書いてなくても)閲覧時に自動付与する。
自動で埋め込み記法を追加するようなことはしない。
下位展開しないページでは(例えばルートページでは)下位とは別のページとして見えるようにする。
それ以外のページは下位ページ全てを含めて1つのページに見えるように。
下位展開をCRUDそれぞれの場合で †
C:見出しは下位ページになる。
R:閲覧時、「下位ページを見せない属性」が付いていないページなら下位と結合(下位展開)して表示。
U:下位展開されたページを編集すれば下位ページも更新。
D:下位展開されたページを消せば、そのページも消える。
:i/下位展開するかしないかの設定 †
実装案 †
編集には下位ページを含めることができる。どうするかはユーザーからのリクエスト次第。編集コマンドに下位展開オプションがある。
下位ページが展開されているときは複数ファイルを書き換えることになる。
下位ページが見出し(埋め込みリンク)だけのときは下位ページに影響なし。埋め込みが行なわれなくなるだけ。
見出しだけの下位ページがあったとしても、埋め込みリンク記法かどうかで区別できるはず。それに見出しごとではなく1ページ分をまとめて下位展開するので気付きにくくはない。
例 †
:i/下位展開は1つ下まで †
ルートページを消されたとき †
ルートページを消してしまったとき、あるいは書き換えられてしまったとき、下位ページが残っている間はルートページを戻すだけで全て元通り。
下位ページ(ルートの下位=全ページ)も消えてしまったら1ページあたり2〜3クリックでリバート。
:i/下位展開の展開制限 †
ルートページを消したいとき †
ルートページだけ消す。あとは放置するか、パージコマンドを実行。全ページが削除される。下位ページを編集する必要は無い。
パージ †
不要。
:Done/下位展開を分かりやすく †
運用の問題。デフォルト設定と管理者向けマニュアルに書くこと。
構造 †
:i/下位展開は区画だけ †
- -----------------
下位ページ作成をユーザーに見せなくするので、パージを不要にする必要がある。
編集時に下位展開されれば、下位ページが埋め込みされなくなることはなくなる。問題は下位展開の深さに制限をかける設定の時。埋め込みだけ消すことができる。
それでも埋め込みされないページができてしまうなら、孤立しているページ一覧を作るプラグインも用意。
:i/下位展開の問題点は下位展開でないときの問題点 †
編集コマンドの下位展開オプション †
編集コマンドでは「下位を含むか」ではなく、「下位をいくつ含むか」を指定。
これは分かりやすくするため閲覧時も編集時も同じ値を設定しておく。非推奨設定ながら別の値にもできるように。
値の範囲は0以上の整数。0で下位を見せない(下位展開しない)。
無限大も設定可能に。それ以外はデフォルト値。デフォルト値は1〜2程度?ハードコーディング。デフォルト値のときだけページ/属性の「下位を展開しない」を反映する。
:i/下位展開はビューを表すページ †
なおす。
0のときでもアウトライン編集として利用価値がある。見出しの順序入れ替えをしやすい。
ビューの一種に「下位展開付き閲覧ビュー」などがある。
「ビュー」と呼んでいるが、ページレンダリング時のテンプレートの1つをそう呼んでいるだけ。
下位展開付き閲覧ビューは下位展開用の枠組みの中で通常の閲覧ビューを見せるもの。
下位展開の区画1つをとれば通常のビューがあるだけ。それが複数あるのが下位展開。
下位ページをサポートする機能を †
下位ページは上位ページと一緒に扱われる。
区画1つに複数のページを含めるのは統合編集ビュー。
想定される使用方法 †
一番分かりやすいのは
展開深度のデフォルト値を設定するので、ルートページなどでは下位展開されない。ちょうどいい。
:i/レイアウトも下位展開も実装はページセットを受け入れるテンプレート †
ページセット内のページごとに下位展開する。
ページ/名前#i8d1b64a †
1つ上/1つ下
下位とは。
普通にページ作成していけば最大でも深度は4程度。
編集頻度は末端のほうが高いだろうから下位展開を気にすることは少ないはず。
見える範囲 †
:/情報の保存単位 †
ページ構造のなかで、表示は指定されたページと下位ページの有力な見解[?]を表示。
ページ/属性で下位展開をしないよう設定されているページを閲覧・編集するとき、下位ページのサポートはしない。
別のページのように見えていいので。例えばルートページとその下位ページ。
:i/ページタイトルと下位ページは自動付与 †
- -----------------
下位展開するかしないかの設定 †
- 下位を展開するか
- 下位展開に応じるか
ページが2つのページ/属性を持つ。
隠し属性がついていれば「下位展開には応じない」ので、「下位展開に応じるか」=隠し属性でもいい。
編集時、閲覧時共通。同じ属性値で両方の場合に影響。
:/下位展開の対象はセクションとページ †
編集時の下位展開 †
投稿時、マーカーの存在しないページは空とみなす→ページ削除
編集フォームには(下位展開分も含めた)ページ名を版ID付きで付けておく。これでページ名を表すマーカーがあるかどうか判定。
版ID付き…編集の衝突判定にも使うので。
ページ/編集とも関連。
:i/リストでネスト風 †
†:/編集時展開はどうなるか
リスト構造だけど展開範囲を工夫してネストしているかのように見せる。
:/セクションをやめてページのネストで †
区画別に下位展開なしのユースケースを実行する方式にしたので、問題は全て解決。
体裁 †
:i/閲覧/編集/履歴どのビューでも下位展開 †
:i/同名ページの見せ方 †
:i/「New」組み込み済み †
:i/下位展開時深いページは薄く表示 †
:/複数ページを一度に記述 †
:i/下位展開の全区画にコメント欄 †
見出しごとにコメント追加可能。ほぼどこにでもということ。
見出しごとにビューのテンプレートを用意するということ。
ページの作成/削除 †
:i/ルートページが消されたとき †
:i/削除済みページのパージ †
不要。
権限 †
:/下位展開時に権限不足の場合 †
ファセット分類との組み合わせ †
:i/検索結果からではなく下位展開でファセット分類 †
下位展開にはページ/要素をファセット分類する機能がつく。ファセット欄でフォーカスを選択すると下位展開されたページをフィルタリング。
ファセットは索引の機能も果たす。
目次とは別。