Adición de soporte para temas personalizados con la infraestructura de interfaz de usuario web

En la infraestructura de interfaz de usuario web puede definir sus propios temas personalizados. Por ejemplo, puede tener temas diferentes en función de la organización.

Acerca de esta tarea

Si la clave de organización (OrganizationKey) del usuario x es xyz, puede definir un nuevo archivo CSS para dicho usuario como xyz.css. Si ya existe el archivo de temas y el usuario está autenticado, se cargará el archivo de temas. Si no existe, la aplicación buscará la organización principal de xyz (PrimaryOrganization) y cargará el archivo CSS de dicha organización.

También puede añadir o modificar estos temas personalizados en función de la lógica personalizada de la implementación de autenticación posterior.

Para obtener más información, consulte la documentación de Java™ API para la interfaz ISCUIPostAuthenticationProvider en su directorio de instalación.

El gráfico siguiente muestra cómo se determina el archivo de temas:

Diagrama de flujo de la personalización de una infraestructura de interfaz de usuario web

Para añadir soporte para los archivos de temas personalizados:

Procedimiento

  1. Configure la lista de temas en un arrayList que se añadirá a la clase SCUITheme. Puede modificar este arrayList si tiene acceso a la clase SCUIContext. arrayList se crea para el archivo CSS personalizado. Por ejemplo:
    private ArrayList customThemesList = new ArrayList();
    public ArrayList getCustomThemesList() {
            return customThemesList;
    }
    public void addCustomThemes(String customTheme) {
            customThemesList.add(customTheme);
    }
    Incluya una referencia al arrayList en una implementación de la interfaz ISCUIPostAuthenticationProvider. Todos los temas personalizados se pueden añadir utilizando el método addCustomThemes. Por ejemplo:
    public class SCUIPostAuthenticationProviderImpl implements 
           ISCUIPostAuthenticationProvider {
         public SCUISecurityResponse postAuthenticate(SCUIContext uiContext) {
         uiContext.getUserPreferences().getTheme().addAdditionalCSS(<CUSTOM_THEME>);
         return new SCUISecurityResponse();
         }
    }
    El nombre del archivo CSS personalizado, junto con la ruta completa del archivo, se deben pasar como argumento al método addCustomThemes.
  2. Implemente la interfaz y el arraylist como un archivo jar de terceros en la aplicación, utilizando el script install3rdparty.sh.
  3. Defina el CSS creando un nuevo archivo CSS o sustituyendo el CSS existente.