• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:[[:t/ページ]] [[:t/永続化]]

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

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

----

#contents

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

→ [[フレームワーク/WikiEngineでやること#vad5bbbb]]
WikiEngineはページを操作するもの。
***[[:i/ページと要素は似ている]] [#c6934989]
要素と同じ使い方ができても目的が違う。

***[[:i/ページの属性は下位が豪華、内容は上位が豪華]] [#t9a5584a]
継承とフォルダー式のまとめ。下位が上位を参照すると、下位が豪華になる。どう依存するかの違いでもある。

***[[:i/ページはファイルと類似]] [#m42ea2cc]
ページ/属性とページ/裏に管理用データを持たせて。

***[[:i/ページは機能のDB]] [#wfc07b2e]
ページ/要素にデータアクセスして読み書き。それをシリアライズ/デシリアライズして記法化。

***[[:i/ページは要素のインターフェイス]] [#i468126e]
このインターフェイスを使わなければ直接依存することになる。それもあり。プラグイン開発の戦略。

***[[:i/ページ内容がオブジェクト構成を表す]] [#e859055b]
ページは要素の構成。要素も要素の構成。それらを決めるのがページ/内容。利用者はページを通して要素をあつかう。

**ページの性質 [#afb81108]

***[[:i/ページに型を]] [#j0dee4a4]
Xの拡張容易点。要素だけで対応できない拡張はページ/型で。



***[[埋め込み式ページ]] [#r455de51]
ページ/型の1つ。
用途が決まっているなら指定なしに(デフォルトで)そうなるように。



***HTMLを直接書けるページ [#i746c5ac]
→ [[:i/HTML許可ページ]]
→ [[:i/HTML書き込み]]

ページ/型の1つ。HTMLや各種記法のレンダリング後(HTML)を貼るためのもの。

この型を管理者だけの物にするには?権限設定では属性値(ページ/型の値)を制限できない。
→「特定のページ/型を使わせない」のは不可能。

%%型を分ければ権限(錠)も分けられる?%%
%%→型では分けられないが、その型を集めて1つの上位ページでまとめればいい。属性の継承機能で一度に権限を設定できる。HTMLを書くためのページに特定のディレクトリ名を付けてまとめておく。そのまとまりに管理者だけの編集権限/錠を与えて。%%

他のページを「ページ/型:HTML」にできては無意味。ページ/型の変更…ページ/属性設定のすべてを管理者権限にしなければならない。一般利用者はページ/属性を変更できないので、ページ/型も変更できない。可能。

ページ/属性は複数に分けて、一部は誰でも変更可能にする必要があるかも知れない。
RIGHT:[[:t/属性]]


***[[:i/俺のモノは俺のモノ]] [#j8a9a00c]
ページに書かれた情報の権利/権限。
権限設定、権利表明の''コマンド''。それと紹介文にも。
***[[:i/見出しをページのタイトルに]] [#j58387ce]

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

%%→ [[:i/全ページ見出しから始める]]%%
タイトルを見出し化するよりも、見出しをタイトル化。書くときは見出しだけを書くように。

→ [[:i/UI上でページ名は「管理用」とする]]
最初の見出しをページタイトルにするといい。
Webブラウザーに表示されるのは最初の見出し。
1行目をWebブラウザーのタブやGoogle検索結果に表示したいなら、1行目を見出しにする。



**ページを操作するためのUI [#m7402a92]
***[[:i/存在しないページは無い]] [#e2e28745]
UI上では内容が無くても関連情報はある。ページ名も情報のうち。
実装上はページの有無を気にしない。ページはSingletonのようなもの。

DanglingLinkは「存在しないページヘのリンク」という意味ではなくなる。
***[[:i/ページのスレッドモード]] [#v1381dc0]
隠すとよくない。Wikipedia化。見せてる例はニコニコ大百科。

Twitterをスレッドモードの代わりに使えるかも。Federatedじゃなくなる。
***[[:Done/ページ削除のUI]] [#ob0cfa17]
→ [[ページ/削除]]


**UIとしてのページ [#a6ce55e1]
***[[:i/UI要素]] [#k3fbe5a1]
UI要素を配置するためのページ/型が必要。その型のページに配置しないとUI要素は有効にならない。

***[[:i/テンプレートは制限するものではない]] [#k86f3c03]
入力用テンプレートはUI要素として実装。編集ビューではなく閲覧ビューでのその場編集に有効。
→ [[:i/UI要素]]

**Wiki構築のためのページ [#pfc0f372]

***[[:i/隠しページ]] [#u1b73b7b]
(コンテンツ用ではなく)システム用のページは隠しページにする。
***[[:i/機能/分析]] [#dc9a77a2]
MediaWikiでの特別ページ。%%(ユーティリティページ)%%
***[[:i/ページの重さ]] [#o45d0a00]
Wikiの可視化。概要把握の機能とその表示。
***[[:i/最近更新されたページ]] [#i7902b3b]
システムが作るページ。実体がページ/要素で、その出力が動的なページリスト。なので「システムが書き込むのはページ/裏だけ」のルールと衝突しない。

***[[:i/Wiki構築をページで]] [#zccacd77]
設定項目をページに書ければいい。
汎用化して[[データアクセス]]になった。



***[[:i/ページ主体の設計]] [#q138cd45]
Wiki構築をページで行なうという発想。
ページの仕様が大きくなる。
***[[:i/Webページのテンプレートは特定のページに書く]] [#c4ee467b]
条件別のページテンプレート。言語別とか。
→見解を使うといい。



**その他の用途 [#secc02fb]

***[[:Done/ブログや掲示板として利用できるか]] [#pd40dcca]
ページ構成(ページ/要素の組み合わせ)で。運用の問題。


***[[:i/new機能を標準に]] [#bc65f533]
ページ名とページの更新日時を抱き合わせに。
ページ名ではなくページ自体を扱うようにして。

***[[:i/ヘッダーの使い道]] [#c4f18084]
%%枠の中身は別リクエスト。下位展開の区画と同じ。%%
複数のユースケースを一度に呼んだときにも有効。
これもページ統合の仕組みの一種。

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

**実装 [#v0cd5027]

***[[:ToDo/ページ型/スレッド/データコンテキスト/記法定義をまとめて設計]] [#q97ea804]
***[[:Done/ページ型/スレッド/データコンテキスト/記法定義をまとめて設計]] [#q97ea804]
***[[ルートページ]] [#m80fde0f]
ページはページでまとめる。どうまとまるかはページ/名前次第なので、ルートページはそういう名前を持つ(だけの)ページということになる。
***[[:i/要素がページに記述されたとき、Chain of Responsibilityで]] [#y336df0d]
→ [[:i/要素がページに記述されたとき、Chain of Responsibilityで?]]
要素間/ページ間の依存をなくす。それぞれが独立。連携するなら相手に依存することになる。プラグインが守らなければならないルールが無い代わりに、連携をサポートすることも無い。
***[[:i/ページと他オブジェクトとの関わり合い]] [#o3452815]
ページ同士の関わりはなし。ページ名でまとめる。順不同パスに共通点があれば下位展開でまとめて表示可能。
下位展開ビューでの順序情報に他のページ名が含まれるくらい。その情報は消えても間違っていてもいい。表示順序が変わるだけ。

***[[:i/ページを保存するときはオブジェクトだけ]] [#qfa54968]
NotationText(WikiText)は要素が分担して保存する。
記法テキスト以外でも書き換えられるようにするため。この方法でもテキストで書き換えられる。

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

%%裏だけを使うページがあってもいいかも?%%
***[[:i/クラスごとにページを]] [#h50fe0ba]
アクセスログもクラス名を冠したページ(のページ/裏)に?

***[[:Done/セクションをやめてページのネストで]] [#d829ef1d]
ページ名でつながるネスト構造。オブジェクト間はつながっていない。
上位ページを閲覧すると下位ページも見える。上位と下位について→ [[順不同パス]]

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

***[[:i/ページタイトルにユースケース別接頭辞]] [#rdbd097e]
ブラウザーでの履歴検索でも役立つ。


***[[:i/属性と内容]] [#r359cfe9]
扱いは同じ。でも分けた運用もできる。
ページ/内容、ページ/属性、ページ/裏。

***[[:i/検索結果でページを作れば「検索結果の検索結果」が可能に]] [#q85af08c]

まず見るべきところを「まず見て欲しいページ」という''ページ名で''見せることができる。更新される動的まとめ。
***[[:i/権限が影響するもの]] [#t6879152]

ページが関わるところ全てとユースケース。つまりいたるところ。権限の参照を速くすれば高速化できそう。
***[[:i/添付ファイルもページ]] [#kc2c0e30]

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


**コード [#b9332bbb]
[[code*:364]] Perl

**いらない [#x54b71de]

***%%[[:/ユーティリティページ]]%% [#g470d3aa]
***%%[[:/ページはメモ化しない]]%% [#k7edab34]
ページ/要素は制御されないので、外からはメモ化可能か分からない。
***%%[[:/DBクラスにページ検索の機能を]]%% [#f890a445]
***%%[[:/X/PageFactory]]%% [#c81bc4bd]
***%%[[:/プラグインが使えるフック]]%% [#u787d86f]
***%%[[:/ページをセクションと比べると…]]%% [#o6f1dd71]
***%%[[:/ページを更新できるのは自身だけ]]%% [#z052431a]
***%%[[:/リストとハッシュ]]%% [#x3f32980]
***%%[[:/保存は入力されたままのWikiTextか]]%% [#ud576605]
***%%[[:/ページの出力はHTML]]%% [#q44452f7]
***%%[[:/自動生成ページにアクセス権は引き継がれる]]%% [#td96aea8]
自動更新するなら権限不要にしないとおかしい。
自動更新にするための権限なら必要。それは拡張機能の導入権限。

***%%[[:/埋め込めないプレースホルダーは非表示]]%% [#a5855115]
**ページ/ [#ba1b4b58]
- ページでやること

#ls()