Wikiはページの集約。利用者ページ/内容にしか興味はない。
Wikiの情報もデータもすべてページに記録する。

ページでやること
→ X/Page[?]


  1. ページとは
    1. :i/ページとは
    2. :i/ページと要素は似ている[?]
    3. :i/ページの属性は下位が豪華、内容は上位が豪華
    4. :i/ページはファイルと類似
    5. :i/ページは機能のDB
    6. :i/ページは要素のインターフェイス
    7. :i/ページ内容がオブジェクト構成を表す
  2. ページを操作するためのUI
    1. :i/存在しないページは無い
    2. :i/ページのスレッドモード[?]
    3. :Done/ページ削除のUI
  3. UIとしてのページ
    1. :i/UI要素
    2. :i/テンプレートは制限するものではない
  4. Wiki構築のためのページ
    1. :i/ページの重さ
    2. :i/最近更新されたページ
    3. :i/HTML許可ページ
    4. :i/Wiki構築をページで
    5. :i/Webページのテンプレートは特定のページに書く
  5. ページに書かれた情報の権利/権限
    1. :i/俺のモノは俺のモノ
  6. その他の用途
    1. :i/ページに型を
    2. :Done/ブログや掲示板として利用できるか
    3. :i/new機能を標準に
    4. :i/ヘッダーの使い道
    5. :i/サブセットWikiで別物サイト生成
  7. 実装
    1. ルートページ
    2. :i/要素がページに記述されたとき、Chain of Responsibilityで
    3. :i/ページと他オブジェクトとの関わり合い
    4. :i/ページを保存するときはオブジェクトだけ
    5. :i/アクセスログはページの属性
    6. :i/クラスごとにページを
    7. :Done/セクションをやめてページのネストで[?]
    8. :i/テンプレートはページ名
    9. :i/ページタイトルにユースケース別接頭辞[?]
    10. :i/全ページ見出しから始める[?]
    11. :i/属性と内容
    12. :i/検索結果でページを作れば「検索結果の検索結果」が可能に
    13. :i/権限が影響するもの[?]
    14. :i/添付ファイルもページ
  8. まだ
    1. :i/集約ページはGoogleに残さない
    2. :i/RSSフィードには差分以外に概要も
    3. :i/UI上でページ名は「管理用」とする
    4. canonical
    5. :i/ここからの目次
    6. フレームワーク/WikiEngineでやること
    7. :i/ページ主体の設計
    8. :i/ページ冒頭に書くべきはキャッチコピー
    9. :i/ページ名単語はどれも等しい扱い
    10. :i/ホットな記事、クールな記事
    11. :i/メールのテンプレートもページ
    12. :i/ユーティリティページ[?]
    13. :i/一人衝突対策
    14. :i/上位ページナビ
    15. 下位展開
    16. 下位展開でやること
    17. 代表
    18. 全てURIで
    19. 埋め込み式ページ[?]
    20. 機能/分析[?]
    21. :i/消えた枠組み要素数でランキング
    22. 管理
    23. :i/HTML書き込み
    24. :i/複数ページのマージ[?]
    25. :i/見出しをページのタイトルに
    26. :i/隠しページ[?]
  9. コード
  10. いらない
    1. :/ページはメモ化しない
    2. :/DBクラスにページ検索の機能を
    3. :/X/PageFactory
    4. :/プラグインが使えるフック
    5. :/ページをセクションと比べると…
    6. :/ページを更新できるのは自身だけ
    7. :/リストとハッシュ
    8. :/保存は入力されたままのWikiTextか
    9. :/ページの出力はHTML
    10. :/自動生成ページにアクセス権は引き継がれる
    11. :/埋め込めないプレースホルダーは非表示
  11. ページ/

ページとは Edit

:i/ページとは Edit

ページ内部は要素のリストでも、ページ要素ごとにデータ構造が違う。
ページはデータベースを集めたもの。ページ/要素1つが1つのを持つデータベース。RDBのテーブルのような。

:i/ページと要素は似ている[?] Edit

要素と同じ使い方ができても目的が違う。

:i/ページの属性は下位が豪華、内容は上位が豪華 Edit

継承とフォルダー式のまとめ。下位が上位を参照すると、下位が豪華になる。どう依存するかの違いでもある。

:i/ページはファイルと類似 Edit

ページ/属性ページ/裏に管理用データを持たせて。

:i/ページは機能のDB Edit

ページ/要素データアクセスして読み書き。それをシリアライズ/デシリアライズして記法化。

:i/ページは要素のインターフェイス Edit

このインターフェイスを使わなければ直接依存することになる。それもあり。プラグイン開発の戦略。

:i/ページ内容がオブジェクト構成を表す Edit

ページ要素の構成。要素要素の構成。それらを決めるのがページ/内容利用者ページを通して要素をあつかう。

ページを操作するためのUI Edit

:i/存在しないページは無い Edit

UI上では内容が無くても関連情報はある。ページ名も情報のうち。
実装上はページの有無を気にしない。ページはSingletonのようなもの。

DanglingLinkは「存在しないページヘのリンク」という意味ではなくなる。

:i/ページのスレッドモード[?] Edit

隠すとよくないWikipedia化。見せてる例はニコニコ大百科。

Twitterスレッドモードの代わりに使えるかも。Federatedじゃなくなる。

:Done/ページ削除のUI Edit

ページ/削除

UIとしてのページ Edit

:i/UI要素 Edit

UI要素を配置するためのページ/型が必要。そのページに配置しないとUI要素は有効にならない。

:i/テンプレートは制限するものではない Edit

入力用テンプレートUI要素として実装。編集ビューではなく閲覧ビューでのその場編集に有効。
:i/UI要素

Wiki構築のためのページ Edit

:i/ページの重さ Edit

Wikiの可視化概要把握の機能とその表示。

:i/最近更新されたページ Edit

システムが作るページ。実体がページ/要素で、その出力が動的なページリスト。なので「システムが書き込むのはページ/裏だけ」のルールと衝突しない。

:i/HTML許可ページ Edit

ページ/型の1つ。
を分ければ権限(錠)も分けられる?
では分けられないが、そのを集めて1つの上位ページでまとめればいい。属性継承機能で一度に権限設定できる。

:i/Wiki構築をページで Edit

設定項目をページに書ければいい。
汎用化してデータアクセスになった。

:i/Webページのテンプレートは特定のページに書く Edit

条件別のページテンプレート。言語別とか。
見解を使うといい。

ページに書かれた情報の権利/権限 Edit

:i/俺のモノは俺のモノ Edit

権限設定、権利表明のコマンド。それと紹介文にも。

その他の用途 Edit

:i/ページに型を Edit

Xの拡張容易点。要素だけで対応できない拡張はページ/型で。

:Done/ブログや掲示板として利用できるか Edit

ページ構成(ページ/要素の組み合わせ)で。運用の問題

:i/new機能を標準に Edit

ページ名ページ更新日時を抱き合わせに。
ページ名ではなくページ自体を扱うようにして。

:i/ヘッダーの使い道 Edit

枠の中身は別リクエスト。下位展開の区画と同じ。
複数のユースケースを一度に呼んだときにも有効。
これもページ統合の仕組みの一種。

:i/サブセットWikiで別物サイト生成 Edit

権限/拒否判定に加えて検索結果のページセットも反映させて。権限/拒否判定ではページセットを利用する予定。同じパターンのコードが増える程度。自動リンク化やページ一覧の動的生成にどう影響するのかもまったく同じ。
:Done/サブセットモードの解除操作
:i/常にサブセットWiki

実装 Edit

ルートページ Edit

ページページでまとめる。どうまとまるかはページ/名前次第なので、ルートページはそういう名前を持つ(だけの)ページということになる。

:i/要素がページに記述されたとき、Chain of Responsibilityで Edit

:i/要素がページに記述されたとき、Chain of Responsibilityで?
要素間/ページ間の依存をなくす。それぞれが独立。連携するなら相手に依存することになる。プラグインが守らなければならないルールが無い代わりに、連携をサポートすることも無い。

:i/ページと他オブジェクトとの関わり合い Edit

ページ同士の関わりはなし。ページ名でまとめる。順不同パスに共通点があれば下位展開でまとめて表示可能。
下位展開ビューでの順序情報に他のページ名が含まれるくらい。その情報は消えても間違っていてもいい。表示順序が変わるだけ。

:i/ページを保存するときはオブジェクトだけ Edit

NotationText(WikiText)は要素が分担して保存する。
記法テキスト以外でも書き換えられるようにするため。この方法でもテキストで書き換えられる。

:i/アクセスログはページの属性 Edit

ログの出力先を特定の(設定された)ページに。
でもシステムが書き込むのはページ/裏のはず。ページ/裏の1つに追記していく。アクセスログ専用のページ/裏。

裏だけを使うページがあってもいいかも?

:i/クラスごとにページを Edit

アクセスログもクラス名を冠したページ(のページ/裏)に?

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

ページ名でつながるネスト構造。オブジェクト間はつながっていない。
上位ページを閲覧すると下位ページも見える。上位と下位について→ 順不同パス

:i/テンプレートはページ名 Edit

独立したページにすると機能充実。その反面、テンプレートにも権限(錠)を設定できてしまう。運用の問題にしておく。

:i/ページタイトルにユースケース別接頭辞[?] Edit

ブラウザーでの履歴検索でも役立つ。

:i/全ページ見出しから始める[?] Edit

:i/属性と内容 Edit

扱いは同じ。でも分けた運用もできる。
ページ/内容ページ/属性ページ/裏。

:i/検索結果でページを作れば「検索結果の検索結果」が可能に Edit

まず見るべきところを「まず見て欲しいページ」というページ名見せることができる。更新される動的まとめ。

:i/権限が影響するもの[?] Edit

ページが関わるところ全てとユースケース。つまりいたるところ。権限の参照を速くすれば高速化できそう。

:i/添付ファイルもページ Edit

ページ添付ファイルのアダプター。

まだ Edit

:i/集約ページはGoogleに残さない Edit

:i/RSSフィードには差分以外に概要も Edit

:i/UI上でページ名は「管理用」とする Edit

最初の見出しにしたほうがいい。
HTMLでのタイトルは最初の見出し

canonical Edit

ビューを示す特定のパラメーターと、最低限のパラメーターだけを残して、canonicalURIにする。パラメーターはソートしておいて。

:i/ここからの目次 Edit

不要。
見出しっぽく見えて見出しではない体裁を導入したほうが分かりやすいし制御しやすい。

フレームワーク/WikiEngineでやること Edit

WikiEngineはページを操作するもの。

:i/ページ主体の設計 Edit

データアクセス

:i/ページ冒頭に書くべきはキャッチコピー Edit

:i/ページ名単語はどれも等しい扱い Edit

:i/ホットな記事、クールな記事 Edit

:i/メールのテンプレートもページ Edit

:i/ユーティリティページ[?] Edit

:i/一人衝突対策 Edit

:i/上位ページナビ Edit

下位展開 Edit

複数のページを一覧するビュー
まとめて操作…ではない。操作用のビューをまとめて表示…までのもの。

「まとめて操作」になるのは統合編集ビュー

下位展開でやること Edit

代表 Edit

全てURIで Edit

埋め込み式ページ[?] Edit

ページ/型の1つ。
用途が決まっているなら指定なしに(デフォルトで)そうなるように。

機能/分析[?] Edit

:i/消えた枠組み要素数でランキング Edit

管理 Edit

:i/HTML書き込み Edit

:i/複数ページのマージ[?] Edit

:i/見出しをページのタイトルに Edit

1行目よりもふさわしい箇所があればそっちで。

:i/隠しページ[?] Edit

コード Edit

code*:364 Perl

いらない Edit

:/ページはメモ化しない Edit

ページ/要素は制御されないので、外からはメモ化可能か分からない。

:/DBクラスにページ検索の機能を Edit

:/X/PageFactory Edit

:/プラグインが使えるフック Edit

:/ページをセクションと比べると… Edit

:/ページを更新できるのは自身だけ Edit

:/リストとハッシュ Edit

:/保存は入力されたままのWikiTextか Edit

:/ページの出力はHTML Edit

:/自動生成ページにアクセス権は引き継がれる Edit

自動更新するなら権限不要にしないとおかしい。
自動更新にするための権限なら必要。それは拡張機能の導入権限

:/埋め込めないプレースホルダーは非表示 Edit

ページ/ Edit