LumisPortalConfig

Top  Previous  Next

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

a) O elemento <serverId> determina o identificador do servidor de aplicação:

 <!-- Set the serverId below to a unique server identifier. -->

 <serverId>LumisPortalServer</serverId>

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

 

b) 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> existem nó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.

<!--Uncomment to customize the Wurfl device detection 

that will detect what device is requesting a specific URL.

The first file is the root devices node, the others are devices patchs.

<deviceDetection>

  <deviceDefinitions>

     <file>wurfl.zip</file>

     <file>patch1.xml</file>

     <file>patch2.xml</file>

  </deviceDefinitions>

</deviceDetection>

-->

 

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.

 

<!--Uncomment to customize the Wurfl device detection 

that will detect what device is requesting a specific URL.

The first file is the root devices node, the others are devices patchs.-->

<deviceDetection>

</deviceDetection>

 

 

Observação:

Para a funcionalidade de detecção de dispositivos ser ativada, é necessário a inclusão da biblioteca do WURFL no classpath da aplicação do portal (exemplo: incluir o JAR em www/WEB-INF/lib). O JAR pode ser obtido em http://search.maven.org/remotecontent?filepath=net/sourceforge/wurfl/wurfl/1.2.2/wurfl-1.2.2.jar.

 

 

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

 <!-- Uncomment to enable customized default page DocType.

 Valid values are: XHTML10_STRICT, XHTML10_TRANSITIONAL, XHTML10_TRANSITIONAL,

 XHTML10_FRAMESET, XHTML11_DTD, XHTMLBASIC10_DTD, XHTMLBASIC11_DTD,

 HTML401_STRICT, HTML401_TRANSITIONAL, HTML401_FRAMESET, HTML20_DTD, HTML32_DTD, HTML5 and NONE.

 If not specified the default value is HTML5.

 <defaultPageDocType>HTML5</defaultPageDocType>

 -->

 

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

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

d) 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 para ser utilizado pelo cache embutido no Portal Cache para armazenar os objetos não recentemente acessados. Caso não seja utilizado este segundo nível, utilizar o valor "none" no elemento <overflowType>. O valor padrão é "soft" que significa, quando a memória deste segundo nível extrapolar, alguns objetos serão removidos; Há ainda o valor "weak " que deixa a cargo do garbage collect remover os objetos deste segundo nível, mesmo que a memória ainda não tenha extrapolado. Maiores detalhes, consultar o Javadoc de WeakReference ou SoftReference:

 <!--

  Uncomment to configure the portal cache.

  overflowType may be 'none', 'weak' or 'soft'. Default is 'soft'.

 <cache>

  <defaultCapacity>1000</defaultCapacity>

  <overflowType>soft</overflowType>

 </cache>

 -->

e) O elemento <defaultDeadline> do elemento <locks> define o tempo máximo para (em minutos) antes de ser realizado um lock no portal:
 

 <!-- Uncomment to specify a default lock deadline (in minutes).

 <locks>

  <defaultDeadline>60</defaultDeadline>

 </locks>

 -->

 

f) 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:
 

 <!-- Uncomment to enable customized portal clock interval

       <portalClock>

             <enable>1</enable>

             <tickInterval>30</tickInterval>

       </portalClock>

-->

g) 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:
 

<!-- Uncomment to change default session timeout

      <sessionTimeout>30</sessionTimeout>

-->

 

É 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 Lumis Portal.

h) 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.
 

<fileUpload>

  <!-- Uncomment to limit max upload size in bytes

  <maxSize>-1</maxSize>

  -->

  <!-- Uncomment to specify file upload extensions that are denied.

    The value is a regular expression to be matched against the file extension.

  <deniedExtensions>jspx?|php\d?|phtml|pwml|inc|aspx?|ascx|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi</deniedExtensions>

  -->

 </fileUpload>

i)  O elemento encryption define os algoritmos de criptografia utilizados. O Lumis Portal 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:
oProvider: Define o nome do provedor JCE a ser utilizado. Caso o valor não seja especificado o provedor utilizado é o padrão da JVM;
oAlgorithm: 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:
oProvider: Define o nome do provedor JCE a ser utilizado. Caso o valor não seja especificado o provedor utilizado é o padrão da JVM;
oAlgorithm, 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;
oKeyGenerationSize: Define o tamanho da chave (bits) utilizada na criptografia. Este valor precisa ser compatível com o algoritmo utilizado;
oMac: 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.

<!-- Uncomment to enable other encryption algorithms.

         Note that any change may prevent previously encrypted data from being read.

         It is recommended to increase the key size of AES to 256, but for it to

         be allowed, it is required to install the

         'Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy'

         in your Java environment. Check your Java vendor documentation for

         availability, restrictions and other information.

 <encryption>

         <oneWay className="lumis.portal.crypto.MessageDigestCipher">

                 <provider></provider>

                 <algorithm>SHA-512</algorithm>

         </oneWay>

         <reversible className="lumis.portal.crypto.SymmetricCipher">

                 <provider></provider>

                 <algorithm>AES</algorithm>

                 <mode>CBC</mode>

                 <padding>PKCS5Padding</padding>

                 <keyGenerationSize>128</keyGenerationSize>

                 <mac>HmacSHA256</mac>

         </reversible>

 </encryption>

 -->

 

Observação:

Caso haja alterações nos algoritmos ou configurações de criptografia as informações anteriormente criptografadas não serão recuperadas.
Caso haja alterações nos valores de Mac e KeyGenerationSize será necessário remover o conteúdo da tabela lum_CrySymmetricCipher.

 

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

<!-- Uncomment to specify a custom interface title bar style.

<interfaceTitleBarStyle>lumis/portal/serviceinterface/style/ServiceInterfaceTitleBar.xsl</interfaceTitleBarStyle>

-->

 

k) Para a segurança do portal, tem-se as seguintes configurações: O elemento <httpAuthenticator> habilita a autenticação NTLM (Retirar o comentário quando for utilizar este tipo de autenticação). Já o elemento <configurantionFile> serve para customizar a segurança do portal:

<security> 

<!-- Uncomment to enable ntlm authentication. Need also to configure the web.xml accordingly. 

 <httpAuthenticator className="lumis.portal.authentication.http.NtlmAuthenticator" />  --> 

<!-- Uncomment to configure kerberos. See Lumis Portal documentation for details.

 <kerberos>

  <configurationFile>security/krb5.conf</configurationFile>

 </kerberos>-->

</security>

 

l) 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:
 

<!-- Uncomment to specify a custom security alias.

      <securityAlias></securityAlias>

m) A configuração de cache está detalhadamente documentada na seção Gerenciador de Páginas em Cache.

n) O elemento <errorPage> serve para customização de página de erro para a solução:
 

<!-- Uncomment to enable customized error page (relative to frameworkUrl)

      <errorPage>customizedErrorPage.jsp</errorPage>

-->

 

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 <!-- Lumis Portal 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.

 

o) 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:

<!-- Uncomment to enable multi-server clustering

      <cluster>

            <multicast>

                   <mcastAddress>231.12.21.132</mcastAddress>

                   <mcastPort>45566</mcastPort>

                   <bindAddress></bindAddress>

            </multicast>

      </cluster>

-->

Pode-se configurar também o cluster para utilizar TCP (ao invés do default UDP multicast) com os seguintes parâmetros:
 

<cluster>
<properties>TCP(start_port=%START_PORT%;end_port=%END_PORT%;loopback=true;bind_addr=%BIND_ADDR%;send_buf_size=500000;recv_buf_size=500000):
TCPPING(timeout=3000;initial_hosts=%INITIAL_HOSTS%;port_range=1;num_initial_members=10):
MERGE2(min_interval=5000;max_interval=20000):
FD_SOCK:
FD(timeout=5000;max_tries=3;shun=true):
VERIFY_SUSPECT(timeout=5000):
lumis.portal.cluster.multiserver.DurableNAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800;use_mcast_xmit=false;discard_delivered_msgs=true):
pbcast.STABLE(stability_delay=6000;desired_avg_gossip=20000):
pbcast.GMS(join_timeout=11000;shun=true;print_local_addr=true):
lumis.portal.cluster.multiserver.Sequencer:
pbcast.FLUSH(timeout=10000)</properties>
</cluster>

<--O que está contido entre <properties> e </properties> não pode haver espaços e ENTER.-->

 

Os trechos em destaque 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:

start_port e end_port: especifica o número mínimo e máximo que será utilizado para a porta aberta;

  bind_addr: especifica o endereço ip da placa de rede que será utilizada 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 são procuradas em cada host, na lista definida em initial_host, começando pela porta inicial especificada;

num_initial_members: recomenda-se que seja igual ao número máximo de servidores ligados em cluster.

Maiores detalhes sobre tais propriedades consultar: http://www.jgroups.org.

Observação:

Ao utilizar o Lumis Portal em cluster, o servidor de aplicação utilizado não pode utilizar session replication e o load balancer deve utilizar session affinity.

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

 <!-- Uncomment to configure IExecutorManager properties.

 <executor>

  <minThreads>5</minThreads>

  <maxThreads>20</maxThreads>

 </executor>

 -->

Mais detalhes no javadoc da interface IExecutorManager .

 

q) 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:
 

 <!-- Uncomment to configure loading message.

 <loadingHtmlMessage><![CDATA[<img src="lumis/portal/client/images/Loading.gif" style="vertical-align: middle;" alt="${localize("STR_LOADING")}"/>]]></loadingHtmlMessage>

 -->

 

r) 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.

 <!-- Uncomment for fine tunning XmlUtil internal DocumentBuilder pool   

 <documentBuilderPool>  

         <minSize>10</minSize>  

         <maxSize>100</maxSize>  

         <timeBetweenEvictionRunsMillis>-1</timeBetweenEvictionRunsMillis>  

         <numTestsPerEvictionRun>3</numTestsPerEvictionRun>  

         <minEvictableIdleTimeMillis>1800000</minEvictableIdleTimeMillis>  

 </documentBuilderPool>  

-->  

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

minSize: O tamanho mínimo do pool;
maxSize: O tamanho máximo 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).

s) 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.

 

<layoutFile>

 <!-- Uncomment to configure interval for polling layout file for changes.          

         Specify interval in seconds. A value of 0 (zero) disables this polling. 

         With it disabled, any change to a layout file may require restart 

         of the portal to be applied.

         Default value is one second with development mode enabled, and

         polling disabled with development mode disabled.

 <pollIntervalSecs>0</pollIntervalSecs>

 -->

</layoutFile>

 

t) 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)

 

<transaction>

 <!-- Uncomment to configure the logging of long-lived transactions.

 If a transaction is not disposed within the specified timeout period 

 after its creation, a warning level message is sent to the portal log.

 The value is in seconds. A non-positive value disables this logging

 feature. Default value is 600 seconds.

 (it is possible that transactions that last up to 25% more than the 

 configured timeout are not logged, due to performance optimizations)          

 <logAbandonedTimeout>600</logAbandonedTimeout>

 -->

</transaction>

 

 

u) 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.

 

<!-- Uncomment to configure cookies generated by Lumis Portal.

 The example below contains the default values for each Lumis Portal cookie.

 If the <cookies> element is present and uncommented, each <cookie> must

 be configured or they will default to enabled="true" httpOnly="false".

<cookies>

 <cookie name="lumUserSessionId" enabled="true" httpOnly="true"/>

 <cookie name="lumUserLocale" enabled="true" httpOnly="false"/>

 <cookie name="lumUserId" enabled="false" httpOnly="true"/>

 <cookie name="lumUserLogin" enabled="false" httpOnly="true"/>

 <cookie name="lumUserName" enabled="true" httpOnly="false"/>

 <cookie name="lumUserEmail" enabled="false" httpOnly="true"/>

</cookies>

-->

 


Lumis Portal 8.2.2.160411
Copyright © 2006â??2016 Lumis EIP Tecnologia da Informação LTDA. Todos os direitos reservados.