Open the menu

    LumisPortalConfig

    A seguir serão apresentados trechos do arquivo “lumisdata/config/lumisportalconfig.xml” seguido da explicação de cada configuração:

    1. O elemento <serverId> determina o identificador do servidor de aplicação:

      O valor desse elemento deve ser único entre servidores em um ambiente multi-server.

    2. O elemento <deviceDetection> determina quais são os arquivos de configurações de dispositivos que serão reconhecidos durante o processamento das requisições realizadas às páginas do portal. No nó <deviceDetections> existemnós filhos cujo o objetivo é representar o arquivo principal que contém as definições dos dispositivos e possíveis atualizações da lista de dispositivos definidos no arquivo principal. Ou seja, o primeiro arquivo informado é considerado o arquivo principal e os demais arquivos são considerados atualizações. A medida que novos dispositivos forem surgindo basta adicionar um novo arquivo com as definições dos novos dispositivos como sendo uma atualização.

      Por padrão o Lumis utiliza uma lista de definições de dispositivos publicada pelo projeto WURFL. Caso o administrador do portal deseje desativar a opção de detecção de dispositivos, basta informar a configuração abaixo. Desta forma o Lumis irá ignorar a lista de definições de dispositivos publicadas pelo WURFL.

    3. O elemento <defaultPageDocType> permite determinar qual dos possíveis valores de DocType será incluído nas páginas geradas pelo LumisXP para que sejam validadas pelo W3C:

      Se for especificado o valor NONE não será incluído nenhum DOCType na página gerada pelo LumisXP.

      Para uma lista de todas os DOCTypes W3C, consultar: http://www.w3.org/QA/2002/04/valid-dtd-list.html.

    4. No elemento <cache> podem ser configurados:
      • a capacidade default do cache de um objeto (capacidade máxima da quantidade daquele objeto em memória) que deve ser configurado no elemento <defaultCapacity>;
      • segundo nível de cache embutido no Portal Cache para armazenar objetos além da capacidade configurada em memória disponível. Para desabilitar este segundo nível, utilize o valor "none" no elemento <overflowType>. O valor padrão é "soft" que utiliza SoftReference para armazenar seus objetos; Há ainda o valor "weak" que utiliza WeakReference. Maiores detalhes sobre tipos de referências, consultar o Javadoc de WeakReference ou SoftReference.
      • se o cache de membros de grupos de tipo padrão do LumisXP utilizará carregamento em massa para se popular. Esta opção deve ser desabilitada em ambiente em que a memória não é suficiente para carregar informação sobre todos os membros de grupos cadastrados. O elemento <standardMembershipBulkLoadEnabled> pode conter o valor "true" para habilitar (valor padrão), ou "false" para desabilitar.
      • se o cache de membros de segmentação de usuários utilizará carregamento em massa para se popular. O elemento <userSegmentationMembershipBulkLoadEnabled> pode conter o valor "false" para desabilitar (valor padrão), ou "true" para habilitar.
    5. O elemento <defaultDeadline> do elemento <locks> define o tempo máximo para (em minutos) antes de ser realizado um lock no portal:

    6. Por default o serviço de clock do portal está habilitado. Para desabilitá-lo, deve-se atribuir o valor zero para o elemento <enable>. O intervalo em segundos do operador deve ser atribuído ao elemento <tickInterval> que por default é 30:

    7. Para alterar o tempo de expiração da sessão, será necessário configurar o arquivo lumisportalconfig.xml, como é mostrado abaixo:

      O elemento <sessionTimeout> define o tempo para expirar a sessão:

      É recomendado configurar o tempo de sessão no servidor de aplicação com a mesma duração, configurando-o no web.xml em session-config/session-timeout. Caso esta configuração seja diferente do lumisportalconfig.xml, objetos armazenados na sessão (HttpSession) poderão sofrer expiração em momentos distintos em relação à sessão do usuário no LumisXP.

    8. Em <fileUpload> podem ser configurados o tamanho do arquivo para upload, bem como as extensões de arquivos não permitidas.

      Através do <maxSize> pode-se controlar globalmente o tamanho de um arquivo submetido à upload. O valor "-1" significa tamanho ilimitado.

      Já o elemento <deniedExtensions> contém como valor uma expressão regular que é comparada com a extensão do arquivo enviado. Se ocorrer um match, o upload do arquivo não é permitido. Essa restrição não é aplicada para qualquer envio do arquivo ao portal, mas está disponível para os componentes que queiram utilizar. O lumis.portal.file.IFileManager restringe a adição de arquivos conforme esta configuração. Campos do douidefinition do tipo file ou files utilizam essa configuração e portanto sofrem a mesma restrição.

    9. O elemento encryption define os algoritmos de criptografia utilizados. O LumisXP disponibiliza dois tipos criptografias:
      • OneWay: Utilizada para criptografias de mão única, ou seja, a informação encriptada não poderá ser descriptografada. A implementação padrão lumis.portal.crypto.MessageDigestCipher, possui as seguintes configurações:
        • Provider: Define o nome do provedor JCE a ser utilizado. Caso o valor não seja especificado o provedor utilizado é o padrão da JVM;
        • Algorithm: Define o algoritmo de MessageDigest a ser utilizado. Ex: SHA-512 ou SHA-1. Para mais detalhes consulte a documentação do provedor utilizado. As opções disponíveis no provedor padrão JCE podem ser encontradas em Java Cryptography Architecture Sun Providers Documentation.
      • Reversible: Utilizada para criptografias onde é necessário ser possível descriptografar a informação encriptada. A implementação padrão lumis.portal.crypto.SymmetricCipher, possui as seguintes configurações:
        • Provider: Define o nome do provedor JCE a ser utilizado. Caso o valor não seja especificado o provedor utilizado é o padrão da JVM;
        • Algorithm, Mode, Padding: Definem parametros do Cipher a ser utilizado. Para mais detalhes consulte a documentação do provedor utilizado. As opções disponíveis no provedor padrão JCE podem ser encontradas em Java Cryptography Architecture Sun Providers Documentation;
        • KeyGenerationSize: Define o tamanho da chave (bits) utilizada na criptografia. Este valor precisa ser compatível com o algoritmo utilizado;
        • Mac: Define o algoritmo utilizado para verificação da integridade do valor descriptografado. Para mais detalhes consulte a documentação do provedor utilizado. As opções disponíveis no provedor padrão JCE podem ser encontradas em Java Cryptography Architecture Sun Providers Documentation.

    10. O elemento <interfaceTitleBarStyle> define o arquivo XSL que customiza a barra de título global das interfaces:

    11. Dentro de <security>, o elemento <httpAuthenticator> configura a autenticação integrada. Já o elemento <kerberos> configura a autenticação com Kerberos.
    12. O elemento <securityAlias> deve ser utilizada em ambientes que possuem duas soluções em um mesmo servidor de aplicação que utilizam módulos de login diferentes.

      Por default, o valor do elemento <securityAlias> é "LumisPortal". Este valor está determinado em “lumisdata/config/lumissecuritylogin.config”. Para atribuir um valor diferente de “LumisPortal” deve-se substituí-lo no arquivo lumisdata/config/lumissecuritylogin.config e atribuir o novo valor no elemento securityAlias. O Lumis Authentication Manager, através desse elemento, requisita ao servidor de aplicação, um LoginModule do JAAS:

    13. A configuração de cache está detalhadamente documentada na seção Gerenciador de Páginas em Cache.
    14. O elemento <errorPage> serve para customização de página de erro para a solução:

      O portal vai retornar erro 404, através de uma página de erro customizada, caso seja acessada uma página (HTML ou JSP ) que não existe.

      Inserir a string <!-- LumisXP Error Page --> na nova página de erro para que o gerador de cache detecte que é uma página de erro e não gere seu cache HTML.

      A página de erro customizada da Lumis é exibida ao ser acessada uma página, canal ou arquivo com um id que não existe, e fora do F2 (modo usuário). Caso o portal esteja no F2 (modo administrativo do portal), o usuário é redirecionado para o canal portal.

    15. O elemento <cluster> deverá ser habilitado quando desejar que um servidor do ambiente multi-server participe do cluster. Para habilitar a confguração de cluster é necessário retirar o comentário que envolve tal configuração.

      Três propriedades da configuração devem ser especificadas. As máquinas que estão em cluster devem ter o mesmo endereço mcastAddress e a mesma porta mcastPort. Além disso, todos os servidores devem estar utilizando o mesmo banco de dados para que se tenha o correto funcionamento do cluster.

      Os valores apresentados são default, mas outros podem ser especificados. Recomenda-se informar o valor para bindAddress caso haja mais de um endereço externo de rede, pois caso não seja especificado, será escolhido aleatoriamente:

      Pode-se configurar também o cluster de forma detalhada utilizando um elemento config dentro de cluster que corresponderá à configuração do JGroups. Abaixo um exemplo de configuração detalhada baseada em TCP (ao invés do default UDP multicast):

      Esta configuração de TCP foi verificada com 5 servidores. Com um número maior de servidores podem ser necessários ajustes finos nas configurações do JGroups. Em especial, TCPPING se torna lento com muitos servidores e pode ser necessário substituí-lo por outro mecanismo de descoberta. Os trechos em destaque com '%' definem os endereços ip e as portas a serem utilizadas, e precisam ser ajustados para a solução de acordo com as seguintes observações:

      O primeiro trecho, entre parênteses após TCP, define como o socket servidor deste nó será aberto:

      • bind_port: especifica o número da porta a ser utilizada;
      • port_range: em até quanto start_port pode ser incrementado em busca de uma porta disponível;
      • bind_addr: especifica o endereço ip da placa de rede que será utilizado para abrir a porta;

      O segundo trecho, entre parênteses após TCPPING, define como os outros nós são encontrados:

      • initial_hosts: é uma lista de hosts no formato <endereço_ip>[porta_inicial],<endereço_ip>[porta_inicial],…
      • port_range: quantas portas a mais são procuradas em cada host, na lista definida em initial_host, começando pela porta inicial especificada;

      Maiores detalhes sobre ajustes finos destas configurações consultar: http://www.jgroups.org.

    16. No elemento <executor> podem ser configurados quantidade mínima e máxima de processos a serem utilizados nas execuções realizadas pelo portal:

      Mais detalhes no javadoc da interface IExecutorManager.

    17. No elemento <loadingHtmlMessage> é possível configurar uma indicação de progresso nas chamadas das interfaces client-side. Por default, O usuário visualizará uma imagem juntamente com a string "Carregando". A renderização das interfaces client-side passou a ser assíncrona, ou seja, o portal não espera que uma interface seja renderizada, para renderizar a outra. As renderizações são realizadas em paralelo:

    18. No elemento <documentBuilderPool> podem ser configurado o pool de DocumentBuilder utilizado internamente pelo lumis.util.XmlUtil. Esta configuração pode se realizada se desejar efetuar ajustes finos neste pool.

      Abaixo a descrição de cada parâmetro:

      • maxSize: O tamanho máximo do pool;
      • minSize: O tamanho mínimo do pool;
      • timeBetweenEvictionRunsMillis: O número de milisegundos para dormir entre as execuções da thread de desalocação de objetos inativos. Quando é negativo, nenhuma thread de desalocação de objetos inativos será executada;
      • numTestsPerEvictionRun: O número de objetos a ser examinados durante cada execução da thread de desalocação de objetos inativos (se existir alguma);
      • minEvictableIdleTimeMillis: A quantidade mínima de tempo que um objeto pode ficar inativo no pool antes de se tornar elegível para exclusão pelo desalocador de objetos inativos (se existir algum).
    19. No elemento <layoutFile>, pode ser configurado o comportamento do Layout File.
      • pollIntervalSecs: Define o intervalo em segundos de verificação de alteração do arquivo HTML. O valor 0 (zero) desabilita a verificação sendo necessário reiniciar o portal para que qualquer alterações seja refletida. O valor default depende se o portal está sendo executado em modo de desenvolvimento.

    20. No elemento <transaction> pode ser configurado comportamentos relativos às transações do portal.
      • logAbandonedTimeout: Define o tempo limite para uma transação ser finalizada após sua criação, em segundos. Se o tempo limite for ultrapassado, é emitido um log nível WARN contendo informações sobre a transação. Um valor não-positivo desabilita a geração deste log. O valor padrão para esta configuração é de 600 segundos. (Podem não ser emitidos logs para as transações que durem até 25% mais do que o tempo configurado, devido a otimizações de performance)

    21. No elemento <cookies> pode ser configurado os comportamentos relativos aos cookies do portal.
      • cookie: Cada elemento cookie possui um atributo "name" representando o nome do cookie, um atributo "enabled" representando se o cookie será inserido ou completamente ignorado e um atributo "httpOnly", uma vez ativo, este atributo faz com que os navegadores a utilizem cookies via protocolo HTTP only. (Incluindo HTTPS; HttpOnly não é oposto ao atributo "Secure".) Um cookie HttpOnly, não é acessível via métodos não-HTTP, como chamadas JavaScript.