Administração do sistema

Como criar skins alternativos dependentes de URL?

RT.FAQ-8802
O objetivo deste documento é permitir ao usuário ter 2 caminhos de acesso para a mesma aplicação onde cada caminho tem um skin diferente.

Exemplo:

Sistema utilizando cores padrões do aplicativo:
http://ads.prd.inf.br/SGPRC/app/CadPessoas

Sistema com cores do site:
http://ads.prd.inf.br/SGPRC/site/CadPessoas


Para poder utilizar skins alternativos por URL, é necessários seguir os passos abaixo.

Criar mapeamentos alternativos para o controller da aplicação

Por padrão, as telas da aplicação utilizam o mapeamento de URL app/* conforme definido no arquivo web.xml.
Para usar outras URL mapeando o mesmo controller, basta criar a propriedade RT.UI.APP_CONTROLLER_PATH no build contendo duas linhas.
Exemplo:
/app/*
/site/*

Quando o web.xml for gerado, teremos algo tipo:
<servlet>
   <description>Front Controller</description>
   <servlet-name>APP</servlet-name>
   <servlet-class>br.com.telescope.t2.FrontController</servlet-class>
   <init-param>
       <param-name>service-package-name</param-name>
       <param-value>br.com.telescope.appref.intf</param-value>
   </init-param>
</servlet>
<servlet-mapping>
   <servlet-name>APP</servlet-name>
   <url-pattern>/app/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
   <servlet-name>APP</servlet-name>
   <url-pattern>/site/*</url-pattern>
</servlet-mapping>

Desta forma, a aplicação responderá tanto na url
http://localhost:8084/APPREF/app/CadPreferencia
como na url
http://localhost:8084/APPREF/site/CadPreferencia

Montar skin customizado

Um skin é apenas um conjunto de arquivos e imagens disponíveis para o browser que estiver acessando o sistema.

A primeira coisa a ser feita é escolher onde o skin será publicado. Não recomendamos utilizar o mesmo contexto da aplicação porque, caso ela seja atualizada (novo deploy), qualquer arquivo que tenha sido criado dentro do contexto será perdido. Portando sugere-se adotar uma das seguintes alternativas

Uma vez que temos onde armazenar, podemos copiar os arquivos do skin customizado.
Sugere-se utilizar o skin padrão embarcado junto da aplicação e a partir dele fazer as modificações necessárias para obter o visual desejado.
Após a instalação (deploy) da aplicação, o skin padrão encontra-se na pasta .../webapps/SGPRC/skins/t2.
Note que quando a aplicação é inicializada, vários arquivos de CSS são compilados gerando um único arquivo chamado
commons_eligo.css
Este é o único arquivo de CSS que deverá ser utilizado para a customização. Os demais arquivos de CSS poderão ser ignorados.

Configurar o sistema para usar skin customizado para a URL /site/*

Uma vez que o novo skin está publicado, podemos definir que a URL .../site/... utilize-o. Para isso, basta criar a preferencia abaixo apontando para a URL que contém o skin desejado.
RT.UI.SKIN_PATH.SITE = http://www.dominio.com/skinsite/

Naturalmente, se o skin customizado utilizar o mesmo tomcat da aplicação, basta usar uma URL relativa ao próprio contexto. Ex:
RT.UI.SKIN_PATH.SITE = /skin-site/

Configurar cabeçalho e rodapé específico para a URL /site/*

Da mesma forma que o skin pode receber um valor diferenciado para uma URL, os conteúdos do cabeçalho e do rodapé também podemo ser customizados alterando as preferencias:
APP.UI.HEADER_CONTENT.SITE
e
APP.UI.FOOTER_CONTENT.SITE
Ver a faq Como customizar o cabeçalho e o rodapé das interfaces? para maiores detalhes sobre os placeholders aceitos para este parâmetro de configuração.