RIGHT:[[:t/検索]] [[:t/サブセットWiki]]

検索結果をwiki化できたら、wikiの全機能を検索に再利用できる。
検索結果からタグクラウドを作る、検索結果だけに限ったRSS生成、サイトマップ、イメージ一覧、…

特に一覧や集計と組み合わせて。
**実装に必要なもの [#w07f0277]

*** 実装に必要なもの [#w07f0277]
検索のメモ化と、検索過程でできたページの集合をページ永続化クラスPageFactoryに渡すこと。
PageFactoryではファイル以外に(スコア付きの)ページオブジェクトの集合も受け取れるように。
ページの集合よりもメモ化された永続化オブジェクトのほうが良さそう。永続化されたページと、永続化された検索結果としてのページ(の内部名の)集合。

→PageFactoryではなく、検索の中のクラスが…
→ PageFactoryではなく、検索の中のクラスが…
検索中、検索/スコアリングで得られたページ名を制限付きPageFactoryに渡す。
メモ化もする。
あとは通常時と同じ。PageFactoryは永続化されたページオブジェクトをファイルから復元して返す。

----

検索中と通常時でクラスを分ける。
→完全な互換性が無いので兄弟クラス。
→ 完全な互換性が無いので兄弟クラス。

PageFactoryを抽象クラスにして。
+制限なしのPageFactory
通常時。
+ページセットを受けて、その中にあるページしか返さないPageFactory
検索時(サブセットwiki使用時)

----

設定類は特別なメソッドでアクセスできるように。
ユーザーに閲覧権限が無くても設定類ページは復元しなければならない。
対象ページを制限するようなことはしない。ページが設定類じゃなくても制限なし。

''ヘッダーやサイドバーに埋め込んであるページも制限無く復元しないと。''
** 方法 [#l7013d07]
%%→小さなwikiは作らず、タグクラウド機能が独自に同じクエリーで検索、同じページセットを得る。%%

*** 方法 [#l7013d07]
%%→ 小さなwikiは作らず、タグクラウド機能が独自に同じクエリーで検索、同じページセットを得る。%%

%%検索クエリーを受けられる機能は検索結果画面に埋め込める。これで検索結果だけのタグクラウドや、項目ごとのタスクリストを。%%

→ページセットを複数(常にすべてのページのもの、検索結果などで簡単に変わるものなど)を使い分ける。
→ ページセットを複数(常にすべてのページのもの、検索結果などで簡単に変わるものなど)を使い分ける。
ページセットを考慮しない機能はサブセットWikiに対応しない。
絞り込んだページセットを対象にして、いろいろなページ/要素が機能するように。