テーマ

概要

テーマ機能では、検索画面の外観(HTML / CSS / JavaScript などの静的アセット一式)をまとめた「静的テーマ」を管理します。静的テーマは ZIP アーカイブとしてアップロードし、サーバー上のテーマディレクトリ(既定: themestheme.directory.path で変更可能)に展開されます。各テーマのルートには、テーマのメタデータを記述した theme.yml マニフェストを配置します。

注釈

JSP ベースのテーマはプラグイン管理で扱うため、本ページの対象外です。 本ページの操作を行うには admin-theme ロール(参照のみの場合は admin-theme-view ロール)が必要です。

管理方法

表示方法

登録済みテーマの一覧ページを開くには、左メニューの [システム > テーマ] をクリックします。

テーマ一覧

一覧ページには、テーマディレクトリに登録されている静的テーマが表示されます。各行に表示される項目は以下のとおりです。

サムネイル テーマディレクトリ内の thumbnail.png を表示します。存在しない場合は表示されません。
名前 テーマ名(テーマのディレクトリ名)です。クリックすると詳細ページを表示します。
表示名 マニフェストの displayName です。
バージョン マニフェストの version です。
デフォルト デフォルトテーマに設定されている場合にチェックが表示されます。
操作 テーマを削除するための削除ボタンが表示されます(デフォルトテーマには表示されません)。

表: テーマ一覧の項目

デフォルトテーマの設定

一覧ページ上部のプルダウンメニューからテーマを選択し、[デフォルトに設定] ボタンをクリックすると、検索画面に適用するデフォルトテーマを設定できます。[(デフォルトなし)] を選択して設定すると、デフォルトテーマの指定を解除します。設定後はテーマ情報が再読み込みされ、ただちに反映されます。

テーマのアップロード

[アップロード] ボタンをクリックするとアップロードページが開きます。テーマ ZIP ファイルを選択して [アップロード] ボタンをクリックすると、テーマがインストールされます。

  • アップロードできるのは .zip 形式のアーカイブのみです。

  • 圧縮ファイルのサイズ上限は既定で 50 MB( theme.upload.max.size )です。

  • ZIP アーカイブのルートには theme.yml マニフェストが必要です。

すでに同名のテーマが存在する場合は置き換えられます。置き換えられた元のテーマは一定期間(既定 7 日、 theme.upload.attic.retention.days )バックアップとして保持されます。

アップロードしたアーカイブがマニフェストの検証に失敗した場合や、展開後のサイズ・エントリ数・圧縮率がサーバーの上限を超えた場合(zip 爆弾対策)はインストールが拒否され、エラーメッセージが表示されます。

theme.yml マニフェスト

静的テーマのルートには、テーマのメタデータを記述した theme.yml (YAML 形式)を配置します。指定できるフィールドは以下のとおりです。

フィールド 必須 説明
apiVersion 必須 fess.codelibs.org/v1 を指定します。
kind 必須 StaticTheme を指定します。
name 必須 テーマ名です。 ^[a-z0-9][a-z0-9_-]{0,63}$ のパターンに従う必要があり、テーマのディレクトリ名と一致している必要があります。
displayName 必須 画面に表示する名前です(最大 4096 文字)。
version 必須 SemVer 形式のバージョン(例: 1.0.0 )です。
author 任意 作者です。
description 任意 説明です。
license 任意 ライセンスです。
homepage 任意 ホームページ URL です。
minFessVersion 任意 対応する最小の Fess バージョンです。
supportedLocales 任意 対応するロケールです。
entry 任意 エントリーポイントとなるファイルです(既定: index.html )。
spaFallback 任意 SPA 形式のフォールバックの有効・無効です(既定: true )。

表: theme.yml のフィールド

テーマの削除

一覧ページの削除ボタン、または詳細ページの [削除] ボタンからテーマを削除できます。デフォルトテーマに設定されているテーマは削除できません。削除する前にデフォルトテーマの指定を解除してください。削除されたテーマは一定期間(既定 7 日、 theme.upload.attic.retention.days )バックアップとして保持されます。

再読み込み

テーマディレクトリをサーバー上で直接編集した場合などに、[再読み込み] ボタンをクリックすると、ディスク上のテーマ情報をメモリに再読み込みできます。

テーマ詳細

一覧ページでテーマ名をクリックすると、詳細ページが表示されます。詳細ページでは、マニフェストの内容(名前、表示名、バージョン、デフォルトの可否、状態)を確認できます。

設定プロパティ

テーマ機能に関連する主な設定は fess_config.properties で変更できます。

プロパティ 既定値 説明
theme.directory.path themes テーマを格納するディレクトリです(サーブレットコンテキストからの相対パス、または絶対パス)。
theme.upload.max.size 52428800 アップロードできる ZIP の最大サイズ(バイト、約 50 MB)です。
theme.upload.max.extracted.size 209715200 展開後の最大合計サイズ(バイト、約 200 MB)です。
theme.upload.max.entries 1000 ZIP に含められる最大エントリ数です。
theme.upload.max.compression.ratio 100 エントリ単位での最大圧縮率です。
theme.upload.zip.ratio.max 50 累積圧縮率の上限です(zip 爆弾対策)。
theme.upload.zip.ratio.check.threshold.bytes 65536 累積圧縮率の評価を開始する圧縮バイト数です。
theme.upload.attic.retention.days 7 置き換え・削除したテーマのバックアップを保持する日数です。

表: テーマ機能の設定プロパティ