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

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

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

----

#contents

**ページとは [#g90e2d85]

***[[:i/ページは…]] [#k041008c]
> (ページは)データ保存場所
>
RIGHT:[[:i/ページは…]]



***[[: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は「存在しないページヘのリンク」という意味ではなくなる。

***[[: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]

***[[:Done/ページ型/スレッド/データコンテキスト/記法定義をまとめて設計]] [#q97ea804]
***[[ルートページ]] [#m80fde0f]
ページはページでまとめる。どうまとまるかはページ/名前次第なので、ルートページはそういう名前を持つ(だけの)ページということになる。

***[[: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



**まだまとめてない [#z5f15e45]

***[[:Done/スレッドモードはドキュメントモード?]] [#y1cd5f11]
> ドキュメントはスレッド投稿の1件に相当。それぞれ内部にページ/型を持つ。
>
RIGHT:[[スレッドは1件1件がドキュメントと同じ型>:Done/ページ型/スレッド/データコンテキスト/記法定義をまとめて設計#kf220197]]

ページの内部構造はページ/要素だけ。



***[[:Done/ページの中のページは不可か]] [#k7998b52]
> ページ同士に関連は無し。
>
RIGHT:[[:Done/ページの中のページは不可か]]

下位展開ならレイアウト上の問題。ページはネストしない。

- ページ名でまとまっていると''見なす''ことはできる。下位展開時はこのまとまりを一挙に表示。
- 明示的リンクで関連性を示すことはできる。自動検出ではない関連性。



***[[:i/BracketNameは不要]] [#y8c1151a]
明示的リンク。
不要だけど利用者の意図をシステムに伝える手段として使う。
ページ同士に明確なつながりが有ることを示す。

***[[:i/UI/タイトルとURLをコピペ]] [#b6fa6f8f]

はてなフォトライフのフォトライフ記法欄のような。
ページ名のコピペ以外に内部リンクを作る方法があるなら不要。オートコンプリートとか。ドラッグ・ドロップで使えるクリップボードとか。
このコピペ機能の代わりにページ名を逆リンク一覧にリンクするのもあり。クラシックWikiではそうなっているけどMediaWikiではそうなっていないので、どちらでもいい。













***[[:i/利用者のページ化]] [#t98d478d]
ページはデータベース。ページは利用者。ページの移動が利用者の異動。
移動で上位ページが変われば(属性/継承によって)その利用者のロールや権限も変わる。
***[[:i/増殖するページ]] [#g0a21fb1]
***[[:i/外部リソース取り込み]] [#v88605d6]
ページの元になるページ。ログなど自動生成されるデータのテンプレート。
(ヘッダーなど)通常のテンプレートと異なるのは、テンプレートを穴埋めした後に保存する点。

***[[:i/機能/Twitterから]] [#pd53a5ab]
***[[:i/機能/ページ集約]] [#kba35304]
***[[:i/機能/下書き]] [#ha5342e0]
***[[:i/機能/個人用メモ]] [#n93418a1]
***[[:i/機能/疑似SSI]] [#f999d3cd]
***[[:i/派閥はページ←Amazonでの商品にあたるもの]] [#i6758216]
***[[:i/自分のWikiで言及]] [#r1df47e2]
***[[:i/連携/Wikipedia]] [#jc6f656f]
***[[canonical]] [#o4020a8b]
***[[ウォッチリスト]] [#ae9ddaf8]
***[[ファイルアップロード]] [#o9201d29]
***[[ヘッダー]] [#x567b90b]
***[[版]] [#aba27861]

***[[:i/ページにtoJsonを]] [#pca316eb]
実装。

***[[プロトタイピング]] [#e6a7d9c7]
実装。

***[[:i/ページの1行目は特別]] [#n3d4e945]
実装。

***[[:i/ページは要素でもある]] [#x5cde9ca]
実装。

***[[:i/ページ内容と属性領域の違い]] [#bc3ca9a4]
実装。

***[[:ToDo/Twitter連携するときページ名をどうするか]] [#y4ed2841]
**いらない [#x54b71de]

***%%[[:/ユーティリティページ]]%% [#g470d3aa]
***%%[[:/ページはメモ化しない]]%% [#k7edab34]
ページ/要素は制御されないので、外からはメモ化可能か分からない。
***%%[[:/DBクラスにページ検索の機能を]]%% [#f890a445]
***%%[[:/X/PageFactory]]%% [#c81bc4bd]
***%%[[:/プラグインが使えるフック]]%% [#u787d86f]
***%%[[:/ページをセクションと比べると…]]%% [#o6f1dd71]
***%%[[:/ページを更新できるのは自身だけ]]%% [#z052431a]
***%%[[:/リストとハッシュ]]%% [#x3f32980]
***%%[[:/保存は入力されたままのWikiTextか]]%% [#ud576605]
***%%[[:/ページの出力はHTML]]%% [#q44452f7]
***%%[[:/ページを細切れにするのは隠蔽すべき?]]%% [#zae94000]
***%%[[:/対象範囲]]%% [#u4118be6]
***%%[[:/機能/複数ページ組み合わせ]]%% [#de61a854]
***%%[[:/自動生成されるページ]]%% [#n0830a1e]

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

#ls()