Fessの仮想ホストごとにユーザータグを管理する

部署ごとに仮想ホストを分けてFessを利用している場合、別の部署向けに作ったタグが「マイタグ」に混ざったり、同じURLの文書へ一律に付いたりすると、検索結果を整理しにくくなります。15.9開発版では、タグ一覧と文書への反映を仮想ホストに合わせる変更がマージされました。同梱bootstrapテーマのマイタグ表示も整理されます。

利用条件と初期値

タグ機能の初期値はuser.tag.enabled=falseです。対応版のfess_config.propertiesで次の設定を行い、反映後にログインしたユーザーで利用します。

user.tag.enabled=true

タグAPIはログインセッションを使います。アクセストークンだけではログインを代替できません。/api/v2/ui/configのfeatures.user_tagで有効状態を確認できます。

タグ名の最大長はuser.tag.name.max.length=50、1ユーザーのタグ数の上限はuser.tag.max.tags=1000が初期値です。今回の仮想ホスト対応はタグ数の上限をホストごとに分ける変更ではありません。設定上のタグ名は正規化されるため、同じユーザーは仮想ホストをまたいで同じ名前のタグを別々には作れません。

仮想ホストのヘッダー設定virtual.host.headersの初期値は空です。すでに仮想ホストを設定している環境で、検索リクエストが対応するキーに一致していることと、対象のWeb・ファイル等のクロール設定にも同じキーが指定されていることを確認してください。

リクエストに合わせてタグを表示する

タグには作成したリクエストの仮想ホストが記録されます。仮想ホストAに一致するアクセスでは、GET /api/v2/tagsが返す自分のタグと、文書タグAPIの追加候補addableは、Aのタグだけになります。検索結果のタグやファセットに対してすでに行われていた絞り込みと、マイタグの一覧が揃います。

対象タグ・アクセス動作
リクエストと同じ仮想ホストのタグ自分のタグ一覧と追加候補に表示
別の仮想ホストのタグ、仮想ホスト未設定のタグ一致するホストの一覧・追加候補には表示しない
非表示のタグをIDで変更・削除・文書へ追加not_found(404)
別ホスト等に同名タグがあり、名前で文書へ追加conflict(409)
どの仮想ホストにも一致しないリクエスト仮想ホストで絞らず、自分の全タグを一覧に返す

最後のケースがあるため、仮想ホストを設定しただけですべてのアクセス経路が分離されるとは限りません。利用するURLやプロキシ経由のヘッダーが想定した仮想ホストに一致することを確認してください。タグによる分類は文書の閲覧権限の代わりにはなりません。

クロール設定に合わせて文書へ反映する

同じURLでも、別の仮想ホスト向けにクロールされた文書は別々に扱われます。仮想ホストAのタグは、クロール設定にAが含まれる文書だけへ反映されます。この判定は再クロール、tag_updaterジョブ、文書にタグを付けた後のインデックス更新に適用されます。

ただし、仮想ホストを持たないタグはどの文書にも適用され、文書側に仮想ホストがない場合もURLに付いたタグを制限しません。既存文書に今回の規則を反映させる場合は、対応版で再クロールするか、tag_updaterジョブを実行して確認します。

文書のタグ編集画面は、従来どおりURLに付いたタグを一覧にします。同じURLを複数の仮想ホストでクロールしていると、編集画面には見えても、その文書のインデックスには付かないタグが表示される場合があります。画面の一覧だけで反映を判断せず、対象ホストから検索結果とタグの絞り込みを確認してください。

既存タグが見えなくなった場合

仮想ホスト導入前や、どの仮想ホストにも一致しないアクセスで作ったタグには、仮想ホストがありません。従来は各ホストの自分のタグ一覧に表示されましたが、変更後は一致する仮想ホストからの一覧で非表示になります。削除されたとは限らないため、同名タグを作り直す前に管理者がタグタイプの管理画面で設定を確認します。

必要なタグには対象の仮想ホストを設定し、不要なものは管理画面で整理できます。文書側にも変更を反映するため、対応版のtag_updaterまたは再クロールを実行して確認してください。別ホストで同じ名前を使う場合は、部署名を含めるなど、ユーザー単位で重複しない命名にします。

マイタグの表示変更

同梱bootstrapテーマでは、マイタグが見出しとタグ数のバッジを持つカード表示になります。各行にはタグ名、対象件数、共有スイッチ、名前変更と削除のアイコンをまとめ、狭い画面では操作部が折り返されます。タグ名からの検索絞り込み、名前変更、削除確認の操作を行えます。

この表示変更は同梱bootstrapテーマが対象です。外部テーマや独自に編集したテーマへ自動的に同じ見た目が適用されるとは限りません。仮想ホストに対応するAPIの変更と、画面資産の更新をそれぞれ確認してください。

関連PR

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です