断りなく「ページ名」と書いてある場合は外部名のentry部分だけを指している。順不同パスはentry部分だけのこと。
内部名は「内部名」と表記。


  1. ページ/名前
  2. :t/名前より
    1. 内部名と外部名
      1. 内部名/外部名のどちらでも可
      2. 内部名と外部名は1つに
    2. 外部名4区分
      1. space
      2. entry
      3. opinion
      4. revision
    3. 外部名4区分とそれぞれのデフォルト
      1. spaceのデフォルトは管理用?
      2. entryのデフォルトはルートページ
      3. opinionのデフォルトは視点
      4. revisionのデフォルトは最新版
      5. entryの検索は適合率で
      6. 見解の代表を得るためには利用者と日時が必要
    4. ページ名(entry)変更/ページ移動
      1. ページ名変更はページ移動でもある
      2. ページ移動処理でやること
      3. ページ名が変わっても同じインスタンス
      4. ページ名が変わっても過去版のページ名は変わらない
    5. 順序
      1. 順序は決めるもの
      2. :i/同階層の表示順序は単方向リストで記録
      3. :i/ディレクトリ名に順序なし
    6. 権限
    7. プレビューとタイムマシン
      1. →:プレビューモード
      2. →:タイムマシンモード
  3. あとでなおす
    1. ページ名を扱いやすく
    2. 正規表現
    3. ページ名は読むためのもの、IDになるのは内部名
    4. 「/」
    5. 「/」より「の」
    6. 名前変更は2つ以上同時受け付け
    7. 変更するときは関連ページも一緒に
    8. 変更しても同じページ
    9. Wiki内リンクも更新
    10. 名前変更でリダイレクト
    11. 記法などでは3層一括指定
    12. 表示時の省略
    13. 書き方二通り
    14. 既定値は最初の見出しか1行目
    15. ページ名もコンテンツ
    16. 1行目にはURIも可
    17. 同一視する文字
    18. 相対パス/絶対パス
    19. 見出しに区切り文字が入ると、順序が変わるかも
    20. パスの表現方法
    21. タグON/OFFでナビゲーション生成
    22. ON/OFFでページ名変更
    23. 名前が重複したら追加
    24. ページ名を使うということは、ディレクトリ名も使うということ。
    25. :
    26. ページ名(キーワード)とタグは同等の機能を持つ
    27. 名前/

ページ/名前 Edit

## ページ名前
ページ/名前は4区分。

### (revision)
大抵のWikiはリクエストされたページを再生するもの。
ずっと発展途上。いくら更新しても未完成。間違いを直しつつまた間違える。なので古いも参照できるようページ/履歴を残す。SPAMでなくても正しくない事はあるし、それは正しい事と混ざっている。修正が実は正しくないという事もある。
履歴のリスト。それでページのID(外部名4区分)には「」を入れる。

### 見解 (opinion)
1つの事柄についても正しい事はたくさんある。Wikiに載せられるのは正しい事だけ…というわけでもない。ページのID(外部名4区分)に「見解」というものを設けて、1つの事柄についていくつでもページを作れるようにする。はてなキーワードの「別の〇〇について書く」。Wikipediaではページ名に括弧書きを加えて区別を付けている。

### 名前 (entry)
外部名4区分のうちの「名前」(ページ名?項目名?)は階層化。これはWikiデザイン原則違反。それでも絶対パスを使う限りはフラットな名前空間と同じことになる。問題は相対パス。でも相対パスを使うかどうかは運用の問題
階層化したページ名は単語の羅列。いくらかでも利用者ページ名を扱いやすくするため順不同パスにする。
エディターでのオートコンプリートもページ名を扱いやすくするのに有効。オートコンプリートといえば先頭一致だけど、それだけでなくパス内の単語区切りから補完可能に。

### スペース (space)
もう1つの外部名4区分は(名前空間だけど)「スペース」。WikiFarmのための外部名区分。1つのシステムで多数のWiki。そのWiki1つ分を表すのがスペーススペースではなく「Wiki」とすべきところ。

:t/名前より Edit

内部名外部名 Edit

利用者ページ名を自由に変更可能。でもシステム側でページ名を変更するのは不適切。
そこで変更できる名前と変更できない名前を両方使用する。いずれか一方でページを参照できる。

内部名
利用者に見せないほうのページ/名前ページ/名前が変わっても履歴を追えるようにする。
外部名
ページ/名前として利用者に見せるほう。複数の区分があるが特にentryのこと。entryでページの上下関係が決まる。

内部名外部名のどちらでも可 Edit

内部名/(完全な)外部名のどちらでもページを特定できる。
十分な情報が無ければ検索が必要。

それでも両方必要。
外部名利用者が変更可能。外部名を変更してもページ/履歴をつなげるために内部名が必要。
利用者内部名を扱えない。利用者にとっての一意な名前として外部名が必要。

内部名外部名は1つに Edit

内部名外部名は同じ永続化キーの一部。それぞれ別物だけど連結して同じキーにする。

:i/永続化でのキー変更も追加で
変更は容易。

外部名4区分 Edit

外部名は4区分。スペース(space), 項目(entry), 見解(opinion), (revision)
ページ名」と呼んでいるのは項目の名前

内部名は1区分。ページのインスタンスID + クラス名(Page)

space Edit

サブドメイン。またはページ名の前に付く部分。
利用者が選べる。変更されることも。

spaceは複数あるがそれらをまとめるものは無い。必要なら"Universe"?

entry Edit

"/"から始まるページ名。"/"はルートページ
ページ名を消してもページは残る。
ページ/削除

利用者が自由に付けられる。変更される。

順不同パスはentryのこと。区切り文字で切って集合(set)として扱う。
順不同パスでの上下関係は(区切り文字で分けた)単語の数。→ #i8d1b64a

opinion Edit

viewまたはside.→fork→opinion
見解
システムが付ける。利用者は気にしない。変更不可能。

revision Edit


数値でいい。
システムが付ける。利用者は気にしない。代わりに日時を見てもらう。
「特定」とはrevisionを明示すること。

外部名4区分とそれぞれのデフォルト Edit

代表」と表記してあるのは見解のデフォルトのこと。

spaceのデフォルトは管理用? Edit

あるいは無名space. spaceのデフォルトは無名で省略。
spaceがサブドメインならサブドメインなし。
→無名で。

entryのデフォルトはルートページ Edit

entry=ページ名を指定しないときのページ
ページ/編集時に1行目を空行にすればルートページ化。「ルートに移動させた」とも言える。→ページ/名前/衝突[?]

opinionのデフォルトは視点 Edit

見解(opinion)のデフォルトは利用者ごと、かつ時期によって違うもの。「視点」とも言える。
取得するにはentry、利用者、日時が必要。

この際の利用者のデフォルトはゲスト。日時のデフォルトは現在。

revisionのデフォルトは最新版 Edit

特に指定しなければ最新版を指定すれば特定を指すことになる。

entryの検索は適合率で Edit

entryに含まれる語が少ないほど適合率は高くなりやすい。
少ない語に適合したほうが高スコア。
重複も含む。日付などでは12/12/12もあるが重複数が重要なので。

見解代表を得るためには利用者と日時が必要 Edit

利用者×日時→当時の見解

ページ名(entry)変更/ページ移動 Edit

ページ名変更はページ移動でもある Edit

ページ名の中に位置(ディレクトリ)があるので。

ページ移動処理でやること Edit

ページ移動は永続化キー外部名部分を置き換えたエントリー作成
外部名(のentry部分)はページ/内容の1行目。つまり普通にページ編集するのと同じ処理。

※古い外部名検索すると、それらがどれも最新版ではないと分かること。

外部名(のentry部分)が変わっても同じ内部名でアクセスできること。履歴がつながること。

ページ名が変わっても同じインスタンス Edit

同じインスタンスにアクセスするために内部名が要る。
履歴をたどれるので、ページ名変更の取り消しはページ/編集の取り消し(リバート)と同じ。操作も処理も同じ。

ページ名が変わっても過去ページ名は変わらない Edit

ページ/名前ページ/内容名前を変えても過去に影響しないので、特定に(内部名でなく)ページ名リンクするなら、当時の名前で。
最新版名前と日付でリンクできてもいい。日時指定なら同名ページがあっても取り違えることはないはず。

ページ/履歴にはごとのページ名が分かるようにするか、名前(1行目)変更が分かるようにする。

順序 Edit

順序は決めるもの Edit

実装時にはページ名間に順序を。同一ディレクトリ内では辞書順。ディレクトリは深さ優先。浅い階層の違いは大きく、深い階層の違いは小さく評価つまりフルパスを辞書順にするのと一緒。

複数のページを処理するときはこの順序で処理できるように。

特定のディレクトリと深さを指定して、この順序ページ名を取り出せるように。
→ディレクトリ構造に順序がなくなったので。

:i/同階層の表示順序は単方向リストで記録 Edit

:i/ディレクトリ名に順序なし Edit

:i/ディレクトリ名だけでなくページ名まで順不同に
順序に厳格なのはユーザー中心じゃない。
順序はないが数は有効なので、2012/12/12などの日付も書ける。

権限 Edit

ページ名を見る権限は閲覧権限
ページ名ページ/内容の1行目なので、ページ/内容を見る権限でいい。

プレビュータイムマシン Edit

→:プレビューモード Edit

→:タイムマシンモード Edit

あとでなおす Edit

ページを表すIDで、利用者に見せる名前
利用者に見せない名前はページ/内部名[?]

ページ名を扱いやすく Edit

http://wikienginex.com/wiki/このサイトについて

などとURLにページ名が入るのは良い案。変えない。UTF-8で。

検索欄を用意。
検索だと1ステップ手順が多くなるので、結果が明確なら一覧を出さずに1位のページリダイレクト
Googleの†:I'm Feeling Luckyのように。
(有力な見解[?]の仕組みを使って)

正規表現 Edit

ページ名の指定はどれも正規表現で受け付けるようにしたい。
→使い方が難しい。ページを指定するならシステム側で曖昧に解釈。

ページ名は読むためのもの、IDになるのは内部名 Edit

重複無し。重複があれば、どちらかを扱う。どちらでもいい。
ページの中に見解があるので、同じページ名で違う表示ということはある。

「/」 Edit

ページ名の階層区切りはサイト設定。変更、他のwikiからのインポートを容易にするために複数設定できるように。(旧設定と新設定を両方有効にできるように)

「/」より「の」 Edit

ページ名前」というページを作るくらいなら「ページ/名前」を作ったほうがいい。
なら「の」を「/」の代わりにすればなおいい。

***親ページも作る [#ud68512b]
さらに、「プロジェクトの名前」というページを作ると
-プロジェクト
-プロジェクト/名前
という2つのページが一度にできるように。
→この場合、「プロジェクト」はタグのようなディレクトリ名になる。→ディレクトリ名に順序なし

自動リンクを発生させるためにページは多くしたい。全文検索の他に言葉を選択する探し方も欲しいので。
が、検索結果では邪魔になる。
Wikiの設定にディレクトリ名にあたる部分もページ化するオプションがあってもいい。
作られるページは既定のページ

名前変更は2つ以上同時受け付け Edit

同時に2つ以上のページ名を変更できるように。
ページ名の入れ替えを1ステップで可能にする。
ページ名ページ編集と同義。1行目がページ名になる。ページ名が重複したときどうするか?

正規表現を受け入れるなら管理者専用に?
複数のページ内容を一括置換するツール

変更するときは関連ページも一緒に Edit

下位ページがあるときなど、ページ名がディレクトリ名になっていることがある。
ディレクトリ名が変更されたらそれ以下のページ名も変わることになる。ファイルシステムと一緒。

変更しても同じページ Edit

名前を変更しても内部名は変わらないので、履歴は引き継がれる。
1つの履歴リストに複数のページ名が表示されることになる。

→一般ユーザーでも名前変更が可能になる。

Wiki内リンク更新 Edit

リンク要素リンク先も更新
ということはWikitextを更新するので、利用者に承諾を得る必要がある。

自動リンクもこうすると、自動リンクを作っては変えの繰り返しでサイト内をまとめて編集可能になる。

名前変更でリダイレクト Edit

ページ名前変更をしたら旧名はリダイレクトページになる。
もう一手間かけてリダイレクトページを消してもいいし、旧名をまた使うまで残しておくのも良い。

他サイトからのリンクを切らないための措置。

リダイレクトページを自動生成するなら、新名称が既存の場合のページ名変更は上書きに。ページ内容をコピペするのと同じ処理。履歴は普通に残る。
上書きをするならプレビューを可能に。

「存在しないページリダイレクトにする」という発想でいい。名前変更時にしかリダイレクトしないのは「そのときリダイレクト先ができるから」。他にもリダイレクト先にふさわしいURIができるときがあるのならそこでもリダイレクト化。

記法などでは3層一括指定 Edit

記法など、分けて書けない場合…

 項目名(ページ名):見解名:

…といったように区切り文字でつないで。

表示時の省略 Edit

区切りごとに中間から省略、少なくともルートページの1つ下と(最後は)表示。それでも長いなら最初だけの表示。

WikiSite/ToDo/上位ページ削除されると、編集不可でも削除するか/第一部
↓
... /ToDo/ ... /第一部

1つの区切りが長い時は単語単位で省略。CJKVの場合は文字種区切りにでもしておく。これも中間から必要なだけ省略して少なくともルートページの1つ下と(最後は)残す。それでも長いなら最初だけ。
記号の前では(日本語の場合はひらがなと句読点の前では)区切らないのもいい。

WikiSite/ToDo/上位ページ削除されると、編集不可でも削除するか
↓
... /ToDo/上位ページ削除されると、編集不可でも削除するか
↓
... /ToDo/上位ページが ... 編集不可でも削除するか
↓
... /ToDo/上位ページが ... 削除するか
↓
... /ToDo/上位ページが ...

必要なだけ省略。
単語が短いと省略記号(...)のほうが長くなるかも知れないが、省略。

書き方二通り Edit

これで前後関係の分かるリンクを作れる。

→もっと多様にした。→自動リンク

既定値は最初の見出しか1行目 Edit

UIでもAPIでも一貫して。

細かい章は段落と同様に頻繁に使う。
章をページとして実装するとなると、章にいちいち名前を付けるのは煩わしい。
最初の章の見出しページの1行目全体を名前にする。章の場合、一行目は見出し記法になっているはず。章がない場合に1行目を使用。
重複対策でランダム文字列を数文字付けてもいい。あとで変更出来ればいい。
ページ名は長くなりやすい。
PostEverのように日付でもいい。がそうするなら予め日付を入れておけばいい。入力時にないデータを付け足したりしない。前述のルールとも併用できる。

これは既定値。入力する機会はあっていい。入力したらページ内容の一行目を変更。(一行目=ページ名は常に成立するようにしたい)
ページ作成時の名前欄は既存のWikiEngineに似せるためのもの。
必要という訳ではない。

ページ作成時の既定値はページ名として有効な部分の一行目
→最初の見出し(それも章…サブページになる見出し)を使用。
問題があればtitle:のようなページ名専用の記法でもいい。ページ名ページ内容に含まれていればいい。見出しと重複してもいいので自動付与。でもこうすると一行目=ページ名を成立させにくい。

:i/記法/ページタイトル
設定ページ/属性)による。

ページ名もコンテンツ Edit

ページ名ページ内容と同等に。
検索自動リンクなどの対象に。
ページ内容からページ名を作ればいい。(条件に当てはまる)1行目をページ名にする。常に作成時だけでなく)。
ページの一行目=ページ名が成り立っていなくても検索自動リンクに影響しないように、ページ名ページ内容が一致していなくてもいいことにする。

1行目にはURIも可 Edit

1行目がURIならページ名はその先のページタイトルになる。
これが既存のページのURIなら同じページ名→末尾に(2)を付けるなどして重複回避。
既存ページのURIに続けて"/続き"とか"の続き"を書くと、既存ページ下位ページを作ることになる。

同一視する文字 Edit

ページ名では…
大文字小文字の同一視(PageとPAGEとPaGeは同じ単語でいい)、スペースとハイフン(New PageとNew-Pageは同じ単語)。
カタカナひらがなは区別。全角半角は統一(全角空白→半角に、半角カナ→全角に)
これは利用者が再利用するときの利便のため。
→探索用のページ名では統一、表示時は入力されたまま。ページ名自体がユーザーの眼に触れるものなので、入力されたとおりに表示されなければならない。

ページ内容では統一はしない。そのまま保存。統一の必要がない。
検索用のデータでは統一していい。


→同一視は自動リンク検索で。
同一視後同じページ名が複数できるので、検索中は同大小文字が違うだけのページ名が複数現れることになる。

URI指定では同一視はできない。

相対パス/絶対パス Edit

ページ名は相対パスとしても自動リンクされる。
絶対パスとしても。
→ページ/リンク[?]

そのページの1階層下に適合すれば相対パスとしてリンク。「オブジェクト」というページで「リスト/インデックス」と書けば「オブジェクト/リスト/インデックス」として解釈。ルートからの「リスト/インデックス」や他のページ下にあるページにはリンクしない。
ただし、相対パスとしてリンクできない場合(リンクできるページが無い以外の理由も含む)は絶対パス(ルートページからの完全なページ名)として解釈。自動リンク。絶対パスを指定したいなら(ルートページ名/ページ名)に。
→ページ/リンク[?]

見出しに区切り文字が入ると、順序が変わるかも Edit

→変わっていいことにする。

ルール

パスの表現方法 Edit

全てタグ化。
区切りは「/」でいい。区別したり、タグであることを強調する必要はない。
「/」区切りの最後がページ名。それ以外がタグ

あるページに書かれたリンクは上位か下位か?

位置関係リンクに含まれるタグ[?]
上位ページ自身のタグのサブセットだけを持つページ
同階層にあるページ自身と全く同じタグ集合なら
下位ページ自身のタグを全て含み、さらに自身と同じタグまで付いていれば
別階層
(無関係、上下関係なし)
部分的に一致するだけなら
関連度は一致するタグの数と、それぞれの重要度から

タグON/OFFでナビゲーション生成 Edit

ディレクトリ上下階層への移動を支援。
閲覧中ページタグを個別にON/OFF、ONになっているタグを含むページを動的にリストアップ。
これで書かれていないページリンクを動的生成。

生成するだけでもいい。リストから1つ選択するとそばにリンク生成。ページに追加。それをクリックして利用。
利用者全員で共有する履歴が自動生成されるようなもの。
複数選択できるようにするのもいいかも。

ON/OFFでページ名変更 Edit

ページ名の単語をボタン化、ON/OFF可能にする。決定ボタンで決定。
順不同パスなので順序を入力しなくていい。ON/OFFだけのボタンで十分。

初期ページ名(デフォルト)は自動で。デフォルト値とボタンで命名。あるいは初期ページ名は完全に自動で作った後にボタンで変更。

ページ名横に変更ボタン。(編集ビューの場合)

名前が重複したら追加 Edit

ページ作成編集と異なり、データを消さない。「作成」で消してはいけない。消すような状況では追加。

見解を追加。

ページ名を使うということは、ディレクトリ名も使うということ。 Edit

ページ名とディレクトリ名は同一オブジェクト。

日時は範囲
更新日時も?
更新日時…24時間以内のものはまとめて。範囲にする。

: Edit

ページ名先頭にある特定記号(接頭辞、prefix)はページ名と分けて、ページ属性を示すものとする。
ページ/属性の接頭辞

ページ名(キーワード)とタグは同等の機能を持つ Edit

タグ集め、ページ名(キーワード)集め。
閲覧、編集で追加したタグやキーワードを一覧化、
考えの経緯が分かるように。

自分が関わったタグ・キーワードだけでタグクラウド作成
これを任意の期間だけに絞り込んで表示、集計、表示。


発想の入り口、経緯が自分で確認出来るように。次の発想が出来るように。

名前/ Edit