ツリー状のページ構造で、上位ページを扱うときに下位のページを含むこと。

Piggydbのような、個人用Wikiで細切れドキュメントを1つにまとめて見やすくするためのビュー

E-Ink向けのビューでもある。

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

別々のページに書いたテキストをまとめて見せる仕組み。


実装は埋め込み機能の自動付与。と、展開範囲に制限を加えることくらい。

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

ページ/編集とも関連。

ページ/編集ページ/履歴など、ページに関わるものとも関連。
  • -
  1. 下位展開でやること
  2. 思い付き
    1. 下位展開をCRUDそれぞれの場合で
  1. 下位展開
    1. 範囲
      1. :i/編集時展開はどうなるか[?]
      2. 見える範囲
      3. 編集コマンドの下位展開オプション
  2. :t/下位展開より
    1. 下位展開
      1. :i/下位展開レイアウト
      2. 表示中より深いページを編集するときの展開範囲
      3. ページングかスクロールか→スクロールで
      4. :/下位展開をCRUDそれぞれの場合で
    2. 範囲
      1. :i/下位展開で見える範囲
      2. :i/基準ページより下位を編集するとき
      3. :Done/ページングかスクロールか
      4. 下位展開するかしないかの設定
      5. :i/下位展開するかしないかの設定
      6. 1つ下まで
      7. :i/下位展開は1つ下まで
      8. 展開制限
      9. :i/下位展開の展開制限
      10. :Done/下位展開を分かりやすく
    3. 構造
      1. :i/下位展開は区画だけ
      2. :i/下位展開の問題点は下位展開でないときの問題点
      3. :i/下位展開はビューを表すページ
      4. 1つ上/1つ下
      5. 保存単位
      6. ページタイトルと下位ページは自動付与
      7. 対象はセクションとページ
      8. :i/セクションをやめてページのネストで[?]
      9. :i/レイアウトも下位展開も実装はページセットを受け入れるテンプレート
      10. ページ/名前#i8d1b64a
      11. :/情報の保存単位
      12. :i/ページタイトルと下位ページは自動付与
      13. :/下位展開の対象はセクションとページ
      14. :i/リストでネスト風
      15. :/セクションをやめてページのネストで
    4. 体裁
      1. 閲覧/編集/履歴
      2. :i/閲覧/編集/履歴どのビューでも下位展開
      3. :i/同名ページの見せ方
      4. :i/「New」組み込み済み
      5. 「New」組み込み済み
      6. 展開された色
      7. 複数ページを閲覧/編集
      8. :i/下位展開時深いページは薄く表示
    5. ページの作成/削除
      1. ルートページが消されたとき
      2. :/複数ページを一度に記述
      3. パージ
      4. :i/下位展開の全区画にコメント欄
    6. ページの作成/削除
      1. :i/ルートページが消されたとき
    7. 権限
      1. 権限不足
      2. :i/削除済みページのパージ
    8. あとでなおす
      1. 必ず埋め込み
    9. 権限
      1. :/下位展開時に権限不足の場合
    10. ファセット分類との組み合わせ
      1. :i/検索結果からではなく下位展開でファセット分類
    11. 下位展開/
      1. :/セクションはどこかに必ず埋め込み
    12. tag:下位展開
      1. :i/下位展開の全区画にコメント欄
    13. 下位展開/

下位展開でやること Edit

思い付き Edit

下位展開をCRUDそれぞれの場合で Edit


C:セクション記法で作成。ページは作成フォームDanglingLinkで作成。

R:閲覧時、「下位展開しない属性」が付いていないページなら(そして下位ページが展開に応じるなら)下位と結合して表示。セクションは必ず展開するし応じる。セクションは親が1つ(アクセス経路が1つ)なので、展開じゃないと見られない。

U:下位展開されたページ編集すれば下位ページも更新。セクションは1つのWikiTextの一部なので普通に更新。

D:下位展開されたページを消せば、そのページも消える。セクションは1つの…。

下位展開 Edit

範囲 Edit

:i/編集時展開はどうなるか[?] Edit


リスト構造だけど展開範囲を工夫してネストしているかのように見せる。

見える範囲 Edit


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

編集コマンドの下位展開オプション Edit


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

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

:t/下位展開より Edit


値の範囲は0以上の整数。0で下位を見せない(下位展開しない)。無限大(制限なし)も設定可能に。

それ以外はデフォルト値。デフォルト値は1〜2程度?ハードコーディング。デフォルト値のときだけページ/属性の「下位を展開しない」を反映する。

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

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

下位展開 Edit


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

:i/下位展開レイアウト Edit


普通にページ作成していけば最大でも深度は4程度。編集頻度は末端のほうが高いだろうから下位展開を気にすることは少ないはず。
  • -
    →閲覧時に見たままの範囲になるように。つまり1ページだけか下位全てを一度に編集するか。

表示中より深いページ編集するときの展開範囲 Edit


URIで指定されたページ(基準)と、そこからの深さで展開範囲指定。

閲覧ビューでも編集ビューでも深さが同じになるように展開。

閲覧時展開編集時展開

ページングかスクロールか→スクロール Edit

:/下位展開をCRUDそれぞれの場合で Edit

範囲 Edit

:i/下位展開で見える範囲 Edit

:i/基準ページより下位を編集するとき Edit

:Done/ページングかスクロールか Edit


→スクロールで。
下位展開された長いページをどう見せるか。

下位展開するかしないかの設定 Edit


ページが2つのページ/属性を持つ。

隠し属性がついていれば「下位展開には応じない」

編集時、閲覧時共通。同じ属性値で両方の場合に影響。片方だけ許可されても無意味なので。禁止したいなら閲覧権限や、編集ビューの閲覧権限で。

:i/下位展開するかしないかの設定 Edit


一度に多数のページ編集することになるかも知れないが、1ページだけの編集操作も用意して対処。

1つ下まで Edit


2つ下は1つ下の繰り返し。1つ下に埋め込みがあれば2つ下も展開される。埋め込みの連鎖。

:i/下位展開は1つ下まで Edit

展開制限 Edit


リクエストやAPIで制限値をしていされたらそれを優先。ページ属性にある設定値は無視。

:i/下位展開の展開制限 Edit

:Done/下位展開を分かりやすく Edit


運用の問題。デフォルト設定管理者向けマニュアルに書くこと。

構造 Edit

:i/下位展開は区画だけ Edit

:i/下位展開の問題点は下位展開でないときの問題点 Edit

:i/下位展開はビューを表すページ Edit

1つ上/1つ下 Edit


外部名に含まれる単語を1つ除けば1レベル上位。

逆に1つ付け加えると1レベル下位。

なおす

階層レベルは含まれる語の数。ルートはレベル0。

ビューの一種に「下位展開付き閲覧ビュー」などがある。

ビュー」と呼んでいるが、ページレンダリング時のテンプレートの1つをそう呼んでいるだけ。

ページ/編集/UIの…
  1. 1つ上
    ページ/編集ページ/UI編集/UI
  2. 2つ上
    ページ編集UI
  3. 3つ上
    ルートページ

保存単位 Edit


セクション永続化する。保存するのはページではない。

ゆえにページ/履歴セクション単位。

ページタイトルと下位ページは自動付与 Edit


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

ページ/内容に埋め込まれていない下位ページセクション閲覧時に自動付与する。

区画1つに複数のページを含めるのは統合編集ビュー

ただし、権限判定に通った場合だけ。

それと基準ページ下位展開するか、下位展開される側が展開に応じるかの設定も反映。例えばルートページ下位展開しないとか。

下位ページ埋め込みは無くてもいいかも。上位ページが作られていないときの自動生成ページに埋め込んでおけば。

(例えば/A/Bというページを作って、/Aを作らない場合に/Aを閲覧すると自動生成)

対象はセクションページ Edit

:i/セクションをやめてページのネストで[?] Edit


ページをネストしたときの問題解決。

:i/レイアウトも下位展開も実装はページセットを受け入れるテンプレート Edit


ページセット内のページごとに下位展開する。

ページ/名前#i8d1b64a Edit

1つ上/1つ下


下位とは。

:/情報の保存単位 Edit

:i/ページタイトルと下位ページは自動付与 Edit

:/下位展開の対象はセクションとページ Edit

:i/リストでネスト風 Edit


:/編集時展開はどうなるか

リスト構造だけど展開範囲を工夫してネストしているかのように見せる。

:/セクションをやめてページのネストで Edit


区画別に下位展開なしのユースケースを実行する方式にしたので、問題は全て解決。

体裁 Edit

閲覧/編集履歴 Edit


どのビューでも下位展開

:i/閲覧/編集/履歴どのビューでも下位展開 Edit


閲覧は内容を全て再生するビュー。読ませたい情報を全て載せる。

編集は画一化。追加と削除のためのもの。

履歴は1区画に複数のを(その名前と一緒に)表示。できれば閲覧時並みに再生。

編集ビューでの履歴もある。WikiTextでの履歴。「ソース表示」と言われるもの。スライダーでを選択するような。

区画ごとにビュー切り換え。1区画をページ全体に表示するような独占ビューも。

区画の大きさは広げられるように。上下方向だけでいい。ハンドルを用意、そのドラッグで上下にサイズ変更。横方向を変えられるとややこしい。

履歴の年表を出すなら1区画だけの独占ビューで。年表だけで画面の大部分を使うので。

:i/同名ページの見せ方 Edit

:i/「New」組み込み済み Edit

1区画
1区画
1区画1区画
1区画

「New」組み込み済 Edit


差分表示でなくても更新された部分を見つけやすくするために、ページ名セクションの後に「New」を表示。

目次にも、本文中にも)

展開された色 Edit


展開時に深い(遠い)ページほど薄く表示。

文字の大きさを変えてもいい。

…で、見えないものは処理しない。代わりに「もっと詳しく…」というリンクを表示。
  • 色は粗い階調で違いが分かるように
  • 薄くしない深さ
    通常の1ページとして扱いたい深さ。

    デフォルトは全色階調の1/2とか。
  • 処理する深さ
    デフォルトは全色階調の範囲。

…を継承できるようにページ/属性に。

複数ページを閲覧/編集 Edit


編集時は見出し記法セクション記法WikiTextで複数ページを一度に記述可能。

複数ページは作れない。

:i/下位展開時深いページは薄く表示 Edit

ページの作成/削除 Edit

ルートページが消されたとき Edit


もしルートページからでも展開する設定で、ルートページが消されてしまったとき、ルートページを戻すだけで全て元通り。

書き換えられたのはルートページだけなので、同じ手間で復帰。

下位ページ(ルートの下位=全ページ)も消えてしまう実装にしても1ページあたり2〜3クリックで復帰(リバート)。

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

:/複数ページを一度に記述 Edit


ルートページを消すことで全ページを削除したりはできない。それぞれのページを対象にした削除をしないと。

パージ Edit


不要。

ページは独立したものなので上位が消えたからといって下位には影響なし。ただの埋め込み

セクションは親(ページ)の一部なので、ページ諸共消える。パージ不要。セクション作成は利用者から特に意識されないし、セクション削除もページ編集の一部として見える。

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

埋め込みされなくなっただけで、消したつもりのページが残ってしまうことがあるので、そういうページを消す仕組みがいる。

複数データを一括処理するとき、取り消しが困難になりやすいので、その対策も含めて。

時間経過かパージコマンド実行で削除する。’’通常の削除なのでそれでもまだ復帰できる’’。

時間は無限大にもできるように。→自動的には削除しないという設定になる。

:i/下位展開の全区画にコメント欄 Edit


見出しごとにコメント追加可能。ほぼどこにでもということ。

見出しごとにビューテンプレートを用意するということ。

ページの作成/削除 Edit


リンク数ではなく、上位ページが無いページをパージ対象にする。

これはファイルシステムのフォルダーのメタファーに当てはめやすい。

:i/ルートページが消されたとき Edit

  • -----------------

下位ページ作成をユーザーに意識させなくするので、パージも意識不要する必要がある。

編集時に下位展開されれば、下位ページが孤立することはなくなる。問題は下位展開の深さに制限をかける設定の時。埋め込みだけ消すことができる。

それでも孤立ページができてしまうなら、孤立しているページ一覧を作る機能も用意。

権限 Edit

権限不足 Edit


編集権限がない場合、下位ページ埋め込み記法だけになり、下位ページの内容が保護される。見出しを削除しても埋め込みが行なわれなくなるだけ。埋め込み記法は上位ページのものなので上位ページ編集が可能なら消せる。

見出しだけの下位ページがあると展開されたかどうか見分けが付かなそうだが、埋め込み記法見出し(テキスト)かで区別できるはず。

:i/削除済みページのパージ Edit

あとでなおす Edit

必ず埋め込み Edit


埋め込まれていないセクションページ末尾についた#ls 的な要素により自動的に埋め込み。すでに埋め込まれているページは除く(という機能を付ける)。つまり「その他の下位ページ」。

利用者が書いたテキストの後にソートされたセクションが続く。Windowsのスタートメニューのような。

不要。

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

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

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

権限 Edit

  • -----

:/下位展開時に権限不足の場合 Edit

ファセット分類との組み合わせ Edit


下位ページについても同様に埋め込み

権限2種類(錠と鍵)の判定あり。

:i/検索結果からではなく下位展開でファセット分類 Edit


下位展開にはページ/要素ファセット分類する機能がつく。ファセット欄でフォーカスを選択すると下位展開されたページをフィルタリング。

ファセット索引の機能も果たす。

下位展開/ Edit


目次とは別。

:/セクションはどこかに必ず埋め込み Edit

tag:下位展開 Edit

:i/下位展開の全区画にコメント欄 Edit


ほぼどこにでもコメント追加。

下位展開/ Edit