Modificações avançadas

Este artigo contém os seguintes tópicos:
casm173
Este artigo contém os seguintes tópicos:
Será necessário estar ciente de vários aspectos da modificação de páginas da web se optar pelo uso de outras ferramentas, diferentes do Web Screen Painter, para modificar o HTMPL, ou se tiver requisitos de personalização complexas, incomuns. No entanto, é extremamente recomendado trabalhar com o WSP para modificar as páginas da web do CA SDM antes de tentar qualquer outra abordagem. O WSP está apto a realizar a maioria dos tipos de modificação de que você necessita, além de controlar automaticamente ocorrências de manutenção do sistema, como a colocação de atualizações no diretório site mods e a distribuição de arquivos publicados para todos os servidores.
O mecanismo da web e seu cache
Ao modificar as páginas da web, é útil compreender a estrutura do servidor web do CA SDM. A interface da web usa um container de servlets J2EE, como o Tomcat, ou um servidor HTTP padrão, como o Apache ou o Microsoft Internet Information Server (IIS). Quando um usuário solicita uma página da web do CA SDM, o servidor HTTP chama o programa pdmweb.exe fornecido.
Uma vez iniciado, o pdmweb.exe configura uma conexão com um daemon do CA SDM (ou serviço Windows) denominado mecanismo da web. O mecanismo da web interpreta a solicitação do usuário. A maioria das solicitações exige que o mecanismo da web examine um arquivo de modelo (HTMPL) e converta-o em HTML padrão. Normalmente, o processo de conversão exige que o mecanismo da web comunique-se com um servidor do CA SDM para ler ou atualizar o banco de dados e inclua informações do banco de dados no HTML gerado. Quando o HTML estiver concluído, o mecanismo da web o enviará ao pdmweb.exe e este, por sua vez, o retornará ao navegador do usuário.
Para maximizar o desempenho, normalmente, o mecanismo da web lê cada arquivo HTMPL uma só vez. Depois de analisar o arquivo e determinar como convertê-lo em HTML, o mecanismo da web armazena o arquivo analisado em cache, o que reduzirá significativamente o tempo de processamento na próxima vez que o arquivo for solicitado. Embora o cache seja muito útil em um ambiente de produção, ele pode ser inconveniente no ambiente de desenvolvimento, pois isso significa que as alterações em arquivos HTMPL serão aplicadas somente depois que o mecanismo da web for reciclado ou que o utilitário pdm_webcache for usado. Em um ambiente de desenvolvimento, você pode evitar esse comportamento, especificando a propriedade do arquivo de configuração SuppressHtmplCache. No entanto, recomendamos não suprimir o cache do HTMPL em um ambiente de produção devido ao efeito negativo no desempenho geral do mecanismo da web.
As páginas da web exibidas pelo pdmweb.exe são geradas lendo-se arquivos HTML e usando-os para gerar o HTML. Os arquivos do modelo HTML são identificados pelo sufixo de arquivo .htmpl. É possível modificar esses arquivos de modelo e modificar as páginas da web do CA SDM.
Utilitário pdm_webcache
Use o utilitário pdm_webcache para remover um ou mais formulários HTMPL do cache do mecanismo da web. Isso força o mecanismo da web a buscar esses formulários no disco na próxima vez que forem usados, o que permite que as mudanças nos formulários sejam aplicadas.
pdm_webcache [-f form-name] [-g form-group] [-i interface] [-p process] [-v]
  • -f
    nome-de-formulário
    Especifica o nome do formulário a ser removido do cache, por exemplo, detail_cr.htmpl. Você pode usar '%' (ou '*') como caractere curinga para selecionar mais de um formulário. Por exemplo, a especificação:
    -f detail%
    Seleciona todos os formulários de detalhes.
    Esse argumento é opcional. Se for omitido, todos os formulários no cache serão selecionados.
  • -g
    grupo-de-formulários
    Especifica o nome do grupo de formulários a ser removido do cache, como Analista. Você pode usar '%' (ou '*') como carácter curinga para selecionar mais de um grupo de formulários
    .
    Por exemplo, a especificação:
    -g Anal%
    Seleciona todos os grupos de formulários que começam com "Anal”.
    Esse argumento é opcional. Se for omitido, todos os grupos de formulários no cache serão selecionados.
  • -i
    interface
    Especifica o nome da interface da web a ser removida do cache, como analista, cliente ou funcionário. Você pode usar '%' (ou '*') como carácter curinga. Por exemplo, a especificação:
    -i a%
    Seleciona a interface do analista.
    Esse argumento é opcional. Se for omitido, todas as interfaces no cache serão selecionadas.
  • -p
    processo
    Especifica o nome do processo do mecanismo da web cujo cache será modificado, como web:local.
    Esse argumento é opcional. Se for omitido, todos os mecanismos da web serão selecionados.
  • -v
    Especifica a saída detalhada. Quando esse argumento for especificado, o pdm_webcache listará o nome completo de todos os formulários removidos do cache, no formato:
    interface
    :
    grupo-de-formulários
    :
    nome-do-formulário
    Esse argumento é opcional. Se for omitido, o pdm_webcache informará somente a contagem de formulários removidos do cache de cada mecanismo da web.
Como modificar modelos em HTML
Em geral, é possível fazer dois tipos de mudanças nos modelos em HTML:
  • Você pode fazer modificações que serão visíveis ao usuário, mas não serão alteradas pela interface da web antes da exibição. Pode, por exemplo, adicionar um arquivo GIF do logotipo da empresa às páginas de interface da web (uma “transferência”) incluindo a referência no arquivo de modelo adequado, ou adicionar JavaScript à sua página para validar a entrada. Qualquer mudança feita no arquivo HTMPL, que não esteja contida em uma marca PDM (conforme definido a seguir), será transmitida inalterada no HTML retornado ao usuário.
  • É possível modificar as seções substituíveis dos modelos. Você pode, por exemplo, adicionar novos dados de aplicativo à página de detalhes da solicitação.
Vários tipos de entradas de modelo permitem fazer o que segue:
  • Exibir informações do CA SDM para o usuário.
  • Configurar uma página de consulta.
  • Criar links para outras páginas do CA SDM usando marcas de link.
Arquivos que não devem ser modificados
Determinados modelos em HTMPL e arquivos JavaScript contêm informações necessárias a muitos formulários da web do CA SDM. As informações contidas nesses modelos dependem da versão e são essenciais à operação bem-sucedida da interface da web do CA SDM. Portanto, esses arquivos sempre são substituídos quando uma nova versão do CA SDM é lançada; as alterações neles executadas não são atualizadas.
Os modelos afetados por essa restrição são os seguintes:
  • ahdtop.htmpl
    Contém estilos, scripts e variáveis JavaScript usados em toda a interface da web do CA SDM. Esse arquivo faz parte do conjunto de quadros principal da interface da web e está sempre presente durante uma sessão. Todos os formulários do CA SDM têm acesso à variável JavaScript ahdtop, que faz referência à janela que contém o ahdtop.htmpl.
  • menu_frames.htmpl
    Define o conjunto de quadros de HTML usado pelo formulário principal do CA SDM.
  • msg_cat.js
    Contém o texto de todas as mensagens usadas em arquivos JavaScript do CA SDM.
  • reports.htmpl
    Contém dados necessários aos relatórios da web.
  • std_body.htmpl
    Contém informações padrão usadas no início da seção BODY da maioria dos modelos em HTMPL.
  • std_footer.htmpl
    Contém informações padrão usadas no fim da seção BODY da maioria dos modelos em HTMPL.
  • std_head.htmpl
    Contém informações padrão usadas no início da seção HEAD da maioria dos modelos em HTMPL.
  • styles.htmpl
    Contém estilos CSS usados em toda a interface da web do CA SDM.
Embora não seja possível modificar esses arquivos diretamente, você pode adicionar mais informações a eles. Todos os arquivos xxx.htmpl restritos (com exceção de menu_frames.htmpl e reports.htmpl) têm um arquivo xxx_site.htmpl correspondente que pode ser modificado. Por exemplo, é possível adicionar outras informações ao ahdtop_site.htmpl modificando o ahdtop_site.htmpl ou adicionar novas mensagens modificando o msg_cat_site.js.
O arquivo xxx_site.htmpl correspondente a cada arquivo restrito será carregado depois do arquivo principal, de modo que seja possível substituir ou alterar o JavaScript no arquivo principal. Tenha cautela ao adicionar informações, pois mudanças mal planejadas nesses arquivos podem causar problemas inesperados em toda a interface da web do CA SDM.
Diretrizes para novos arquivos HTMPL
Você pode adicionar seus próprios arquivos HTMPL à interface da web do CA SDM. Siga as seguintes diretrizes para ajudar a garantir que seus arquivos HTMPL funcionem adequadamente com o restante da interface do CA SDM:
  1. Inclua a seguinte instrução em algum ponto da seção <HEAD> do arquivo. Essa instrução deve vir depois da instrução <TITLE> (se houver alguma). Ela define diversas variáveis globais JavaScript necessárias à interface da web do CA SDM e também registra sua página no gerenciador de janelas do CA SDM:
    <PDM_INCLUDE FILE=std_head.htmpl>
  2. Inclua o seguinte atributo como parte da marca <BODY> do arquivo. Esse atributo ajuda o gerenciador de janelas do CA SDM a controlar sua página:
    onUnload="deregister_window()"
  3. Inclua a seguinte instrução no início da seção <BODY> do arquivo. O argumento menubar=no é opcional; se for especificado, ele suprime a barra de menus do CA SDM:
    <PDM_INCLUDE FILE=std_body.htmpl [menubar=no]>
  4. Inclua a seguinte instrução no fim da seção <BODY> do arquivo.
    <PDM_INCLUDE FILE=std_footer.htmpl>
Como adicionar sobre estado definidas pelo usuário
Muitos clientes desejam incorporar suas informações sobre estado nas páginas da web do CA SDM e deixar que o CA SDM passe essas informações a todas as páginas subsequentes é possível na sessão do usuário. Essas informações podem ser examinadas com instruções condicionais nos arquivos HTMPL.
As informações sobre estado de uma sessão do usuário são aplicadas definindo-se o atributo especial USER_STATE nos links ou formulários. Depois de serem enviadas ao mecanismo da web do CA SDM, cada página apresentada ao usuário terá a variável HTMPL USER_STATE disponível e definida com o último valor enviado para USER_STATE.
Os exemplos a seguir mostram como configurar uma entrada no CA SDM a partir de outra parte do site, como as páginas destinadas à sua equipe de vendas:
  • Usando um hiperlink
    <a href="/CAisd/pdmweb.exe?USER_STATE=Sales">Service Desk</a>
  • Usando um formulário com um campo oculto
    <form action="http://yourhost.com/CAisd/pdmweb.exe"> <input type=hidden name=USER_STATE value=Sales>
    Clique no botão do Service Desk
    <input type=submit> </form>
Em seguida, você poderá modificar seus formulários HTMPL com base nas informações sobre estado:
<PDM_IF "$USER_STATE" == "Sales">
informações personalizadas para a equipe de vendas
<PDM_ELIF "$USER_STATE" == "Engineering">
informações personalizadas para os engenheiros
<PDM_ELSE>
informações para todos os demais
</PDM_IF>
Como criar uma solicitação diretamente de um modelo
É possível criar uma Solicitação diretamente de um modelo usando um URL.
Exemplo:
http://machinename/CAisd/pdmweb.exe?FACTORY=cr+OP=CREATE NEW+PERSID=cr:3106+use_template=1
em que cr:3106 é a ID persistente do modelo.
Diretórios usados pelo servidor HTTP
A instalação padrão do CA SDM define dois diretórios virtuais para o servidor HTTP:
  • O diretório virtual CAisd aponta para o seguinte diretório na instalação do CA SDM:
    1. No Windows:
      diretório de instalação
      \bopcfg\www\wwwroot
    2. No UNIX: diretório $NX_ROOT/bopcfg/www/wwwroot
  • O diretório virtual CAisd/sitemods aponta para o seguinte diretório na instalação do CA SDM:
    1. No Windows:
      diretório de instalação
      \site\mods\www\wwwroot
    2. No UNIX: $NX_ROOT/site/mods/www/wwwroot
Os subdiretórios nesses diretórios virtuais são os seguintes:
Subdiretório
Armazena
css
Folhas de estilos
help
Ajuda da interface da web
html
Arquivos HTML
img
Arquivos gráficos
scripts
JavaScript
sitemods
Modificações definidas pelo site
Se você decidir criar uma versão de qualquer dos arquivos nos diretórios css, html, img ou scripts, recomendamos que não atualize o arquivo em /CAisd. Em vez disso, armazene o arquivo no subdiretório /CAisd/sitemods adequado. Por exemplo, se decidir modificar uma folha de estilos em /CAisd/css, armazene a versão modificada em /CAisd/sitemods/css. Quando o mecanismo da web analisa um arquivo HTMPL, ele modifica automaticamente os nomes de arquivo que começam com $CAisd para que apontem para sitemods, se o arquivo existir em um subdiretório de sitemods.
O uso do diretório /CAisd/sitemods tem as seguintes vantagens:
  • Permite manter registro dos arquivos distribuídos que você alterou.
  • Fornece fácil acesso à versão original, caso ocorra alguma dúvida ou problema.
  • Facilita o processo de instalação de uma release nova ou de manutenção, pois o CA SDM não instala nada no diretório /CAisd/sitemods.
Não existe nenhum subdiretório /CAisd/sitemods/help. Como os dados de ajuda ficam em arquivos HTML padrão (não em modelos em HTMPL), o mecanismo da web não pode alterar dinamicamente as referências de arquivo. Se precisar modificar a ajuda, você deverá fazer as mudanças em /CAisd/help.
O subdiretório HTML contém alguns arquivos bastante utilizados que não precisam ser processado pelo mecanismo da web e podem melhorar o desempenho quando armazenados no cache do navegador. Se você criar uma versão de qualquer desses arquivos, verifique cuidadosamente se existem no arquivo referências a outros arquivos modificados. Como não há nenhum mecanismo da web em processamento, você deve inserir manualmente uma referência a sitemods, quando apropriado.
Fazer download de anexos em PDF
Quando você faz download e tenta exibir um anexo PDF no CA SDM, talvez o arquivo PDF não seja exibido corretamente ou uma janela em branco apareça depois da atualização para o Adobe Acrobat versão 7.0 ou 8.0. Com o CA SDM, é possível exibir o arquivo PDF corretamente executando as seguintes etapas:
  1. Defina o parâmetro
    forceDecompressOnDownload
    como YES em $NX_ROOT\bopcfg\www\CATALINA_BASE\webapps\CAisd\WEB-INF\web.xml.
    No Linux, $NX_ROOT é /opt/CAisd
  2. Reinicie os serviços do CA SDM.