Incluindo Suporte para Temas Customizados com o Web UI Framework

O Web UI Framework permite definir seus próprios temas customizados. Por exemplo, é possível ter diferentes temas com base em organização.

Sobre esta tarefa

Se a chave da organização (OrganizationKey) para o usuário x for xyz, então será possível definir um novo arquivo CSS para esse usuário como xyz.css. Se este arquivo tema existir e o usuário estiver autenticado, o arquivo tema será carregado. Se ele não existir, o aplicativo procurará pela organização primária do xyz (PrimaryOrganization) e carregará o arquivo CSS dessa organização.

Também será possível incluir ou modificar esses temas customizados de acordo com a lógica customizada na implementação de pós-autenticação.

Para obter mais informações, consulte a documentação da API Java™ para a interface ISCUIPostAuthenticationProvider em seu diretório de instalação.

O gráfico a seguir mostra como o arquivo de temas é determinado:

Fluxograma de Customização de um Web UI Framework

Para incluir suporte para arquivos de temas customizados:

Procedimento

  1. Configure sua lista de temas em uma arrayList que será incluída na classe SCUITheme. Você pode modificar esta arrayList se você tiver acesso à classe SCUIContext. O arrayList é criado a partir do arquivo CSS customizado. Por exemplo:
    private ArrayList customThemesList = new ArrayList();
    public ArrayList getCustomThemesList() {
            return customThemesList;
    }
    public void addCustomThemes(String customTheme) {
            customThemesList.add(customTheme);
    }
    Inclua uma referência em sua arrayList em uma implementação da interface ISCUIPostAuthenticationProvider. Todos os temas customizados pode ser incluídos usando o método addCustomThemes. Por exemplo:
    public class SCUIPostAuthenticationProviderImpl implements 
           ISCUIPostAuthenticationProvider {
         public SCUISecurityResponse postAuthenticate(SCUIContext uiContext) {
         uiContext.getUserPreferences().getTheme().addAdditionalCSS(<CUSTOM_THEME>);
         return new SCUISecurityResponse();
         }
    }
    O nome do arquivo CSS customizado, junto com o caminho completo do arquivo, devem ser transmitidos como o argumento para o método addCustomThemes.
  2. Implemente a interface e a lista de matrizes como um arquivo JAR de terceiros no aplicativo usando o script install3rdparty.sh.
  3. Defina o CSS criando um novo CSS ou substituindo o CSS existente.