Send to your Kindle *** 必要な情報はさまざま [#w523e2f6] - %%プレビューモードで必要なのは、「ページID→書きかけ版」のハッシュテーブル。%% - %%タイムマシンモードで必要なのは、「ページID→日付」のハッシュテーブル。または「ページID→当時の版」のハッシュテーブル。%% - %%サブセットWikiで必要なのは、ページIDの集合。%% - ページ/履歴は、同じページIDに結び付く版の集合。 版(ページオブジェクト)からページIDを得られるので、プレビューもタイムマシンも「版の集合」だけでいい。2つは統合できる。 ページセットに版を含められるようにして、スナップショットをページセットで実現すれば、型を統合できる。 スナップショットの使われ方(プレビューモードやタイムマシンモード)を考えると、同じページの版はひとつだけでいいので、スナップショットは版の集合でなくてもいい。 同名ページがあるので、サブセットWikiではページIDと版を特定する情報が必要。でもそれなら版の集合にしたほうが簡単になる? *** 必要な情報はさまざま [#w523e2f6] - %%プレビューモードで必要なのは、「ページID→書きかけ版」のハッシュテーブル。%% - %%タイムマシンモードで必要なのは、「ページID→日付」のハッシュテーブル。または「ページID→当時の版」のハッシュテーブル。%% - %%サブセットWikiで必要なのは、ページIDの集合。%% - ページ/履歴は、同じページIDに結び付く版の集合。 版(ページオブジェクト)からページIDを得られるので、プレビューもタイムマシンも「版の集合」だけでいい。2つは統合できる。 *** サブセットWikiの場合は統合できなそう [#e7ba3ac4] サブセットWikiで使うページ名も、版(ページオブジェクト)から得られるけど、ページ名は同名ページも複数含むので、そのうちのいずれかの版だけを使うことになる。どの版を使うか?というか、版を参照せずに作れるのが利点。でもページ名から版を得ることはできるし、版からページ名を得ることもできる。 ''サブセットWikiを作る検索はページIDを対象にしなければならない。''ページ名は同じでもページIDが異なれば内容も異なるので。 ページセットはページ名ではなく、ページIDのセットでなければならない。 プレビューやタイムマシンで使うハッシュテーブルのキー側だけの集合。 *** スナップショットは名称を変えて残す [#y8bb1298] - スナップショット → 版セット(版集合) 版IDの集合か、ページオブジェクトの集合。 プレビューモードやタイムマシンモードで使用する。 - ページセットはそのまま ページセットは同名ページのうちのひとつにあたるページのセットなので「ページセット」。ページIDの集合。 検索結果や、サブセットWikiで使用する。