FessのPlaywrightサムネイルを単独プラグインで動かすための条件

Fess 15.9の開発版では、Playwrightが本体の配布物から分離されています。PlaywrightでWebページのスクリーンショットを作るサムネイルプラグインを単独導入すると、Playwrightクラスが見つからず起動できない問題を修正するPRがマージされました。

2026年10月13日時点でfess-thumbnail-playwright #14と関連する本体・文書のPRはマージ済みです。

プラグインJARにAPIとドライバーを含める

修正では、PlaywrightのJava APIとJavaScriptドライバーをサムネイルプラグインのJARへ同梱します。WEB-INF/pluginへ置いたJARのMaven依存関係をFessが自動取得する仕組みはないため、必要なクラスを配布物に含める方法です。

これにより、修正版ではクローラープラグインfess-crawler-playwrightをサムネイル生成のためだけに追加する必要がなくなります。両方を使う場合は同じFessリリース向けの版をそろえます。異なるPlaywright版の混在を安全とする変更ではありません。

Node.jsは別に用意する

修正後のREADMEにある導入例は次のとおりです。修正を含む配布物が利用可能になった時点で、Fessとプラグインの対応版を確認して実行します。

bin/fess-setup install plugin fess-thumbnail-playwright
bin/fess-setup install nodejs

プラグインはNode.jsの実行ファイルを同梱しません。Fessの起動スクリプトがインストール済みNode.jsを見つけ、PLAYWRIGHT_NODEJS_PATHを設定し、サムネイルジョブが引き継ぎます。自分で用意する場合はNode.js 20以降を指定します。

ブラウザも別の依存物で、Playwrightが初回利用時にダウンロードします。初回の取得が可能なネットワークと、実行環境に必要なブラウザ依存ライブラリーを確認してください。Node.jsを入れれば全OSで無条件に動く、という意味ではありません。

本体のセットアップヘルプと15.9移行文書も、サムネイルプラグインにNode.jsが必要であることを明記しました。fess-setup checkのNode.jsがない場合のOK・FAIL判定自体を変えた修正ではありません。

Dockerの15.9向け構成でも、どのイメージもPlaywrightクローラー・サムネイルプラグインとNode.jsを自動導入しません。必要なプラグインをFESS_PLUGINSなどで明示し、Node.jsとChromiumのOS依存ライブラリーを別途用意します。通常版イメージのサムネイルツールは画像・PDF・Office用で、HTMLのスクリーンショット生成とは別です。

15.8の起動設定を丸ごと引き継ぐと、セットアップで入れたNode.jsを検出できない場合があります。15.9の起動設定を基に自分の変更を再適用し、必要ならPLAYWRIGHT_NODEJS_PATHを明示します。

有効化と確認範囲

thumbnail.enabledはシステムプロパティで、未設定時の初期値はfalseです。サムネイルを利用する構成では有効化も確認します。プラグインのコンポーネントは起動時に読み込むので、導入後はFessを再起動します。JARを置いたまま稼働中のジョブへ即時反映する方法ではありません。

修正PRでは単独プラグインでのクラス読み込み、DI構築、実ブラウザでのPNG生成を確認しています。一方、Fess全体の起動とWindows環境の確認は含まれません。実運用への反映前に、修正版の入手状況、Node.jsのパス、ブラウザ起動、実際のサムネイルジョブを順に確認してください。

関連PR

コメントを残す

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