ツリー状のページ構造で、上位ページを扱うときに下位のページを含むこと。
Piggydbのような、個人用Wikiで細切れドキュメントを1つにまとめて見やすくするためのビュー。
ツリー状のページ構造で、上位ページを、下位ページを含む単一ページにする機能。
ルートディレクトリにサブディレクトリが含まれるように。
別々のページに書いたテキストをまとめて見せる仕組み。
実装は埋め込み機能の自動付与。と、展開範囲に制限を加えることくらい。
ページ/編集とも関連。
ページ/編集やページ/履歴など、ページに関わるものとも関連。
- -
下位展開でやること †
思い付き †
下位展開をCRUDそれぞれの場合で †
C:セクション記法で作成。ページは作成フォームやDanglingLinkで作成。
R:閲覧時、「下位展開しない属性」が付いていないページなら(そして下位ページが展開に応じるなら)下位と結合して表示。セクションは必ず展開するし応じる。セクションは親が1つ(アクセス経路が1つ)なので、展開じゃないと見られない。
U:下位展開されたページを編集すれば下位ページも更新。セクションは1つのWikiTextの一部なので普通に更新。
D:下位展開されたページを消せば、そのページも消える。セクションは1つの…。
下位展開 †
範囲 †
:i/編集時展開はどうなるか[?] †
リスト構造だけど展開範囲を工夫してネストしているかのように見せる。
見える範囲 †
ページ構造のなかで、表示は指定されたページと下位ページの有力な見解[?]を表示。
編集コマンドの下位展開オプション †
:t/下位展開より †
あとで残りの:t/下位展開を追加。
下位展開 †
:i/下位展開レイアウト †
表示中より深いページを編集するときの展開範囲 †
URIで指定されたページ(基準)と、そこからの深さで展開範囲指定。
閲覧ビューでも編集ビューでも深さが同じになるように展開。
閲覧時展開/編集時展開
ページングかスクロールか→スクロールで †
:/下位展開をCRUDそれぞれの場合で †
範囲 †
:i/下位展開で見える範囲 †
:i/基準ページより下位を編集するとき †
:Done/ページングかスクロールか †
→スクロールで。
下位展開された長いページをどう見せるか。
下位展開するかしないかの設定 †
- 下位を展開するか
- 下位展開に応じるか
ページが2つのページ/属性を持つ。
隠し属性がついていれば「下位展開には応じない」
編集時、閲覧時共通。同じ属性値で両方の場合に影響。片方だけ許可されても無意味なので。禁止したいなら閲覧権限や、編集ビューの閲覧権限で。
:i/下位展開するかしないかの設定 †
一度に多数のページを編集することになるかも知れないが、1ページだけの編集操作も用意して対処。
1つ下まで †
2つ下は1つ下の繰り返し。
:i/下位展開は1つ下まで †
展開制限 †
リクエストやAPIで制限値をしていされたらそれを優先。ページ属性にある設定値は無視。
:i/下位展開の展開制限 †
:Done/下位展開を分かりやすく †
運用の問題。デフォルト設定と管理者向けマニュアルに書くこと。
構造 †
:i/下位展開は区画だけ †
:i/下位展開の問題点は下位展開でないときの問題点 †
:i/下位展開はビューを表すページ †
なおす。
:i/レイアウトも下位展開も実装はページセットを受け入れるビュー[?] †
1つ上/1つ下 †
外部名に含まれる単語を1つ除けば1レベル上位。
逆に1つ付け加えると1レベル下位。
ビューの一種に「下位展開付き閲覧ビュー」などがある。
「ビュー」と呼んでいるが、ページレンダリング時のテンプレートの1つをそう呼んでいるだけ。
階層レベルは含まれる語の数。ルートはレベル0。
下位展開付き閲覧ビューは下位展開用の枠組みの中で通常の閲覧ビューを見せるもの。
下位展開の区画1つをとれば通常のビューがあるだけ。それが複数あるのが下位展開。
ページ/編集/UIの…
保存単位 †
ページタイトルと下位ページは自動付与 †
ページ先頭にはページタイトルが見出しとして(ページ/内容に書いてなくても)閲覧時に自動付与する。
ページ/内容に埋め込まれていない下位ページ・セクションは閲覧時に自動付与する。
ただし、権限判定に通った場合だけ。
それと基準ページが下位展開するか、下位展開される側が展開に応じるかの設定も反映。例えばルートページは下位展開しないとか。
下位ページ埋め込みは無くてもいいかも。上位ページが作られていないときの自動生成ページに埋め込んでおけば。
(例えば/A/Bというページを作って、/Aを作らない場合に/Aを閲覧すると自動生成)
対象はセクションとページ †
:i/セクションをやめてページのネストで[?] †
ページをネストしたときの問題解決。
:i/レイアウトも下位展開も実装はページセットを受け入れるテンプレート †
ページセット内のページごとに下位展開する。
ページ/名前#i8d1b64a †
1つ上/1つ下
下位とは。
:/情報の保存単位 †
:i/ページタイトルと下位ページは自動付与 †
:/下位展開の対象はセクションとページ †
:i/リストでネスト風 †
†:/編集時展開はどうなるか
リスト構造だけど展開範囲を工夫してネストしているかのように見せる。
:/セクションをやめてページのネストで †
区画別に下位展開なしのユースケースを実行する方式にしたので、問題は全て解決。
体裁 †
閲覧/編集/履歴 †
どのビューでも下位展開。
:i/閲覧/編集/履歴どのビューでも下位展開 †
閲覧は内容を全て再生するビュー。読ませたい情報を全て載せる。
編集は画一化。追加と削除のためのもの。
履歴は1区画に複数の版を(その名前と一緒に)表示。できれば閲覧時並みに再生。
編集ビューでの履歴もある。WikiTextでの履歴。「ソース表示」と言われるもの。スライダーで版を選択するような。
区画ごとにビュー切り換え。1区画をページ全体に表示するような独占ビューも。
区画の大きさは広げられるように。上下方向だけでいい。ハンドルを用意、そのドラッグで上下にサイズ変更。横方向を変えられるとややこしい。
履歴の年表を出すなら1区画だけの独占ビューで。年表だけで画面の大部分を使うので。
:i/同名ページの見せ方 †
:i/「New」組み込み済み †
1区画 |
1区画 |
1区画 | 1区画 |
1区画 |
「New」組み込み済み †
差分表示でなくても更新された部分を見つけやすくするために、ページ名やセクションの後に「New」を表示。
(目次にも、本文中にも)
展開された色 †
展開時に深い(遠い)ページほど薄く表示。
文字の大きさを変えてもいい。
…で、見えないものは処理しない。代わりに「もっと詳しく…」というリンクを表示。
- 色は粗い階調で違いが分かるように
- 薄くしない深さ
通常の1ページとして扱いたい深さ。
デフォルトは全色階調の1/2とか。 - 処理する深さ
デフォルトは全色階調の範囲。
…を継承できるようにページ/属性に。
複数ページを閲覧/編集 †
編集時は見出し記法(セクション記法)WikiTextで複数ページを一度に記述可能。
:i/下位展開時深いページは薄く表示 †
ページの作成/削除 †
ルートページが消されたとき †
もしルートページからでも展開する設定で、ルートページが消されてしまったとき、ルートページを戻すだけで全て元通り。
書き換えられたのはルートページだけなので、同じ手間で復帰。
下位ページ(ルートの下位=全ページ)も消えてしまう実装にしても1ページあたり2〜3クリックで復帰(リバート)。
ルートページに含まれるセクションも一度消えるがルートページと一緒に復帰。
:/複数ページを一度に記述 †
ルートページを消すことで全ページを削除したりはできない。それぞれのページを対象にした削除をしないと。
パージ †
不要。
ページは独立したものなので上位が消えたからといって下位には影響なし。ただの埋め込み。
セクションは親(ページ)の一部なので、ページ諸共消える。パージ不要。セクション作成は利用者から特に意識されないし、セクション削除もページ編集の一部として見える。
孤立したページ(オーファン)は別途対処。オーファンの一覧を作るとか、オーファンをパージするとか。→オーファン
:i/下位展開の全区画にコメント欄 †
見出しごとにコメント追加可能。ほぼどこにでもということ。
見出しごとにビューのテンプレートを用意するということ。
ページの作成/削除 †
:i/ルートページが消されたとき †
- -----------------
権限 †
権限不足 †
編集権限がない場合、下位ページが埋め込み記法だけになり、下位ページの内容が保護される。見出しを削除しても埋め込みが行なわれなくなるだけ。埋め込み記法は上位ページのものなので上位ページの編集が可能なら消せる。
見出しだけの下位ページがあると展開されたかどうか見分けが付かなそうだが、埋め込み記法か見出し(テキスト)かで区別できるはず。
:i/削除済みページのパージ †
あとでなおす †
必ず埋め込み †
埋め込まれていないセクションはページ末尾についた#ls 的な要素により自動的に埋め込み。すでに埋め込まれているページは除く(という機能を付ける)。つまり「その他の下位ページ」。
利用者が書いたテキストの後にソートされたセクションが続く。Windowsのスタートメニューのような。
不要。
ページのオーファン化は避けられる。
この後付けを「ゴミ箱の中」とする。
権限判定(錠と鍵の整合確認)あり。
権限 †
- -----
:/下位展開時に権限不足の場合 †
ファセット分類との組み合わせ †
下位ページについても同様に埋め込み。
権限2種類(錠と鍵)の判定あり。
:i/検索結果からではなく下位展開でファセット分類 †
下位展開にはページ/要素をファセット分類する機能がつく。ファセット欄でフォーカスを選択すると下位展開されたページをフィルタリング。
ファセットは索引の機能も果たす。
下位展開/ †
目次とは別。
:/セクションはどこかに必ず埋め込み †
tag:下位展開 †
:i/下位展開の全区画にコメント欄 †
ほぼどこにでもコメント追加。