• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:[[:t/内部名]] [[:t/永続化]] [[:t/パーマリンク]]

[[ページ/名前]]の一部。システム内部で使う名前。
ページ名が変更されてもこちらは変更しない。

見解、版は変更されることが無いので、そのまま内部名の一部にしてもいいかも。
 ページ名:見解f12o:版0 → E3839AE383BCE382B8-f12o-0
…みたいに。

見解IDも版番号もページIDには依存しない。
版番号は見解IDに依存するので、版だけを他の見解に移動することが可能なら版番号を付け直す必要がある。

-そのままファイル名などにできる
-ページ名変更しても変わらない名前
-同じ名前のページが複数あっても、内部名で区別できる

内部名は利用者に見せない。

**実装 [#i0cd2587]

内部名はページ属性ではない。
永続化キーそのもの。



***%%[[:Done/内部名のフォーマット]]%% [#bc5039f1]

%%版を内部名に含めない?%%
%%版違いを管理せずとも内部名が分かるようになるが、%%必要ない。



**思い付き [#s5c6e312]
ページ名クラス。
項目名、見解ID、版番号
ファイル名として使えるように区切りは「_」

*** 内部名はページ名の分だけ [#i951bf30]
''ページ名にのみ内部名を用意。''他の区分はシステムが生成するIDだけなので、内部/外部ともにそれでいい。
*** %%メジャーID、マイナーID%% [#t668609d]
%%編集をすると版が変わる。それでも同じページには同じ内部名であって欲しいので、編集ごとに変わる部分と変わらない部分とに分ける。%%
%%ユーザーが決められる部分…ページ名(+ディレクトリ名)→メジャーID%%

%%見解名は上位の名前(ページ名)に依存、合わせないと意味を成さないし、ページ名を指定しないと見解名のリストアップもできない。版番号も上位2つを指定しないとリストアップ不可能。%%

%%独立できるのはページ名だけ。→内部では分ける。メジャーID依存しているのをマイナーIDとして、2部構成に。%%

%%Entry:Side:Rev → Major:Miner%%

%%ファイル構成は内部名依存。Major(Entry)を指定するとMiner(Side:Rev)をリストアップ可能。3層にそれぞれ代表があるから、どれが欠けていても扱うべき内部名は得られるけど。%%

%%辞書ファイルはEntryごと:編集があるたびに更新しなければならないので。EntryのメジャーIDと同じ生存期間。ページ名リストは1つじゃないと意味をなさない%%

*** 版を含まない [#o2badbf0]
内部名の版番号を分けたとしても、版番号はページ名に依存する。ページごとに存在する版番号が異なるので。

- でもページ更新でできた新しい版に同じ内部名が必要。
- 自動リンク維持のためにも内部名は引き継ぐ必要あり。

→ 内部名をページ名と版に分ける。版のほうは外部名とも組み合わせられるので、内部名と呼べるのはページ名に対応する部分だけ。版は外部と共通。
本当にページ名に対応するだけの内部名。同名ページの数だけ同一内部名が存在する。内部名は裏のページ名。

*** 同名ページのIDが必要 [#s5140f39]
ページ名に対応する内部名だけでは複数ある同名ページに対応できないので、それを区別するIDが必要。
→ 結局、見解IDが必要になる。自動リンクを維持するための内部ページ名、同名ページを区別するための見解ID、版を区別するための版番号。
*** 自動リンクされる内部名はどう決まるか [#xe6f9324]
自動リンクではページ名変更に対応するため内部名を記録する。でもひとつのページに内部名は複数。複数ある中から選ぶ方法は??

結局、外部名にリンクするしかない?
外部名だと自動リンクの維持が困難。ページ名変更のたびに自動リンクを更新しないと。
%%→ 自動リンク用の「第二の外部名」必要?%%
→ 内部名のメジャーIDが必要。
ページ名が変わらない限り同じで、版番号を含まない。

外部名は投票を加味しないと特定のページにはならないし、ならなくていい。でも自動リンクを作るにはページを特定した上で、その内部名を調べなければならない。内部名はページ名変更しても自動リンクを維持するはずなのに、外部名を記録するのでは維持できない。
→ 自動リンクは内部名(ページ名に対応して、それだけではページを特定できない部分)と関連付ける。

*** 結局、内部名は必要 [#x74c1f37]
メジャーID(同名ページの集約に付けるID)と、マイナーID(これだけでページを特定するGUID)。
同名ページをひとつでも残して名前変更すると、メジャーIDは新しくつけないといけない。古いメジャーIDを残さなければならないうえに、それとは異なるメジャーIDが必要になるので。
*** ページ名を変更した場合2通り [#l7ab0ac9]
- 同名ページすべての名前を変更
内部名は変えなくていい。
- 同名ページをひとつでも残して名前変更
こちらは内部名も新しくしないと。
-- これまでにない名前のページにする
新しいメジャーIDが必要。
-- 他のページの同名ページにする
メジャーIDの付け替えになる。

いずれにしてもマイナーIDはそのまま。
版を重ねても既存のマイナーIDはGUIDとして有効なまま。

*** マイナーIDのほうがメジャーぽい [#he4878de]
GUIDのほうを「メジャー」としたほうが分かりやすい。
→ ページ名に対応するほうを「裏ページ名」とでもしたほうがいい??
GUIDのほうは「ページID」。
このふたつはつなげたりしない。

#ref(内部名/外部名と内部名.png,100%)


*** 変更点 [#p6c8a29a]
- 見解IDと版番号(両方合わせてマイナーIDと呼んでいたもの)をGUIDにする。呼び方は%%「内部名」か%%「ページID」でいい。新しい版は全く異なるGUIDになる。
- ページ名(Entry)に対応する別名を用意するして%%「裏ページ名」または%%「内部名」と呼ぶ。ページ名変更しても自動リンクを維持するため。

*** 最新版を指すURIがない [#a15ae0c9]
ページではなく特定版でもなく、
ある同名ページの最新版をURIで指すには??