FessのStaticテーマで、ログインダイアログは開くのにパスワード欄が表示されず、ログインできない問題の修正が提案されています。
11テーマ共通のダイアログを確認する
対象はBootstrapの代わりにcompat.jsのModalを使う11種類のStaticテーマです。PR #83でパスワード欄を必要な場面だけ生成する方式へ変えた後、生成のきっかけとなるshow.bs.modalイベントが発生しないため、欄がフォームへ追加されなくなっていました。
修正案では、ダイアログを開く前にshow.bs.modal、開いた後にshown.bs.modalを発生させます。最初のイベントがキャンセルされた場合は開きません。認証方式やパスワードポリシーを変更するものではなく、利用者に新しい有効化設定を求める変更でもありません。
ログイン必須の環境で特に影響が出ますが、認証必須設定を解除して回避する手順にはしません。標準Bootstrapテーマを含むすべてのログイン障害の原因がこの問題である、という説明でもありません。
Fess本体とテーマの対応を分けて選ぶ
main向けの修正案ではテーマのバージョンは15.10.1、最小Fessバージョンは15.10です。Fess 15.9で確認する場合は15.9.x向けのPR #88を含むソースを使います。たとえばDocSearchは15.9.12から15.9.13へ上がり、最小Fessバージョンは15.9のままです。全テーマが同じ15.9系パッチ番号になるわけではありません。
修正を含むチェックアウトで./scripts/package.sh docsearchを実行し、生成したZIPを管理画面「テーマ」(/admin/theme/)でアップロードして選択します。仮想ホストを使う場合は、そのテーマ割り当ても確認します。テーマの自動切り替えや新しい初期値の追加はありません。PRが未マージのため、ブランチ名や版番号だけで修正入りと判断しないでください。
更新後の確認と制限
独自に編集したテーマのファイルを控え、対応する検証環境で、ダイアログを開くとパスワード欄が出ること、ログインできること、閉じると欄が取り除かれることを確認します。ブラウザに古いJavaScriptが残る場合は再読み込みも行います。
PR #87ではFess 15.10.0-SNAPSHOTとsemanticlensでのログイン確認が報告されています。PR #88では自動テストと11テーマのバンドル検証が報告されていますが、こちらで全テーマの稼働確認を行ったものではありません。配布ZIPの公開も別途確認が必要です。
先の11テーマの記事はパスワード変更などの移植を紹介しました。今回はその後に分かったパスワード欄生成の不具合に絞った補足です。