Fessの11テーマでログイン・再検索・案内表示を改善する

FessのDocuForgeやDocSearchなど、11種類のStaticテーマに、標準のBootstrapテーマで行われていた修正が反映されました。テーマだけを使い続けている環境でも、ログイン後のパスワード変更や、検索語を変えてすぐ再検索するときの操作が改善されます。

ログインからパスワード変更までを同じフォームで扱う

パスワード変更が必要なログインでは、フォームを切り替えた時点でブラウザがログイン完了と判断し、初期パスワードに対する警告を、変更前に表示することがありました。

修正では、ログインと新しいパスワードの入力を同じフォーム内の手順として扱い、変更手順の間は画面へのログイン完了通知を保留します。パスワード欄も必要な場面だけ生成し、プロフィール画面を離れたときには変更フォームを取り除きます。検索欄に保存済み認証情報の候補が出る問題への対策も含みます。

この手順になるのは、ログインAPIがパスワード変更を要求し、ユーザーが編集可能な場合です。パスワードポリシーや認証方式を新しく有効化する設定ではありません。また、PRの検証は自動テストが中心で、稼働中のFessとChromeで警告が出ないことの実機確認は未完了です。ブラウザの警告が必ず消えるとは扱わず、管理者の初回ログインで確認します。

検索語を変えたらすぐにEnterで検索できる

従来は検索後に送信ボタンを3秒間無効にしていたため、画面全体を再読み込みしないStaticテーマでは、検索語を変えてもEnterが反応しない時間がありました。

修正後はボタンを無効にせず、同じページの同じクエリー文字列を3秒以内に再送した場合に重複送信を抑えます。別の検索語や検索条件なら、その間でも送信できます。この3秒はコード内の固定値で、今回追加された管理画面の設定項目ではありません。

管理者の案内HTMLとキャッシュ表示も反映

関連コンテンツや検索画面・ログイン画面の通知では、管理者が設定した画像、太字、class、styleなどを残せる専用のサニタイズ処理を使います。スクリプトやイベント属性をそのまま通すものではなく、チャット回答など一般のHTMLに対する制限は別に維持されます。画像の表示は配信元やブラウザの混在コンテンツ制限にも左右されます。

キャッシュ表示では、元ページのURLを基準に画像・リンク・CSSの相対URLを解決します。外部サイトが停止している場合まで画像を復元する機能ではありません。キャッシュ内のスクリプトを実行しない扱いも維持されます。この点は既存のキャッシュ表示の記事で紹介した修正が、追加テーマにも反映されたものです。

このほか、見出し・ナビゲーションの構造、結果URLのコントラスト、多言語のメッセージとファイルサイズ表示も調整されています。専用の有効化スイッチはなく、修正を含むテーマへ更新して利用します。

Fess 15.9では15.9系のテーマを選ぶ

PR #83の反映後に15.9.xブランチが切られ、PR #84でmainはテーマバージョン15.10.0、最小Fessバージョン15.10へ移行しています。mainから作った最新ZIPをFess 15.9へ入れる手順にはしません。テーマ15.10.0という表記は、Fess本体15.10の正式公開を意味しません。

Fess 15.9向けにソースから用意する場合は、15.9.xブランチのチェックアウトで、例えば次を実行します。

./scripts/package.sh docuforge
# dist/docuforge-15.9.10.zip

管理画面の「テーマ」(/admin/theme/)でZIPをアップロードし、使用するデフォルトテーマを選んで設定します。仮想ホストへ割り当てている場合は、その割り当ても確認します。今回の修正を入れただけでテーマの選択が自動的に変わるわけではありません。配布ZIPの公開状況は別途確認し、独自に変更したファイルがある環境では更新前に差分を控えておきます。

更新後は、初回ログイン、検索直後に語を変えてEnter、通知の画像、キャッシュ内の相対リンクを確認します。文書単位のチャット、最近の検索、エクスポート、ユーザータグなどは今回追加テーマへ移植された機能に含まれません。標準テーマにある機能がすべて揃ったという変更ではありません。

関連PR

コメントを残す

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