Web UI フレームワークを使用したカスタム・テーマのサポートの追加

Web UI フレームワークを使用すると、独自のカスタム・テーマを定義できます。 例えば、 組織に基づいたさまざまなテーマがある場合があります。

このタスクについて

ユーザー x の組織キー (OrganizationKey) が xyz の場合、このユーザーの新規 CSS ファイルを xyz.css として定義できます。 そのテーマ・ファイルが存在しており、 ユーザーが認証されていれば、このテーマ・ファイルがロードされます。 テーマ・ファイルが 存在しなければ、アプリケーションは xyz の 1 次組織 (PrimaryOrganization) を探して、その組織の CSS ファイルをロードします。

また、 これらのカスタム・テーマを、認証後実装内のカスタム・ロジックを基に 追加したり変更したりできます。

詳細については、インストールディレクトリ内の ISCUIPostAuthenticationProviderの Java™ API ドキュメントを参照してください。

以下の図表では、テーマ・ファイルがどのように 決定されるかを示しています。

Web UI フレームワークのカスタマイズのフローチャート

カスタム・テーマ・ファイルのサポートを追加するには、 以下の手順を実行します。

手順

  1. テーマのリストを、 SCUITheme クラスに追加される arrayList に セットアップします。 SCUIContext クラスへのアクセス権限があれば、この arrayList を 変更できます。 arrayList はカスタム CSS ファイルから作成されます。 例:
    private ArrayList customThemesList = new ArrayList();
    public ArrayList getCustomThemesList() {
            return customThemesList;
    }
    public void addCustomThemes(String customTheme) {
            customThemesList.add(customTheme);
    }
    arrayList への参照を、 ISCUIPostAuthenticationProvider インターフェースの実装に組み込みます。 すべてのカスタム・テーマは、addCustomThemes メソッドを使用して追加できます。 例:
    public class SCUIPostAuthenticationProviderImpl implements 
           ISCUIPostAuthenticationProvider {
         public SCUISecurityResponse postAuthenticate(SCUIContext uiContext) {
         uiContext.getUserPreferences().getTheme().addAdditionalCSS(<CUSTOM_THEME>);
         return new SCUISecurityResponse();
         }
    }
    カスタム CSS ファイル名は、そのファイルの絶対パスと 一緒に引数として addCustomThemes メソッドに 渡す必要があります。
  2. install3rdparty.sh スクリプトを使用して、インターフェースおよび 配列リストをサード・パーティーの jar ファイルとしてアプリケーションに実装します。
  3. CSS は、新規 CSS を作成するか、既存 CSS をオーバーライド して定義します。