Manual do Utilizador do Domino Designer

Primeira edição

Publicado em Dezembro de 2012

Acerca desta edição

Em conformidade com o compromisso da IBM para com a acessibilidade, esta edição da documentação do produto é acessível.

Imprimir

Ao imprimir este documento, alguns dos elementos de estilo são removidos para criar melhores resultados de impressão. Seguem-se algumas sugestões sobre impressão:
  • O comprimento do documento pode exceder a capacidade de impressão do navegador. O Microsoft Internet Explorer demonstrou ter capacidade para imprimir com êxito ficheiros grandes.
  • Este documento é grande. Utilize a pré-visualização da impressão para determinar o comprimento da página impressa.
  • Pode realçar uma secção do documento e, em seguida, optar por imprimir apenas o conteúdo seleccionado.

Trabalhar offline

É possível guardar uma cópia local deste documento a partir do navegador. Cada navegador tem menus e opções de menu diferentes. Consulte a ajuda do navegador, caso necessite de assistência para guardar o documento localmente.

Submeter comentários

Se pretender facultar comentários sobre este documento, consulte o sítio da Web Lotus Documentation Feedback.

Novidades no IBM Domino Designer 9.0 Social Edition

Informações sobre as novas funções e melhorias no Domino Designer.

Domino Designer

Este tópico apresenta as novas funções e alterações para o Domino Designer 9.0 Social Edition.

As actualizações periódicas à Ajuda do Domino Designer estão disponíveis na Web. Para descarregar o ficheiro mais recente da Ajuda do Designer, aceda à secção Documentation Library do developerWorks em http://www.lotus.com/ldd/doc. Faça clique em Technical Library , em by product, em seguida, em Domino Designer e, finalmente, na edição que pretende visualizar.

De um modo geral, foram efectuadas as seguintes adições ou alterações na área do Domino Designer:

Elemento de desenho JAR -- Nesta edição, foi introduzo um novo elemento de desenho JAR. O elemento de desenho JAR proporciona a capacidade de trabalhar com código/bibliotecas de Java™ incluídas no NSF da aplicação. Este elemento de desenho está apenas disponível para aplicações de XPage, nas quais o JAR é automaticamente carregado pelo tempo de execução das XPages. Esta função elimina a necessidade de implementar os JARS num servidor e/ou incluir os ficheiros de origem exclusivamente na base de dados da aplicação. Enquanto que os ficheiros JAR podem ser adicionados ao NSF através do sistema virtual, o elemento de desenho JAR gere automaticamente o caminho da classe e coloca o ficheiro JAR em web-inf/lib, que corresponde à localização recomendada para os ficheiros JAR utilizados numa aplicação de J2EE. O elemento de desenho JAR encontra-se no Navegador de aplicações a seguir ao elemento Código.

Pode criar um elemento JAR utilizando passos semelhantes aos da criação de um recurso de imagem. Por outras palavras, o JAR é importado para a aplicação em vez de ser criado de novo. O painel da lista de elementos de desenho tem um botão Importar JAR que permite seleccionar e importar o ficheiro JAR pretendido.

Os ficheiros JAR não necessitam de ser nomes alternativos e, por conseguinte, estes não são suportados. A lista de desenhos para ficheiros JAR é relativamente simples e idêntica à dos ficheiros, com a excepção de que a coluna Nomes alternativos é removida. Uma vez que as informações de tamanho de um JAR podem ser necessárias, estas são incluídas como uma coluna Bytes. Finalmente, todos os menus Novo(a) têm igualmente entradas para este novo elemento na lista de elementos de desenho.

Em qualquer uma das várias formas de criar um JAR, é apresentada a seguinte caixa de diálogo padrão do Eclipse para seleccionar um ficheiro, com a lista filtrada para incluir jars. Poderá então seleccionar o(s) JAR(s) de que necessita, premindo Guardar, e o JAR será importado para a aplicação.

Quando seleccionado no painel da lista de desenhos do Designer ou no Navegador de aplicações, um elemento JAR faculta o conjunto padrão de painéis de propriedades, mas inclui também um painel Informações básicas para permitir adicionar um comentário, mudar o nome do JAR ou gerir o sinalizador Substituir (esta função é fornecida, porque, uma vez que os JARs são um elemento importado, poderá pretender que seja possível manter o ID do Notes).

Tal como com outros elementos de desenho de ficheiros, também está disponível uma função Exportar e os JARS podem ser assinados com a acção Assinar.

O caminho da classe é ajustado para cada JAR no NSF, pelo qualquer compilação de tempo de desenho pode processar quaisquer referências ao jar. As alterações efectuadas a .classpath não são mantidas no disco, pelo que não ocorrem problemas de funcionamento nas versões anteriores do Designer.

Em tempo de execução, a nota do JAR é expandida para o sistema de ficheiros de tempo de execução de XPages em web-inf/lib e está disponível para o servidor JS numa XPage, bem como qualquer classe de Java referenciada nesse ambiente.

Função de gravação do estado da paleta -- Para esta edição, a paleta do editor de XPages grava o respectivo estado de uma XPage para a seguinte. Também grava os estados entre sessões do Domino Designer.

Suporte de ficheiros PNG para recursos de imagens -- Para esta edição, tem agora a capacidade de importar ficheiros PNG para o Designer como recursos de imagens. Este tipo de ficheiro corresponde agora a uma opção de selecção na caixa de combinação Tipo de imagem. Esta capacidade permite utilizar ficheiros PNG em locais onde são utilizados recursos de imagens (por exemplo, XPages, formulários, vistas, destaques, etc.).

Funcionalidade de navegação de hiperligações do editor de origem do XPages -- Para esta edição do Domino Designer, o editor de origem do XPages suporta navegação de hiperligações. A navegação de hiperligações descreve a funcionalidade genérica do Eclipse através da qual o texto num editor pode ser tornado numa hiperligação.

Ao premir a tecla CTRL e colocar o cursor do rato sobre texto em qualquer editor no Eclipse, o Eclipse indica ao editor que o utilizador está a tentar executar a navegação de hiperligações. Cada editor pode optar por utilizar a navegação de hiperligações, facultando objectos de hiperligação para a região para a qual o cursor aponta. Para esta edição, o editor de origem de XPages tem agora a capacidade de utilizar esta funcionalidade.

A funcionalidade está sempre activada, não existindo qualquer opção ou preferência actual para desactivar a mesma. O suporte para a navegação de hiperligações também é facultado controlo a controlo. A navegação de hiperligações é apenas aplicável a determinados controlos e, na maioria dos casos, a determinados atributos em determinados controlos. Considere a utilização desta função ao editar controlos personalizados. Ao premir CTRL e colocar o cursor do rato sobre um Controlo personalizado no editor de origem, a navegação de hiperligações permite navegar directamente até esse Controlo personalizado.

Por exemplo, ao colocar o cursor do rato sobre string.properties e ao fazer clique na hiperligação resultante no código, o elemento de desenho seleccionado é aberto.

Funcionalidade de ajuda sobreposta para o editor de origem de XPages – O Eclipse faculta actualmente um contexto simples para permitir aos editores fornecer a ajuda sobreposta com base na localização do cursor quando colocado sobre qualquer item num editor. Um exemplo é a ajuda sobreposta no editor de Java do Eclipse. Ao colocar o cursor sobre uma construção de Java específica no editor, o editor pode fornecer informações adicionais sobre essa construção. No Domino Designer, o editor de LotusScript fornece actualmente suporte de ajuda sobreposta para os itens no editor de LS.

Para esta edição, também pode obter a ajuda no editor de origem de XPages. Com esta função, pode obter informações sobre o 'nó' sobre o qual o cursor do rato está actualmente colocado. Semelhante à navegação de hiperligações (consultar anterior), o contexto do editor do Eclipse fornece informações de posicionamento para a camada de ajuda sobreposta, que é interpretada e processada novamente para um nó do DOM no XPage. Quando o nó do DOM tiver sido processado, o editor fornece uma descrição para o controlo (e atributo) actual. Todos os controlos e atributos que fornecem a própria descrição através do xsp-config podem tornar essas informações visíveis na funcionalidade de ajuda sobreposta no editor de origem das XPages.

Esta função é controlada utilizando uma preferência no separador Preferências do Domino Designer. A função está activada por predefinição, com um tempo limite de 500 milissegundos associado à preferência. Ou seja, quando o cursor estiver 'parado' durante mais de 500 ms (milissegundos), o contexto do editor do Eclipse invoca a ajuda sobreposta do editor de origem das XPages. Nessa altura, a ajuda sobreposta de XPages calcula qual o nó sobre o qual o cursor do rato está colocado. Com base nas informações dos nós, a funcionalidade processa o nó relativamente ao registo de XPages e obtém uma descrição para o nó. A função também foi concebida para trabalhar com a notação 'this.attribute' que é utilizada extensivamente nas XPages. As informações de ajuda sobreposta têm o seguinte formato na janela de ajuda, caso o cursor esteja colocado sobre um controlo (e não um atributo):

Nome de apresentação do controlo (tagName)

Descrição:

Se o cursor estiver colocado sobre um atributo de um controlo, a ajuda tem o seguinte formato na janela de ajuda:

Nome de apresentação do controlo (tagName)

Descrição:

Nome de apresentação do atributo (attributeName)

Descrição do atributo:

Tal como mencionado, as informações são obtidas a partir do registo de XPages, pelo que a função funciona com todos os controlos e não apenas com os controlos principais de XPages. Finalmente, ao premir F2 enquanto a ajuda sobreposta está a ser apresentada, o foco é colocado na janela de ajuda sobreposta, permitindo redimensionar a janela.

Melhorias da gestão de memórias – Para esta edição, foram efectuadas melhorias da gestão de memórias no Domino Designer, especificamente na área do editor de XPages. Determinadas fugas de memória anteriormente identificadas foram investigadas e resolvidas. No passado, estas fugas surgiam por vezes ao editar XPages complexas de grande dimensão (ou seja, XPages que continham vários elementos de desenho complexos) com muitas visualizações de controlos. Estas fugas resultariam numa excepção Sem memória de Java e numa falha do Domino Designer.

Ajuda da assistência de conteúdo – Esta edição apresenta a funcionalidade de assistência de conteúdo no editor de origem de XPages. Esta função permite utilizar a assistência de conteúdo ao trabalhar no 'modo de origem' numa XPage. Semelhante a outros editores do Eclipse, ao premir CTRL+TECLA DE ESPAÇOS irá activar a funcionalidade de assistência de conteúdo.

A assistência de conteúdo no editor de XML do Eclipse (e o editor de origem de XPages) é orientada através da utilização de um esquema. O Domino Designer cria dinamicamente um esquema baseado na aplicação actual do Notes. O esquema contém informações de ajuda para cada atributo de cada controlo no tempo de execução das XPages. Para activar a assistência de conteúdo no editor de XPages, a marcação de XSP tem de ser modificada, de modo a notificar o editor de origem de XPages sobre a localização do esquema que está a ser utilizado. Cada nova XPage criada no Domino Designer contém agora os seguintes metadados no controlo 'view' de XPage:

xsi:schemaLocation="http://www.ibm.com/xsp/core xsdxp://localhost/xsp~core.xsd

Uma definição de localização semelhante será adicionada a cada espaço de nomes adicionado à XPage. Ao largar controlos da paleta numa XPage, o Domino Designer verifica se o URI do espaço de nomes do controlo tem uma localização de esquema associada ao mesmo. Caso contrário, é gerada e adicionada uma localização à marcação de XSP. O Domino Designer gera então dinamicamente um esquema para o espaço de nomes especificado com base no conteúdo de FacesRegistry (que contém definições para todos os controlos de XPages). Assim, permite ao Domino Designer adicionar a marcação necessária à XPage.

Se já existirem XPages, terá de adicionar um novo controlo ao XPage (através da acção de arrastar e largar a partir da paleta de controlos) para activar a nova funcionalidade de assistência de conteúdo.

Detecção de tipos de conteúdo e do campo de tipo de conteúdo editável – Todos os tipos de conteúdo contribuídos são agora detectados pelo Domino Designer.

Campo de tipo de conteúdo editável – O campo de tipo de conteúdo para campos processados e colunas de vistas é agora editável. Ao desenvolver controlos para o Social Enabler, o campo de tipo de conteúdo para o controlo Campo processado e para as colunas de vistas era anteriormente só de leitura. Esta situação não era aceitável, uma vez que os clientes pretendem contribuir com os respectivos tipos de conteúdo. No caso do Social Enabler, existem vários tipos de conteúdo disponíveis.

Nenhum destes tipos era apresentado no campo processado ou na coluna de vistas como opções, o que significa que é necessário aceder à vista Todas as propriedades para introduzir estes valores. Mesmo assim, o painel formal continuaria a apresentar o valor anterior de Texto, até se o valor tivesse sido definido de modo diferente.

Esta alteração corrige esse problema. O painel Apresentar da coluna de vistas e o painel Informações básicas do campo processado suportam agora todos os tipos de conteúdo registados e esses campos são editáveis, pelo que pode introduzir os seus próprios nomes de tipos de conteúdo, se pretender.

Suporte de conversores adicionados ao controlo Caixa de verificação de XPages – Para esta edição, o controlo Caixa de verificação aceita conversores.

Conversores booleanos adicionados a controlos que aceitam conversores – Para esta edição, os controlos que aceitam conversores aceitam agora conversores booleanos. O conversor booleano permite que valores guardados através de uma XPage sejam armazenados na origem de dados como objectos Booleanos, em oposição às cadeias. O Domino Designer permite agora que o conversor booleano seja adicionado como um conversor em qualquer controlo de XPage que suporte conversores.

Alterações das preferências do Domino Designer – Foram efectuadas as seguintes alterações às preferências do Domino Designer:
  • As XPages são agora a respectiva categoria Preferências
  • A biblioteca de extensões e as preferências de paletas foram adicionadas à categoria das XPages
  • O nome da caixa de grupo de painéis de preferências das XPages foi alterado para editor de XPages
  • A preferência Mostrar quebras de linha no editor é agora Mostrar quebras de linha no editor de desenho, uma vez que se refere ao editor de origem.
  • As preferências da ajuda em bolha e da ajuda sobreposta foram movidas do painel de preferências do Domino Designer para o grupo painel/editor de XPages.
  • Novas caixas de verificação e temporizadores associados para ajuda sobreposta e assistência de conteúdo foram adicionadas ao grupo painel/editor de XPages. Os controlos de temporizadores serão desactivados, se a caixa de verificação estiver desmarcada.

Funcionalidade Fechar aplicação – Nesta edição, pode fechar manualmente as aplicações que estão abertas no Navegador de aplicações do Domino Designer. Para aceder a esta funcionalidade, foi adicionado um novo item de menu ao Navegador de aplicações, o que permite fechar manualmente uma aplicação que tenha sido anteriormente aberta no Navegador de aplicações.

Este novo item de menu é apenas activado quando uma Aplicação é seleccionada e essa aplicação já está aberta. O item de menu será desactivado quando um nó na árvore de elementos de desenho for seleccionada.

Este item de menu é notificado quando uma aplicação é aberta sem que ocorra uma alteração da selecção. Por exemplo, suponha que a Aplicação A está fechada e que tenta seleccionar o menu. Neste caso, o item de menu Fechar aplicação será desactivado. Por outro lado, se abrir a Aplicação A sem alterar a selecção no navegador e tenta seleccionar novamente o menu, o item de menu Fechar aplicação será activado.

Quando seleccionado, o item de menu Fechar aplicação irá fechar a aplicação actualmente seleccionada, bem como todos os elementos de desenho dessa aplicação que estejam abertos.

Painéis de configuração da origem de dados -- Um painel Seleccionar origem de dados é fornecido para os controlos Vista de dados e Vista dinâmica na biblioteca de extensões (consulte a secção correspondente neste tópico). Este painel é apresentado imediatamente após largar um destes controlos numa XPage. Estes painéis permitem seleccionar ou fornecer as seguintes informações:
  • A origem a partir da qual pretende apresentar os dados (Vista do Domino)
  • A aplicação que faculta a origem de dados
  • A vista específica para a qual pretende fornecer os dados
  • O nome da origem de dados
Melhorias da capacidade de utilização do Designer -- Foram adicionados novos selectores especializados aos valores da propriedade de assistência da ajuda ao trabalhar no painel Todas as propriedades. Foram adicionados os seguintes editores de propriedades específicos para melhorar a capacidade de utilização nos controlos da biblioteca de extensões (consulte a secção correspondente neste tópico):
  • Selector de sinalizadores de bits
  • Selector de moeda
  • Selector de formulários
  • Selector de expressões globais
  • Selector de nomes de variáveis
  • Selector de vistas e pastas
  • Selector de vistas
  • Selector de IDs do controlo de XPages
Pode reutilizar estes editores nas respectivas definições de propriedade do Controlo personalizado onde pretender.
Alterações e adições no Navegador de aplicações -- Foram adicionados novos itens ao Navegador de aplicações. O nome da secção Propriedades da aplicação anterior foi alterado para Configuração da aplicação. Esta secção fornece agora acesso de edição ao seguinte grupo de elementos da aplicação:
  • Propriedades de aplicações - Este elemento fornece acesso de edição às propriedades de nível de aplicação clássico.
  • Propriedades de Xsp - Este ficheiro contém um conjunto de parâmetros de contexto das XPages, denominado xsp.properties. Este ficheiro é utilizado ao nível da aplicação ou do servidor para definir e controlar as definições das XPages na aplicação das XPages. Cada aplicação NSF das XPages contém um ficheiro xsp.properties.
  • Faces-config - O ficheiro faces-config.xml consiste no ficheiro de configuração principal numa aplicação de JSF. O ficheiro apresenta geralmente recursos de beans e regras de navegação de páginas. Este é colocado na pasta WEB-INF de uma aplicação.
    Nota: O ficheiro Faces-config está oculto em todas as perspectivas, excepto na perspectiva das XPages.
Pode ocultar ou apresentar qualquer um destes itens através das Preferências do navegador.

Funcionalidade Aplicações que não se encontram no conjunto de trabalho -- Os utilizadores do Domino Designer utilizam conjuntos de trabalho para filtrar o conteúdo da vista Navegador de aplicações. Os conjuntos de trabalho permitem agrupar aplicações em categorias, que, por sua vez, permitem visualizar apenas as aplicações num conjunto de trabalho específico ou em vários conjuntos de trabalho em simultâneo. Assim, poderá organizar e limpar o Navegador de aplicações, de forma a que seja possível realçar/visualizar um subconjunto de aplicações que estão incluídas no Navegador de aplicações. Infelizmente, a dificuldade em determinar quais as aplicações que NÃO estão incluídas em qualquer conjunto de trabalho tem sido um problema constante.

Foi adicionada uma nova funcionalidade que permite visualizar todas as aplicações no Domino Designer que não estão armazenadas num conjunto de trabalho. Trata-se de uma funcionalidade bastante semelhante ao conjunto de trabalho Outros projectos que está disponível na vista Explorador de pacotes de Java. Poderá encontrar esta funcionalidade na interface do Designer em duas localizações:
  • Página inicial do Domino Designer
  • Menu pendente da barra de ferramentas do conjunto de trabalho do navegador

Na Página inicial, o Domino Designer verifica se todas as aplicações incluídas no Navegador de aplicações estão incluídas num Conjunto de trabalho. Se for determinado que uma ou mais aplicações não estão incluídas num ou mais conjuntos de trabalho, o Designer recarrega a Página inicial. Em seguida, durante este processo, adiciona um novo item da lista Aplicações que não se encontram num conjunto de trabalho à Página inicial.

No Navegador de aplicações, ao fazer clique no botão de menu, o Domino Designer determina se alguma das aplicações não se encontra num conjunto de trabalho. Se determinar que uma ou mais aplicações não se encontram num conjunto, o item de menu Aplicações que não se encontram num conjunto de trabalho recentemente adicionado é activado. Por outro lado, o mesmo item de menu será desactivado, se todas as aplicações estiverem organizadas em conjuntos de trabalho ou se não existirem quaisquer conjuntos de trabalho (neste caso, nenhuma aplicação está incluída num conjunto de trabalho).

Quando a função Aplicações que não se encontram num conjunto de trabalho está activada, o Navegador de aplicações apresenta apenas as aplicações que não se encontram actualmente num conjunto de trabalho. A barra de título do Navegador de aplicações é alterada de forma a apresentar Outras e a sugestão da ferramenta irá corresponder a Aplicações que não se encontram num conjunto de trabalho.

Pode adicionar as aplicações que não estão actualmente incluídas num conjunto de trabalho a um conjunto de trabalho. Se todas as aplicações que não estavam incluídas num conjunto de trabalho forem então adicionadas a conjuntos de trabalho enquanto a função Aplicações que não se encontram num conjunto de trabalho está activada, o Navegador de aplicações é apresentado vazio e a Página inicial é recarregada. Neste caso, contudo, o item Aplicações que não se encontram num conjunto de trabalho não estará visível e o item de menu Aplicações que não se encontram num conjunto de trabalho no menu Navegador de aplicações estará seleccionado mas desactivado.

XPages

Na área de XPages, foram efectuadas as seguintes adições ou alterações.

Biblioteca de extensões do XPages -- A biblioteca de extensões do XPages fornece controlos adicionais prontos a utilizar. Os controlos incluem novos controlos de contentor (tal como o Esquema da aplicação, Vista de dados e outros), caixas de diálogo melhoradas, selectores, formulários no mesmo local, componentes do Dojo, conteúdo dinâmico, etc. O controlo também suporta melhorias nos modelos do Domino®.

Os controlos disponíveis na nova biblioteca de extensões abrangem as seguintes áreas funcionais:
  • Acesso a dados - expõem os serviços de acesso a dados.
  • Formulário do Dojo - imitam os componentes do toolkit do Dojo.
  • Esquema do Dojo - imitam os componentes do toolkit do Dojo.
  • Biblioteca de extensões - expandem as funções dos controlos principais do Designer.
  • iNotes - suportam determinadas vistas, listas e arquivos. Móvel - suportam aplicações móveis.
A biblioteca de extensões do XPages inclui as seguintes características principais:
  • Controlos móveis - Este novo conjunto de controlos fornece suporte para criar aplicações para dispositivos móveis, incluindo as seguintes características principais:
    • Estilos prontos a utilizar para iPhone e Android
    • Capacidade de fornecer estilos personalizados
    • Um controlo de vista para apresentar vistas do Domino
    • Possibilidade dos documentos serem apresentados facilmente, através de controlos de formulários e manipulados, tal como em aplicações de produtividade pessoal
    • Controlos de cabeçalho, destaque e barra de separadores
    • Controlo Aplicação de página única para alterar uma página móvel sem recarregar a totalidade da aplicação
    Estes controlos foram implementados como controlos de biblioteca, pelo que podem ser utilizados em aplicações personalizadas sem ser necessário copiar e colar elementos de desenho.
  • Novas ferramentas para controlos de bibliotecas - Novos suplementos facultam novas visualizações básicas do Domino Designer para todos os controlos da biblioteca de extensões, bem como visualizações melhoradas para controlos mais complexos, tais como o controlo Esquema da aplicação. Outras melhorias incluem novos editores especializados que ajudam a atribuir valores de propriedades ao trabalhar no painel Todas as propriedades e novos painéis de desenho que ajudam a utilizar os controlos Vista de dados e Conteúdo dinâmico.
  • Suporte de acessibilidade e localização melhorado - As versões anteriores de alguns controlos e tipos complexos na biblioteca de extensões de XPages não estavam totalmente em conformidade com os padrões de acessibilidade e localização. Por exemplo, a utilização do atributo 'title' como um rótulo de controlo em vez de uma etiqueta descritiva para tecnologias de assistência (tais como leitores de ecrã, etc). Problemas semelhantes a este, entre outros, foram abordados nesta edição.
  • Pequenas correcções e melhorias adicionais - Foram aplicadas pequenas correcções adicionais ao tempo de execução. Muitas das sugestões de ferramentas e descrições de propriedades de controlo foram actualizadas.

Para obter mais informações sobre esta função, consulte a secção Adicionar controlos da XPages Extension Library deste Manual do Utilizador. Para obter informações adicionais e material de referência sobre a utilização dos controlos da Extension Library, consulte também a documentação da XPages Extension Library do Domino Designer localizada na secção de documentação do produto do wiki do Notes and Domino Application Development em http://www-10.lotus.com/ldd/ddwiki.nsf.

Modelos de aplicações actualizados -- Esta edição faculta versões actualizadas dos modelos de debate e salas de equipa do Notes/Domino que foram expandidos para utilizarem as novas funções da última edição (discussion8xl.ntf e teamrm8xl.ntf). Estes modelos podem ser utilizados para criar aplicações de XPages que serão executados na Web, no cliente do Notes ou em dispositivos móveis. É particularmente aconselhável experimentar as implementações de aplicações móveis, uma vez que estes modelos são um bom ponto de referência de exemplo para começar a utilizar a implementação móvel do XPages. Os modelos de debate e salas de equipa desta edição estão apenas disponíveis em inglês.

Controlo Esquema da aplicação -- Um destaque da biblioteca de extensões é o controlo Esquema da aplicação (applicationLayout/com.ibm.xsp.extlib.component.layout.UIApplicationLayout). Este controlo corresponde a um objecto para apresentação da moldura principal da aplicação e do esquema de uma aplicação de XPages.

A utilização deste controlo é mais eficaz quando este é colocado num controlo personalizado, no qual pode configurar o esquema uma vez e reutilizar o controlo personalizado em várias XPages. Pode configurar um esquema com um máximo de três áreas para títulos e ligações de navegação, uma área de conteúdo com um máximo de três colunas e até duas áreas de rodapé.

Após ter arrastado o controlo para a XPage e efectuado a configuração inicial, pode utilizar os Painéis de propriedades do controlo para definir ainda mais as opções adicionais para as propriedades de controlo de esquema da aplicação. Estas incluem:
  • Painel básico de propriedades - Permite definir o controlo Nome, Configuração e Visível (com um valor processado). Quando o controlo se encontra num Controlo personalizado, este painel também permite adicionar aspectos a qualquer uma das três principais colunas, de modo a permitir largar controlos nestes aspectos ao utilizar o Controlo personalizado.
  • Painel de propriedades da faixa - Permite especificar todas as opções e definições da faixa do esquema para uma área da faixa. Por exemplo, um logótipo (campo de texto com selector de imagem), ligações globais, etc.).
  • Faixa - Painel de propriedades das Ligações da aplicação - Parte do painel de propriedades Faixa, este painel permite adicionar ligações da aplicação e definir as propriedades das ligações.
  • Faixa - Painel de propriedades das Ligações do utilitário - Parte do painel de propriedades Faixa, este painel permite adicionar ligações na faixa para utilitários, tais como Ajuda e Início de sessão, e definir as respectivas propriedades relacionadas.
  • Painel de propriedades Barra de título - Permite definir a barra de título, o texto do título, definir opções do título, adicionar ligações (de forma personalizada) e adicionar mais separadores (com separadores descendentes) ao esquema da aplicação.
  • Barra de título - Painel de propriedades da Procura - Permite adicionar controlos de procura à barra de título e definir todos os URLs e propriedades de procura relacionados. Uma área editável (aspecto) também é fornecida como uma forma alternativa de especificar a IU de procura. Caso seja utilizado, o aspecto substitui os controlos especificados neste painel.
  • Painel de propriedades da Barra de locais - Permite definir opções para apresentar uma área da barra de locais para um título secundário. Também pode definir as ligações para que sejam apresentadas como botões ou botões com menus pendentes. Estes podem ser botões com ou sem imagens e rótulos.
  • Painel de propriedades do Rodapé - Faculta a opção de apresentar um rodapé na área de conteúdo da aplicação e utilizar o mesmo para ligações ou texto. Para apresentar apenas texto no rodapé, deve especificar apenas o texto de um rótulo como uma propriedade e não um HREF (ligação).
  • Painel de propriedades de Informações legais - Fornece a opção de especificar uma área na aplicação para apresentar o texto de informações legais, bem como definir todas as propriedades de logótipos e texto (com valores processados, se pretendido).

Para obter informações completas sobre como utilizar este controlo, consulte a secção Referência de controlos neste manual.

Controlo Conteúdo dinâmico -- Outro destaque da biblioteca de extensões é o controlo Conteúdo dinâmico (dynamicContent / com.ibm.xsp.extlib.component.dynamiccontent.UIDynamicContent). Este controlo permite incluir uma página ou parte de uma página dinâmica na aplicação de XPage. O controlo permite criar e apresentar condicionalmente controlos descendentes, permitindo mostrar e ocultar partes de uma página. Este controlo foi fornecido com ferramentas e visualização completas. As ferramentas para o controlo Conteúdo dinâmico consistem num painel de propriedades do Controlo dinâmico. As propriedades que podem ser definidas a partir deste painel incluem:
  • Nome de controlo
  • Opção para tornar o controlo visível (caixa de verificação visível)
  • Lista pendente para seleccionar o aspecto predefinido. O conteúdo especificado no aspecto predefinido é apresentado caso não sejam cumpridas quaisquer outras condições.
  • Opção para Utilizar a indexação do URL (caixa de verificação)

Editor de propriedades de XPages -- Uma interface do utilizador Editor de propriedades de XPages foi adicionada para facilitar a edição das propriedades de XPages na vista Navegador do Eclipse.

Para apresentar a vista Navegador do Eclipse, seleccione Janela - Mostrar vistas do Eclipse - Navegador.

Para iniciar o Editor de propriedades de XPages:
  • Localize o ficheiro xsp.properties de propriedades do XPages na vista Navegador do Eclipse. O caminho deverá ter o seguinte formato: Application-name.nsf/WebContent/WEB-INF/xsp.properties.
  • Faça clique com o botão direito do rato no ficheiro xsp.properties e seleccione Abrir com - Editor de propriedades de XPages. O painel Editor de propriedades de XPages é aberto com 4 separadores disponíveis para definir as propriedades de XPages. Estes separadores de propriedades são Geral, Persistência, Geração de páginas e Origem.
O separador Geral das propriedades de XPages permite definir propriedades nas seguintes áreas gerais:
  • Predefinições de temas - Permite definir propriedades de temas da aplicação. Também pode especificar definições de substituição de opções de temas dependendo do facto de a aplicação ser apresentada no cliente do Notes ou na Web.
  • Comportamento de janelas para navegação e ligações - Permite especificar o comportamento de janelas e ligações na aplicação, bem como o comportamento de ligações quando não está especificado nas próprias ligações.
  • Tratamento de erros - Permite especificar opções de tratamento de erros (página de erros). Se optar por apresentar uma página de erro de tempo de execução de XPage, pode especificar a apresentação da página de erro predefinida pelo esquema de XSP. Pode ser útil para fornecer informações adicionais de erros.
  • Edição mínima suportada - Permite especificar a edição mínima suportada do Notes/Domino para a execução da aplicação compilada e também permite definir os requisitos de suporte de estilo.
  • Tempos limite - Permite especificar os intervalos de tempo limite de aplicações, sessões e actualizações parciais. Para uma aplicação ou sessão, pode definir um intervalo de limite de tempo em minutos para a respectiva da memória após inactividade. O intervalo predefinido é de 30 minutos, excepto se especificado em contrário. Para actualizações parciais, pode definir um intervalo de tempo limite em segundos. O valor predefinido é de 20 segundos. Também podem ser definidas opções de actualização e persistência adicionais.
  • Dojo - Permite especificar a versão do Dojo a utilizar na aplicação, bem como especificar parâmetros para o atributo djConfig do Dojo. Por exemplo, pode especificar isDebug=true para poder comutar para o modo de depuração, caso seja necessário.
  • Fuso horário - Permite especificar as informações de fuso horário. Se não utilizar esta opção, é utilizado o fuso horário do servidor.
  • Opções de transferência de ficheiros - Permite especificar o tamanho e a localização de transferência de ficheiros da aplicação. Inclui o tamanho máximo de um ficheiro a ser transferido para uma aplicação, bem como a localização do directório para armazenar temporariamente um anexo transferido.
O separador Propriedades do desempenho (Persistência) permite definir propriedades nas seguintes áreas de desempenho da aplicação:
  • Opções de persistência - Permite definir os modos e opções de persistência de páginas do servidor (JSF), bem como definições de contagem de páginas de persistência para optimizar o desempenho da aplicação vs. a memória disponível.
  • Localizações temporárias - Permite especificar localizações para armazenamento temporário de persistência de anexos, ficheiros transferidos e páginas de JSF.
  • Opções - Permite especificar as definições adicionais de desempenho actualização de páginas, tamanho da cache, limite de validade de recursos e opções de recursos de JavaScript e CSS.
O separador Propriedades da geração de página (Geração de páginas) permite definir propriedades nas seguintes áreas de geração de páginas da aplicação:
  • Geração de HTML - Permite especificar a definição da geração de HTML, tal como validação de HTML do lado do cliente, definições de compressão, codificação (conjunto de caracteres) e tipo de documento de HTML, bem como outras opções.
  • Opção de rich text - Permite especificar o modo de gravação de ligações em documentos do Domino, em formato do Notes ou da Web.
  • Filtragem de conteúdo activo - Permite especificar filtros de conteúdo activo, incluindo tipos de filtragem de apresentação e gravação, bem como especificar qual o ficheiro ACF CONFIG a utilizar.
  • A filtragem de conteúdo activo (ACF, Active content filtering) é utilizada para remover conteúdo activo potencialmente malicioso do conteúdo da aplicação que é apresentado num navegador.

Finalmente, o separador Origem permite apresentar e editar o ficheiro de origem de propriedades de XPages efectivo num editor de texto sem a assistência da interface do utilizador Editor de propriedades de XPages.

A ajuda sobreposta é fornecida para facultar assistência adicional para as várias opções e propriedades que pode definir nestes separadores.

Classes de Java do programa emissor de Agenda e Agendamento (A&A) – Estão disponíveis um contexto e um conjunto de métodos para uma API de Java que expõe a funcionalidade de agenda e agendamento do Domino. Faculta a capacidade de criar, ler, actualizar e remover dados da agenda num ficheiro de correio pessoal, utilizando o formato de dados padronizado do iCalendar (RFC 5545). Também permite acções explícitas da agenda em entradas e avisos da agenda (aceitar, recusar, cancelar, etc). Consulte a secção seguinte deste tópico para obter detalhes mais completos.

Suporte de idioma de tempo de execução -- O tempo de execução de XPages nesta edição suporta os Grupos de idiomas 1, 2 e 3. Os modelos de debate e salas de equipa estão apenas disponíveis em inglês.

Suporte de idiomas de modelos -- Os modelos de debate e salas de equipa estão apenas disponíveis em inglês.

Opção de início para executar aplicações de XPages baseadas em servidor directamente num servidor do Domino – Uma vez que as aplicações de XPages do Notes são executadas no contentor da Web XPD local do Notes, todas as classes de Java do XPages (XPages e controlos personalizados) têm de ser copiadas na rede do servidor remoto para o cliente do Notes a ser executado. De um modo semelhante, todos os recursos de páginas (CSS, JavaScript, GIFs, etc.) têm de ser obtidos a partir do servidor remoto, bem como os documentos de dados efectivos. Além disso, se a aplicação de XPages explorar outros artefactos de concepção do Notes (por exemplo, utilizando a função computeWithForm), os elementos de concepção de grande dimensão, tais como formulários, subformulários, campos partilhados, etc., também têm de ser obtidos remotamente. Em redes de elevada latência, esta situação poderá causar impactos significativos no desempenho, em particular, se a aplicação tiver sido concebida primordialmente para a Web e não optimizada para o cliente do Notes.

Uma opção de início do Domino Designer permite agora evitar esta situação. A opção de início do cliente do Notes é denominada Executar aplicações de XPages baseadas em servidor directamente num servidor do Domino. Quando esta opção está seleccionada e a aplicação é iniciada por um utilizador do Notes, é solicitado que o tempo de execução de XPages execute a aplicação no servidor do Domino através de HTTP. Esta opção permite solicitar que as aplicações remotas sejam executadas no servidor de HTTP do Domino - tal como acontece para o utilizador da Web - e apresentadas no contentor de XPages do Notes. A vantagem desta abordagem consiste na eliminação de inúmeras transacções de rede para melhorar o desempenho.

Para que este pedido seja respeitado, têm de ser cumpridas várias condições. Em primeiro lugar, tem de ter uma conta de HTTP do Notes configurada. Estas contas podem ser configuradas directamente no cliente do Notes ou remotamente no servidor do Domino e, em seguida, aprovisionadas para o cliente do Notes. Para criar ou visualizar contas do Notes, seleccione Ficheiro > Preferências > Contas no Notes. Na tentativa de respeitar o pedido para a aplicação de XPages no Domino, o XPages efectua a iteração através de todas as contas do Notes definidas na instalação do cliente do Notes até localizar uma conta de HTTP que corresponda ao nome do servidor no qual a aplicação reside. Assim que estes critérios forem cumpridos, será criado um URL de XPages do Domino, o pedido será enviado para o servidor do Domino e, em seguida, a aplicação será carregada no cliente do Notes. Se uma conta correspondente não for localizada ou se não for possível fornecer o pedido para o servidor (por ex. devido a outros detalhes de conta incorrectos), ser-lhe-á solicitado que feche a janela da aplicação ou que reverta a execução da aplicação de forma a utilizar o contentor da Web local do Notes.

O contexto das contas do Notes e o navegador XULRunner subjacente transmitem automaticamente as credenciais do utilizador para o servidor da Web para autenticação automática. Deste modo, não deverá ser solicitado que o utilizador efectue a autenticação. Se for solicitado que introduza o nome do utilizador e a palavra-passe, significa que a configuração do Notes/Domino de tempo de execução não está correctamente efectuada (por exemplo, o SSO do Domino poderá estar incorrectamente configurado). Contudo, deverá ser possível verificar esta situação independentemente das XPages, introduzindo um URL para a aplicação através do mecanismo de endereços do navegador do Notes na barra de ferramentas do Notes.

Ao executar uma aplicação no servidor do Domino, no cliente do Notes, todas as funcionalidades personalizadas do Notes deverão funcionar tal como aquando da execução no modo de XPages nativo. Por exemplo, os menus contextuais, as gravações incorrectas de documentos, as funções de JavaScript do lado do cliente, etc. deverão ter o mesmo comportamento. Uma excepção consiste no facto de as aplicações compostas não poderem utilizar a funcionalidade Property Broker do cliente quando executadas no servidor.

Pode ignorar a definição desta opção no Domino Designer, definindo uma função de NOTES.INI, da seguinte forma: XPagesRunRemoteAppsOnServer=1. Esta definição será aplicada a todas as aplicações de XPages e não a aplicações individuais.

Verificador ortográfico adicionado ao CKEditor – Foi adicionado um verificador ortográfico ao CKEditor no XPages. Estará disponível no servidor e no cliente.

Programação e idiomas

Na área da programação e idiomas, foram efectuadas as seguintes adições ou alterações:

Serviços de dados do Domino-- O serviço de dados do Domino® consiste numa REST API que acede a bases de dados nos servidores do Domino. Faz parte dos serviços de acesso do Domino. O serviço de dados do Domino recebe pedidos e envia respostas, utilizando protocolos HTTP e HTTPS com o conteúdo do corpo em formato JSON. O serviço de dados do Domino permite obter informações sobre bases de dados, vistas, pastas e documentos. Pode actualizar, adicionar e eliminar documentos.

Para obter informações mais completas e material de referência sobre a utilização dos Serviços de dados, consulte as informações localizadas na secção de documentação do produto do wiki doNotes and Domino Application Development em http://www-10.lotus.com/ldd/ddwiki.nsf.

Classes de Java do programa emissor de Agenda e Agendamento (A&A) – Estão disponíveis um contexto e um conjunto de métodos para uma API de Java que expõe a funcionalidade de agenda e agendamento do Domino. Faculta a capacidade de criar, ler, actualizar e remover dados da agenda num ficheiro de correio pessoal, utilizando o formato de dados padronizado do iCalendar (RFC 5545). Também permite acções explícitas da agenda em entradas e avisos da agenda (aceitar, recusar, cancelar, etc).

Nota: O iCalendar permite a captura de troca de informações normalmente armazenadas numa aplicação de agenda e agendamento, tal como o Personal Information Manager (PIM) ou um produto da aplicação Group-Scheduling. O formato do iCalendar é adequado como formato de troca entre aplicações ou sistemas. O formato está definido em termos de um tipo de conteúdo MIME. Assim, permite que o objecto a ser trocado utilize vários transportes, incluindo, mas não se limitando a, SMTP, HTTP, um sistema de ficheiros, protocolos interactivos do ambiente de trabalho, tal como a utilização de uma área de transferência baseada na memória ou interacções de arrastar/largar, comunicação assíncrona ponto a ponto, transporte de rede com fios ou algum tipo de transporte sem fios, tal como infravermelhos.

A finalidade destas classes e métodos iniciais consiste em facultar uma base para explorar as possibilidades de desenvolvimento e para criar aplicações de protótipo de agenda e agendamento pequenas e simples sem a necessidade de ter conhecimentos extensivos sobre a agenda e o agendamento do Notes.

Algumas das novas classes (com métodos) que foram adicionadas incluem:

Session.getCalendar

Cria um objecto NotesCalendar a partir do objecto Base de dados. Não é verificado se a base de dados é uma C&S válida até que esta seja efectivamente acedida.

lotus.domino.NotesCalendar getCalendar(lotus.domino.Database db)throws NotesException

NotesCalendar - com os seguintes métodos:
  • NotesCalendar.getEntry
  • NotesCalendar.createEntry
  • NotesCalendar.readRange

As seguintes informações facultam detalhes adicionais para utilizar estes métodos:

NotesCalendar.getEntry

Devolve um objecto NotesCalendarEntry associado ao UID facultado uid (identificador do iCal). Não efectua a verificação da validade para assegurar que a entrada realmente existe.

NotesCalendarEntry getEntry(String uid) throws NotesException

NotesCalendar.createEntry

Devolve um NotesCalendarEntry do iCal facultado quando é disponibilizada uma cadeia do iCalendar (iCal) formatada de modo adequado de acordo com o RFC 5545.

NotesCalendarEntry createEntry(String iCal) throws NotesException

NotesCalendar.readRange

Devolve uma cadeia do iCalendar que representa todas as entradas da agenda que são apresentadas na agenda do Notes e que são iniciadas entre as horas de início e de fim facultadas. Para entradas recorrentes, a saída de cada ocorrência no intervalo é efectuada em separado. Representa apenas os dados de resumo para cada entrada, mas cada entrada irá conter um UID que pode ser utilizado para obter um objecto NotesCalendarEntry no método getEntry. O chamador é responsável pela análise do resultado.

String readRange(DateTime start, DateTime end) throws NotesException

NotesCalendarEntry
  • NotesCalendarEntry.read
  • NotesCalendarEntry.update
  • NotesCalendarEntry.remove

As seguintes informações facultam detalhes adicionais para utilizar estes métodos:

NotesCalendarEntry.read

Devolve a cadeia do iCalendar que representa esta entrada da agenda. Se o recurID for especificado para uma entrada recorrente, devolve a cadeia do iCalendar apenas para essa ocorrência. É esperado que o recurID seja uma cadeia que representa a data/hora para a qual uma ocorrência específica foi originalmente agendada, formatada como um RECURRENCE-ID do iCalendar. Por exemplo: 19960120T120000Z. Consulte RFC 5545, secção 3.8.4.4.

String read() throws NotesException

String read(String recurID) throws NotesException

NotesCalendarEntry.update

Se for especificada uma cadeia do iCalendar (iCal) correctamente formatada de acordo com o RFC 5545, actualiza esta entrada da agenda através do iCalendar. Para reuniões recorrentes, é apenas suportado actualmente para ocorrências individuais e a entrada da iCalendar tem de conter um único VEVENT que especifica a ocorrência adequada com um RECURRENCE-ID, tal como definido no RFC 5545.

Caso não sejam especificados quaisquer comentários, NÃO irá enviar avisos, mesmo que se trate de uma reunião. Se se tratar de uma reunião na qual o proprietário do ficheiro de correio é o organizador, serão enviados os avisos adequados, incluindo os comentários fornecidos. Actualmente, quaisquer comentários fornecidos são ignorados.

void update(String iCal) throws NotesException

void update(String iCal, String comments) throws NotesException

NotesCalendarEntry.remove

Remove (elimina) uma entrada da agenda do ficheiro de correio. Se o recurID for especificado, apenas essa ocorrência é removida. Se esta entrada da agenda for uma reunião agendada, será cancelada ou recusada de forma adequada e os avisos correctos serão enviados ao organizador ou aos participantes.

void remove() throws NotesException

void remove(recurID) throws NotesException

Para obter informações completas sobre estas e outras classes e métodos, consulte a secção Domino do tópico Domino Designer XPages Reference.

Depurador de JavaScript do lado do servidor – Um depurador de JavaScript do lado do servidor (SSJS, Server-Side JavaScript) encontra-se disponível para depurar o servidor de pré-visualização do Designer ou um servidor do Domino.
Nota: A palavra-chave debugger utilizada com esta função NÃO é compatível com versões anteriores e não irá funcionar se uma aplicação estiver alojada numa versão anterior do servidor. A palavra-chave funciona como um ponto de interrupção estático no código de JavaScript do lado do servidor quando a execução do servidor/aplicação é efectuada no modo de depuração. A utilização da palavra-chave não irá causar um problema numa aplicação de XPages no tempo de concepção, mas a aplicação terá problemas de tempo de execução quando executada numa versão anterior do servidor.

A interface de utilizador do depurador foi igualmente actualizada, de forma a tornar o processo de depuração menos complexo no ambiente do Eclipse. Foi adicionado um novo botão da barra de ferramentas Depurar JavaScript do lado do servidor do IBM Domino Designer à barra de ferramentas principal. Para obter informações mais completas, consulte a secção Scripting em XPages da secção Programação do Manual do Utilizador do Domino Designer.

Propriedade/preferência para utilização de recursos descomprimidos do Dojo para depuração - Uma propriedade pública no ficheiro xsp.properties denominada xsp.client.script.uncompressed pode ser editada e definida como TRUE para permitir uma depuração mais fácil com recursos descomprimidos.

A selecção da caixa de verificação Utilizar ficheiros de recursos descomprimidos (CSS e Dojo) no separador Propriedades do desempenho do Editor Propriedades de XPage da aplicação também permite activar esta função. A caixa de verificação irá editar esta linha no ficheiro xsp.properties, da seguinte forma: xsp.client.resources.uncompressed=true.

Quando definida como true, esta propriedade permite que os recursos do Dojo sejam fornecidos descomprimidos com a totalidade de indentação, espaços, nomes de variáveis e comentários, de forma a que seja possível depurar completamente a aplicação. Num ambiente de produção, esta propriedade deve ser definida como false para maximizar o desempenho da aplicação.

Tecnicamente, a versão descomprimida dos recursos é fornecida por uma biblioteca diferente. Tem de ter duas bibliotecas registadas (por exemplo, 1.7.2 para a versão comprimida e 1.7.2-u para a versão descomprimida). A última versão mencionada (1.7.2-u) será apenas utilizada se a propriedade for definida como True. Por predefinição, a propriedade não existe, o que é equivalente a definir a mesma como False.

Preferência para desactivar a indentação automática no editor de LotusScript - É fornecida uma preferência que permite activar ou desactivar a indentação automática no editor de LotusScript. Esta preferência está localizada na secção Geral do separador Preferências do editor LotusScript. O valor predefinido actual indica que esta função NÃO está activada.

Preferência para desactivar a indentação automática no editor de LotusScript - É fornecida uma preferência que permite activar ou desactivar a indentação automática no editor de LotusScript. Esta preferência está localizada na secção Geral do separador Preferências do editor LotusScript. O valor predefinido actual indica que esta função NÃO está activada.

Acção simples Enviar correio adicionada – Uma acção simples Enviar correio foi adicionada a uma XPage e permite executar uma actividade pré-programada que pode ser modificada por argumentos. As acções simples aplicam-se a processadores de eventos e podem ser agrupadas. Esta acção simples foi adicionada para permitir enviar uma mensagem de correio electrónico a partir de uma aplicação de XPages mais facilmente. Permite igualmente enviar mensagens de correio electrónico de experiência incorporada. Consulte a documentação do produto para obter informações mais completas.

Descrição geral do produto

O IBM Domino Designer suporta o desenvolvimento de aplicações para a plataforma do IBM Domino utilizando XPages, formulários, vistas e outros elementos, tais como controlos.

O XPages consiste numa tecnologia rápida de desenvolvimento de aplicações para a criação de aplicações de colaboração baseadas na Web. O XPages fornece um conjunto completo de controlos de interface do utilizador e acesso a dados incluído na tecnologia Java Server Faces Technology. As XPages suportam a integração de elementos de NSF existentes do IBM Notes e do Domino, tais como documentos, vistas, agentes, fórmulas e segurança. Estas aplicações podem ser apresentadas como páginas dinâmicas do Web 2.0 num navegador e no cliente do Notes. A interface de desenvolvimento fornece um ambiente de concepção intuitivo que consiste em arrastar e largar e um ambiente de origem de XML. A apresentação é controlada através de CSS (Cascading Style Sheets) e a lógica empresarial pode ser desenvolvida utilizando JavaScript.

A documentação do Domino Designer inclui:

  • O Manual do utilizador do Domino Designer efectua uma introdução ao produto e descreve as XPages e os respectivos elementos de suporte. Estas informações descrevem também as funções do Domino Designer adicionadas após a edição 8.5.
  • O tópico Domino Designer XPages Reference descreve a interface de JavaScript para objectos do Domino, acções simples e outros itens de interesse programático nas XPages.
  • O Guia Básico do Utilizador e Manual de Consulta Rápida do Domino Designer descreve os elementos baseados em formulários do Domino Designer, incluindo formulários, vistas, linguagem de fórmulas, LotusScript, etc.

Esta documentação refere-se aos seguintes produtos: IBM Domino, IBM Domino Designer, IBM Notes, IBM iNotes e IBM Notes Traveler.

Compreender as XPages

Uma aplicação de XPages consiste num XML interpretado por um servidor do Domino ou cliente do Notes e apresentado num navegador da Web ou num cliente do Notes. Pode interagir com controlos na página para enviar pedidos ao servidor.

Por exemplo, este código XML destina-se a uma aplicação de XPages que contém uma caixa de edição e dois botões:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
	<xp:this.data>
		<xp:dominoDocument var="document1" formName="create"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText1" value="#{document1.subject}"></xp:inputText><xp:br></xp:br>
	<xp:button id="button1" value="Submit"><xp:eventHandler event="onclick" submit="true" 
		refreshMode="complete" immediate="false" save="true"></xp:eventHandler></xp:button>
	<xp:button id="button2" value="Cancel"><xp:eventHandler event="onclick" submit="true" 
		refreshMode="complete" immediate="true" save="false"></xp:eventHandler></xp:button>
	<xp:this.navigationRules>
		<xp:navigationRule outcome="xsp-success" viewId="/main.xsp"></xp:navigationRule>
	</xp:this.navigationRules>
</xp:view>
Em seguida, é apresentada uma explicação linha a linha do significado do código XML de exemplo:
  • xmlns:xp="http://www.ibm.com/xsp/core"

    O Domino define controlos e outros artefactos no espaço de nomes http://www.ibm.com/xsp/core utilizando xp como abreviatura do elemento.

  • xp:dominoDocument var="document1" formName="create"

    A aplicação de XPages está associada ao formulário do Domino denominado create.

  • xp:inputText id="inputText1" value="#{document1.subject

    A caixa de entrada está associada ao campo denominado subject no formulário create.

  • xp:button id="button1" value="Submit", save="true", xp:navigationRule outcome="xsp-success" viewId="/main.xsp"

    Ao fazer clique no primeiro botão, é enviado um pedido ao servidor. O servidor guarda os dados da caixa de entrada como um novo documento baseado no formulário create e, em seguida, envia outra página denominada main ao cliente.

  • id="button2" value="Cancel", save="false"

    Ao fazer clique no segundo botão, também é enviado um pedido ao servidor. Neste caso, o servidor envia novamente a página main.

O Domino Designer fornece uma interface do utilizador (IU) que inclui um navegador, um editor de XPages, uma paleta Controlos, um separador Propriedades, um separador Eventos e outros artefactos. Em seguida, é demonstrada a forma como a página criada pelo código XML anterior é apresentada no modo de desenho do Domino Designer:
Interface do utilizador do XPages

Os utilizadores podem utilizar o menu ou arrastar e largar para manipular os controlos e o texto no editor. Também podem utilizar os vários separadores para definir valores para propriedades e eventos. Tenha também em conta que os utilizadores podem utilizar o separador Origem para editar o XML directamente.

Os utilizadores utilizam as propriedades do XPage para identificar formulários do Domino e vistas do Domino como origens de dados e utilizam as propriedades Controlo para associar controlos a campos numa origem de dados.

Importante: Tenha atenção ao editar o XML directamente, uma vez que os erros podem tornar a XPage não funcional.
Os controlos principais incluem:
  • Controlos para selecção/introdução de dados - Caixa de edição, Rich Text, Caixa de edição multilinha, Caixa de lista, Caixa de combinação, Caixa de verificação, Botão de opção, Grupo de caixas de verificação, Grupo de botões de opção, Selector de data e hora
  • Controlos para execução de acções - Botão, Transferir ficheiro, Descarregar ficheiro
  • Controlos para apresentação - Ligação, Rótulo, Campo processado, Imagem, Apresentar erro, Apresentar erros, Pager
  • Controlos personalizados - Área editável
Os controlos do contentor incluem o seguinte:
  • Painel - cria um rectângulo na página para a inclusão de outros controlos
  • Repetição - repete os controlos num número variável de vezes
  • Incluir página - incorpora outra XPage
  • Tabela - cria uma tabela com um número fixo de colunas e linhas
  • Vista - incorpora uma vista do Domino
  • Tabela de dados - cria uma tabela cujas linhas do meio são variáveis em número e estão associadas a um conjunto de dados
  • Painel com separadores - cria um conjunto de painéis sobrepostos, os quais são acedidos fazendo clique num separador
  • Secção - cria painéis contraíveis
A interface de programação é JavaScript, que é executada no servidor e no cliente:
  • O JavaScript do cliente é anexado a eventos, tais como onclick, onblur e onfocus. Este scripts são executados no navegador da Web ou no cliente do Notes antes de ser enviado um pedido ao servidor e utilizado o DOM (Document Object Model) da Web. Pode criar scripts, por exemplo, que verificam se uma caixa de entrada tem conteúdo ou que confirmam uma operação do servidor que remove dados.
  • O JavaScript do servidor também é anexado a eventos, contudo é iniciado após o pedido ser transmitido ao servidor. Além disso, o JavaScript do servidor pode ser utilizado para processar valores de controlos, associações de dados e propriedades. O JavaScript do servidor tem acesso a um conjunto extenso de bibliotecas, incluindo uma para os objectos do Domino. São os mesmos objectos do Domino também acessíveis através de LotusScript e Java. Estes acedem ao arquivo de dados do Domino e manipulam o ambiente do Domino.
Também disponíveis em alguns contextos são as acções simples e a Expression Language (EL).

Os objectos globais fornecem um mecanismo de criação simples para os objectos principais. Por exemplo, session consiste num objecto de NotesSession para a sessão actual, database consiste num objecto de NotesDatabase para a aplicação actual e context consiste num objecto de XSPContext para o contexto no qual o JavaScript se encontra em execução. As variáveis com âmbito fornecem um mecanismo simples para partilhar valores em controlos, páginas e sessões.

Formulários e vistas

No Domino, um formulário define o modo como os documentos são apresentados ao utilizador e o modo como os itens de dados do formulário são armazenados. Um vista reporta os documentos em colunas e linhas.

Quando o utilizador abre um novo documento, o formulário que define esse documento é utilizado para apresentar uma página na IU do cliente. Quando os utilizadores guardam o novo documento, os dados da IU são utilizados para criar o documento de acordo com as definições de dados no formulário. Do mesmo modo, quando os utilizadores abrem um documento existente, os dados são apresentados na IU do cliente de acordo com as definições e dados no formulário.

Geralmente, cada linha de uma vista representa um documento. No entanto, é fácil numa aplicação de XPages unir mais do que uma vista, pelo que cada linha corresponde a uma vista com mais do que um documento nessa linha.

As colunas podem conter valores de dados dos documentos ou informações processadas, tais como a data da última modificação do documento. As vistas podem ser ordenadas e categorizadas, de modo a apresentarem os documentos de uma melhor forma. As vistas podem ser utilizadas como mecanismos de acesso aos dados, por exemplo, ao permitirem que os utilizadores abram um documento fazendo duplo clique na respectiva linha da vista.

As aplicações de XPages implementam formulários e vistas. Pode utilizar formulários para ligar controlos na página às definições de dados do Domino. Primeiro, associe a página a um formulário. Em seguida, associe os controlos de introdução de dados na página aos campos no formulário. As vistas do Domino podem ser incorporadas nos controlos Vista das XPages.

Outros elementos do Domino que podem ser utilizados numa página incluem:
  • Bibliotecas de JavaScript
  • Recursos de imagem
  • Recursos de folha de estilos
  • Recursos de tema

Navegação no Domino Designer

O IBM Domino Designer é instalado como perspectivas do Eclipse, dispostas em vistas, paletas e editores de fácil acesso. Pode executar tarefas utilizando o menu principal, os menus contextuais e os ícones nas barras de título da vista, da paleta e do editor.

As perspectivas do IBM Domino Designer são as seguintes:
  • O Domino Designer apresenta todos os elementos de desenho no Navegador de aplicações e corresponde à perspectiva predefinida.
  • As XPages excluem os elementos de desenho que não são necessários para o desenvolvimento das XPages.
  • Os Formulários/Vistas excluem os elementos de desenho apenas necessários para o desenvolvimento das XPages.

Para alterar as perspectivas, faça clique em Janela > Abrir perspectiva.

Para ajustar o conteúdo das perspectivas, aceda a Ficheiro > Preferências > Domino Designer > Navegador de aplicações.

Uma vez que as perspectivas do IBM Domino Designer são definidas pelas convenções do Eclipse, é possível mover, redimensionar, fechar e abrir vistas. Para guardar a nova disposição como uma nova perspectiva com o nome que pretender, seleccione Janela > Guardar perspectiva como na barra de menus.

Pode ainda navegar pelas vistas utilizando o atalho de teclado predefinido do Eclipse, Ctrl + F7, ou fazendo clique em Janela > Navegação, no menu principal do Eclipse.

Para visualizar uma vista que esteja oculta, faça clique em Janela > Mostrar vistas do Eclipse no menu principal do Eclipse e seleccione a vista oculta na lista.

Elementos de desenho e o Navegador de aplicações

Os elementos de desenho disponíveis são apresentados pelo Navegador de aplicações.

Por predefinição, o Navegador de aplicações está localizado no lado esquerdo da janela. Ao criar ou abrir uma aplicação, os respectivos elementos são apresentados no Navegador de aplicações.
  • Para criar uma aplicação, faça clique em Ficheiro > Novo > Aplicação ou faça clique com o botão direito do rato no Navegador de aplicações e seleccione Nova aplicação (Ctrl-N).
  • Para abrir uma aplicação existente, seleccione a mesma no Navegador de aplicações ou, caso não se encontre no navegador, faça clique em Ficheiro > Aplicação > Abrir e seleccione a mesma.
  • Para visualizar os tipos e grupos de elementos de desenho disponíveis, expanda uma aplicação. Expanda um grupo para visualizar os tipos de elementos de desenho no grupo.
  • Para criar um elemento de desenho de um tipo seleccionado, utilize o menu ou faça clique com o botão direito do rato. À medida que os elementos de desenho são criados, são apresentados sob o respectivo tipo. As listas de elementos de desenho são apresentadas no editor, fazendo duplo clique no tipo de elemento. Os elementos de desenho podem ser abertos para edição, fazendo duplo clique no elemento.

A seguinte tabela descreve cada elemento de desenho e indica o tipo de aplicação no qual este é geralmente utilizado.

Elemento de desenho Descrição
Formulários Faculta a estrutura para criar e apresentar documentos. No caso das XPages, pode utilizar um formulário como origem de dados.
Vistas São listas ordenadas ou categorizadas de documentos. No caso do Designer baseado em formulários, as vistas correspondem aos pontos de entrada para os dados armazenados numa base de dados. As vistas podem ser incorporadas nas XPages.
Pastas São contentores utilizados para armazenar documentos relacionados ou agrupamentos de documentos. Estas têm os mesmos elementos de desenho que as vistas.
XPages Define os controlos de texto e da interface do utilizador (IU) com os quais os utilizadores interagem ao utilizarem uma aplicação.
Controlos personalizados São um conjunto de controlos da IU armazenados como um objecto individual.
Conjuntos de painéis São um conjunto de painéis para facultar estrutura à sua aplicação.
Páginas São elementos de desenho de base de dados que apresentam informações.
Elementos partilhados - Subformulários São um conjunto de elementos de formulário armazenados como um objecto individual.
Elementos partilhados - Campos Recolhem dados. Pode criar campos em formulários, subformulários e áreas de disposição. No caso das XPages, pode associar controlos aos campos.
Elementos partilhados - Colunas Apresentam os valores dos campos, bem como outras informações sobre os documentos. Pode criar colunas em vistas e pastas.
Elementos partilhados - Destaques Fornecem uma estrutura de organização para uma aplicação e controlam o modo como os elementos são apresentados num painel de navegação.
Elementos partilhados - Navegadores São guias de consulta gráficos que direccionam os utilizadores para partes específicas de uma aplicação.
Código - Agentes Configuram uma tarefa activada pelo utilizador ou de segundo plano em qualquer parte de uma aplicação.
Código - Acções partilhadas Configuram uma tarefa activada pelo utilizador num formulário ou vista.
Código - Bibliotecas de scripts Contêm código LotusScript, Java ou JavaScript para a inclusão em elementos de programação do cliente ou do servidor. As bibliotecas de JavaScript destinam-se às XPages.
Código - Scripts da base de dados São elementos de programação activados para eventos ao nível da aplicação, tais como a abertura ou fecho de uma aplicação.
Código - Fornecedores de serviços da Web São aplicações modulares autónomas e auto-descritivas baseadas em XML, que podem ser publicadas na Web e invocadas a partir da Web. Um fornecedor de serviços da Web consiste num serviço da Web alojado num servidor do Domino, de modo a que possa ser invocado a partir de outros computadores.
Código - Consumidores de serviços da Web Invocam serviços da Web noutros computadores.
Código - Java

Cria uma Java Class, Interface ou um elemento Enum cujo âmbito corresponde ao projecto NSF (em Code/Java na perspectiva Java). O código Java pode ser directamente invocado por código nas XPages.

Code - Jars

Facultam a capacidade de trabalhar com código/bibliotecas de Java incluídas no NSF da aplicação. Elimina a necessidade de implementar JARS num servidor e/ou incluir os ficheiros de origem exclusivamente na base de dados da aplicação. Este elemento está apenas disponível para aplicações de XPage, nas quais o JAR é automaticamente carregado pelo tempo de execução das XPages.

Dados - Ligações de dados São recursos que estabelecem uma troca de dados entre uma aplicação do Domino e uma origem de dados externa.
Dados - Vistas de acesso ao DB2 Definem uma vista do DB2 de dados do Notes.
Recursos - Imagens São utilizadas como gráficos ou ícones em XPages, páginas, formulários, subformulários, botões de acção e entradas de destaque e como imagens de segundo plano em formulários, documentos, páginas, células de tabela e botões de acção.
Recursos - Ficheiros Permitem partilhar ficheiros não NSF em e entre aplicações.
Recursos - Applets São programas de Java autónomos que podem ser executados na aplicação do Domino.
Recursos - Folhas de estilos Podem ser criadas ou importadas. Por predefinição, os controlos de XPages e da IU utilizam folhas de estilos em cascata (CSS) predefinidas fornecidas com o Domino. Pode substituir as predefinições por estes recursos.
Recursos - Temas São personalizações do lado do servidor de geração HTML que podem ser utilizadas para definir o aspecto de uma aplicação. Por predefinição, os controlos de XPages e da interface do utilizador utilizam o tema que tiver sido definido para o servidor. Esse tema global pode ser modificado, para todas as aplicações, ou pode ser substituído por um tema específico da aplicação.
Recursos - Documento Acerca de Descreve a finalidade de uma aplicação.
Recursos - Documento Utilizar Fornece instruções aos utilizadores.
Recursos - Ícone Ajuda os utilizadores a identificar rapidamente a base de dados em painéis de marcador e pode ser colocado na aplicação a partir do editor de ícones.
Aplicações compostas - Propriedades de encadeamento Fornece acesso aos ficheiros WSDL numa aplicação composta.
Aplicações compostas - Aplicações Fornecem acesso aos ficheiros XML requeridos que contêm definições para a aplicação composta.
Aplicações compostas - Componentes São implementados em aplicações compostas, caso se baseiem em XPages.
Configuração da aplicação - Propriedades da aplicação Permite definir propriedades para a totalidade da aplicação.
Configuração da aplicação - Faces-config Fornece acesso de edição ao ficheiro webcontent\web-inf\faces-config.xml. Trata-se do ficheiro de configuração utilizado para configurar beans geridos (entre outros itens, tais como conversores/validadores personalizados) em XPages.
Application Configuration - Propriedades de Xsp Fornece acesso de edição ao ficheiro que contém o conjunto de parâmetros de contexto das XPages, denominado xsp.properties. Este ficheiro é utilizado ao nível da aplicação ou do servidor para definir e controlar as definições das XPages na aplicação das XPages. Cada aplicação NSF das XPages contém um ficheiro xsp.properties.

Este manual do utilizador foca-se nas XPages e nas aplicações que utilizam XPages, pelo que explica, de forma mais detalhada, um subconjunto de elementos de desenho utilizados em aplicações de XPages. A documentação detalhada para elementos de desenho "baseados em formulários" e aplicações "baseadas em formulários" encontra-se no Guia Básico do Utilizador e Manual de Consulta Rápida do Domino Designer.

Seleccionar e filtrar os tipos de elementos de desenho

Pode seleccionar e filtrar os tipos de elementos de desenho que pretende que sejam apresentados no Navegador de aplicações, seleccionando as opções pretendidas em Preferências > Domino Designer > Navegador de aplicações.

Seleccione os elementos com os quais prefere trabalhar e que pretende apresentar, seleccionando os elementos no painel Preferências. Ao seleccionar a perspectiva numa \lista no painel, está igualmente a definir as opções de selecção e filtro separadamente para cada uma das três perspectivas: Domino Designer, XPages e Formulários/Vistas do Domino Designer.

Comparar versões de elementos de desenho

Pode comparar diferentes versões de elementos de desenho ou recursos, fazendo clique com o botão direito do rato num item específico e seleccionando o tipo de comparação no menu contextual. Quando uma comparação é efectuada, os editores de comparação são apresentados na área do editor. As diferenças entre as versões são destacadas nos editores de comparação, permitindo pesquisar e copiar as alterações efectuadas entre as versões comparadas.

Pode executar os seguintes tipos de comparação:
  • Comparar com > Histórico local - Compara o elemento ou recurso seleccionado com um que se encontre no histórico local, que é mantido quando as alterações são guardadas.
  • Comparar com > Os outros - Compara dois ou três elementos ou recursos seleccionados uns com os outros

Editor de desenho

O Editor de desenho consiste no local onde pode editar XPages e outros elementos de desenho, bem como visualizar listas de elementos de desenho.

A vista Propriedades apresenta as propriedades da selecção actual no editor. Por exemplo, se estiver a trabalhar com um controlo da interface do utilizador (IU) numa XPage, assim que fizer clique nesse controlo da IU no editor de XPages, a vista Propriedades apresenta as propriedades referentes a esse controlo da IU.

Pode executar as seguintes tarefas no editor:

Tarefa Acção
Abrir uma lista ou um elemento de desenho Seleccione o elemento de desenho ou a lista no Navegador de aplicações. Faça duplo clique no mesmo ou faça clique em Ficheiro > Abrir.
Alternar entre listas e elementos de desenho abertos Faça clique no separador da lista ou do elemento de desenho que pretende visualizar.
Fechar uma lista ou um elemento de desenho Faça clique no ícone Fechar (um X) no separador de elemento de desenho ou lista ou seleccione o separador e faça clique em Ficheiro > Fechar.
Fechar todas as listas e elementos de desenho, incluindo o(a) actual Faça clique em Ficheiro > Fechar tudo. Pode também fazer clique com o botão direito do rato num separador e seleccionar Fechar tudo.
Maximizar o editor Faça clique no ícone Maximizar ou faça duplo clique no separador.
Restaurar o editor para o tamanho e localização original Faça clique no ícone Restaurar ou faça duplo clique no separador. Esta função apenas está activada se tiver maximizado o editor.
Redimensionar o editor com as setas do teclado Faça clique com o botão direito do rato no separador e seleccione Tamanho, em seguida, Esquerda, Direita, Superior ou Inferior para realçar uma extremidade do editor. Prima a seta adequada do teclado para expandir ou contrair o editor.

Editor de origem

Utilize o Editor de origem para editar directamente o código-fonte das XPages.

Ao editar uma XPage, pode utilizar o separador Origem para editar directamente o código-fonte das XPages. Pode ser bastante útil se estiver familiarizado com a linguagem das XPages.

Pode executar as seguintes tarefas no editor:

Tarefa Acção
Utilizar a assistência de conteúdo ao codificar.

Prima CTRL+SPACE para invocar as funções de assistência de conteúdo ao codificar. Esta acção também funciona para SSJS (Server Side JavaScript) incorporado na XPage.

A assistência de conteúdo como uma função do editor de origem das XPages é orientada através da utilização de um esquema. O Domino Designer cria dinamicamente um esquema baseado na aplicação actual do Notes. O esquema contém informações de ajuda para cada atributo de cada controlo como parte do tempo de execução das XPages.

Utilizar a navegação de hiperligações ao codificar.

A navegação de hiperligações descreve a funcionalidade genérica do Eclipse através da qual o texto num editor pode ser tornado numa hiperligação. Prima CTRL enquanto coloca o cursor do rato sobre qualquer texto ou ligação (incluindo um nome de controlo personalizado) para navegar directamente até à localização ou ao elemento de desenho dessa ligação. O Eclipse fornece comentários ao editor que está a utilizar para navegação de hiperligações.

Por exemplo, utilize esta função ao editar controlos personalizados. Ao premir CTRL e colocar o cursor do rato sobre um Controlo personalizado no editor de origem, a navegação de hiperligações permite navegar directamente até esse Controlo personalizado.

Utilizar a ajuda sobreposta ao codificar.

Para utilizar esta função, coloque o cursor do rato sobre um 'nó' específico para obter mais informações sobre o mesmo. Semelhante à navegação de hiperligações (consultar acima), o contexto do editor do Eclipse pode facultar uma descrição para o controlo (e atributo) actual.

Todos os controlos e atributos que fornecem a própria descrição através do xsp-config podem tornar essas informações visíveis na funcionalidade de ajuda sobreposta no editor de origem das XPages.

Pode controlar o comportamento desta função a partir do separador Preferências do Domino Designer. A função está activada por predefinição, com um tempo limite de 500 milissegundos associado à preferência. Ou seja, quando o cursor estiver 'parado' durante mais de 500 ms (milissegundos), o contexto do editor do Eclipse irá invocar a funcionalidade de ajuda sobreposta do editor de origem das XPages.

Invocar o sistema de ajuda do produto. Prima F1 para abrir a ajuda do contexto.
Executar outras tarefas de edição. Faça clique com o botão direito do rato na página do editor de origem para apresentar um menu de outras acções que pode executar no editor.
Maximizar o editor. Faça clique no ícone Maximizar ou faça duplo clique no separador.
Restaurar o editor para o tamanho e localização original. Faça clique no ícone Restaurar ou faça duplo clique no separador. Esta função apenas está activada se tiver maximizado o editor.
Redimensionar o editor com as setas do teclado. Faça clique com o botão direito do rato no separador e seleccione Tamanho, em seguida, Esquerda, Direita, Superior ou Inferior para realçar uma extremidade do editor. Prima a seta adequada do teclado para expandir ou contrair o editor.

Paletas e vistas

As paletas e as vistas fornecem as ferramentas para trabalhar com elementos de desenho.

Paletas

As paletas permitem trabalhar com controlos e origens de dados. Estão disponíveis as seguintes paletas:

Paleta de controlos
Contém os controlos da IU e os controlos personalizados utilizados para desenhar o esquema das XPages e para determinar o modo como os dados são introduzidos e armazenados na base de dados. Pode arrastar e largar os controlos da paleta para XPages.

Esta paleta apenas está activa quando o editor de XPages está activo, como, por exemplo, se estiver a editar uma XPage ou um controlo personalizado. A paleta contém duas gavetas de controlos da IU: Controlos principais e Controlos de contentor. Contém ainda uma gaveta para controlos personalizados, caso tenha adicionado algum à aplicação actual do IBM Domino Designer.

Uma gaveta é um painel incorporado que permite ao utilizador percorrer as opções através das setas Para cima e Para baixo, localizadas na parte superior e inferior de cada gaveta.

Também pode utilizar a paleta e as respectivas gavetas:
  • Para ocultar a paleta, feche a mesma.
  • Para alterar as propriedades da paleta, faça clique com o botão direito do rato e efectue uma selecção.
  • Para expandir ou contrair uma gaveta, faça clique na mesma.
Paleta de dados
Permite visualizar as origens de dados associadas à XPage ou controlo seleccionado no editor de XPages. Para apresentar a Paleta de dados, faça clique em Janela > Mostrar vistas do Eclipse > Paleta de dados.

Tenha em atenção as seguintes informações, limitações e directrizes ao arrastar e largar a partir das paletas Controlos e Dados:

  • Pode adicionar controlos a todos os controlos de contentor, excepto painéis de vista.
  • À excepção do controlo de ligação, não é possível adicionar um controlo a um controlo principal. Esta situação deve-se ao facto de um controlo de ligação poder ter elementos descendentes, pelo que actua como um controlo de contentor nesta situação. Se tentar adicionar um controlo a um controlo principal, o novo controlo é adicionado à página acima do controlo existente.
  • No separador Origem, pode tornar um controlo no primeiro ou último elemento descendente de um controlo de contentor, arrastando-o para a etiqueta de início ou de fim do contentor ou fazendo duplo clique o menu Criar com o foco na etiqueta de início ou de fim.
  • Pode adicionar controlos apenas a células de uma tabela e não a linhas ou ao próprio contentor da tabela.
  • Pode adicionar controlos a uma coluna na tabela de dados. Após ter criado controlos no separador Origem, pode adicionar controlos de contentor definidos como cabeçalho e rodapé da tabela de dados (ou coluna da tabela de dados). Para definir um controlo como cabeçalho ou rodapé, adicione-o a um elemento xp:this.facets na tabela ou coluna de dados.
  • Pode adicionar controlos apenas a separadores de um painel com separadores, mas não ao próprio painel.
  • Se arrastar um controlo para a etiqueta de fim de um painel com separadores no separador Origem ou se fizer duplo clique ou utilizar o menu Criar com o foco no controlo de fim, o controlo será adicionado ao último separador do painel com separadores.
  • Pode adicionar um controlo a um controlo personalizado que tenha sido adicionado a uma XPage apenas se existir uma área editável definida para o controlo personalizado. Se a área editável tiver um nome de aspecto, poderá apenas adicionar um controlo. Se remover o nome de aspecto, poderá adicionar vários controlos.
  • Não é possível adicionar um controlo a um controlo personalizado imbricado noutro controlo personalizado.
  • Ao arrastar origens de dados da Paleta de dados para uma página, pode reordenar as origens antes de estas serem inseridas na página. Na parte superior da Paleta de dados, faça clique no ícone Seleccionar controlos e, em seguida, seleccione a opção Seleccionar controlos associados aos dados. Utilize as teclas de seta para arrastar as origens de dados para a página.

Pode criar Perfis da paleta de controlo, que permitem seleccionar quais os controlos que pretende que sejam apresentados e a ordem dos mesmos na Paleta de controlo. Pode criar vários perfis da paleta, com diversos esquemas da paleta de controlo, sendo possível comutar entre os mesmos. Para aceder às definições de perfis da paleta, aceda a Ficheiro-Preferências-Domino Designer-Paleta. A seguinte lista faculta informações adicionais sobre a utilização dos Perfis da paleta de controlo:

  • Por predefinição, é criado um perfil inicial denominado Profile1. Trata-se do perfil que contém o estado actual da paleta na primeira vez que o Designer é iniciado. Caso tenha modificado a paleta utilizando a página de preferências da paleta da versão anterior do Designer, essas alterações serão implementadas no Profile1. É possível mudar o nome e eliminar o Profile1 a partir da interface do utilizador dos perfis da paleta.
  • A interface do utilizador inclui uma lista de perfis e uma árvore que apresenta os compartimentos de controlo e os controlos desses compartimentos. A árvore apresenta o esquema da paleta do perfil seleccionado na lista de perfis. Pode seleccionar os controlos/compartimentos que pretende visualizar na paleta e desmarcar os que não pretende visualizar. É igualmente possível mover controlos individuais no compartimento ascendente, mas não é possível mover controlos entre compartimentos.
  • Também pode reordenar os compartimentos. No entanto, a reordenação dos compartimentos dos controlos não é suportada pela paleta Controlos para esta edição. Os controlos personalizados nunca serão apresentados na árvore e estarão sempre presentes na paleta de controlos.
  • Ao fazer clique em Novo para criar um novo perfil, o novo esquema da paleta de perfis será baseado no perfil actualmente seleccionado na lista de perfis. Por predefinição, o perfil activo será seleccionado na lista de perfis. Para comutar entre perfis, basta seleccionar o perfil que pretende activar e fazer clique em "Aplicar" ou "OK".
  • Para restaurar o ficheiro seleccionado para o perfil predefinido, faça clique em Restaurar predefinições. O restauro do perfil predefinido não elimina os perfis criados pelo mesmo.
  • Se eliminar todos os perfis da lista de perfis, é novamente criado o Profile1, com um esquema de paleta correspondente ao esquema predefinido.

Vistas

As vistas são painéis no Eclipse que permitem visualizar e trabalhar com vários aspectos da aplicação. Estão disponíveis as seguintes vistas:

Vista Eventos
Permite criar eventos para XPages e controlos. Pode utilizar a vista Eventos para anexar acções simples ou scripts a eventos. Os eventos estão organizados em categorias para aceder facilmente aos mesmos.

Ao escrever scripts, é possível criar eventos do lado do servidor ou do lado do cliente. Pode especificar opções para actualizar XPages após ocorrerem eventos, incluindo a execução de actualizações parciais para uma porção de elementos de uma XPage, com base na tecnologia Asynchronous JavaScript e XML (AJAX).

Ao escrever acções simples, pode escrever acções que executem uma actividade pré-programada, que pode ser modificada através de argumentos. Pode ainda criar grupos de acções simples.

Vista Destaque
Faculta uma representação hierárquica do código-fonte XML em XPages. Pode fazer clique nos nós individuais na vista Destaque para navegar na XPage e actualizar propriedades na vista Propriedades. Pode ainda arrastar e largar elementos para reorganizar secções e alterar a sequência dos elementos.
Vista Problemas
Apresenta erros, avisos e outras informações sobre os recursos do IBM Domino Designer. Estas mensagens são geradas durante a criação do espaço de trabalho do Eclipse. Por exemplo, se guardar uma XPage que contém erros de sintaxe, a vista Problemas apresentará esses erros.
Vista Propriedades
Permite definir propriedades para XPages e controlos. A vista Propriedades interage com o editor que se encontra actualmente aberto. Por exemplo, se estiver a desenhar uma XPage e mover o foco para um controlo da IU específico na XPage, as propriedades desse controlo da IU ficam disponíveis na vista Propriedades.

A vista Propriedades está localizada na parte inferior da janela do IBM Domino Designer e contém separadores individuais nos quais pode fazer clique para apresentar um conjunto de opções. Dado que cada XPage e cada controlo da IU tem o seu próprio conjunto único de propriedades, os separadores e as opções incluídos nesses separadores mudam, de acordo com a opção actualmente seleccionada. Por exemplo, ao visualizar uma lista de XPages, se fizer clique no nome de uma XPage individual, a vista Propriedades apresenta informações gerais sobre essa XPage, tais como o nome da XPage, o autor e data de criação da mesma. Se fizer duplo clique no nome da XPage, esta é aberta em modo de edição no editor de XPages do IBM Domino Designer e é apresentado um novo conjunto de separadores na vista Propriedades. Estes separadores mudam, consoante o que estiver actualmente seleccionado no editor. Por exemplo, a XPage completa ou um controlo individual da IU.

Pode minimizar, maximizar e restaurar a vista com os botões na barra de título Propriedades. Pode fazer clique com o botão direito do rato no separador Propriedades para executar as seguintes tarefas:
  • ocultar a vista
  • minimizar e maximizar a vista
  • separar a vista como uma janela independente
  • restaurar uma vista minimizada ou maximizada

Obter informações

O recurso imediato para a obtenção de informações consiste no sistema de ajuda instalado. Outros recursos incluem um Information Center, um wiki do Domino Designer e artigos em vários sítios da Web.

Para aceder à ajuda a partir do Domino Designer ou do Notes, faça clique em Ajuda > Conteúdos da ajuda. O acesso mais fácil consiste geralmente numa procura. Em seguida, são apresentadas algumas sugestões:
  • Introduza palavras completas. As maiúsculas e minúsculas não são importantes, contudo, as palavras têm de estar completas. Por exemplo, se estiver a procurar o método createFTIndex, pode introduzir createftindex, contudo, createftinde irá falhar.
  • Os resultados da procura poderão apresentar títulos duplicados ou semelhantes, especialmente no caso de tópicos de referência. Ao colocar o cursor do rato sobre um título, uma janela instantânea indica o nome do respectivo livro. Esta informação também é apresentada na linha de estado.
  • Se estiver a utilizar uma parte da ajuda com frequência, deverá definir um âmbito de procura para a mesma. Consulte a tarefa referenciada.
Ao premir F1, é apresentado um sistema de ajuda complementar na área da janela do lado direito. Algum desse material consiste num resumo. Pode navegar até à documentação mais completa utilizando as ligações ou fazendo clique em Procurar ou em Todos os tópicos na parte inferior da página.

A mesma ajuda instalada com o produto está disponível no Information Center do Notes Domino em http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp.

Aceda ao wiki do Domino Designer em http://www.lotus.com/ldd/ddwiki.nsf para obter artigos, fóruns e informações adicionais. Pode efectuar publicações neste wiki.

Utilize o Google ou outro produto da Web para expandir a procura para além da ajuda. Faça preceder a consulta de procura por domino designer. Por exemplo, para obter informações sobre o método createFTIndex, poderá introduzir domino designer createftindex como consulta de procura.

Para uma introdução prática às XPages, utilize o guia de iniciação desta ajuda. O guia de iniciação utiliza o modelo avançado denominado Site Finder Demo.

Definir um âmbito da procura

Um âmbito da procura limita os tópicos de ajuda procurados.

Sobre esta tarefa

Por predefinição, uma procura aplica-se a todos os tópicos na ajuda. Execute os seguintes passos para criar um âmbito denominado, que limita uma procura a tópicos específicos.

Procedimento

  1. Na janela de procura, faça clique em Âmbito da procura.
  2. Na caixa de diálogo Seleccionar âmbito da pesquisa, seleccione Pesquisar apenas os tópicos seguintes e faça clique em Novo.
  3. Na caixa de diálogo Nova lista de pesquisa, introduza um nome para a procura.
  4. Seleccione as partes da ajuda que pretende procurar. Pode seleccionar tópicos no nível inicial e num nível inferior.
  5. Faça clique em OK para guardar o âmbito e fechar a caixa de diálogo Nova lista de procura.

    O novo âmbito é apresentado na lista de âmbitos quando a opção Pesquisar apenas os tópicos seguintes for seleccionada.

    Pode criar outro âmbito.

    Pode editar ou remover um âmbito seleccionado.

  6. Faça clique em OK para fechar a caixa de diálogo Seleccionar âmbito da procura.
  7. O âmbito que está activo é apresentado junto a Âmbito da procura. Para alterar o âmbito:
    1. Faça clique em Âmbito da procura para abrir a caixa de diálogo Seleccionar âmbito da pesquisa.
    2. Seleccione Pesquisar apenas os tópicos seguintes e, em seguida, seleccione um âmbito ou seleccione Pesquisar todos os tópicos.
    3. Faça clique em OK.

Exemplo

Por exemplo, para criar um âmbito de procura apenas para tópicos do Domino Designer: na caixa de diálogo Nova lista de pesquisa, atribua o nome Designer ao âmbito e seleccione todos os tópicos no nível superior que começam por Lotus Domino Designer.

Acessibilidade e atalhos de teclado

O IBM Domino Designer é acessível para pessoas com deficiências físicas. As pessoas com mobilidade restrita ou visão limitada podem utilizar atalhos de teclado especiais como auxiliares de acessibilidade.

Estes atalhos de teclado permitem navegar e executar várias tarefas no Designer. Para obter mais informações, consulte a secção "Acessibilidade e atalhos de teclado" do Guia Básico do Utilizador e Manual de Consulta Rápida do Domino no sistema de ajuda do produto. Aí poderá encontrar uma variedade de tópicos sobre atalhos de teclado relacionados com tarefas.

Uma edição acessível da ajuda completa do produto pode ser encontrada no Information Center do IBM Notes e do Domino em http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp.

Também pode localizar informações adicionais no tópico "Personalizar o Notes para acessibilidade" na Ajuda do Notes. Se a Ajuda não estiver instalada, pode igualmente aceder à secção Documentation Library do domínio do IBM Developer em http://www.lotus.com/ldd/doc para descarregar ou visualizar a Ajuda do Notes.

Finalmente, o sítio da Web destinado a pessoas com necessidades especiais da IBM está disponível em http://www.ibm.com/able.

Guias de iniciação

Esta secção contém guias de iniciação e informações sobre os mesmos.

O guia de iniciação actualmente disponível nesta secção consiste no guia de iniciação do Site Finder do XPages. Consulte os restantes tópicos nesta secção para obter mais informações.

Guia de iniciação do Site Finder do XPages

Este guia de iniciação demonstra a facilidade da criação de uma aplicação da Web no IBM Domino Designer utilizando elementos do XPages. Através da utilização desta iniciação, pode criar e pré-visualizar três XPages. Coloca controlos nas XPages para aceder e visualizar dados, navegar para outras páginas, actualizar a mesma página e efectuar outras acções. Irá até utilizar JavaScript.

É útil estar familiarizado com o Domino Designer e com elementos de desenho tradicionais, mas não é essencial. Alguns elementos de desenho e gráficos fora do âmbito do que está a aprender são pré-carregados. Para quem não conhece o Eclipse, o tópico Navegação no Domino Designer fornece uma boa introdução.

A aplicação de demonstração, denominada Site Finder Demo, consiste numa ferramenta avançada incluída no Domino Designer. Esta funciona como a ferramenta de muitos sítios da Web que permite encontrar uma localização próxima. Basta submeter um código postal ou endereço e o servidor devolve localizações correspondentes. Nesta iniciação, pode desenvolver a página da Web para efectuar uma submissão e outras páginas para criar e editar documentos do sítio.

Por uma questão de simplicidade, o acesso não é restrito. Qualquer pessoa pode criar e editar documentos. Este acesso permite-lhe pré-visualizar as funções do XPage sem ter de configurar um servidor. Para uma aplicação real, poderá pretender restringir o acesso, que é facilmente efectuado através da lista de controlo de acessos (LCA). A partir do menu, faça clique em Ficheiro > Aplicação > Controlo de acesso.

O mecanismo de procura na aplicação de demonstração é simples e é baseado apenas em correspondências exactas. Numa aplicação real, poderá pretender um mecanismo mais sofisticado.

Esta documentação refere-se aos seguintes produtos: IBM Domino, IBM Domino Designer, IBM Notes, IBM iNotes e IBM Notes Traveler.

Objectivos de aprendizagem

  • Configurar e visualizar uma aplicação que contenha elementos de uma XPage
  • Criar uma XPage
  • Adicionar controlos a uma XPage
  • Associar dados a uma XPage
  • Adicionar navegação a uma XPage
  • Criar um controlo personalizado
  • Utilizar associação e scripting avançados

Tempo requerido

Esta iniciação demora, aproximadamente, 90 minutos.

Configurar a aplicação exemplo

Durante o decorrer da iniciação, irá criar três XPages denominadas Site, SiteFinder e SiteList. Quando abrir a aplicação exemplo pela primeira vez, poderá ver XPages existentes com nomes semelhantes. Três delas correspondem a soluções finais e são denominadas SiteFinal, SiteFinderFinal e SiteListFinal. Duas delas correspondem a soluções intermédias e são denominadas Site1 e SiteList1.

Inicie o IBM Domino Designer e execute os seguintes passos:
  1. A partir do menu, faça clique em Ficheiro > Aplicação > Nova (Ctrl+N).
  2. Na janela Nova aplicação, execute os seguintes passos:
    1. Deixe a selecção do Servidor como Local.
    2. Introduza um título, por exemplo, Site Finder Demo.
    3. Aceite ou modifique o nome do ficheiro, por exemplo, SiteFinderDemo.nsf.
    4. Opcional: Faça clique em Encriptação. Seleccione Não encriptar localmente esta base de dados e faça clique em OK.

      Este passo permite que outros utilizadores do Notes acedam à aplicação localmente, por exemplo, se enviar a mesma por correio a alguém. No geral, deve encriptar aplicações reais para as proteger. A encriptação local não impede a partilha da aplicação a um servidor através de replicação .

    5. Seleccione Criar um índice de texto completo para procura. Irá necessitar desta opção posteriormente.
    6. Deixe a selecção do servidor do modelo como Local.
    7. Seleccione Mostrar modelos avançados.
    8. Na lista de modelos, seleccione Site Finder Demo.
    9. Desmarque Herdar alterações de desenho futuras.
    A janela Nova aplicação deve ter um aspecto semelhante a este.

    Janela Nova aplicação

  3. Faça clique em OK.

    O Domino Designer cria a nova aplicação e os respectivos elementos são apresentados em Aplicações no lado esquerdo do ecrã. Expanda os elementos para explorar a concepção desta aplicação.

  4. Expanda Código e faça duplo clique em Agentes. Na lista de agentes, faça clique com o botão direito do rato em Criar dados exemplo e seleccione Executar.

    Este agente cria vários registos exemplo que são utilizados para testar a aplicação. Responda a todas as caixas de diálogo. Faça clique no símbolo X no canto para fechar a área da janela que contém a lista de agentes.

  5. Expanda XPages e faça duplo clique em SiteFinderFinal (a solução final para SiteFinder).
  6. Faça clique em Desenho > Pré-visualizar no navegador da Web > Navegador da Web predefinido do sistema ou seleccione um navegador específico a partir dos apresentados na lista.

    Um mini servidor da Web em execução no computador abre um navegador, gera um HTML para a XPage e envia a página ao navegador, utilizando localhost como o nome do servidor.

    Se o computador não estiver configurado para utilizar localhost, o URL de pré-visualização falha. Abra um navegador e utilize 127.0.0.1 ou o endereço de IP efectivo do seu computador no URL, por exemplo, http://127.0.0.1/SiteFinderDemo.nsf/SiteFinderFinal.xsp.

  7. Especifique um valor no campo Código postal (por exemplo, 02108) e faça clique em Procurar .

    Este passo submete a página ao servidor. O servidor processa as informações a partir da página e envia outra página ao cliente.

  8. Feche o navegador quando terminar.
  9. No Domino Designer, feche o elemento da XPage fazendo clique no símbolo X no respectivo separador.

    O aspecto varia. Se uma área da janela tiver mais de um separador, pode visualizar um X num separador. Se uma área da janela tiver apenas um separador, esta é apresentada como uma janela com o símbolo X no canto.

Pode explorar livremente a aplicação através da pré-visualização de XPages com Final no nome. Estas XPages correspondem à versão final do que é desenhado ao longo da iniciação.

Criar uma XPage

Esta lição ensina a criar uma XPage básica.

Esta lição utiliza um formulário e uma vista, contudo, não faz o utilizador passar pelo exercício de os criar. O formulário Site contém os campos para armazenar as informações do sítio e os critérios de procura e a vista SiteList é utilizada para apresentar a lista de sítios e resultados de procura. Verifique rapidamente os mesmos. Para obter documentação relativa aos formulários e vistas, consulte o Guia Básico do Utilizador e Manual de Consulta Rápida do Domino na ajuda.
  • Os formulários são utilizados pelo XPages para definir quais os dados armazenados num documento e não como são apresentados. Esta definição é semelhante à utilização de campos ocultos nos formulários de apresentação para organizar e calcular dados. O formulário Site contém campos de dados para a criação de documentos e texto explicativo. Nunca é apresentado aos utilizadores e, por conseguinte, o esquema não é importante.
  • São utilizadas vistas pelo XPages para definir colecções de documentos e a respectiva ordenação. Tal como poderia utilizar uma vista meramente para criar um índice de alguns dados, de modo a que sejam tratados programaticamente, a vista SiteList funciona como um índice dos documentos de dados. Apresenta uma lista do conteúdo de todos os documentos ordenados por nome de sítio. As vistas representam uma forma poderosa de organizar documentos e é comum ter várias vistas que apresentam diferentes subconjuntos e sequências de ordenação.

Certifique-se de que a aplicação está expandida e execute os seguintes passos:

  1. Faça duplo clique em XPages.

    Esta acção apresenta uma lista de elementos da XPage na área da janela central.

  2. Faça clique em Nova XPage.
  3. Atribua à nova XPage o nome SiteList. (A extensão .xsp é assumida e adicionada automaticamente.)

    Pode utilizar espaços no nome mas os nomes, regra geral, ficam mais claros se não os utilizar.

  4. Faça clique em OK. É criado um elemento de desenho da XPage vazio na área da janela central.
  5. Coloque os gráficos do cabeçalho na página:
    1. Em Controlos principais, seleccione e arraste Imagem para a XPage. A janela Seleccionar imagem é apresentada.
    2. Seleccione xpTitlebarLeft_ren.gif.

      A janela Seleccionar imagem tem o mesmo aspecto desta captura de ecrã.

      Janela Seleccionar imagem

    3. Faça clique em OK.

    As imagens visualizadas na captura de ecrã foram pré-carregadas. Cada imagem visualizada na lista corresponde a um recurso na base de dados actual. O botão Adicionar permite a importação de imagens adicionais (existem outras formas de importar imagens).

    Após fazer clique em OK, a imagem deverá ser apresentada como cabeçalho.

  6. Faça clique no espaço vazio do lado direito da imagem de cabeçalho ou prima a seta para a Direita para avançar nessa direcção. Poderá ter de avançar nessa direcção, se o espaço não estiver visível. Prima Enter para que o cursor passe para a linha seguinte.
  7. Introduza algum texto do cabeçalho:
    1. Na XPage, faça clique na linha vazia abaixo do cabeçalho.
    2. Introduza Lista de sítios e prima Enter.
    3. Realce a linha de texto.
    4. Na área da janela inferior, faça clique em Tipo de letra e mude o tipo de letra do modo pretendido, por exemplo, para negrito, tamanho 14 e azul .
    Posteriormente, irá adicionar uma folha de estilos e aplicá-la a este texto como uma maneira alternativa de controlar a formatação.
O desenho da XPage tem o mesmo aspecto desta captura de ecrã:

XPage SiteList

Programadores da Web com experiência poderão pretender utilizar elementos que estruturam o documento, como H1 e H2. A interface do utilizador do desenho não suporta esta estrutura, contudo, a interface do utilizador da origem de dados permite introduzir XML do modo pretendido. Faça clique no separador Origem para ver e editar a página como XML. Faça clique no separador Desenho para regressar à iniciação.

Adicionar um controlo de vista

Um controlo de vista de XPage é utilizado para apresentar informações a partir de uma vista definida. O controlo que o utilizador cria nesta lição permite apresentar dados a partir da vista SiteList.

Certifique-se de que a XPage SiteList está aberta na área da janela central e execute os seguintes passos:
  1. Em Controlos de contentor, seleccione e arraste Ver para a XPage.
  2. Na janela Seleccionar origem de dados para vista:
    1. Deixe Mostrar dados de definido como Vista do Domino.
    2. Deixe Aplicação definido como Actual.

      Pode seleccionar qualquer aplicação do Domino, contudo, o controlo de vista não funciona, excepto se essa aplicação estiver disponível no servidor de tempo de execução.

    3. Na lista pendente Vista, seleccione SiteList.
    4. Aceite view1 como nome da origem de dados.

      Este nome pode ser utilizado no código JavaScript do lado do servidor.

    5. Na lista de colunas na parte final, deixe as opções SiteName, StreetAddress, City e SiteType seleccionadas.

    A janela tem o mesmo aspecto desta captura de ecrã.

    Janela Seleccionar origem de dados para vista

  3. Faça clique em OK.

    É apresentada uma tabela que representa a vista. As quatro colunas representam as colunas da vista e as duas linhas representam os títulos e o conteúdo da coluna. A primeira linha contém um controlo de pager que permite que o utilizador navegue pelos dados na vista.

  4. Ajuste o controlo de vista:
    1. Para redimensionar as colunas, seleccione as duas linhas numa coluna fazendo clique na célula na primeira linha, premindo a tecla Shift e fazendo clique simultaneamente na segunda célula, e, em seguida, arraste um parâmetro identificador para uma das células.
    2. Seleccione a linha de cabeçalho completa, fazendo clique na primeira célula, premindo a tecla Shift e fazendo clique simultaneamente nas restantes células na linha. Prima Ctrl+B ou utilize as propriedades do tipo de letra para deixar estas células a negrito.
  5. Permita que os utilizadores abram um documento fazendo clique no mesmo na primeira coluna do controlo de vista:
    1. Faça clique no interior da célula esquerda na parte inferior (SiteName).
    2. No separador Propriedades na área da janela inferior, faça clique em Apresentar.
    3. Seleccione Mostrar valores nesta coluna como ligações.

    A página tem o mesmo aspecto desta captura de ecrã.

    XPage SiteList com controlo de vista

  6. Ligue o controlo de vista à página de edição.
    1. Faça clique no controlo da vista, de modo a que o foco seja na totalidade da vista.
    2. No separador Propriedades na área da janela inferior, faça clique em Vista.
    3. Na lista pendente Em tempo de execução, abra o documento seleccionado utilizando na parte inferior, seleccione Site1.
  7. Guarde e pré-visualize a página.
    1. Faça clique na XPage efectiva para que o foco seja na própria página.

      Outra forma de colocar o foco na página é fazer clique em Destaque > Documento raiz > XPage na área da janela lateral. Esta acção faz com que a própria página seja focada. Pode focar elementos de desenho específicos na página fazendo clique no elemento correspondente no destaque.

    2. Prima Ctrl+S para guardar a página.
    3. Faça clique em Desenho > Pré-visualizar no navegador da Web > Navegador da Web predefinido do sistema ou no navegador da sua preferência. Faça clique num documento da lista. Este é aberto com a XPage Site. Pode efectuar alterações ao documento a partir desta janela e fazer clique em Submeter para guardar as mesmas. Submeter a página não o afasta dessa página e pode continuar a editar e guardar o mesmo documento.
      Existem várias formas para guardar as alterações e actualizar o navegador:
      • O botão Submeter utilizado nesta iniciação actualiza as origens de dados e a página.
      • O botão Botão permite ao utilizador ligar acções simples ou JavaScript a um evento onclick. Utilize este evento para actualizar as origens de dados e encaminhar o utilizador para outra página.
      • Os eventos de páginas permitem ligar acções simples ou JavaScript a um evento postSaveDocument. Pode colocar um botão Submeter na página e no evento postSaveDocument para encaminhar os utilizadores para outra página.

      A XPage é semelhante à SiteList1, que pode ser aberta para comparação.

  8. Feche o navegador.

Criar uma XPage para edição

Os formulários também podem ser utilizados para desenhar páginas da Web, mas o XPages permite mais opções de IU e um maior controlo do aspecto com menos esforço. É também útil ter um formulário, de modo a fornecer uma lista de campos para a associação de dados. Para além disso, o formulário pode ser utilizado para calcular campos processados com fórmulas de campo, em vez de colocar o código na XPage.

Nesta lição, ficará a saber como adicionar texto a uma página, adicionar controlos a uma página, ajustar o aspecto de uma página com folhas de estilos e associar origens de dados a uma página. Existem vários passos, mas siga um de cada vez.

Execute as seguintes acções:

  1. No início da lista de XPages, faça clique em Nova XPage. Em alternativa, faça clique com o botão direito do rato em XPages > Nova XPage.
  2. Atribua à nova XPage o nome Site e faça clique em OK. Os nomes da XPage e do formulário não têm de ser os mesmos, mas é conveniente que o sejam. Se lhes atribuir o mesmo nome, permite determinados comportamentos automáticos que ultrapassam o âmbito desta iniciação.
  3. Adicione uma folha de estilos à página da seguinte forma:
    1. Na área da janela final, faça clique em Estilo.
    2. Avance para a parte final e faça clique em Adicionar folha de estilos à página
    3. Na caixa Adicionar folha de estilos à página, seleccione styles.css.
    4. Faça clique em OK.
    Estes ficheiros CSS são elementos de desenho de folha de estilos incluídos na aplicação exemplo.
  4. Adicione um título para a página e um estilo da seguinte maneira:
    1. Na XPage, introduza um título para a página, por exemplo, Site Description e prima Enter.
    2. Realce o texto.
    3. Na área da janela final, faça clique em Estilo se não estiver nessa janela.
    4. Na lista sob styles.css, faça clique em .title.
    O aspecto do texto mudará conforme o estilo seleccionado.
  5. Associe a XPage ao arquivo de dados do programa emissor do Domino do seguinte modo:
    1. Faça clique fora do espaço do texto na XPage para que o foco seja na própria página.
    2. Na área da janela inferior sob Propriedades, faça clique em Dados.
    3. Faça clique em Adicionar e seleccione Documento do Domino.

      Uma origem de dados denominada de document1 é apresentada.

    4. Na área da janela, localize Formulário e seleccione Sítio a partir da lista pendente.

      Esta acção associa a XPage às definições de dados no formulário Sítio.

  6. Configure a paleta de dados da seguinte maneira:
    1. Na parte inferior da área da janela, faça clique na ligação Paleta de dados. É apresentado um separador Dados na área da janela lateral. É também possível apresentar o separador Dados fazendo clique em Janela > Mostrar vistas do Eclipse > Dados.
    2. No separador Dados, seleccione document1 para Origem de dados. Poderá ter de focar a XPage antes da nova origem de dados aparecer na paleta de dados.

      Os nomes e tipos de campos para a origem de dados aparecem sob o nome da origem de dados.

    3. No canto superior esquerdo do separador Dados, faça clique no ícone da Caixa de diálogo Seleccionar controlos para a activar.

      O ícone da Caixa de diálogo Seleccionar controlos tem o seguinte aspecto:

  7. Seleccione e arraste todos os campos da paleta de dados para a XPage abaixo do título.

    A caixa de diálogo Seleccionar controlos de dados associados é apresentada.

  8. Preencha a caixa de diálogo da seguinte maneira:
    1. Mantenha todas as caixas de verificação seleccionadas, de modo a indicar que pretende incluir os campos.
    2. Mantenha a totalidade do texto dos rótulos tal como está.
    3. Altere o tipo de controlo de Site type para Caixa de combinação, seleccionando o mesmo e utilizando o menu pendente.
    4. Altere o tipo de controlo de Amenities para Caixa de lista
    5. Altere o tipo de controlo de Direcções para Caixa de edição multilinha
    6. Seleccione Adicionar botão Submeter ao código gerado.
    7. Seleccione Adicionar controlo de mensagens ao código gerado.

    A caixa de diálogo deve ter o seguinte aspecto.

    Caixa de diálogo Seleccionar controlos de dados associados

  9. Faça clique em OK.

    Este procedimento cria uma tabela de duas colunas com rótulos na primeira coluna e controlos na segunda coluna. A segunda coluna também contém uma área para apresentação de erros de validação e um botão Submeter.

  10. Coloque o foco no campo SiteType e ajuste o mesmo do seguinte modo:
    1. Faça clique em Dados abaixo de Propriedades na área da janela final e introduza Office como o valor predefinido.
    2. Para adicionar as outras opções aos tipos de sítios, faça clique em Valores a seguir a Propriedades. Faça clique em Adicionar item três vezes. Seleccione e altere os rótulos para cada item de Untitled para Office, Retail e Restaurant.

      Não é necessário introduzir qualquer valor em Valores a não ser que o valor armazenado seja diferente do valor apresentado, o que não corresponde a este caso.

  11. Coloque o foco no campo Amenities e ajuste o mesmo do seguinte modo:
    1. Faça clique em Caixa de lista abaixo de Propriedades na área da janela final e seleccione Permitir selecções múltiplas
    2. Faça clique em Valores sob Propriedades. Faça clique em Adicionar item quatro vezes. Seleccione e altere os rótulos para cada item de Untitled para Cafeteria, Fitness Center, Visitor Center e Executive Briefing Center.
    3. Faça clique na coluna 1 no interior da célula mas fora do controlo de rótulo (“Amenities:"). Faça clique em Célula de tabela sob Propriedades e seleccione Superior para Alinhamento vertical da célula.

      Esta acção alinha o rótulo no início da célula.

    Se preferir caixas de verificação para Amenities, pode remover a Caixa de lista e arrastar um grupo de caixas de verificação a partir da paleta Controlos. Associe o grupo de caixas de verificação fazendo clique em Dados em Propriedades e seleccionando Amenities a partir do menu Associar a. Introduza os valores no separador Valores tal como no passo 11 acima.

    O motivo pelo qual existem ambos os campos City e searchCity é para permitir uma cidade diferente para procura do que nomes do sítio real. Por exemplo, um dos sítios exemplo é em Brighton, um subúrbio de Boston. Assim, para efectuar uma procura dir-se-á que é em Boston. Relativamente a países, contudo, assume-se que o país real e o país de procura são o mesmo.

    A XPage deve ter o seguinte aspecto.

    XPage Site Description

    Por esta altura, a XPage deverá ser semelhante à Site1, que pode ser aberta para comparação.

  12. Ajuste a tabela de modo a que a linha que contém o botão Submeter fique oculto quando não for possível editar a página. Será necessário utilizar JavaScript.
    1. Faça clique na célula da tabela que contém o botão Submeter (a célula, não o botão).
    2. Em Propriedades na área da janela inferior, faça clique em Célula de tabela se esta não estiver já seleccionada.
    3. Faça clique no losango junto a Visível e, em seguida, faça clique em Processar valor. O editor de scripts é aberto.
    4. No editor de scripts, faça duplo clique em document1 na lista de variáveis globais e, em seguida, introduza um ponto final.

      A variável global document1 corresponde a um objecto de tipo NotesXspDocument que representa o documento actual que o XPage está a visualizar. Ao introduzir o ponto final, é apresentada uma lista de métodos para esse objecto.

    5. Na lista de métodos, avance para a parte final e faça duplo clique em isEditable().
      Esta acção devolve true caso o documento seja editável e false caso não o seja. A fórmula deve ter o seguinte aspecto:
      document1.isEditable()
    6. Faça clique em OK.

      O editor de scripts é fechado e guarda o código.

    Este código oculta a célula que contém o botão se o valor de retorno for false. Pode também ocultar o botão e não a célula.
  13. Na XPage, faça clique fora de quaisquer controlos para focar a página e prima Ctrl+S para guardar a página.
  14. Faça clique em Desenho > Pré-visualizar no navegador da Web > Navegador da Web predefinido do sistema (ou seleccione outro navegador). Pode testar a aplicação introduzindo valores e fazendo clique em Submeter. Esta acção deverá introduzir um novo documento na base de dados. Para visualizar uma lista dos documentos, utilize o cliente do Notes. Feche o navegador quando terminar.

    Por esta altura, a XPage deverá ser semelhante à SiteFinal, que pode ser aberta para comparação.

  15. Feche a XPage Site fazendo clique no símbolo X no canto superior direito da área da janela central.

Criar controlos para adicionar e eliminar documentos

A XPage SiteList permite-lhe ver e editar documentos na aplicação, mas é necessário adicionar controlos para criar e eliminar documentos.

Execute as seguintes acções:
  1. Na XPage SiteList, faça clique no interior da primeira coluna (a coluna e não o cabeçalho) de modo a que seja focada.
  2. Em Propriedades, faça clique em Apresentar.
  3. Seleccione Caixa de verificação. Esta acção coloca uma caixa de verificação em frente de cada linha. O utilizador pode seleccionar uma linha seleccionando uma caixa.
  4. Na XPage, faça clique no final do título e prima Enter para deixar uma linha em branco entre o título e o controlo de vista.
  5. Se a lista de controlos não for apresentada na área da janela da direita, faça clique no separador Controlos ou em Janela > Mostrar vistas do Eclipse > Controlos.
  6. Arraste um controlo Botão para a linha vazia sob o título e execute as seguintes acções:
    1. Em Propriedades na área da janela inferior, faça clique em Botão se não estiver já focado.
    2. Mude o rótulo para Novo sítio.
    3. Faça clique no separador Eventos.
    4. Assegure-se que o evento onClick está seleccionado.
    5. Faça clique em Adicionar acção. A caixa de diálogo Adicionar acção simples é aberta. A categoria deve ser Tudo e a acção Abrir página. Ajuste as caixas se estas opções não estiverem seleccionadas.
    6. Seleccione Site como o nome da página a abrir.
    7. Seleccione Novo documento para o documento de destino.
    A caixa de diálogo deve ter o seguinte aspecto.

    Caixa de diálogo Adicionar acção simples

  7. Faça clique em OK.
  8. Arraste outro controlo Botão para junto do primeiro e execute as seguintes acções:
    1. Na área da janela inferior, faça clique no separador Propriedades e faça clique em Botão se não estiver já focado.
    2. Mude o rótulo para Eliminar seleccionado.
    3. Faça clique no separador Eventos.
    4. Assegure-se que o evento onclick está seleccionado.
    5. Faça clique em Adicionar acção.
    6. Seleccione Documento para a categoria.
    7. Seleccione Eliminar documentos seleccionados para a acção.
    8. Seleccione viewPanel1 como nome da vista.

      Se este não for o nome do controlo de vista, seleccione o seu controlo de vista.

    9. Escreva Tem a certeza de que pretende eliminar os sítios seleccionados? para o texto de confirmação.

    A caixa de diálogo deve ter o seguinte aspecto.

    Caixa de diálogo Adicionar acção simples

  9. Faça clique em OK.
  10. Prima Ctrl+S para guardar a página.
  11. Pré-visualize a página do modo pretendido.
  12. Feche a XPage SiteList fazendo clique no símbolo X no canto superior direito da área da janela central.
Por esta altura, a XPage deverá ser semelhante à SiteListFinal, que pode ser aberta para comparação.

Criar uma XPage para procura

O utilizador utiliza esta página para especificar parâmetros de procura e visualizar os resultados. Os parâmetros de procura são valores para a cidade, distrito, país e código postal. O utilizador pode preencher qualquer um destes parâmetros e fazer clique num botão. A página é actualizada e os resultados são apresentados como uma vista. Uma propriedade de procura para a vista limita a apresentação de documentos que correspondam aos parâmetros de procura.

Execute as seguintes acções:
  1. No início da lista de XPages, faça clique em Nova XPage. Em alternativa, pode fazer clique com o botão direito do rato em XPages > Nova XPage na área da janela lateral.
  2. Atribua à nova XPage o nome SiteFinder e faça clique em OK.
  3. Em Controlos personalizados na área da janela direita, arraste o controlo personalizado Cabeçalho para a XPage.

    Esta é a mesma imagem colocada na XPage SiteList, mas foi colocada num controlo personalizado para uma manutenção mais fácil. Um controlo personalizado é semelhante a um subformulário.

  4. Adicione uma folha de estilos à página da seguinte forma:
    1. Faça clique na página efectivo e não nos controlos, para que o foco seja na página.
    2. Em Propriedades na área da janela inferior, faça clique em Estilo.
    3. Avance para a parte final e faça clique em Adicionar folha de estilos à página
    4. Na caixa Adicionar folha de estilos à página, seleccione styles.css.
    5. Faça clique em OK.
  5. Adicione um título da seguinte forma:
    1. Na XPage, prima Enter depois do cabeçalho, introduza um título para a página, por exemplo, Site Finder e prima Enter novamente.
    2. Realce o texto.
    3. Na área da janela inferior, faça clique em Estilo se não estiver nessa janela.
    4. A partir da lista sob styles.css, faça clique em .title.
    O aspecto do texto mudará conforme o estilo seleccionado.
  6. Abaixo do texto do título, introduza instruções para o utilizador, por exemplo, Preencher um ou todos os campos e fazer clique em Procurar e prima Enter.
  7. Crie uma tabela com quatro linhas e duas colunas da seguinte forma:
    1. Em Controlos de contentor na área da janela direita, arraste Tabela sob as instruções na XPage.

      A caixa de diálogo Inserir tabela é apresentada.

    2. Na caixa de diálogo Inserir tabela, especifique 4 para linhas e 2 para colunas.
    3. Faça clique em OK.
    4. Utilize os comandos de selecção para ajustar a largura da tabela.
  8. Execute as seguintes acções para cada célula na coluna 1:
    1. Em Controlos principais na área da janela direita, arraste Rótulo para a célula.
    2. Na área da janela inferior, mude o rótulo do controlo para City (linha 1), State (linha 2), Country linha 3), ou Zip/Postal code (linha 4).
  9. Execute as seguintes acções para cada célula na coluna 2:
    1. Em Controlos principais na área da janela lateral, arraste Caixa de edição para a célula.
    2. Em Propriedades na área da janela inferior, faça clique em Caixa de edição.
    3. Mude os nomes para searchCity (linha 1), searchState (linha 2), searchCountry (linha 3) e searchZip (linha 4).
    4. Em Propriedades na área da janela inferior, faça clique em Dados.
    5. Para Associar dados com, faça clique em Avançado.
    6. A partir do menu pendente Utilização, seleccione Variável por âmbito.
    7. A partir da caixa de lista Parâmetro, seleccione Âmbito da sessão.
    8. Avance para o fim e introduza os nomes de variáveis como searchCity (linha 1), searchState (linha 2), searchCountry (linha 3) ou searchZip (linha 4).
    Associar estas caixas de edição para variáveis por âmbito permitirá o nosso acesso aos respectivos valores no código JavaScript e não no arquivo de dados. Uma variável de sessão mantém o seu valor ao longo das páginas durante a sessão do utilizador no servidor.
  10. Execute as seguintes acções para criar um botão para submeter e actualizar a página:
    1. Em Controlos principais na área da janela lateral, arraste Botão para a linha abaixo da tabela.
    2. Na área da janela inferior, mude o rótulo do controlo para Procurar.
    3. A partir da lista pendente do tipo de botão, seleccione Submeter.
    Fazer clique neste botão irá submeter a página ao servidor e actualizar o conteúdo da página com base nos valores que o utilizador introduziu.
  11. Execute as seguintes acções para apresentar a consulta utilizada para obter resultados:
    1. Na linha seguinte na XPage, introduza Cadeia de consulta: e um espaço.
    2. Em Controlos principais do lado direito, arraste Campo processado para a página.
    3. Em Propriedades na área da janela inferior, faça clique em Tipo de letra. Mude a cor para azul.
    4. Em Propriedades na área da janela inferior, faça clique em Valor.
    5. Para Associar dados com, faça clique em Avançado.
    6. A partir do menu pendente Utilização, seleccione Variável por âmbito.
    7. A partir da caixa de lista Parâmetro, seleccione Âmbito da sessão.
    8. Avance para o fim e introduza o nome de variável como queryString.

      O utilizador é o único responsável pela escolha do nome de variável que não tem qualquer significado. O utilizador irá atribuir-lhe um valor posteriormente.

    Esta acção permite a apresentação da consulta calculada posteriormente. A apresentação é, provavelmente, desnecessária numa aplicação de produção, mas é útil para efeitos de testes.
  12. Em Controlos de contentor na área da janela lateral, arraste Vista para a linha seguinte da página.
    1. Deixe Mostrar dados de definido como Vista do Domino.
    2. Deixe Aplicação definido como Actual.
    3. Na lista pendente Ver, seleccione SiteList.
    4. Aceite view1 como nome da origem de dados.
    5. Na lista de colunas no fim, desmarque todas as opções, excepto SiteName, Phone, StreetAddress, City e State. Pode alterar esta opção e seleccionar quais as colunas que serão apresentadas, mas SiteName deverá ser incluído.
    6. Faça clique em OK.
  13. Em Propriedades na área da janela inferior, faça clique em Ver. Para Em tempo de execução, abrir o documento seleccionado utilizando, seleccione Sítio.
  14. Em Propriedades na área da janela inferior, faça clique em Dados. Assegure-se que a vista está definida como SiteList.
  15. Defina uma consulta de procura para limitar a vista a esses documentos que satisfazem o que o utilizador introduziu para os campos de procura. Execute as seguintes acções:
    1. Em Propriedades na área da janela inferior, faça clique em Todas as propriedades.
    2. Avance para o fim. Expanda Dados e, em seguida, expanda a segunda ocorrência de Dados. Seleccione a propriedade Search.

      O ecrã deverá ter o seguinte aspecto.

      Propriedade Search

    3. Faça clique no diamante junto à propriedade Search e seleccione Valor processado.

      O editor de scripts é aberto.

    4. Introduza o seguinte código no editor de scripts. Certifique-se de que a linguagem é JavaScript do lado do servidor e que Compute Dynamically está definido.
      var tmpArray = new Array("");
      var cTerms = 0;
      if(sessionScope.searchZip != null & sessionScope.searchZip != "") {
      	tmpArray[cTerms++] = "(FIELD SearchZip = \"" + sessionScope.searchZip + "\")";
      }
      if(sessionScope.searchCity != null & sessionScope.searchCity != "") {
      	tmpArray[cTerms++] = "(FIELD SearchCity = \"" + sessionScope.searchCity + "\")";
      }
      if(sessionScope.searchState != null & sessionScope.searchState != "") {
      	tmpArray[cTerms++] = "(FIELD SearchState = \"" + sessionScope.searchState + "\")";
      }
      if(sessionScope.searchCountry != null & sessionScope.searchCountry != "") {
      	tmpArray[cTerms++] = "(FIELD Country = \"" + sessionScope.searchCountry + "\")";
      }
      qstring = tmpArray.join(" AND ").trim();
      sessionScope.queryString = qstring; // this just displays the query
      return qstring // this is what sets the search property

      O utilizador não passará pelo exercício, mas este código poderá ser colocado sob a forma de uma função e colocado numa biblioteca de scripts. A biblioteca de scripts seria então adicionada como um recurso à página e a função seria acedida por uma simples referência. Esta acção permite que o código seja utilizado em vários locais com manutenção central.

    5. Faça clique em OK.
    Este código obtém os valores que o utilizador introduz na página utilizando as variáveis do âmbito da sessão associadas a essas caixas de edição. O código cria e devolve uma cadeia de consulta que corresponde a valores do documento nos campos searchZip, searchCity, searchState e Country.

    Para facilitar, são utilizados os mesmos nomes de campo dos documentos de procura, mas podem ser utilizados quaisquer nomes.

  16. Ajuste a primeira coluna para permitir que o utilizador abra o documento em modo de leitura:
    1. Na XPage, faça clique no interior da primeira coluna da vista.
    2. Em Propriedades na área da janela inferior, faça clique em Apresentar.
    3. Seleccione Mostrar valores nesta coluna como ligações.
    4. Para Modo de abertura de documentos, faça clique em Só de leitura.

    Utilizadores da Web que visualizem resultados da procura não poderão editar os documentos que encontrem ao seguirem a ligação. Numa aplicação real, poderia também utilizar a lista de controlo de acessos.

  17. Guarde as suas alterações e pré-visualize o novo ecrã de procura.
  18. Pré-visualize a página do modo pretendido. Tente efectuar algumas procuras, por exemplo: 2108 ou 3432 para o código postal; Lisboa ou Nápoles para a cidade; Setúbal para o distrito; França para o país.
  19. Feche a XPage SiteFinder fazendo clique no símbolo X no canto superior direito da área da janela central.
Por esta altura, a XPage deverá ser semelhante à SiteFinderFinal, que pode ser aberta para comparação.

O processo aqui apresentado não é necessariamente a melhor maneira de organizar a função de procura, mas é uma das maneiras. Em alternativa, pode atribuir a propriedade de procura da origem de dados a partir do código JavaScript no botão Search. Desta forma, é mais fácil ter várias origens de informações de consulta na página, talvez com vários botões de procura para diferentes tipos de procura.

Estão disponíveis outros controlos para aperfeiçoar a formatação dos seus resultados. A Tabela de dados, por exemplo, confere mais controlo sobre o modo como organiza os resultados de procura e é utilizada muitas vezes em alternativa à vista. Contudo, o controlo Ver é muito simples de utilizar.

Administrar aplicações

O IBM Domino Designer fornece funções para administrar e gerir o trabalho e ficheiros relacionados, desenvolvendo, simultaneamente, os projectos de aplicações.

A função principal actual, activação do controlo de origem, permite ao utilizador armazenar elementos de desenho baseados em NSF num repositório do controlo de origem e executar operações de controlo de origem comuns utilizando o Domino Designer. Para tal, a função permite criar uma associação entre um projecto no disco gerido pelo controlo de origem e o projecto virtual baseado em NSF, controlado pelo Domino Designer.

Esta função permite integrar um cliente de controlo de origem do SVN com o Domino Designer da forma mais simples possível, bem como manter o Domino Designer o mais "adaptável aos sistemas de controlo de origem" possível.

Esta documentação refere-se aos seguintes produtos: IBM Domino, IBM Domino Designer, IBM Notes, IBM iNotes e IBM Notes Traveler.

Controlo de origem no Domino Designer

É possível efectuar operações de controlo de origem com o Domino Designer. A secção fornece todas as informações necessárias para utilizar a função de activação do controlo de origem que disponibiliza esta funcionalidade.

Activação do controlo de origem

A função de activação do controlo de origem foi introduzida para permitir armazenar elementos de desenho baseados em NSF num repositório do controlo de origem, bem como executar operações comuns de controlo de origem utilizando o Domino Designer.

Os clientes de controlo de origem baseados em Eclipse (ou seja, de código aberto), tais como o SVN e CCRC, trabalham em ficheiros físicos. Assim, não podem trabalhar directamente com projectos do Designer que incluem ficheiros virtuais com mapeamento para elementos de desenho baseados em NSF. Trabalham apenas com projectos que são guardados no disco. Desta forma, é necessário trabalhar num projecto no disco que corresponda a uma réplica do projecto NSF virtual, a fim de executar operações de controlo de origem.

Para ajudar a resolver esta questão, foi introduzida a função de activação do controlo de origem do Domino Designer, de forma a permitir armazenar elementos de desenho baseados em NSF num repositório do controlo de origem, bem como executar operações comuns de controlo de origem utilizando o Domino Designer. Para tal, a função permite criar uma associação entre um projecto no disco gerido pelo controlo de origem e o projecto baseado no NSF virtual que o Designer controla. Este passo constitui, de facto, um pré-requisito que é necessário satisfazer antes de executar quaisquer operações de controlo de origem básicas.

Por fim, esta função permite integrar um cliente de controlo de origem do SVN com o Domino Designer da forma mais simples possível, bem como manter o Domino Designer o mais "adaptável aos sistemas de controlo de origem" possível.

Pré-requisito: Configurar o sistema do controlo de origem da versão utilizado com a activação do controlo de origem

Este tópico descreve como começar por configurar um sistema do controlo de origem da versão, de forma a que possa utilizar a função de activação do controlo de origem.

Sobre esta tarefa

Os sistemas do controlo de origem da versão de código aberto (tais como o Subversion®) permitem partilhar projectos em repositórios, onde são posteriormente armazenados. Um repositório funciona como um servidor de ficheiros, embora não se limite a armazenar apenas a cópia do sistema de ficheiros, armazenando igualmente os respectivos estados anteriores e o histórico de alterações. Um sistema do controlo de origem, tal como o Subversion®, acede aos repositórios utilizando as ligações de rede. Isto permite trabalhar em ficheiros partilhados e observar todas as alterações possíveis efectuadas por outros programadores.

Para que possa utilizar a função de activação do controlo de origem no Domino Designer, é necessário que os suplementos do controlo de origem para o SVN/Clearcase (arquivo de versões de software e um sistema do controlo de revisão) tenham sido instalados ou fornecidos dinamicamente no Designer. É necessário executar os seguintes passos para começar a utilizar a função de activação do controlo de origem:

Procedimento

  1. Instalar e configurar os sistemas do controlo de origem da versão de código aberto
  2. Criar um repositório no servidor do Subversion (consulte a documentação do software Subversion)
  3. Registar o novo repositório no servidor do controlo de origem, fazendo clique em Novo - Localização do repositório - Novo painel do repositório e introduzir o URL do servidor e as credenciais do utilizador.

Como proceder a seguir

Se ainda não tiver um sistema do controlo de origem da versão de código aberto instalado, pode executar os seguintes passos para instalar o sistema do Subversion®:
Nota: Nota: Esta versão requer, pelo menos, o Eclipse 3.3 e não suporta as versões anteriores do Eclipse IDE.
  • Active o menu Aplicação - Instalar, seleccionando a preferência que permite instalações de suplementos do Eclipse.
  • Instale o sítio de actualização para os suplementos do SVN do Eclipse apresentados no sítio http://www.eclipse.org/subversive/downloads.php. Utilize a Helios Release. O GEF (versão 3.4 e posteriores) constitui um pré-requisito para suplementos do Subversion, pelo que ser-lhe-á igualmente solicitado que instale os suplementos do GEF apresentados anteriormente.
  • Após esta instalação, instale os conectores do SVN relacionados a partir do seguinte sítio de actualização: http://community.polarion.com/projects/subversive/download/eclipse/2.0/helios-site/. Durante o processo, poderá ser solicitado cada suplemento de conector.
  • Para verificar se ambos os sítios de actualização foram instalados correctamente, certifique-se de que é possível abrir a Perspectiva de exploração do repositório do SVN no Domino Designer e, em seguida, estabeleça ligação ao servidor do Subversion.
Nota: O cenário de instalação de exemplo descrito anteriormente foi testado utilizando as seguintes versões dos suplementos:
  • Suplemento do Subversion: Subversive-incubation-0.7.9.I20100512-1900.zip
  • Conectores do Subversion: Subversive-connectors-2.2.2.I20100512-1900.zip
Recomenda-se vivamente que utilize estas versões em alternativa às versões mais recentes. Contudo, se pretender experimentar outras versões, recomenda-se que experimente utilizar versões correspondentes às indicadas no exemplo.
Nota: Por predefinição, o suplemento de controlo de origem Subversive (e, provavelmente, outros suplementos de produtos de controlo de origem) instalam a versão mais recente do GEF (Graphical Editing Framework). Se estiver instalada uma versão do GEF mais recente do que a 3.6.2, as XPages não serão correctamente apresentadas quando abertas para edição no Designer.

Para resolver este problema, ao instalar o suplemento Subversive (ou outros suplementos de produtos de controlo de origem, conforme aplicável), instale uma versão específica do GEF (Graphical Editing Framework) que NÃO seja posterior à versão 3.6.2. É recomendada a versão 3.6.2. Para efectuar este procedimento, durante o procedimento de instalação, desmarque a caixa de verificação Mostrar apenas a versão mais recente de um componente por sítio de actualização. Expanda a função .../gef/updates/releases/ e seleccione GEF SDK 3.6.2.

Configurar a função de activação do controlo de origem

Os seguintes tópicos fornecem informações sobre as tarefas de configuração iniciais que é necessário executar, a fim de começar a utilizar a função de activação do controlo de origem do Domino Designer como parte das operações de controlo de origem diárias.

  • Criar associações entre projectos no disco e NSFs
  • Associar o NSF a um projecto no disco existente
  • Definir a direcção da operação de sincronização inicial
  • Associar o NSF a um novo projecto no disco
  • Definir preferências da função de activação do controlo de origem

Antes de começar: Criar associações entre projectos no disco e NSFs

A função de activação do controlo de origem requer a criação de uma associação entre um projecto no disco gerido pelo controlo de origem e o projecto baseado no NSF virtual que o Designer utiliza.

Os clientes de controlo de origem baseados em Eclipse (ou seja, de código aberto), tais como o SVN e CCRC, trabalham em ficheiros físicos. Assim, não podem trabalhar directamente com projectos do Designer que incluem ficheiros virtuais com mapeamento para elementos de desenho baseados em NSF. Trabalham apenas com projectos que são guardados no disco (como projectos no disco). Desta forma, é necessário utilizar um projecto no disco que corresponda a uma réplica do projecto NSF virtual, a fim de executar operações de controlo de origem.

Para tal, a função de activação do controlo de origem requer a criação de uma associação entre um projecto no disco gerido pelo controlo de origem e o projecto baseado no NSF virtual que o Designer utiliza. Este passo constitui um pré-requisito que é necessário satisfazer antes de executar quaisquer operações de controlo de origem básicas.

São a seguir apresentados os passos gerais que é necessário executar para criar esta associação.

  • Certifique-se de que abriu ou criou uma aplicação do NSF no Designer.
  • No Navegador de aplicações, seleccione o NSF que pretende associar a um projecto no disco e, no menu contextual acedido através do botão direito do rato, seleccione Desenvolvimento da equipa - Associar a um projecto no disco existente. A função de activação do controlo de origem do Domino Designer funciona através da criação de uma associação ou de um mapeamento entre um projecto NSF virtual e um projecto no disco. A selecção desta opção de menu irá concluir esta associação.

Associar o NSF a um projecto no disco existente

A função de activação do controlo de origem permite criar uma associação entre um projecto no disco existente gerido pelo controlo de origem e o projecto baseado no NSF virtual que o Designer utiliza.

Sobre esta tarefa

Execute os seguintes passos para criar a associação ou o mapeamento entre a aplicação do Designer (.NSF) e o projecto no disco (ODP). Esta acção é executada a partir do painel Associar a projecto no disco....

Procedimento
  1. Abra ou crie uma aplicação do NSF no Domino Designer.
  2. Seleccione o NSF criado e seleccione Desenvolvimento da equipa - Associar a um projecto no disco existente... no menu. Esta acção abre o painel Associar a projecto no disco. Neste painel, pode seleccionar um projecto no disco existente, bem como a direcção da operação de sincronização inicial que será executada após efectuar a associação. A predefinição é "Importar a partir do projecto no disco para nsf_filename.
  3. Consulte o tópico Definir a direcção da operação de sincronização inicial para obter mais detalhes sobre as definições de sincronização.

Definir a direcção da operação de sincronização inicial

Este tópico explica as direcções disponíveis para a operação de sincronização inicial que ocorre ao criar a associação entre um projecto NSF e um projecto no disco.

Ao criar a associação entre um projecto NSF e um projecto no disco, é necessário seleccionar a direcção da operação de sincronização inicial. Esta pode ser uma das seguintes direcções:

  • Exportar a partir de nome do ficheiro nsf para o projecto no disco seleccionado -- Se a direcção inicial estiver definida desta forma, a operação de sincronização inicial irá exportar todo o conteúdo do projecto NSF virtual para o projecto no disco num formato apropriado, que poderá depois consolidar para um repositório do controlo de origem.
  • Importar a partir do projecto no disco seleccionado para nome do ficheiro nsf -- Se a direcção inicial estiver definida desta forma, a operação de sincronização inicial irá actualizar o projecto NSF com o conteúdo do projecto baseado no disco.

Associar o NSF a um novo projecto no disco

A função de activação do controlo de origem permite criar uma associação entre um novo projecto no disco e um NSF.

Sobre esta tarefa

Para associar um NSF a um novo projecto no disco, seleccione Ficheiro - Desenvolvimento da equipa - Configurar controlo de origem para esta aplicação a partir do menu.

Para executar esta acção no Navegador de aplicações do Domino Designer, faça clique com o botão direito do rato no cabeçalho da aplicação (ícone) que pretende adicionar ao controlo de origem e seleccione Desenvolvimento da equipa - Configurar controlo de origem para esta aplicação. Assim, é criado um novo projecto no disco e todo o conteúdo do projecto NSF aberto é exportado para o mesmo, por predefinição.

Para obter informações adicionais sobre como utilizar a função de activação do controlo de origem com tarefas comuns de controlo de origem, consulte o tópico Executar tarefas comuns de controlo de origem com a função de activação do controlo de origem para obter mais detalhes.

Definir preferências da função de activação do controlo de origem

Este tópico explica as preferências que pode definir para personalizar as operações da função de activação do controlo de origem.

Para personalizar ainda mais as operações da função de activação do controlo de origem, pode definir preferências fazendo clique em Ficheiro-Preferências-Designer-Controlo de origem. Estas preferências serão aplicadas a esta função durante a utilização da mesma. As preferências incluem:

  • Utilizar DXL binário para operações de controlo de origem -- Existem formas diferentes de representação dos elementos de desenho no disco, consoante o tipo de elemento de desenho que está a ser representado - consulte o tópico "Selecting the way to represent the design elements on disk" para obter detalhes completos.
  • Activar a exportação automática dos elementos de desenho (a partir do NSF para o disco) ao modificar -- Esta preferência é fornecida para permitir a exportação implícita dos elementos de desenho, após a modificação dos mesmos no NSF por parte de um utilizador. Se esta preferência for seleccionada, quaisquer edições efectuadas ao projecto NSF (por exemplo a criação/actualização/eliminação de um formulário, XPage, etc.) são reflectidas implicitamente no projecto no disco, que poderá depois consolidar para o repositório do controlo de origem.
  • Activar a importação automática dos elementos de desenho (a partir do disco para o NSF) ao modificar -- Esta preferência é fornecida para permitir a importação implícita dos ficheiros de desenho a partir do disco para o NSF quando estes são modificados no projecto no disco. Para tal, é necessário que a opção de compilação automática também esteja activada. Após a definição desta preferência, se o utilizador actualizar o projecto no disco com o conteúdo do repositório, as alterações são importadas automaticamente para o NSF.
  • Mostrar o painel auxiliar no assistente de configuração - Esta preferência irá mostrar um painel auxiliar com a descrição da função de activação do controlo de origem aquando da invocação do painel Desenvolvimento da equipa-Configurar controlo de origem para esta aplicação.

Seleccione (marque) uma preferência para activar a mesma ou desmarque-a para desactivar

Nota: As preferências de sincronização automática estão ACTIVADAS por predefinição.

Seleccionar a forma de representação dos elementos de desenho no disco

Este tópico descreve as formas de representação dos elementos de desenho no disco.

Existem duas formas diferentes de representação dos elementos de desenho no disco, consoante o tipo de elemento de desenho que está a ser representado.

  • Como um conjunto de 2 ficheiros (conteúdo e metadados) no disco -- XPages, controlos personalizados, folhas de estilos, ficheiros, temas, aplicações compostas, propriedades de encadeamento e bibliotecas de scripts JS/SSJS/LS são representados como um conjunto de 2 ficheiros no disco, o ficheiro de conteúdo e o ficheiro de metadados. O ficheiro de conteúdo inclui o conteúdo efectivo do ficheiro tal como visualizado no editor e o ficheiro de metadados contém o DXL sem o conteúdo para representar os restantes atributos do elemento de desenho.
  • Como um ficheiro que contém o DXL do elemento de desenho -- Os restantes elementos de desenho, formulários, vistas, páginas, biblioteca de scripts de Java, agentes, acções partilhadas, etc., são representados como um ficheiro que inclui o DXL do elemento de desenho. É fornecida uma preferência para utilizar o formato "binário" para DXL para o conteúdo exportado. Consulte o tópico Definir preferências da função de activação do controlo de origem para obter mais informações.

Executar tarefas comuns de controlo de origem com a função de activação do controlo de origem

São fornecidos os passos básicos de um fluxo de trabalho geral para ter uma visão global de como funciona com a função de activação do controlo de origem do Domino Designer.

Uma vez que não faz parte do âmbito desta documentação explicar todos os detalhes das operações básicas de controlo de origem para os diversos sistemas de controlo de origem disponíveis, são fornecidos os passos básicos de um fluxo de trabalho geral, para ter uma visão global de como funciona com a função de activação do controlo de origem do Domino Designer.

Um processo geral deverá ocorrer da seguinte forma:

  • Os suplementos do controlo de origem adequados estão instalados no Designer.
  • Abra a base de dados no Designer.
  • Associe a base de dados (NSF) a um projecto no disco (ODP) e exporte do NSF para o ODP
  • Consolidar - envie a partir do ODP do Designer para o repositório do controlo de origem.
  • Dar saída - noutra máquina, obtenha o ODP do repositório do controlo de origem.
  • Associe a base de dados (NSF) ao ODP e importe a partir do ODP para o .NSF.
  • Modifique o .NSF e/ou ODP e sincronize ambos (implicitamente ou explicitamente).
  • Consolide as alterações no repositório do controlo de origem.
  • Actualize para obter as actualizações do repositório do controlo de origem para o ODP.
  • Sincronize o ODP actualizado com o .NSF

Segue-se um exemplo mais específico em que uma ferramenta comum utiliza o seguinte procedimento básico:

  • Partilhar o Projecto para adicionar o mesmo ao Controlo de origem.
  • Dar saída para criar um projecto no disco local a partir do controlo de origem
  • Consolidar para enviar alterações locais para o controlo de origem
  • Actualizar para receber alterações da origem.
Nota: Nota: Consulte a documentação do software do controlo de origem para obter informações mais detalhadas sobre a forma como o sistema processa as operações básicas.

Os seguintes tópicos fornecem exemplos mais detalhados da utilização da função de activação do controlo de origem do Domino Designer para executar algumas das tarefas comuns do controlo de origem, mencionadas acima.

Adicionar uma aplicação Domino Designer existente ao controlo de origem

Este tópico descreve como adicionar uma aplicação Domino Designer existente ao controlo de origem

Sobre esta tarefa

Imagine que iniciou uma nova aplicação e que começou a trabalhar localmente na sua máquina. Depois apercebe-se de que precisa de delegar partes da aplicação a um colega. Para tal, decide então verificar a aplicação existente no sistema de controlo de origem.

Esta tarefa é executada com a função de activação do controlo de origem do Domino Designer, associando a aplicação NSF existente ao novo projecto no disco. Para obter os passos necessários para executar este procedimento, consulte o tópico Associar o NSF a um novo projecto no disco.

Obter uma aplicação a partir do controlo de origem

Este tópico descreve o modo como obter uma aplicação a partir do controlo de origem.

Sobre esta tarefa

Imagine que necessita de ajudar um colega numa nova aplicação que está a ser criada. O programador original já deu entrada da aplicação no controlo de origem, mas agora necessita de obter a aplicação para começar a trabalhar na mesma.

Assim, execute os seguintes passos gerais:
  • Numa vista do navegador do Eclipse, utilize os comandos do sistema do controlo de origem para copiar a aplicação para a sua máquina local.
  • Associe o projecto no disco a um novo NSF

    OU

  • Associe o projecto no disco a um NSF existente

Consulte os tópicos adicionais nesta secção para obter mais informações sobre a execução destas tarefas.

Associar um projecto no disco a um novo NSF

Este tópico descreve o procedimento para associar um projecto no disco a um novo NSF.

Sobre esta tarefa

Imagine que necessita de ajudar um colega numa nova aplicação que está a ser criada. O programador original já deu entrada da aplicação no controlo de origem, mas agora necessita de obter a aplicação para começar a trabalhar na mesma.

É possível efectuar este procedimento associando o projecto no disco a um novo NSF. Execute os seguintes passos para:

Procedimento
  1. Para associar o projecto no disco a um novo NSF, faça clique com o botão direito do rato no projecto no disco que acabou de criar e seleccione Desenvolvimento da equipa - Associar a um novo NSF... Esta acção abre a caixa de diálogo Associar a novo NSF... que solicita o nome da aplicação e o local onde pretende que seja criada.
  2. Se a localização for um servidor local, utilize o botão Pesquisar para abrir os directórios do sistema de ficheiros local.
  3. Se a localização for um servidor remoto, o botão Pesquisar é apresentado com a caixa de diálogo que inclui a lista das pastas que podem ser seleccionadas.
  4. Por predefinição, o NSF e o projecto no disco serão automaticamente mantidos em sincronização.
Resultados

Associar um projecto no disco a um NSF existente

Este tópico descreve os procedimentos a executar para associar um projecto no disco a um NSF existente.

Sobre esta tarefa

Imagine que necessita de ajudar um colega numa nova aplicação que está a ser criada. O programador original já deu entrada da aplicação no controlo de origem, mas agora necessita de obter a aplicação para começar a trabalhar na mesma.

É possível efectuar este procedimento associando o projecto no disco a um NSF existente. Execute os seguintes passos para:

Procedimento
  1. Para associar o projecto no disco com um NSF existente, faça clique com o botão direito do rato no projecto no disco recentemente criado e seleccione Desenvolvimento da equipa - Associar a um NSF existente... Esta acção abre a caixa de diálogo Associar a um NSF existente....
  2. Seleccione o NSF existente que pretende associar ao projecto no disco, bem como a direcção da operação de sincronização inicial.
Resultados

Exemplo da associação de um NSF existente a um projecto no disco

Este tópico fornece um exemplo da associação de um NSF existente a um projecto no disco.

Imagine que se trata de uma cópia anterior de uma aplicação que um colega lhe enviou por correio electrónico. Desde então, esta aplicação foi publicada no controlo de origem e foi solicitada ajuda ao utilizador. Neste caso, o utilizador terá de obter a versão "real" para substituir pela versão que recebeu por correio electrónico.

Este procedimento é o mesmo descrito no tópico Associar um projecto no disco a um NSF existente mas a acção de associação é efectuada a partir do NSF e as opções são os projectos no disco. O projecto no disco associado ao NSF será o mesmo utilizado para as operações do controlo de origem. Para obter os passos necessários para executar este procedimento, consulte o tópico Associar o NSF a um projecto no disco existente.

Resolver um conflito de sincronização de ficheiros

Este tópico descreve como resolver um conflito de sincronização de ficheiros com a função de controlo de origem.

Sobre esta tarefa

Ao trabalhar com ficheiros no controlo de origem, poderá obter erros de conflito de sincronização de ficheiros. Neste caso, é apresentada uma mensagem na caixa de diálogo Conflito de sincronização com uma caixa de lista que inclui os ficheiros em conflito. Pode seleccionar um ou mais ficheiros e optar por comparar as várias versões do ficheiro. Após ter determinado qual é o correcto, poderá seleccionar a versão a utilizar.

A caixa de diálogo Conflito de sincronização apresenta uma vista com 3 colunas: nome do ficheiro, data da última modificação (NSF) e data da última modificação (no disco). Um botão Comparar permite apresentar uma caixa de diálogo para visualizar as versões de DXL das versões NSF e no disco de um elemento, lado a lado, com as diferenças realçadas.

Os seguintes passos são utilizados num exemplo onde existem conflitos em 2 ficheiros. Neste caso, ocorreu um conflito de sincronização entre o projecto NSF e o projecto no disco, pelo que os 2 ficheiros são apresentados no painel Conflito de sincronização.

Procedimento
  1. Caso o pretenda, seleccione um ficheiro e faça clique no botão Comparar. Esta acção abre a caixa de diálogo Comparar, que apresenta o conteúdo de cada ficheiro com as diferenças realçadas.
  2. Decida qual a versão do ficheiro que pretende utilizar e prima o botão Utilizar versão NSF ou Utilizar versão do projecto no disco. A opção Utilizar versão NSF substitui a versão no disco e a opção Utilizar versão do projecto no disco substitui a versão NSF. Pode efectuar cada uma destas operações em separado.
  3. Se fizer clique no botão Fechar sem especificar quaisquer ficheiros, estes ficheiros serão novamente apresentados na lista quando o conflito de sincronização for novamente accionada.
Resultados

Sincronizar manualmente o projecto NSF e o projecto do controlo de origem local

Este tópico descreve como sincronizar manualmente o projecto NSF e um projecto do controlo de origem local.

Sobre esta tarefa

Poderá pretender sincronizar manualmente um projecto NSF e um projecto no disco do controlo de origem local. Por exemplo, pode pretender efectuar esta sincronização, caso exista um problema ou caso tenha desactivado a sincronização automática no painel Preferências.

Para tal, seleccione Desenvolvimento da equipa-Sincronizar com projecto no disco no menu contextual ou no menu principal.

Remover associações no controlo de origem

Este tópico descreve como remover associações do projecto/NSF no controlo de origem.

Sobre esta tarefa

Poderá pretender remover a associação criada entre um projecto NSF e um projecto no disco de controlo de origem local.

Execute esta acção, seleccionando Desenvolvimento da equipa-Remover associação do controlo de origem no menu contextual ou no menu principal.

Desenhar aplicações de XPages

O IBM Domino Designer fornece os meios necessários para preencher uma XPage com controlos e outros artefactos, bem como para associar uma XPage a origens de dados.

Para uma navegação geral, tal como a criação e abertura de XPages, consulte o tópico Navegação no Domino Designer.

O Designer fornece as seguintes opções para trabalhar com XPages:

  • Faça clique no separador Desenho para trabalhar no modo visual.
  • Faça clique no separador Origem para editar o XML directamente.

Esta documentação refere-se aos seguintes produtos: IBM Domino, IBM Domino Designer, IBM Notes, IBM iNotes e IBM Notes Traveler.

Pré-visualizar e executar XPages

As XPages são executadas em ambientes do servidor do Domino e do cliente do Notes. A partir do Domino Designer, é possível pré-visualizar XPages em ambos os ambientes.

Uma XPage existente numa aplicação num servidor do Domino pode ser acedida do seguinte modo:
  • A partir de um navegador, através de um URL do formato http://server/application.nsf/xpage.xsp.
  • A partir de um cliente do Notes, através de um URL do formato notes://server/application.nsf/xpage.xsp.

Uma XPage existente numa aplicação num cliente do Notes pode ser acedida a partir desse cliente, através de um URL do formato notes:///application.nsf/xpage.xsp?OpenXPage.

Para além disso, pode configurar a aplicação para abrir uma XPage aquando do início.

Pré-visualizar uma XPage

É possível pré-visualizar uma XPage num servidor do Domino ou num ambiente de cliente do Notes.

Antes de começar

Para uma pré-visualização da Web, tem de ajustar primeiro a lista de controlo de acessos (LCA) da aplicação. Faça clique com o botão direito do rato na aplicação no navegador e seleccione Aplicação > Controlo de acessos. Adicione uma entrada para Anónimo e defina um nível de acesso adequado (pelo menos Autor com a capacidade de criar documentos).
Nota: Certifique-se também de que a tarefa de HTTP se encontra em execução no servidor do Domino, de modo a executar uma pré-visualização da Web com êxito.

Procedimento

  1. Faça clique com o botão direito do rato numa XPage e seleccione Pré-visualizar no Notes ou Pré-visualizar no navegador da Web. Em alternativa, com o foco numa XPage, pode fazer clique em Concepção > Pré-visualizar no Notes ou em Concepção > Pré-visualizar no navegador da Web no menu.

    Em alternativa, com o foco numa XPage, pode fazer clique no ícone Pré-visualizar no Notes ou Pré-visualizar no navegador da Web na barra de ferramentas.

  2. Para Pré-visualizar no navegador da Web, seleccione o tipo de navegador.

Resultados

Uma pré-visualização do Notes inicia o cliente do Notes, caso seja necessário, e abre a XPage no cliente. O cliente processa os pedidos da XPage.

Uma pré-visualização da Web inicia um servidor de pré-visualização local do Domino e, em seguida, abre a XPage num navegador. O servidor de pré-visualização local processa os pedidos da XPage.

A pré-visualização de uma XPage na Web poderá diferir da execução de uma XPage no contexto da aplicação completa. Os resultados podem também depender do facto de estar a pré-visualizar uma aplicação local ou remota. A pré-visualização de uma aplicação local utiliza sempre Anónimo para o controlo de acesso e o servidor de pré-visualização local não contém determinadas funções avançadas de um servidor de produção. No entanto, os scripts são executados e os documentos são criados, assinados como Anónimos para pré-visualizações locais e com o ID actual para pré-visualizações num servidor, facultando uma visualização bastante realista da aplicação.

Abrir uma XPage aquando do início da aplicação

É possível abrir uma XPage aquando do início da aplicação.

Procedimento

  1. Faça duplo clique ou, em alternativa, abra as Propriedades da aplicação a partir do Navegador de aplicações. A página de propriedades da aplicação é aberta.
  2. Faça clique no separador Iniciar.
  3. No cliente do Notes, seleccione Abrir XPage designada (Cliente padrão) e seleccione uma XPage.
  4. Para o navegador da Web, seleccione Abrir XPage designada e seleccione uma XPage. Em alternativa, se pretender abrir a mesma XPage que abre para o Notes, seleccione Utiliza opção de início do Notes.
  5. Guarde as propriedades da aplicação.

Resultados

Quando o utilizador inicia a aplicação, a XPage é imediatamente aberta.

Um utilizador de navegador da Web pode iniciar uma XPage aplicando o respectivo URL, por exemplo, http://server/application.nsf/xpage.xsp.

Abrir outra XPage

A partir de uma XPage, os utilizadores pode abrir outras XPages através das regras de navegação, uma acção simples, métodos XSPContext e a abertura do URL.

Regras de navegação

Cada XPage tem uma propriedade navigationRules que corresponde a uma matriz dos elementos navigationRule. Uma regra de navegação indica ao servidor qual a página que deverá ser devolvida ao cliente após o processamento de uma página submetida através de um botão do tipo Submeter ou Cancelar. Consulte o tópico button - Botão. Cada regra de navegação tem os seguintes atributos:
atributo valor
outcome xsp-success se a actualização for normal
  xsp-failure se a actualização falhar
redirect true significa que o último estado da página é restaurado
  false (predefinição) significa que uma página limpa é aberta
viewId <no rule> significa que a mesma página é aberta
  $$PreviousPage significa que a última página aberta antes da página submetida é aberta
  $$HomePage significa que a página de início é aberta
  page.xsp significa que uma página especificada é aberta
Em seguida, encontra-se um exemplo:
<xp:this.navigationRules>
	<xp:navigationRule
		outcome="xsp-success" viewId="$$PreviousPage">
	</xp:navigationRule>
	<xp:navigationRule
		outcome="xsp-failure" viewId="/errpage.xsp">
	</xp:navigationRule>
</xp:this.navigationRules>

No modo de desenho, faça clique fora de todos os controlos, faça clique no separador XPage e procure as opções da Página seguinte.

Acção simples openPage

A acção simples Abrir página abre uma página imediatamente após a activação. Em seguida, encontra-se um exemplo:
<xp:button value="Open page 2" id="button4">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
		<xp:this.action>
			<xp:openPage name="/xpage2.xsp"></xp:openPage>
		</xp:this.action>
	</xp:eventHandler>
</xp:button>

Métodos XSPContext para redireccionamento

Os métodos redirectToPage, redirectToPrevious e redirectToHome abrem uma página imediatamente após a activação. Em seguida, encontra-se um exemplo:
<xp:button value="Open page 2" id="button4">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="complete">
		<xp:this.action>
			<![CDATA[#{javascript:context.redirectToPage("xpage2.xsp")}]]>
		</xp:this.action>
	</xp:eventHandler>
</xp:button>

Abrir o URL

É possível abrir uma página enviando o respectivo URL para o servidor. Por exemplo, poderá especificar o seguinte na janela de endereço de um navegador:
http://myserver/foo.nsf/xpage1.xsp

Num elemento de desenho não XPage, pode utilizar @URLOpen numa fórmula. A seguinte fórmula destina-se a uma acção de formulário e abre uma XPage localmente no cliente do Notes:

@URLOpen("notes:///foo.nsf/xpage1.xsp?OpenXpage")

Abrir uma XPage em vez de uma vista

Apenas para acesso Web, pode abrir uma XPage em vez de uma vista.

Procedimento

  1. Faça duplo clique ou, em alternativa, abra uma vista a partir do Navegador de aplicações.
  2. Abra as propriedades da vista e faça clique no separador Avançadas.
  3. Para Acesso à Web > Apresentar XPage em alternativa, seleccione uma XPage.
  4. Guarde a vista.

Resultados

Quando o utilizador selecciona a vista, é apresentada a XPage.

Assinar XPages

As XPages são assinadas com o ID do utilizador actual do Domino Designer após guardar o elemento de desenho das XPages e/ou ao gerar os respectivos ficheiros de implementação (ou seja, classe).

Sobre esta tarefa

Assinar uma XPage determina se o carregamento será durante o tempo de execução e, por conseguinte, se pode ser executada com ou sem restrições nos respectivos métodos e operações. Executar com restrições exclui determinadas funções, como o ficheiro ou a rede I/O, o que representa a abordagem mais comum. A execução sem restrições permite que todas as funções suportadas dos idiomas de implementação de uma XPage sejam utilizadas (consulte o tópico "Operações restritas do agente de LotusScript e de Java" no Guia Básico do Utilizador e Manual de Consulta Rápida do Domino > Desenho de aplicação > Adicionar automatização a aplicações).

Como direitos de acesso ao servidor, os direitos para executar métodos restritos/não-restritos são atribuídos a assinantes ou grupos específicos na secção Restrições de programação do separador Segurança de documentos do servidor (consulte o tópico "Controlar agentes e XPages executados num servidor" na Ajuda do Domino Administrator > Segurança > Acesso ao servidor para utilizadores do Notes, utilizadores da Internet e servidores do Domino > Personalizar acesso a um servidor do Domino).

Quando uma XPage é invocada (tal como os Agentes), o Domino procura no documento do servidor direitos de segurança do servidor do assinante da XPage, para além de verificar os direitos de acesso do utilizador da Web autenticado. Para componentes do XPage (por exemplo, XPages incluídas, controlos personalizados, extensões JSF ou bibliotecas de JavaScript do servidor), o Domino verifica os direitos de acesso ao servidor do assinante de cada componente e, se indicado, desactualiza a sessão da XPage para executar apenas com restrições (se estiver definido para Domino, a variável NoExternalApps notes.ini tem o mesmo efeito). Em tempo de execução, as assinaturas para os utilizadores de DDE sem quaisquer direitos de servidor de assinar XPages geram e enviam erros HTTP 403 ao navegador.

Utilizar XPages no cliente do Notes

É possível executar aplicações de XPages no rich client do IBM Notes.

A principal vantagem do suporte para XPages no cliente do Notes consiste no facto de ser possível replicar localmente uma aplicação desenvolvida para a Web, bem como executar a mesma offline no cliente do Notes, sem que seja necessário desenvolver novamente a aplicação para o cliente. Todas as vantagens do modelo de desenvolvimento de aplicações das XPages poderão deste modo ser expandidas para o cliente do Notes. Estas aplicações são apresentadas no navegador incorporado e, na sua grande maioria, têm um aspecto e comportamento igual ao das aplicações da Web, contudo, têm determinados comportamentos diferentes no cliente do Notes.

  • É possível criar uma lógica específica para o cliente do Notes que afecta o modo como a aplicação é apresentada no Notes. Por exemplo, na aplicação Debate, a composição da Web inclui uma mensagem "Bem-vindo (nome do utilizador)" seguida de uma ligação "O meu perfil" no canto da página. A mensagem de boas-vindas não é apresentada no cliente do Notes, uma vez que a lógica na aplicação Debate remove a mesma. Pode também modificar as propriedades de uma aplicação das XPages, de modo a especificar temas diferentes a utilizar quando a aplicação é executada no cliente do Notes ou num navegador.
  • Os utilizadores das aplicações em execução no cliente do Notes podem utilizar Ficheiro > Guardar para manter as modificações efectuadas às XPages. A propriedade enableModifiedFlag permite activar esta opção de menu e solicitar que o utilizador guarde as alterações quando uma XPage tiver sido alterada.
  • Quando um utilizador é autenticado no cliente do Notes, são utilizadas as mesmas credenciais para aceder a qualquer aplicação ou componente das XPages. Por conseguinte, o utilizador não recebe um pedido de informação com uma caixa de diálogo de início de sessão da Web, tal como ocorreria com uma aplicação da Web tradicional em execução no navegador incorporado.
  • Para impedir que o código dos elementos de desenho das XPages (conteúdo activo) execute operações protegidas, tais como ler e escrever em ficheiros da estação de trabalho ou ler e escrever propriedades do sistema, as XPages utilizam a Lista de controlo de execução (LCE) para gerir o acesso e as capacidades que o utilizador concedeu ao assinante do código que está a tentar executar a operação protegida.
  • É possível atribuir marcadores a páginas no cliente do Notes.

Para além da criação de XPages como aplicações autónomas, pode também criar componentes das XPages no Domino Designer, que podem ser executados nas aplicações compostas e que suportam o modelo de evento receber/publicar e parâmetros de componentes. Os componentes das XPages poderão então interagir com outros componentes no cliente, tal como o componente PIM.

Tenha também em atenção que as aplicações das XPages podem residir num servidor do Domino. Se definir a opção de início "Ao abrir no cliente do Notes"como "Abrir XPage designada (Cliente padrão)", a XPage correspondente será apresentada no cliente, independentemente de a aplicação residir no servidor do Domino ou localmente, no cliente do Notes. O comportamento da XPage no cliente será exactamente igual.

Utilizar a barra de ferramentas do XPages

As aplicações de XPages no cliente do Notes têm a sua própria barra de ferramentas, que é visível sempre que uma XPage tiver o foco no navegador incorporado.

Sobre esta tarefa
A barra de ferramentas inclui grupos de botões diferentes.
  • Os botões de navegação permitem avançar e retroceder entre as páginas, parar a acção actual, actualizar a página actual e regressar à página original. O botão de actualização também oferece uma opção Limpar dados particulares. A execução desta acção limpa a cache do navegador incorporado.
  • O botão Imprimir permite configurar as XPages para impressão, bem como imprimir as mesmas.
  • Se o Domino Designer estiver instalado, pode fazer clique no botão Ver origem da página para visualizar a origem de HTML ou fazer clique no botão Ver configuração do navegador para visualizar as definições do navegador incorporado.

Segurança de XPages

A segurança é fornecida para as aplicações das XPages.

Uma aplicação de XPages em execução no cliente do IBM Notes pode incluir vários elementos de desenho que contêm código (normalmente, designados "conteúdo activo") que pode ser executado na estação de trabalho do utilizador, como por exemplo, o acesso a uma base de dados ou JavaScript com o código Java incorporado. Para impedir que o conteúdo activo execute operações protegidas, tais como ler e escrever em ficheiros da estação de trabalho, ler e escrever propriedades do sistema e operações de rede, as XPages utilizam a Lista de controlo de execução (LCE) para gerir o acesso e as capacidades que o utilizador concedeu ao assinante do código que está a tentar executar a operação protegida.

A LCE determina se o assinante do código está autorizado a executar código numa determinada estação de trabalho e a definir o acesso do código a várias funções da estação de trabalho, tais como o acesso à base de dados actual ou a outras bases de dados. Os exemplos de conteúdo activo numa aplicação das XPages incluem código Java incorporado em JavaScript (do lado do servidor), bibliotecas de scripts do lado do servidor e classes de Java e JARs importados para a base de dados.

Todos os elementos de desenho numa aplicação das XPages têm a assinatura do respectivo criador. Tenha em atenção que, se existir mais do que um assinante de uma aplicação das XPages, todos os assinantes têm de ser considerados fidedignos pelo utilizador para que a operação protegida seja executada.

As opções de acesso de segurança da LCE para as aplicações das XPages são definidas no separador Utilizar estação de trabalho em O que as outras pessoas fazem da caixa de diálogo Segurança do utilizador (Ficheiro > Segurança > Segurança do utilizador).

Segurança com filtragem de conteúdo activo

A função de segurança Filtragem de conteúdo activo (FCA) também protege contra código malicioso a ser introduzido no controlo de entrada de uma XPage aquando da execução.

A filtragem de conteúdo activo é utilizada para remover conteúdo activo possivelmente malicioso (scripts, etiquetas) num controlo de texto de entrada/saída. Um motor de FCA actua como uma biblioteca para executar a filtragem em tempo de execução. Se colocar o foco em determinados controlos de XPages (caixa de edição, caixa de edição multilinha, rich text, entrada oculta), poderá visualizar duas propriedades htmlFilter e htmlFilterIn no separador Todas as propriedades em informações básicas.

A propriedade htmlFilter define o motor de FCA para que seja utilizado quando o controlo envia dados ao cliente e a propriedade htmlFilterIn define o motor para que seja utilizado quando o controlo recebe texto do cliente. Pode alterar estas duas propriedades para activar ou desactivar a FCA de um campo de texto.

Existem quatro motores de FCA disponíveis para XPages:
  • acf
  • striptags
  • identity
  • empty

O motor “acf” analisa o texto HTML e exclui as construções que não sejam seguras, com base num ficheiro de configuração (acf-config.xml). O motor “striptags” remove todas as etiquetas utilizando uma expressão global 'replaceAll("\\<.*?>","")'. O filtro "identity" devolve a cadeia original. O motor “empty” remove tudo e devolve uma cadeia vazia.

O motor “acf” pode ser configurado através de um ficheiro de configuração. No caso do lado do cliente, este ficheiro está geralmente localizado em C:\Program Files\IBM\Lotus\Notes\Data\properties. Por exemplo, acf-config.xml.sample, está localizado nesta pasta.

Para configurar a FCA, é necessário localizar primeiro o ficheiro xsp.properties na mesma pasta e adicionar a seguinte linha: xsp.htmlfilter.acf.config=acf-config.xml. Esta linha indica que o ficheiro acf-config.xml será utilizado para configurar o motor “acf” (caso contrário, são utilizadas as regras predefinidas). Em seguida, é apresentado um exemplo do conteúdo do ficheiro acf-config.xml:
<?xml version="1.0"?>
<config>
       <filter-chain>
          <filter name='base' class='com.ibm.trl.acf.impl.html.basefilter.BaseFilter'
                  verbose-output='false' use-annotation='false' />
       </filter-chain>

			<filter-rule id='base'>
           <target scope=''>
             <!-- C14N rules -->
             <rule c14n='true' all='true' />

              <!-- Base rules -->
             <rule attribute='on' attribute-criterion='starts-with'
                 action='remove-attribute-value' />
             <rule attribute='${' attribute-criterion='starts-with'
                 action='remove-attribute-value' />
             <rule attribute='href' value='javascript:' value-criterion='contains'
                  action='remove-attribute-value' />
             <rule attribute='style' action='remove-attribute-value' />

              <rule tag='script' action='remove-tag' />
              <rule tag='style' action='remove-tag' />
              <rule tag='link' attribute='rel' value='stylesheet'
                   value-criterion='contains' action='remove-tag' />
            </target>
        </filter-rule>
</config>
No exemplo anterior:
  • <rule attribute='on' attribute-criterion='starts-with' action='remove-attribute-value' /> remove os atributos que começam por "on."
  • <rule attribute='href' value='javascript:' value-criterion='contains' action='remove-attribute-value' /> remove todos os atributos 'href' cujo valor contenha uma palavra-chave 'javascript:'.
  • <rule tag='style' action='remove-tag' /> remove todos os controlos "script".
  • <rule tag='link' attribute='rel' value='stylesheet' value-criterion='contains' action='remove-tag' /> remove os controlos "link" dos quais o valor do atributo "rel" corresponde a "stylesheet".

Para obter mais informações sobre a Lista de controlo de execução, consulte a ajuda do Domino Administrator.

Solicitar aos utilizadores que guardem as alterações das XPages

É possível controlar o modo como uma aplicação das XPages efectua uma solicitação ao utilizador, quando este requer uma acção que fecha uma página com campos modificados.

Sobre esta tarefa
Quando uma XPage ou um controlo personalizado contém controlos editáveis, pode definir duas propriedades para especificar o modo como a aplicação efectua uma solicitação ao utilizador relativamente aos controlos modificados. Estas propriedades existem em dois níveis, o nível das XPages ou dos controlos personalizados e o nível do controlo principal.
  • Nível 1: XPage ou controlo personalizado
    • enableModifiedFlag (booleano - o valor implícito predefinido é false) – Especifica se deverá ser efectuada uma solicitação ao utilizador para guardar as alterações aos controlos principais na XPage ou no controlo personalizado e se deverá ser activada a opção Ficheiro > Guardar do cliente do Notes quando a XPage ou o controlo tiver sido modificado no cliente do Notes. Não é possível às aplicações executadas num navegador externo utilizarem o mecanismo Ficheiro > Guardar do Notes e, por conseguinte, é apenas apresentada ao utilizador a caixa de diálogo de solicitação.
    • modifiedMessage (cadeia) – Uma mensagem personalizada a apresentar na caixa de diálogo de solicitação
  • Nível 2: Controlo principal
    • disableModifiedFlag (booleano - o valor implícito predefinido é true) – Especifica se deverá ser efectuada uma solicitação ao utilizador para guardar as alterações ao controlo principal
A propriedade enableModifiedFlag têm precedência absoluta ao activar ou desactivar as notificações de modificação para uma determinada XPage ou Controlo personalizado. Se definir este valor de propriedade como true, o utilizador será notificado relativamente às alterações efectuadas a todos os Controlos principais suportados na XPage ou no Controlo personalizado, excepto se definir explicitamente o valor de propriedade disableModifiedFlag do Controlo principal como true. Se não definir o enableModifiedFlag para uma XPage ou Controlo personalizado, ou se definir explicitamente o valor como false, e se definir um ou mais valores de propriedade disableModifiedFlag do Controlo principal como false, o utilizador não será notificado sobre alterações, uma vez que a propriedade enableModifiedFlag tem precedência.
Os seguintes Controlos principais suportam esta função:
  • Caixa de edição
  • Caixa de edição multilinha
  • Caixa de lista
  • Caixa de combinação
  • Caixa de verificação
  • Botão de opção
  • Transferência de ficheiros
  • Selector de data e hora
  • Editor de Rich Text

Se o utilizador optar por não guardar as modificações efectuadas à página actual, é possível executar a acção requerida (tal como fechar a página ou navegar para outra localização num navegador). Se o utilizador optar por guardar as modificações, os campos relacionados são validados antes de a página ser guardada. A validação ocorre primeiro no cliente e, em seguida, no servidor. A validação do lado do servidor apenas pode ocorrer quando a validação do lado do cliente dos campos da página actual for bem sucedida. Se ocorrer uma falha na validação do lado do servidor, a página actual é apresentada ao utilizador, incluindo os campos problemáticos, e é facultada a oportunidade de corrigir o conteúdo do campo. Quando a validação do lado do servidor for bem sucedida, a acção requerida poderá ser executada.

Executar XPages no Notes num servidor de HTTP do Domino

Para um melhor desempenho, as aplicações de XPages baseadas num servidor que são executadas no cliente do Notes podem ser, em alternativa, executadas no servidor de HTTP do Domino.

Por predefinição, as aplicações de XPages baseadas num servidor em execução no cliente do Notes são aí executadas através de uma série de transferências de dados entre o servidor e o cliente, utilizando os protocolos do Notes. Em alternativa, pode designar que essas aplicações sejam executadas no servidor do Domino, utilizando protocolos HTTP.

As funções do Notes têm um comportamento semelhante a quando são executadas no modo nativo das XPages. Por exemplo, os menus contextuais (tais como Ficheiro > Guardar, Ficheiro > Replicação, Ficheiro > Abrir), as gravações incorrectas de documentos, o JavaScript do lado do cliente, etc., têm o mesmo comportamento. Uma excepção consiste no facto de as aplicações compostas não poderem utilizar a funcionalidade Property Broker do cliente quando executadas no servidor.

Requisitos do Designer
No separador Início de Propriedades da aplicação, no qual a opção Abrir XPage designada (Cliente padrão) está aplicada, marque Executar aplicações de XPages baseadas num servidor directamente no servidor do Domino e guarde a aplicação. Esta propriedade também pode ser aplicada no Notes através da caixa de propriedades para uma aplicação.
Em alternativa, pode activar a execução do servidor para todas as aplicações, inserindo a seguinte linha no ficheiro notes.ini do Notes e reiniciando o Notes:
XPagesRunRemoteAppsOnServer=1
Requisitos de tempo de execução do Notes
O cliente do Notes deverá conter uma conta de HTTP para o servidor que contém a aplicação de XPages. Para criar ou visualizar contas do Notes, faça clique em Ficheiro > Preferências > Contas. Para obter a documentação, consulte o tópico "Criar e editar contas a partir das preferências do Notes" na ajuda do Notes.

As contas podem ser configuradas num servidor do Domino e aprovisionadas para clientes do Notes.

Quando uma aplicação de XPages baseada num servidor é iniciada no cliente do Notes, o processador de XPages procura uma conta de HTTP para o servidor que contém a aplicação e carrega a aplicação.

O contexto das contas do Notes e o navegador XULRunner subjacente transmitem automaticamente as credenciais do utilizador para o servidor da Web para autenticação. Se for solicitado ao utilizador o nome e a palavra-passe, significa que a configuração do Notes não está correctamente efectuada, como, por exemplo, o SSO está incorrecto. Pode verificar esta situação de forma independente, introduzindo um URL para a aplicação no mecanismo de endereços do navegador do Notes, na barra de ferramentas do Notes.

Caso não exista qualquer conta de HTTP correspondente, é solicitado ao utilizador que forneça as credenciais, excepto se o acesso anónimo for permitido. No entanto, a existência de uma conta de HTTP poderá ser obrigatória com a seguinte variável do notes.ini:
XPagesRunOnServerRequireAccount=1
Se uma conta correspondente for requerida, mas não for localizada, ou se as informações da conta não forem válidas, é solicitado ao utilizador que feche a janela da aplicação ou que reverta para a execução da aplicação utilizando o contentor da Web do Notes local.
A seguinte variável do notes.ini desactiva XPages em execução no Notes num servidor:
XPagesRunOnServerDisable=1
Contexto do desempenho
As aplicações de XPages executadas no cliente do Notes, mas que residem em servidores remotos do Domino enfrentam desafios de desempenho específicos. Deve-se, principalmente, ao facto de uma grande parte das transacções de rede terem de ser efectuadas ao executar a aplicação de XPages no cliente do Notes. É importante compreender que as aplicações de XPages do Notes são executadas no contentor da Web XPD local do Notes e, por conseguinte, todas as classes de Java do XPages (XPages e controlos personalizados) têm de ser copiadas na rede do servidor remoto para o cliente do Notes a ser executado. De um modo semelhante, todos os recursos de páginas (CSS, JavaScript, GIFs, etc.) têm de ser obtidos a partir do servidor remoto, bem como os dados efectivos. Além disso, se a aplicação de XPages explorar outros artefactos de concepção do Notes (por exemplo, utilizando a função computeWithForm), os elementos de concepção de grande dimensão arbitrários, tais como formulário, subformulários e campos partilhados, também têm de ser obtidos remotamente. Em redes de elevada latência, poderá ter um impacto significativo no desempenho, em particular, se a aplicação tiver sido concebida primordialmente para a Web e não optimizada para o cliente do Notes.

Traduzir uma aplicação das XPages

Ao traduzir as XPages e os Controlos personalizados, não efectue novas cópias para cada idioma, uma vez que o mecanismo de tradução do XPage é diferente do mecanismo dos elementos de desenho não XPages do IBM Notes.

Sobre esta tarefa
No mecanismo de tradução do XPage, o texto traduzível é extraído da XPage para um ficheiro separado através de um processo automático. Poderá então fornecer traduções desse ficheiro noutros idiomas. O XPage decide qual o ficheiro traduzido que irá utilizar, com base no idioma do navegador da Web ou do cliente do Notes.

Para instruções de tradução de XPages, consulte o tópico "XPages: How to use the localization options" no wiki do Domino Designer.

Desenhar XPages de cópia única

Pode armazenar elementos de desenho de XPages numa base de dados e redireccionar outras bases de dados em tempo de execução.

Sobre esta tarefa

As XPages de cópia única melhoram o desempenho, utilizando uma localização para arquivo de objectos e acesso ao navegador. Os elementos de desenho afectados são XPages, controlos personalizados, bibliotecas de JavaScript, folhas de estilos e temas. Para direccionar a base de dados para utilizar um repositório para os respectivos elementos de XPage em tempo de execução:

Procedimento

  1. Na área da janela esquerda, seleccione Propriedades da aplicação.
  2. Na área da janela central superior, seleccione o separador XPages.
  3. Desloque-se até Desempenho.
  4. Seleccione Desenho de XPages de cópia única.
  5. Especifique o nome do NSF que contém os elementos de desenho das XPages. Um nome relativo está relacionado com o directório de dados do Notes.

Resultados

A aplicação que contém os elementos de desenho tem de corresponder a um ficheiro NSF.

Todos os elementos de desenho de XPages têm de estar ou não no repositório. Não é possível substituir ou seleccionar elementos de desenho individualmente.

Não pode alterar a definição de cópia única dinamicamente.

Os elementos partilhados estão restritos aos elementos de XPages enumerados acima. Por exemplo, as vistas e os formulários não são partilhados.

Adicionar controlos

Os controlos são elementos visuais, tais como caixas de edição, botões, imagens e texto, que permitem aos utilizadores manipular dados numa XPage.

Os controlos podem ser dos seguintes tipos: principais, de contentor e outros.

Um nome de etiqueta identifica cada controlo no XML. É apresentado um nome comum na interface do utilizador. Por exemplo, o nome da etiqueta para uma caixa de edição é inputText, enquanto o nome comum é Caixa de edição. Os tópicos de referência que se seguem identificam os controlos por nome de etiqueta e nome comum.

Por predefinição, a paleta Controlos e o menu Criar apresentam os controlos principais e de contentor. Seleccione Outros para aceder a todos os controlos. Pode ajustar a apresentação dos controlos em Ficheiro > Preferências > Domino Designer > Paleta.

Manipular controlos e texto

Pode adicionar controlos e texto a uma XPage utilizando o editor Desenho ou Origem. A paleta Controlos faculta uma origem para os controlos.

A paleta Controlos é apresentada fora do editor. Se não for apresentada, faça clique em Janela > Mostrar vistas do Eclipse > Controlos.

Pode arrastar um controlo da paleta para o editor (ambos os editores Desenho e Origem). Em alternativa, pode posicionar o cursor no editor e, em seguida, fazer duplo clique no controlo na paleta. Também pode utilizar as opções Criar > Controlos principais ou Criar > Controlos de contentor do menu.

Pode mover, redimensionar, cortar, copiar, colar e eliminar controlos do modo habitual.

Pode adicionar texto e mudanças de linha a uma XPage.

Ao posicionar o cursor num controlo no editor Desenho, as respectivas propriedades ficam disponíveis. Ao posicionar o cursor fora de todos os controlos, as propriedades da XPage ficam disponíveis.

Pode ainda efectuar algumas manipulações de XPage a partir da vista Destaque.

Definir propriedades

As propriedades definem XPages e controlos.

As propriedades são apresentadas numa janela do editor. As propriedades apresentadas destinam-se ao controlo com o foco no editor ou à XPage, se o foco se encontrar fora de todos os controlos.

Seleccione Todas as propriedades no separador Propriedades para aceder a uma lista categorizada de todas as propriedades para um controlo ou XPage. Aqui, as propriedades são identificadas pelos respectivos nomes canónicos de etiquetas. Efectue outras selecções nos separadores Propriedades e Eventos para aceder aos subconjuntos das propriedades com uma interface do utilizador personalizada. Aqui, as propriedades são acedidas através dos nomes descritivos.

Atribua valores às propriedades do seguinte modo:
  • Os valores estáticos são seleccionados a partir de uma lista ou introduzidos.
  • Os valores dinâmicos são especificados com scripts que devolvem um valor. Um diamante junto à propriedade abre o editor de scripts.
  • Os eventos são especificados com scripts do lado do servidor e do lado do cliente e acções simples. É aconselhável especificar scripts e acções simples no separador Eventos.
Na origem de XML, as propriedades são apresentadas como atributos e conteúdo para o elemento de controlo. Por exemplo, em seguida, é apresentado um controlo inputText (Caixa de edição) com as propriedades id e value definidas como atributos:
<xp:inputText id="inputText1"
value="#{document1.subject}"></xp:inputText>
Aqui, a propriedade value é definida como conteúdo para a definição de controlo:
<xp:inputText id="inputText1">
	<xp:this.value>
		<![CDATA[#{javascript:return document1.getItemValueString("subject")}]]>
	</xp:this.value>
</xp:inputText>
As propriedades dinâmicas são processadas do seguinte modo. Utilize os botões de opção da janela de edição para seleccionar uma das opções.
  • A opção Processar de forma dinâmica calcula novamente a fórmula sempre que a XPage é actualizada. Estas fórmulas são apresentadas na origem precedidas por um símbolo de cardinal. Por exemplo, #{javascript:var dc = database.getAllDocuments(); "Count = " + dc.getDocumentCount();}.
  • A opção Processar durante o carregamento da página calcula a fórmula uma vez quando a XPage é carregada pela primeira vez. Estas fórmulas são apresentadas na origem precedidas por um símbolo de dólar. Por exemplo, ${javascript:var dc = database.getAllDocuments(); "Count = " + dc.getDocumentCount();}.

Compreender eventos

Os eventos são acções que um utilizador pode executar, como, por exemplo fazer clique num botão ou remover o foco de uma caixa de edição. Os processadores de eventos são acções que o programador pode executar em resposta a eventos.

Um processador de eventos faz parte de um controlo ou da XPage.

Um processador de eventos pode ser um script, uma acção simples ou um grupo de acções simples. Para um evento, podem ser especificados processadores para serem executados no cliente, no servidor ou em ambos. Um processador do cliente pode parar execuções adicionais do processador do cliente e cancelar a execução de um processador do servidor, devolvendo false.

Se estiver a trabalhar no modo de desenho, coloque o foco no controlo ou página apropriada, faça clique no separador Eventos e seleccione o evento pretendido. Em seguida, pode especificar o processador de eventos.

Os eventos são considerados propriedades e são apresentados em Todas as propriedades, em Propriedades. No entanto, as melhores práticas consistem em não criar nem modificar um evento de Todas as propriedades. Utilize o separador Eventos ou o XML origem.

Processadores de eventos de servidor

O formato geral de um processador de eventos de servidor no modo de origem é o que se segue. Se estiver no modo de desenho, seleccione o separador Eventos e, em seguida, o separador Servidor.
<xp:eventHandler event="name" submit="true|false"
	refreshMode="complete|partial|norefresh" refreshId="id"
	immediate="true|false"	execMode="partial|full">
	<xp:this.action>
		<![CDATA[#{javascript:textOfScript}]]> <!-- script -->
		<xp:actionName arguments</xp:actionName> <!-- or simple action -->
		<xp:actionGroup condition="#{javascript:textOfScript}"> <!-- or simple action group -->
			actions and embedded groups
		</xp:actionGroup>
	</xp:this.action>
	<xp:this.parameters>
		<xp:this.parameter name="name" value"value"</xp:this.parameter> ...
	</xp:this.parameters>
</xp:eventHandler>
Em que:
  • event especifica o nome do evento, como, por exemplo, onblur ou onclick. Se estiver a trabalhar no separador Eventos, seleccione o evento apropriado.
  • submit="true" provoca o envio de um pedido ao servidor quando o utilizador activa o evento. Qualquer outro valor utilizado para submit desactiva o evento. Se estiver a trabalhar no separador Eventos, faça clique em Sem submissão para remover o evento.
  • refreshMode corresponde a um dos seguintes:
    • complete recarrega a totalidade da página para o cliente após o processamento do pedido por parte do servidor. Se estiver a trabalhar no separador Eventos, faça clique em Actualização completa.
    • partial recarrega uma parte seleccionada da página, utilizando a tecnologia Asynchronous JavaScript e XML (AJAX). Se estiver a trabalhar no separador Eventos, faça clique em Actualização parcial.
    • norefresh não recarrega a página. Se estiver a trabalhar no separador Eventos, faça clique em Não actualizar.
  • refreshId aplica-se apenas a refreshMode="partial" e especifica o controlo a actualizar. Se estiver a trabalhar no separador Eventos, faça clique em Seleccionar elemento.
  • immediate="true" suprime a validação de dados no servidor. Para processamento de dados, omita este atributo ou especifique um valor diferente de true. Se estiver a trabalhar no separador Eventos, faça clique em Não validar nem actualizar dados.
  • execMode="partial" especifica uma actualização parcial quando um fragmento de código é executado. Para uma actualização completa, omita este atributo ou especifique um valor diferente de partial. Se estiver a trabalhar no separador Eventos, faça clique em Definir modo de execução parcial.
  • action especifica um dos seguintes elementos:
    • o script, em que textOfScript corresponde ao código. Se estiver a trabalhar no separador Eventos, faça clique em Editor de scripts. Introduza o script na janela de script ou abra uma caixa de diálogo de script.
    • o nome de uma acção simples e os respectivos argumentos. Se estiver a trabalhar no separador Eventos, faça clique em Acções simples. Utilize os vários botões e listas para criar e editar acções simples.
    • actionGroup, que pode conter acções simples e outros grupos de acções. A condição é opcional. É possível especificar vários grupos.
  • parameters especifica os nomes e valores de quaisquer parâmetros de eventos. Se estiver a trabalhar no separador Eventos, faça clique em Editar parâmetros de eventos.

Processadores de eventos de cliente

O formato geral de um processador de eventos correspondente a um script de cliente é o que se segue. Se estiver no modo de desenho, seleccione o separador Eventos e, em seguida, o separador Cliente.
<xp:eventHandler event="name" submit="false"
	<xp:this.script>
		<![CDATA[[textOfScript]]> <!-- script -->
		<xp:actionName arguments</xp:actionName> <!-- or simple action -->
		<xp:scriptGroup conditionScript="textOfScript"> <!-- or simple action group -->
			actions and embedded groups
		</xp:scriptGroup>
	</xp:this.script>
</xp:eventHandler>
Em que:
  • event especifica o nome do evento, como, por exemplo, onblur ou onclick. Se estiver a trabalhar no separador Eventos, seleccione o evento apropriado.
  • submit="false" significa que não é enviado qualquer pedido ao servidor quando o utilizador activa o evento. Esta propriedade é requerida para um script de cliente.
  • script especifica um dos seguintes elementos:
    • o script, em que textOfScript corresponde ao código. Se estiver a trabalhar no separador Eventos, faça clique em Editor de scripts. Introduza o script na janela de script ou abra uma caixa de diálogo de script.
    • o nome de uma acção simples e os respectivos argumentos. Se estiver a trabalhar no separador Eventos, faça clique em Acções simples. Utilize os vários botões e listas para criar e editar acções simples.
    • scriptGroup, que pode conter acções simples e outros grupos de acções. A condição é opcional. É possível especificar vários grupos.

Submeter e cancelar processadores de eventos

Um botão do tipo Submit gera um processador de eventos no seguinte formato:
<xp:eventHandler event="onclick" submit="true"
	refreshMode="complete" immediate="false" save="true">
</xp:eventHandler>
Um botão do tipo Cancel gera um processador de eventos no seguinte formato:
<xp:eventHandler event="onclick" submit="true"
	refreshMode="complete" immediate="true" save="false">
</xp:eventHandler>
Tenha em atenção que save="true" para botões Submit e save="false" para botões Cancel.

Combinar os processadores de eventos do lado do servidor e do lado do cliente

O código de JavaScript do lado do cliente pode activar um processador de eventos do lado do servidor. O primeiro parâmetro tem de corresponder a um caminho completamente qualificado para o processador de eventos, em vez de apenas ao ID do processador de eventos do lado do servidor. Assim, permite igualmente a invocação de processadores de eventos incorporados em controlos personalizados. Pode adquirir o ID do lado do servidor do processador de eventos e transmitir o mesmo pelo script de cliente, tal como qualquer outro controlo (por exemplo, utilizando # {id:eventhanderId} ou a função de SSJS getClientId()).

O processador de eventos será executado no contexto que especificar. Por exemplo, a especificação de um processador de eventos com um ID view:_id1:repeatCtrl:0:_id33:eventhandler1 iria resultar na execução em relação ao primeiro item em xp:repeat com um ID repeatCtrl, enquanto que view:_id1:repeatCtrl:1:_id33:eventhandler1 iria resultar na execução em relação ao segundo item.

O tratamento de eventos do lado do cliente é activado com um botão ou outro elemento da interface do utilizador e transmite informações ao servidor a ser processado pelo tratamento de eventos do lado do servidor. Se estiver no modo de desenho, seleccione o separador Eventos e, em seguida, o separador Cliente.
<button dojoType="dijit.form.Button" type="button"
	onClick="XSP.executeOnServer('# {id:eventhandler1a}', '# {id:panel1}')">
	Click To Trigger Server Event Handler
</button>

<xp:eventHandler event="name" id="eventhandler1a">
	<xp:this.action>
		<xp:saveDocument />
	</xp:this.action>
</xp:eventHandler>
Se estiver no modo de desenho, seleccione o separador Eventos e, em seguida, o separador Servidor.
XSP.executeOnServer = function () {
	// the event handler id to be executed is the first argument, and is required
	if (!arguments[0])
		return false;
	var functionName = arguments[0];

	// OPTIONAL - The Client Side ID that is partially refreshed after executing the event handler
	var refreshId = (arguments[1]) ? arguments[1] : "@none";
	var form = (arguments[1]) ? this.findForm(arguments[1]) : dojo.query('form')[0];
       
	// catch all in case dojo element has moved object outside of form...
	if (!form)
		form = dojo.query('form')[0];

	// OPTIONAL - Options object containing onStart, onComplete and onError functions for the call to the
	// handler and subsequent partial refresh
	var options = (arguments[2]) ? arguments[2] : {};

	// OPTIONAL - Value to submit in $$xspsubmitvalue. can be retrieved using context.getSubmittedValue()
	var submitValue = (arguments[3]) ? arguments[3] : '';

	// Set the ID in $$xspsubmitid of the event handler to execute
	dojo.query('[name="$$xspsubmitid"]')[0].value = functionName;
	dojo.query('[name="$$xspsubmitvalue"]')[0].value = submitValue;
	this._partialRefresh("post", form, refreshId, options);
}	

Compreender aspectos

Um aspecto define uma região num controlo para a colocação de outros controlos.

Um controlo pode ou não compor um aspecto, dependendo do controlo e do conteúdo do aspecto.

Uma aplicação especial de aspectos consiste na colocação de pagers em vistas. Uma aplicação geral de aspectos consiste na colocação de painéis noutros controlos. Segue-se um exemplo de um código-fonte para uma vista. Tenha em atenção que a região facets é apresentada como um atributo do controlo ascendente e contém o outro controlo.
<xp:viewPanel rows="30" id="viewPanel1">
	<xp:this.facets>
		<xp:pager partialRefresh="true" layout="Previous Group Next"
			xp:key="headerPager" id="pager1">
		</xp:pager>
	</xp:this.facets>
	<xp:this.data>
		<xp:dominoView var="view2" viewName="main"></xp:dominoView>
	</xp:this.data>
	<xp:viewColumn columnName="subject" id="viewColumn1">
		<xp:viewColumnHeader value="subject" id="viewColumnHeader1"></xp:viewColumnHeader>
	</xp:viewColumn>
	<xp:viewColumn columnName="fruit" id="viewColumn2">
		<xp:viewColumnHeader value="fruit" id="viewColumnHeader2"></xp:viewColumnHeader>
	</xp:viewColumn>
</xp:viewPanel>

A especificação xp:key corresponde a um artefacto de aspectos e não a uma propriedade do outro controlo. O valor apresentado é apropriado para um pager numa vista. Para um painel, utilize um dos seguintes valores para especificar a localização do outro controlo no ascendente: east, west, south, north, southwest, southeast, northwest e northeast.

O código exemplo que se segue contém um painel que apresenta duas ligações (Inbox e Outbox) e uma imagem. A primeira ligação faculta um evento onclick.
<xp:viewPanel>
	<xp:this.facets>
		<xp:panel xp:key="west">
			<xp:link text="Inbox" >
				<xp:eventHandler event="onclick" submit="true">
					<xp:this.action>
					</xp:this.action>
				</xp:eventHandler>
			</xp:link>
			<xp:br/>
			<xp:link  text="Outbox" />
			<xp:br/>
			<xp:image id="viewPickerImage"
				value="/images/sampleViewPicker.gif" />
		</xp:panel>
	</xp:this.facets>
<xp:viewPanel>

Os aspectos não são visíveis no modo de desenho. Terá de utilizar o modo de origem para criar e modificar directamente os aspectos.

Compreender os mecanismos do Dojo

Os mecanismos do Dojo consistem em declarações de CSS, HTML e código JavaScript pré-embalados que melhoram o aspecto e a utilização de controlos num navegador e no cliente do Notes.

Os mecanismos do Dojo podem ser utilizados nos seguintes controlos: Caixa de edição, Rich Text, Caixa de edição multilinha, Botão, Caixa de verificação, Botão de opção, Selector de data e hora, Amplitude do conteúdo, Painel, Tabela, Div.

No Domino 8.5.3, os ficheiros do Dojo encontram-se em domino\js\dojo-1.5.0\dijit no directório de dados do Notes. No Domino 8.5.2, encontram-se em domino\js\dojo-1.4.1\dijit.

As aplicações devem fazer referência a ficheiros do Dojo através de /.ibmxspres/dojoroot/ que estabelece o mapeamento para a versão suportada.

Para obter mais informações sobre o Dojo, consulte o tópico http://api.dojotoolkit.org.

Tornar os recursos do Dojo disponíveis numa XPage

Os recursos do Dojo têm de estar disponíveis para que possam ser aplicados aos controlos.

Sobre esta tarefa
Para tornar os recursos do Dojo disponíveis numa XPage:
Procedimento
  1. Coloque o foco na própria XPage.
  2. Seleccione Dojo no separador Propriedades.
  3. Defina dojoTheme como true.
  4. Seleccione Recursos no separador Propriedades.
  5. Para cada mecanismo que pretende tornar disponível:
    1. Faça clique em Adicionar e seleccione Módulo Dojo.
    2. Especifique o nome do módulo Dojo, como por exemplo, dijit.form.NumberSpinner.
    3. (Opcional) Especifique uma condição, ou seja, um script que avalia como true ou false.
    4. Faça clique em OK.

Aplicar um mecanismo do Dojo a um controlo

Após a disponibilização dos recursos do Dojo numa XPage, é possível aplicar os mesmos aos controlos.

Sobre esta tarefa
Para aplicar um mecanismo do Dojo a um controlo, tal como uma caixa de edição:
Procedimento
  1. Coloque o foco no controlo.
  2. Seleccione Dojo no separador Propriedades.
  3. Defina o Dojo type para o nome de um recurso do módulo Dojo, por exemplo, dijit.form.NumberSpinner. Em Todas as propriedades, corresponde a dojoType.
  4. Para definir um valor de atributo:
    1. Faça clique no ícone Adicionar.
    2. Especifique o nome do atributo, como por exemplo, value ou smallDelta para dijit.form.NumberSpinner.
    3. Especifique o valor do atributo, como por exemplo, 100 para value ou 5 para smallDelta em dijit.form.NumberSpinner.
    Em Todas as propriedades, corresponde a dojoAttributes.
Resultados
Se guardar e pré-visualizar dijit.form.NumberSpinner aplicado a um controlo Caixa de edição, irá visualizar setas para cima e para baixo (o controlo giratório) na parte lateral da caixa de edição. O valor inicial da caixa de edição corresponde ao atributo value. Ao fazer clique nas setas Para cima e Para baixo, o valor aumenta e diminui, de acordo com o atributo smallDelta.

Referência de controlos

Encontram-se aqui especificados os controlos de XPages.

br - Quebra de linha

Insere uma quebra de linha no texto.

Categoria
Controlos principais
Sintaxe
<xp:br attributes>content</xp:br>
Tabela 1. Todas as propriedades
Categoria Propriedades
acessibilidade title
informações básicas attrs, binding, id, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
estilo disableTheme, style, styleClass, themeId
Utilização

Em tempo de execução, é apresentada uma quebra de linha na página.

Normalmente, este controlo não utiliza propriedades.

Exemplos
Neste exemplo, uma quebra de linha separa dois botões:
<xp:button value="Submit" id="button2">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete"
	immediate="false" save="true"></xp:eventHandler>
</xp:button>
<xp:br></xp:br>
<xp:button value="Cancel" id="button3">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete"
	immediate="true" save="false"></xp:eventHandler>
</xp:button>

button - Botão

Apresenta um botão no qual o utilizador pode fazer clique para executar uma acção.

Categoria
Controlos principais
Sintaxe
<xp:button attributes>content</xp:button>
Tabela 2. Propriedades essenciais
Propriedade Descrição
id A predefinição é button1, button2 e assim sucessivamente.
value Especifica o rótulo do botão.
eventHandler Especifica a acção executada quando o botão é activado. Consulte a secção de utilização.
Utilização
Em tempo de execução, é apresentado um botão na página. O utilizador pode fazer clique no botão.
Os botões podem ser de três tipos:
  • Botão (predefinição) responde a processadores de eventos criados pelo utilizador, por exemplo, para onclick.
  • Submeter guarda dados e fecha a página.
  • Cancelar fecha a página.
Quando uma página é fechada, a página seguinte é determinada pela propriedade navigationRules para a página que corresponde a Página seguinte (êxito ou cancelar) na IU.
Para definir o tipo de botão na IU, faça clique em Botão, em Propriedades, e procure Tipo de botão. A propriedade eventHandler gerada inclui os atributos que se seguem. Se criar a propriedade eventHandler manualmente, siga estas regras.
Botão Submeter Cancelar
event=qualquer event="onclick" event="onclick"
submit=qualquer submit="true" submit="true"
refreshMode=qualquer refreshMode="complete" refreshMode="complete"
immediate=qualquer immediate="false" immediate="true"
save=qualquer save="true" save="false"
action=acção simples ou processador de eventos action=nenhuma action=nenhuma
Exemplos
Este controlo Botão é do tipo Submeter.
<xp:button id="button1" value="Submit">
	<xp:eventHandler event="onclick"
		submit="true" refreshMode="complete" immediate="false" save="true">
	</xp:eventHandler>
</xp:button>
Este controlo Botão é do tipo Cancelar.
<xp:button id="button2" value="Cancel">
	<xp:eventHandler event="onclick"
		submit="true" refreshMode="complete" immediate="true" save="false">
	</xp:eventHandler>
</xp:button>
Este controlo Botão é do tipo Botão e executa a acção simples Guardar dados ao fazer clique no mesmo.
<xp:button id="button1" value="Save and Exit">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
		<xp:this.action>
			<xp:save name="/xpage2.xsp"></xp:save>
		</xp:this.action>
	</xp:eventHandler>
</xp:button>

callback - Área editável

Fornece um controlo personalizado com uma área que pode ser editada quando incorporada numa XPage.

Categoria
Controlos principais
Sintaxe
<xp:callback attributes>content</xp:callback>
Tabela 4. Propriedades essenciais
Propriedade Descrição
id A predefinição é callback1, callback2 e assim sucessivamente.
facetName Identifica a região de aspectos.
Tabela 5. Todas as propriedades
Categoria Propriedades
informações básicas attrs, binding, facetName, id, loaded, rendered, rendererType
estilo disableTheme, themeId
Utilização
Este controlo aplica-se apenas a um controlo personalizado.

Para obter mais informações, consulte o tópico Definir áreas editáveis em controlos personalizados e Definir propriedades gerais para controlos personalizados.

checkBox - Caixa de verificação

Apresenta uma caixa que pode ser seleccionada ou desmarcada.

Categoria
Controlos principais
Sintaxe
<xp:checkBox attributes>content</xp:checkBox>
Tabela 6. Propriedades essenciais
Propriedade Descrição
id A predefinição é checkBox1, checkBox2 e assim sucessivamente.
text Faculta um rótulo.
value Associa o controlo a um elemento de dados ou a outro valor.
checkedValue Especifica o valor de dados quando a caixa é seleccionada. A predefinição é a cadeia true.
uncheckedValue Especifica o valor de dados quando a caixa está desmarcada. A predefinição é a cadeia false.
defaultChecked Especifique true para selecciona a caixa por predefinição.
Utilização
Em tempo de execução, é apresentada uma caixa de verificação na página. O utilizador pode seleccioná-la ou desmarcá-la. É apresentada uma marca de verificação quando a caixa está seleccionada.
Exemplos
Este controlo Caixa de verificação atribui um valor de dados, dependendo do facto de a caixa estar seleccionada (predefinição) ou desmarcada.
<xp:checkBox id="checkBox2" text="Use user name instead of Anonymous"
	defaultChecked="true" value="#{document1.loginname}" uncheckedValue="Anonymous"
	checkedValue="#{javascript:session.getUserName()}">
</xp:checkBox>
Este controlo Caixa de verificação está associado a uma variável de pedido denominada phonesame. Se a caixa for alterada, é executado um script. Se a caixa de verificação estiver seleccionada, o script define o valor do controlo phonenight (uma caixa de edição) como sendo igual ao controlo phoneday.
<xp:checkBox text="Night phone same as day" id="checkBox1"
	value="#{requestScope.phonesame}">
	<xp:eventHandler event="onchange" submit="true" 	refreshMode="complete">
		<xp:this.action><![CDATA[#{javascript:
			if(requestScope.phonesame == "true") {
				getComponent("phonenight").setValue(
					getComponent("phoneday").getValue());
			}
		}]]></xp:this.action>
	</xp:eventHandler>
</xp:checkBox>

checkBoxGroup - Grupo de caixas de verificação

Apresenta várias caixas de verificação que podem ser seleccionadas ou desmarcadas.

Categoria
Controlos principais
Sintaxe
<xp:checkBoxGroup attributes>content</xp:checkBoxGroup>
Tabela 8. Controlos incorporados
Controlo Descrição
selectItem Faculta um item para selecção pelo utilizador.
selectItems Faculta um ou mais itens para selecção pelo utilizador.
Tabela 9. Propriedades essenciais
Categoria Propriedades
id A predefinição é checkBoxGroup1, checkBoxGroup2 e assim sucessivamente.
value Associa o controlo a um elemento de dados ou a outro valor.
Utilização
Em tempo de execução, é apresentada uma ou mais caixas de verificação na página. O utilizador pode seleccioná-las ou desmarcá-las. É apresentada uma marca de verificação numa caixa quando esta está seleccionada.

Os elementos de dados associados a caixa de verificação têm de permitir vários valores.

Exemplos
Este controlo Grupo de caixas de verificação apresenta dois itens para selecção.
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
		<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
		<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
	</xp:checkBoxGroup>
Este controlo Grupo de caixas de verificação apresenta dois itens para selecção, utilizando uma fórmula.
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>
Este Grupo de caixas de verificação obtém as respectivas selecções de itens dos valores incluídos numa coluna de vista.
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>

comboBox - Caixa de combinação

Apresenta uma lista de itens dos quais o utilizador pode seleccionar um.

Categoria
Controlos principais
Sintaxe
<xp:comboBox attributes>content</xp:comboBox>
Tabela 11. Controlos incorporados
Controlo Descrição
selectItem Faculta um item para selecção pelo utilizador.
selectItems Faculta um ou mais itens para selecção pelo utilizador.
Tabela 12. Propriedades essenciais
Propriedade Descrição
id A predefinição é comboBox1, comboBox2 e assim sucessivamente.
text Faculta um rótulo.
value Associa o controlo a um elemento de dados ou a outro valor.
Utilização
Em tempo de execução, é apresentada uma lista pendente na página. O utilizador pode seleccionar um item.
Exemplos
Este controlo Caixa de combinação apresenta dois itens para selecção.
<xp:comboBox id="comboBox1" value="#{document1.fruit}">
	<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
	<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
</xp:comboBox>
Este controlo Caixa de combinação apresenta dois itens para selecção, utilizando uma fórmula.
<xp:comboBox id="comboBox1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:comboBox>
Esta Caixa de combinação obtém as respectivas selecções de itens a partir dos valores incluídos numa vista de coluna.
<xp:comboBox id="comboBox1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:comboBox>

dataTable - Tabela de dados

Contém células dispostas em linhas e colunas associadas a uma origem de dados. Cada célula pode conter outros controlos (incluindo tabelas) e texto.

Categoria
Controlos de contentor
Sintaxe
<xp:dataTable attributes>
	<xp:column attributes>content	</xp:column>
	...
</xp:dataTable>
Tabela 14. Propriedades essenciais
Propriedade Descrição
id (dataTable) A predefinição é dataTable1, dataTable2 e assim sucessivamente.

(column) A predefinição é column1, column2 e assim sucessivamente.

value (dataTable) Normalmente, a associação de dados é efectuada a um conjunto de elementos como, por exemplo, um objecto NotesDocumentCollection.
var (dataTable) Normalmente, esta variável refere-se a um membro do conjunto de dados associado como, por exemplo, um objecto NotesDocument, se a associação for efectuada a um objecto NotesDocumentCollection.
Tabela 16. Todas as propriedades (column)
Categoria Propriedades
acessibilidade role
informações básicas binding, id, loaded, rendered, rendererType
estilo disableTheme, style, styleClass, themeId
Pagers
Uma região de aspectos que contém um pager ou pagers faz parte da tabela, dependendo das especificações de desenho. Utilize o modo de origem para trabalhar com a região de aspectos.

Segue-se um exemplo de um aspecto para controlos de pager:

<xp:this.facets>
	<xp:pager partialRefresh="true" layout="Previous Group Next"
		xp:key="header" id="pager1">
	</xp:pager>
</xp:this.facets>
As caixas de que se seguem no separador Apresentar, em Propriedades, afectam o conteúdo do aspecto da seguinte forma:
  • Mostrar pager no cabeçalho (desmarcada por predefinição) gera um controlo pager de chave header. Não é gerada nenhuma região de aspectos se esta opção estiver desmarcada.
  • Mostrar pager no rodapé (desmarcada por predefinição) gera um controlo pager de chave footer.
Utilização
Em tempo de execução, a tabela de dados é apresentada na página. O utilizador pode aceder à tabela, acedendo a uma célula de cada vez.

Após a criação da tabela de dados, pode adicionar e eliminar linhas e colunas.

O conteúdo de cada coluna corresponde a um, dois ou três valores que representam as linhas de cabeçalho, intermédia e de rodapé da tabela. A linha intermédia é apresentada como um número variável de linhas, dependendo do número de elementos na origem de dados.

Para as funções da vista do Domino, tais como categorias, totais, documentos de resposta e ordenação, utilize preferencialmente o controlo View. Um controlo View incorpora as funções da respectiva vista de origem do Domino.

Utilize preferencialmente este controlo quando necessitar de funções para além das incluídas no controlo View. Este controlo permite que o utilizador efectue edições nas colunas, ao contrário do controlo View. Com este controlo, pode incorporar e associar outros controlos (por exemplo, imagens) conforme o pretendido, enquanto que um controlo View é restrito pela concepção da vista de origem do Domino.

Exemplos
Esta tabela de dados apresenta os itens subject e fruit para todos os documentos na base de dados actual.
<xp:dataTable id="dataTable1" rows="30"
	value="#{javascript:return database.getAllDocuments()}" var="rowdoc">
	<xp:column id="column1">
		<xp:this.facets>
			<xp:label value="subject" id="label1" xp:key="header" style="font-weight:bold"></xp:label>
		</xp:this.facets>
		<xp:text escape="true" id="computedField1"><xp:this.value>
			<![CDATA[#{javascript:return rowdoc.getItemValueString("subject")}]]>
		</xp:this.value>	</xp:text>
	</xp:column>
	<xp:column id="column2">
		<xp:this.facets>
			<xp:label value="fruit" id="label2" xp:key="header" style="font-weight:bold"></xp:label>
		</xp:this.facets>
		<xp:text escape="true" id="computedField2"><xp:this.value>
			<![CDATA[#{javascript:return rowdoc.getItemValueString("fruit")}]]>
		</xp:this.value></xp:text>
	</xp:column>
</xp:dataTable>

dateTimeHelper - Selector de data e hora

Apresenta um selector para selecção de valores de data e hora numa caixa de edição.

Categoria
Controlos principais
Sintaxe
<xp:dateTimeHelper attributes>content</xp:dateTimeHelper>
Tabela 17. Propriedades essenciais
Propriedade Descrição
id A predefinição é dateTimeHelper1, dateTimeHelper2 e assim sucessivamente.
Tabela 18. Todas as propriedades
Categoria Propriedades
informações básicas binding, id, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
formato timeClickableIncrement, timeVisibleIncrement, timeVisibleRange
estilo disableTheme, themeId
Utilização
No modo de desenho, a criação de um controlo Selector de data e hora incorpora-o automaticamente num controlo Caixa de edição com um tipo de apresentação de Data/Hora. Para aceder às propriedades do Selector de data e hora, seleccione o modo de origem e coloque o foco no elemento dateTimeHelper incorporado.

Em tempo de execução, o utilizador pode fazer clique no selector para seleccionar uma data e hora para inserção na caixa de edição.

Exemplos
Esta caixa de edição contém um selector para selecção de valores de data e hora.
<xp:inputText id="inputText4" value="#{document1.mydatetime}">
	<xp:dateTimeHelper id="dateTimeHelper1"></xp:dateTimeHelper>
	<xp:this.converter>
		<xp:convertDateTime type="both" dateStyle="short" timeStyle="short"></xp:convertDateTime>
	</xp:this.converter>
</xp:inputText>

div - Divisão

Actua como uma divisão ou bloco de conteúdo em HTML. Contém outros controlos e texto.

Categoria
Controlos de contentor
Sintaxe
<xp:div attributes>content</xp:div>
Tabela 19. Todas as propriedades
Categoria Propriedades
acessibilidade role, title
informações básicas attrs, binding, dir, id, lang, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
eventos onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
estilo disableTheme, style, styleClass, themeId
Utilização

Em tempo de execução, o conteúdo da divisão é apresentado na página com as propriedades atribuídas, se existirem.

Exemplos
Este controlos Div incluem texto e caixas de edição com diferentes estilos.
<xp:div style="font-weight:bold;padding-bottom:20.0px">
	Day phone =>
	<xp:inputText id="inputText2" value="#{document1.phoneday}"></xp:inputText>
</xp:div>
<xp:div style="font-weight:bold">
	Night phone => 
	<xp:inputText id="inputText3" value="#{document1.phonenight}"></xp:inputText>
</xp:div>

eventHandler - Processador de eventos (controlo)

Responde a acções do utilizador como, por exemplo, fazer clique num controlo.

Categoria
Outros controlos
Sintaxe
<xp:eventHandler attributes>content</xp:eventHandler>
Tabela 20. Propriedades essenciais
Propriedade Descrição
save Guarda ou não os dados associados ao formulário. Esta propriedade deve corresponder a false para botões de tipo Cancel.
submit Esta propriedade corresponder a true para enviar um pedido a e obter uma resposta do servidor. Um processador cliente pode cancelar o envio de um pedido devolvendo false.
refreshMode Especifica se a actualização da página é completa ou parcial ou não se não será executada.
immediate Esta propriedade deve corresponder a true para botões do tipo Cancel.
Utilização
Consulte o tópico Compreender eventos.
Exemplos
Este é um controlo Botão do tipo Submit.
<xp:button value="submit" id="button1">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="complete" immediate="false" save="true">
	</xp:eventHandler>
</xp:button>
Este é um controlo Botão do tipo Cancel.
<xp:button value="cancel" id="button2">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="complete" immediate="true" save="false">
	</xp:eventHandler>
</xp:button>
Este é um controlo Botão com um evento onclick codificado pelo utilizador.
<xp:button value="set username" id="button3">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
		<xp:this.action>
			<![CDATA[#{javascript:getComponent("inputText2").setValue(session.getCommonUserName())}]]>
		</xp:this.action>
	</xp:eventHandler>
</xp:button>

fileDownload - Transferência de ficheiros

Descarrega um ficheiro para o sistema de ficheiros local.

Categoria
Controlos principais
Sintaxe
<xp:fileDownload attributes>content</xp:fileDownload>
Tabela 22. Propriedades essenciais
Propriedade Descrição
id A predefinição é fileDownload1, fileDownload2 e assim sucessivamente.
value Associa o controlo de ficheiro a um elemento de dados ou a outro valor que tem de ser de tipo rich text.
mimetype Aplica o tipo MIME da transferência em vez de permitir que seja determinado pelo tipo de ficheiro.
useUploadName Por predefinição, é utilizado o nome do ficheiro original.
filename Especifica o nome do anexo, se não utilizar o nome do ficheiro original.
Utilização
Em tempo de execução, as informações acerca de quaisquer ficheiros anexados são apresentadas na página. Estas podem incluir o tipo de ficheiro, o tamanho, o nome, a data de modificação, a data de criação e a possibilidade de eliminação ou não do ficheiro por parte do utilizador. O utilizador pode fazer clique no nome para aceder a um navegador de ficheiros para descarregar o ficheiro anexado.
Exemplos
Este controlo Transferência de ficheiros permite ao utilizador descarregar um ficheiro do item Corpo de um documento.
<xp:fileDownload rows="30" id="fileDownload1"
	displayLastModified="false" value="#{document2.body}">
</xp:fileDownload>

fileUpload - Carregamento de ficheiros

Transfere um ficheiro do sistema de ficheiros local.

Categoria
Controlos principais
Sintaxe
<xp:fileUpload attributes>content</xp:fileUpload>
Tabela 24. Propriedades essenciais
Propriedade Descrição
id A predefinição é fileUpload1, fileUpload2 e assim sucessivamente.
value Associa o controlo de ficheiro a um elemento de dados ou a outro valor que tem de ser de tipo rich text.
mimetype Aplica o tipo MIME da transferência em vez de permitir que seja determinado pelo tipo de ficheiro.
useUploadName Por predefinição, é utilizado o nome do ficheiro original.
filename Especifica o nome do anexo, se não utilizar o nome do ficheiro original.
Utilização
Em tempo de execução, é apresentado um navegador de ficheiros na página. O utilizador pode especificar ou seleccionar um ficheiro do sistema de ficheiros local.

O ficheiro é anexado ao item associado no arquivo de dados quando a página é guardada. Este item tem de ser de um tipo que permita um anexo de ficheiro, como por exemplo, rich text.

Exemplos
Este controlo Carregamento de ficheiros transfere um ficheiro do item Corpo de um documento.
<xp:fileUpload id="fileUpload1" value="#{document1.body}"></xp:fileUpload>

image - Imagem (controlo)

Apresenta uma imagem.

Categoria
Controlos principais
Sintaxe
<xp:image attributes>content</xp:image>
Tabela 26. Propriedades essenciais
Propriedade Descrição
id A predefinição é image1, image2 e assim sucessivamente.
for Identifica o controlo destino.
Tabela 27. Todas as propriedades
Categoria Propriedades
acessibilidade alt, role, title
informações básicas attrs, binding, dir, id, ismap, lang, loaded, longdesc, rendered, rendererType, url, usemap, value
eventos onblur, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
formato height, width
estilo disableTheme, style, styleClass, themeId
Utilização
Em tempo de execução, a imagem é apresentada na página.
Exemplos
Neste exemplo, é colocada uma imagem na página.
<xp:image url="/sound.gif" id="image1" alt="Sound image"></xp:image>

include - Incluir página

Insere uma referência para outra XPage.

Categoria
Controlos de contentor
Sintaxe
<xp:include attributes>content</xp:include>
Tabela 28. Propriedades essenciais
Propriedade Descrição
id A predefinição é include1, include2 e assim sucessivamente.
pageName Esta página será incluída.
Tabela 29. Todas as propriedades
Categoria Propriedades
acessibilidade role, title
informações básicas attrs, binding, componentId, dir, id, loaded, pageName, rendered, rendererType
dados acl, data, dataContexts, readonly
dojo dojoAttributes, dojoType
eventos onClientLoad
estilo disableTheme, outerStyleClass, style, styleClass, themeId
Utilização
Em tempo de execução, a XPage incluída é apresentada.

No modo de desenho, pode ver a página incluída mas não pode modificá-la.

Exemplos
O exemplo seguinte é um controlo Incluir página.
<xp:include pageName="/main.xsp" id="include1"></xp:include>

inputHidden - Entrada oculta

Oculta dados do utilizador.

Categoria
Controlos principais
Sintaxe
<xp:inputHidden attributes>content</xp:inputHidden>
Tabela 30. Propriedades essenciais
Propriedade Descrição
id A predefinição é inputHidden1, inputHidden2 e assim sucessivamente.
value Associa o controlo a um elemento de dados ou a outro valor.
Utilização
Em tempo de execução, não é apresentado qualquer elemento na página. O controlo pode ser manipulado programaticamente.

Para aceder a este controlo, abra Outro na paleta de Controlos (ou faça clique em Criar > Outro).

Exemplos
Este controlo Entrada oculta está associado a um campo num formulário do Domino.
<xp:inputHidden id="inputHidden1" value="#{document1.description}"></xp:inputHidden>

inputRichText - Rich Text

Apresenta um campo de entrada para introduzir dados formatados como rich text.

Categoria
Controlos principais
Sintaxe
<xp:inputRichText attributes>content</xp:inputRichText>
Tabela 32. Propriedades essenciais
Propriedade Descrição
id A predefinição é inputRichText1, inputRichText2 e assim sucessivamente.
value Associa o controlo a um elemento de dados ou a outro valor.
Utilização
Em tempo de execução, é apresentada uma caixa de edição com uma barra de ferramentas na página. O utilizador pode introduzir texto com atributos como, por exemplo, tipo de letra negrito e itálico, bem como inserir tabelas, anexos, objectos incorporados e outros artefactos.

O CKEditor (http://ckeditor.com) é o editor de rich text predefinido para XPages. Este editor permite a incorporação de imagens, tabelas, ligações e ícones de emoção. O editor inclui um verificador ortográfico.

Pode ajustar a barra de ferramentas que é apresentada. Com o controlo de rich text focado, faça clique no separador Dojo e adicione um atributo (propriedade dojoAttributes) denominado toolbarType com um valor de lite, medium ou full.

Pode reverter o editor rich text Dojo. Com o controlo de rich text focado, faça clique no separador Dojo e especifique o tipo de Dojo (propriedade dojoType) como ibm.xsp.widget.layout.RichText.

Exemplos
Este controlo Rich Text está associado a um campo num formulário do Domino.
<xp:inputRichText id="inputRichText1" value="#{document1.body}"></xp:inputRichText>
Este controlo Rich Text utiliza o editor de Dojo.
<xp:inputRichText id="inputRichText1"
	value="#{document1.body}" dojoType="ibm.xsp.widget.layout.RichText">
</xp:inputRichText>
Este controlo Rich Text apresenta uma barra de ferramentas completa.
<xp:inputRichText id="inputRichText1" value="#{document1.body}">
	<xp:this.dojoAttributes>
		<xp:dojoAttribute name="toolbarType" value="full"></xp:dojoAttribute>
	</xp:this.dojoAttributes>
</xp:inputRichText>

inputText - Caixa de edição

Apresenta um campo de entrada de dados para introduzir uma linha de dados.

Categoria
Controlos principais
Sintaxe
<xp:inputText attributes>content</xp:inputText>
Tabela 34. Propriedades essenciais
Propriedade Descrição
id A predefinição é inputText1, inputText2 e assim sucessivamente.
value Associa a caixa de edição a um elemento de dados ou a outro valor.
Utilização
Em tempo de execução, é apresentada uma caixa de edição na página. O utilizador pode introduzir uma linha de texto na caixa.
Exemplos
Este controlo Caixa de edição está associado a um campo num formulário do Domino.
<xp:inputText id="inputText1" value="#{document1.subject}"></xp:inputText>
Este controlo Caixa de edição está associado a uma variável por âmbito.
<xp:inputText id="inputText2" value="#{requestScope.subject}"></xp:inputText>

inputTextarea - Caixa de edição multilinha

Apresenta um campo de entrada de dados para introduzir várias linhas de dados.

Categoria
Controlos principais
Sintaxe
<xp:inputTextarea attributes>content</xp:inputTextarea>
Tabela 36. Propriedades essenciais
Propriedade Descrição
id A predefinição é inputTextarea1, inputTextarea2 e assim sucessivamente.
value Associa o controlo a um elemento de dados ou a outro valor.
cols Especifica o número de colunas, se não for substituído pelo atributo width de style.
rows Especifica o número de linhas, se não for substituído pelo atributo height de style.
Utilização
Em tempo de execução, é apresentada uma caixa de edição na página. O utilizador pode introduzir várias linhas de texto na caixa. Se o utilizador exceder o tamanho da caixa, são apresentados dispositivos de deslocamento.
Exemplos
Este controlo Caixa de edição multilinha está associado a um campo num formulário Domino.
<xp:inputTextarea id="inputTextarea1" value="#{document1.description}"
	cols="64" rows="8">
</xp:inputTextarea>

label - Rótulo (controlo)

Apresenta texto.

Categoria
Controlos principais
Sintaxe
<xp:label attributes>content</xp:label>
Tabela 38. Propriedades essenciais
Propriedade Descrição
id A predefinição é label1, label2 e assim sucessivamente.
value Especifica o rótulo do botão.
for Especifica o controlo que é focado quando o utilizador faz clique ou coloca o foco, de outra forma, neste controlo.
Tabela 39. Todas as propriedades
Categoria Propriedades
acessibilidade accesskey, role, title
informações básicas attrs, binding, dir, for, htmlFilter, id, lang, loaded, rendered, rendererType
dados converter, value
eventos onblur, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
estilo disableTheme, style, styleClass, themeId
Utilização

Em tempo de execução, o valor do rótulo é apresentado na página. O foco é redireccionado conforme especificado.

Exemplos
Este controlo Rótulo apresenta o nome do utilizador comum a azul:
<xp:label
	value="#{javascript:session.getCommonUserName()}"
	id="label1" style="color:rgb(0,0,255)" for="inputText1">
</xp:label>

listBox - Caixa de lista

Apresenta uma lista de itens dos quais é possível seleccionar um ou mais.

Categoria
Controlos principais
Sintaxe
<xp:listBox attributes>content</xp:listBox>
Tabela 42. Controlos incorporados
Controlo Descrição
selectItem Faculta um item para selecção pelo utilizador.
selectItems Faculta um ou mais itens para selecção pelo utilizador.
Tabela 43. Propriedades essenciais
Propriedade Descrição
id A predefinição é listBox1, listBox2 e assim sucessivamente.
value Associa o controlo a um elemento de dados ou a outro valor.
Utilização
Em tempo de execução, é apresentada uma caixa com uma lista de itens na página. O utilizador pode seleccionar um ou mais itens. Para seleccionar mais do que um item, multiple tem de corresponder a true,

Para seleccionar mais do que um item, o elemento de dados associado à caixa de lista tem de permitir vários valores.

Exemplos
Este controlo Caixa de lista apresenta dois itens para selecção.
<xp:listBox id="listBox1" value="#{document1.fruit}" multiple="true">
	<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
	<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
</xp:listBox>
Este controlo Caixa de lista apresenta dois itens para selecção, utilizando uma fórmula.
<xp:listBox id="listBox1" value="#{document1.fruit}"
	multiple="true">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:listBox>
Esta Caixa de lista obtém as selecções de itens a partir dos valores incluídos numa coluna de vista.
<xp:listBox id="listBox1" value="#{document1.fruit}"
	multiple="true">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:listBox>

message - Apresentar erro

Apresenta mensagens de erro para um controlo.

Categoria
Controlos principais
Sintaxe
<xp:message attributes>content</xp:message>
Tabela 45. Propriedades essenciais
Propriedade Descrição
id A predefinição é message1, message2 e assim sucessivamente.
for Identifica o controlo destino.
Tabela 46. Todas as propriedades
Categoria Propriedades
acessibilidade role, title
informações básicas attrs, binding, dir, for, id, lang, loaded, rendered, rendererType
formato showDetail, showSummary, tooltip
estilo disableTheme, errorClass, errorStyle, fatalClass, fatalStyle, infoClass, infoStyle, style, styleClass, themeId, warnClass, warnStyle
Todas as propriedades
Utilização
Por predefinição, a maioria das verificações de validação ocorrer no cliente, antes de ser enviado um pedido para o servidor. Se a validação falhar, o cliente apresenta uma mensagem de erro numa caixa de diálogo e cancela o pedido do servidor.

Se pretender que as verificações de validação ocorram no servidor e que a mensagem de erro seja apresentada neste controlo, tem de definir disableClientSideValidation como true para o controlo destino.

Exemplos
Neste exemplo, uma caixa de entrada é associada a dados numéricos e não efectua a validação no lado do cliente. Segue-se uma apresentação de erro para a caixa de entrada.
<xp:inputText id="inputText3" value="#{document1.number}"
	disableClientSideValidation="true">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:inputText>
<xp:message id="message1" for="inputText3"></xp:message>
Se o utilizador introduzir um valor não numérico na caixa de entrada, é apresentada a seguinte mensagem de erro:
Este campo não é um número válido

messages - Apresentar erros

Apresenta mensagens de erros para todos os controlos de uma página.

Categoria
Controlos principais
Sintaxe
<xp:messages attributes>content</xp:messages>
Tabela 47. Propriedades essenciais
Propriedade Descrição
id A predefinição é message1, message2 e assim sucessivamente.
layout O esquema pode corresponder a uma lista (predefinição) ou tabela.
Tabela 48. Todas as propriedades
Categoria Propriedades
acessibilidade role, title
informações básicas attrs, binding, dir, globalOnly, id, lang, loaded, rendered, rendererType
formato layout, showDetail, showSummary, tooltip
estilo disableTheme, errorClass, errorStyle, fatalClass, fatalStyle, infoClass, infoStyle, style, styleClass, themeId, warnClass, warnStyle
Utilização
Por predefinição, a maioria das verificações de validação ocorrer no cliente, antes de ser enviado um pedido para o servidor. Se a validação falhar, o cliente apresenta uma mensagem de erro numa caixa de diálogo e cancela o pedido do servidor.

Se pretender que as verificações de validação ocorram no servidor e que a mensagem de erro seja apresentada neste controlo, tem de definir disableClientSideValidation como true para o controlo destino.

Exemplos
Neste exemplo, uma caixa de entrada é associada a dados numéricos e não efectua a validação no lado do cliente. Segue-se uma apresentação de erro para a caixa de entrada.
<xp:inputText id="inputText3" value="#{document1.number}"
	disableClientSideValidation="true">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:inputText>
<xp:message id="message1" for="inputText3"></xp:message>
Se o utilizador introduzir um valor não numérico na caixa de entrada, é apresentada a seguinte mensagem de erro:
Este campo não é um número válido

pager - Pager

Pagina dados para um controlo de contentor no qual os dados não podem ser apresentados numa única janela.

Categoria
Controlos principais
Sintaxe
<xp:pager attributes>
	<xp:pagerControl attributes></xp:pagerControl> <!--if custom for page style-->
content</xp:pager>
Tabela 49. Propriedades essenciais
Propriedade Descrição
id (pager) A predefinição é pager1, pager2 e assim sucessivamente.

(pagerControl) A predefinição é pagerControl1, pagerControl2 e assim sucessivamente.

layout (pager) Para organizar os controlos, utilize esta propriedade ou incorpore controlos pagerControl.
for (pager) Utilize apenas quando o pager não estiver dentro do controlo destino.
type (pagerControl) O tipo é gerado ao utilizar Personalizado para Estilo de pager no pager.
Tabela 50. Todas as propriedades (pager)
Categoria Propriedades
acessibilidade role, title
informações básicas attrs, alwaysCalculateLast, binding, dir, for, id, lang, loaded, pageCount, partialExecute, partialRefresh, rendered, rendererType
formato layout, panelPosition
estilo disableTheme, outerStyleClass, style, styleClass, themeId
Utilização
Em tempo de execução, o utilizador pode fazer clique no pager para iterar dados num controlo que permita a iteração de dados, como, por exemplo, um painel de vista.

É possível colocar um pager numa região de aspectos dentro do controlo com os dados. Em alternativa, um pager pode ser associado ao controlo de dados através da propriedade for.

Os controlos de pager são gerados de duas formas:
  • Especificando a propriedade layout. No modo de desenho, faça clique no separador superior em Propriedades e seleccione uma das opções Amostra para Estilo de pager.
  • Incorporando controlos pagerControl. No modo de desenho, faça clique no separador superior em Propriedades e seleccione Personalizado para Estilo de pager.
Exemplos
Este controlo Painel de vista inclui um controlo Pager:
<xp:viewPanel rows="30" id="viewPanel1">
	<xp:this.facets>
		<xp:pager partialRefresh="true"
			layout="Previous Separator Group Separator Next"
			xp:key="headerPager" id="pager1">
		</xp:pager>
	</xp:this.facets>
	<xp:this.data>
		<xp:dominoView var="view2" viewName="main"></xp:dominoView>
	</xp:this.data>
	<xp:viewColumn columnName="subject" id="viewColumn1">
		<xp:viewColumnHeader value="subject"
			id="viewColumnHeader1">
		</xp:viewColumnHeader>
	</xp:viewColumn>
	<xp:viewColumn columnName="fruit" id="viewColumn2">
		<xp:viewColumnHeader value="fruit" id="viewColumnHeader2"></xp:viewColumnHeader>
	</xp:viewColumn>
</xp:viewPanel>

pagerControl - Controlo de elementos descendentes do pager

Especifica um controlo de pager dentro do pager comum.

Categoria
Controlos de contentor
Utilização
Consulte o tópico pager.

panel - Painel

Funciona como um contentor para outros controlos e texto com propriedades e origens de dados comuns.

Categoria
Controlos de contentor
Sintaxe
<xp:panel attributes>content</xp:panel>
Tabela 52. Todas as propriedades
Categoria Propriedades
acessibilidade role, title
informações básicas attrs, binding, dir, id, loaded, rendered, rendererType, tagName
dados acl, data, dataContexts, readonly
dojo dojoAttributes, dojoType
eventos onClientLoad
estilo disableTheme, outerStyleClass, style, styleClass, themeId
Utilização
Em tempo de execução, o conteúdo do painel é apresentado na página com quaisquer origens de dados e propriedades atribuídas.
Exemplos
Este controlo Painel define uma origem de dados e contém caixas de edição e de texto.
<xp:panel style="height:60.0px;width:408.0px">
	<xp:this.data>
		<xp:dominoDocument var="document2" formName="form1"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText2" value="#{document2.phoneday}"></xp:inputText>
	day phone	<xp:br></xp:br>
	<xp:inputText id="inputText3" value="#{document2.phonenight}"></xp:inputText>
	night phone
</xp:panel>

paragraph - Parágrafo

Combina texto num formato de parágrafo.

Categoria
Outros controlos
Sintaxe
<xp:paragraph attributes>content</xp:paragraph>
Tabela 53. Propriedades essenciais
Propriedade Descrição
id A predefinição é paragraph1, paragraph2 e assim sucessivamente.
Tabela 54. Todas as propriedades
Categoria Propriedades
acessibilidade role, title
informações básicas attrs, binding, dir, id, lang, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
eventos onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
estilo disableTheme, style, styleClass, themeId
Utilização

Em tempo de execução, o conteúdo do parágrafo é apresentado na página com as propriedades atribuídas, se existirem.

Exemplos
Este controlo Parágrafo cria um parágrafo de texto a negrito.
<xp:paragraph id="paragraph1" style="font-weight:bold>Now is the time.</xp:paragraph>

platformEvent - Controlo de eventos da plataforma

Processa um evento da plataforma.

Categoria
Outros controlos
Sintaxe
<xp:platformEvent attributes>content</xp:platformEvent>
Tabela 55. Propriedades essenciais
Propriedade Descrição
id A predefinição é platformEvent1, platformEvent2 e assim sucessivamente.
Tabela 56. Todas as propriedades
Categoria Propriedades
informações básicas binding, eventName, id, lang, loaded, rendered, rendererType
  onevent
estilo disableTheme, themeId
Utilização

Os eventos da plataforma são utilizados para publicar eventos de aplicação composta no cliente do Notes.

radio - Botão de opção

Apresenta um botão que pode ser seleccionado ou desmarcado. Quando agrupados,apenas pode ser seleccionado um botão no grupo.

Categoria
Controlos principais
Sintaxe
<xp:radio attributes>content</xp:radio>
Tabela 57. Propriedades essenciais
Propriedade Descrição
id A predefinição é radio1, radio2 e assim sucessivamente.
text Faculta um rótulo.
value Associa o controlo a um elemento de dados ou a outro valor.
selectedValue Especifica o valor de dados quando o botão é seleccionado.
defaultSelected Especifique true para seleccionar o botão por predefinição.
groupName Atribui o botão de opção a um grupo.
skipContainers Atribui botões de opção em diferentes contentores (por exemplo, colunas numa tabela de dados) ao mesmo grupo.
Utilização
Em tempo de execução, é apresentado um botão na página. O utilizador pode seleccioná-la ou desmarcá-la. O botão é apresentado preenchido quando seleccionado.

Quando um botão é seleccionado, todos os restantes botões atribuídos ao mesmo grupo são desmarcados.

A atribuição de botões a um grupo é semelhante à criação de um controlo Grupo de botões de opção. A utilização de botões individuais com atribuições de grupo proporciona-lhe flexibilidade na colocação.

Exemplos
Estes controlos de botão de opção atribuem o valor apples ou oranges a document1.fruit, consoante o botão que for seleccionado. Os botões actuam em uníssono. Se Apples for seleccionado, oranges é desmarcado.
<xp:radio text="Apples" id="radio1" value="#{document1.fruit}"
	groupName="fruit" selectedValue="apples">
</xp:radio>
<xp:radio text="Oranges" id="radio2" value="#{document1.fruit}"
	groupName="fruit" selectedValue="oranges">
</xp:radio>

radioGroup - Grupo de botões de opção

Apresenta vários botões de opção que podem ser seleccionados ou desmarcados. Apenas pode ser seleccionado um botão no grupo.

Categoria
Controlos principais
Sintaxe
<xp:radioGroup attributes>content</xp:radioGroup>
Tabela 59. Controlos incorporados
Controlo Descrição
selectItem Faculta um item para selecção pelo utilizador.
selectItems Faculta um ou mais itens para selecção pelo utilizador.
Tabela 60. Propriedades essenciais
Propriedade Descrição
id A predefinição é radioGroup1, radioGroup2 e assim sucessivamente.
text Faculta um rótulo.
value Associa o controlo a um elemento de dados ou a outro valor.
Utilização
Em tempo de execução, um ou mais botões de opção são apresentados na página. O utilizador pode seleccionar um botão. Quando um botão é seleccionado, qualquer outro botão seleccionado é desmarcado.
Exemplos
Este controlo Grupo de botões de opção apresenta dois itens para selecção.
<xp:radioGroup id="radioGroup1" value="#{document1.fruit}" layout="pageDirection">
	<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
	<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
</xp:radioGroup>
Este controlo Grupo de botões de opção apresenta dois itens para selecção, utilizando uma fórmula.
<xp:radioGroup id="radioGroup1" value="#{document1.fruit}"
	layout="pageDirection">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:radioGroup>
Este Grupo de caixas de verificação obtém as respectivas selecções de itens dos valores incluídos numa coluna de vista.
<xp:radioGroup id="radioGroup1" value="#{document1.fruit}"
	layout="pageDirection">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:radioGroup>

repeat - Repetir

Repete controlos incorporados, iterando uma origem de dados.

Categoria
Controlos de contentor
Sintaxe
<xp:repeat attributes>
	contol ...
</xp:repeat>
Tabela 62. Propriedades essenciais
Propriedade Descrição
id A predefinição é repeat1, repeat2 e assim sucessivamente.
value Normalmente, a associação de dados é efectuada a um conjunto de elementos como, por exemplo, um objecto NotesDocumentCollection.
var Normalmente, esta variável refere-se a um membro do conjunto de dados associado, como, por exemplo, um objecto NotesDocument, se a associação fora efectuada a um objecto NotesDocumentCollection.
Tabela 63. Todas as propriedades
Categoria Propriedades
acessibilidade role
informações básicas attrs, binding, dir, id, lang, loaded, removeRepeat, rendered, rendererType, repeatControls, rowAttrs
dados first, indexVar, rows, value, var
estilo disableTheme, style, styleClass, themeId
Utilização
Em tempo de execução, o conteúdo repetido do controlo é apresentado na página. Utilize var no conteúdo do controlo de repetição para repetir o conteúdo para cada membro da origem de dados.
Exemplos
Este controlo de repetição apresenta os itens subject para todos os documentos na base de dados actual.
<xp:repeat id="repeat1" rows="30"
	value="#{javascript:return database.getAllDocuments()}" var="rowdoc"
	repeatControls="true">
	<xp:text escape="true" id="computedField1">
		<xp:this.value>
			<![CDATA[#{javascript:return rowdoc.getItemValueString("subject") + " "}]]>
		</xp:this.value>
	</xp:text>
</xp:repeat>

scriptBlock - Script resultante

Resulta num script de cliente.

Categoria
Controlos principais
Sintaxe
<xp:scriptBlock attributes>content</xp:scriptBlock>
Tabela 64. Propriedades essenciais
Propriedade Descrição
id A predefinição é scriptBlock1, scriptBlock2 e assim sucessivamente.
value Especifica o script de cliente.
Tabela 65. Todas as propriedades
Categoria Propriedades
informações básicas attrs, binding, charset, defer, id, loaded, rendered, rendererType, src, type
dados converter, value
dojo dojoArgs, dojoEvent
estilo disableTheme, themeId
Utilização
Este controlo aplica-se apenas a um controlo personalizado.

Em tempo de execução, o script é executado quando a XPage que contém o controlo personalizado é carregada para o cliente.

Exemplos
Este controlo de script resultante encontra-se num controlo personalizado. Apresenta uma caixa alert quando incorporado numa XPage e quando a XPage é aberta.
<xp:scriptBlock id="scriptBlock2" type="text/javascript">
	<xp:this.value><![CDATA[alert("hello custom")]]></xp:this.value>
</xp:scriptBlock>

section - Secção

Funciona como um contentor passível de contracção para outros controlos e texto

Categoria
Controlos de contentor
Sintaxe
<xp:section attributes>content</xp:section>
Tabela 66. Propriedades essenciais
Propriedade Descrição
id A predefinição é section1, section2 e assim sucessivamente.
header O cabeçalho é apresentado na parte superior da secção e é visível quando a secção é contraída.
type Os tipos de formatação são os seguintes:
  • predefinição: sem contorno
  • larga: barra cinzenta na parte inferior
  • caixa: barras cinzentas nos quatro lados
  • separador: segundo plano cinzento para a seta e o conteúdo da secção apresentada sob a seta
initClosed Por predefinição, a secção é aberta inicialmente.
Utilização
Em tempo de execução, a secção é apresentada na página:
  • Um secção fechada apresenta apenas o cabeçalho.
  • Um secção aberta apresenta o cabeçalho e o conteúdo.
O utilizador pode abrir e fechar a secção.
Exemplos
Esta secção inclui duas caixas de edição.
<xp:section id="section1" header="Phone numbers" type="tab"
	initClosed="true">
	<xp:inputText id="inputText2" value="#{document1.phoneday}"></xp:inputText>day
	<xp:br></xp:br>
	<xp:inputText id="inputText3" value="#{document1.phonenight}"></xp:inputText>night
</xp:section>

selectItem - Item de selecção

Faculta um item para selecção pelo utilizador, por exemplo, numa caixa de verificação.

Categoria
Nenhuma
Sintaxe
<xp:selectItem attributes>content</xp:selectItem>
Tabela 68. Propriedades essenciais
Propriedade Descrição
itemLabel Faculta texto para apresentação ao utilizador. Requerido.
itemValue Faculta um valor para o controlo ascendente, se o utilizador seleccionar este item. Requerido.
Tabela 69. Todas as propriedades
Categoria Propriedades
informações básicas attrs, binding, id, itemDescription, itemDisabled, itemLabel, rendered, rendererType
dados itemValue, value
formato disableTheme, themeId
Utilização
Incorpore este controlo noutro controlo para facultar uma selecção de item para o controlo ascendente.

No modo de desenho, coloque o foco no controlo que deve conter a selecção de item e faça clique no separador Valores em Propriedades. Utilize Adicionar item e Importar lista para criar controlos selectItem.

Para visualizar as propriedades da selecção de item em Todas as propriedades, tem de mudar para o modo de origem e colocar o foco no controlo selectItem incorporado (em vez de no controlo ascendente).

Exemplos
Este controlo Grupo de caixas de verificação contém dois itens para selecção.
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
	<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
</xp:checkBoxGroup>

selectItems - Itens de selecção

Faculta ou mais itens para selecção pelo utilizador, por exemplo, numa caixa de verificação.

Categoria
Nenhuma
Sintaxe
<xp:selectItems attributes>content</xp:selectItems>
Tabela 70. Propriedades essenciais
Propriedade Descrição
value Faculta rótulos, valores, descrições e sinalizadores de desactivação para um ou mais itens de descrição. Um valor aqui é diferente de uma associação de dados.
Tabela 71. Todas as propriedades
Categoria Propriedades
informações básicas attrs, binding, id, loaded, rendered, rendererType
dados value
formato disableTheme, themeId
Utilização
Incorpore este controlo noutro controlo para facultar selecções de itens para o controlo ascendente.

No modo de desenho, coloque o foco no controlo que deve conter a selecção de item e faça clique no separador Valores em Propriedades. Utilize Adicionar item de fórmula para criar um controlo selectItems.

Para ver as propriedades de selecção de item em Todas as propriedades, tem de mudar para o modo de origem e colocar o foco no controlo selectItems incorporado (em vez de no controlo ascendente).

A fórmula do valor tem de devolver uma matriz. Cada elemento da matriz tem de definir um item de selecção formatado da seguinte fórmula:
label|value|description|disabled
Em que apenas label é requerido. As barras verticais fazem parte da sintaxe.

Se value não for especificado, é utilizada a predefinição de label. Especifique disabled como true para desactivar (desvanecer) o item de selecção.

Para o valor de retorno, pode destacar (@Explode) o resultado de @DbColumn ou de @DbLookup.

Exemplos
Este controlo Grupo de caixas de verificação contém dois itens para selecção.
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples", "Oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>
Este controlo Grupo de caixas de verificação utiliza nomes diferentes para os rótulos e os valores.
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>
Este controlo Grupo de caixas de verificação desactiva a primeira selecção.
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples||true", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>
Este Grupo de caixas de verificação obtém as respectivas selecções de itens dos valores incluídos numa coluna de vista.
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>

span - Amplitude do conteúdo

Combina texto, normalmente para a aplicação de propriedades.

Categoria
Controlos principais
Sintaxe
<xp:span attributes>content</xp:span>
Tabela 72. Todas as propriedades
Categoria Propriedades
acessibilidade role, title
informações básicas attrs, binding, dir, id, lang, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
eventos onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
estilo disableTheme, style, styleClass, themeId
Utilização

Em tempo de execução, o conteúdo da amplitude é apresentado na página com as propriedades atribuídas, se existirem.

Normalmente, este controlo não é aplicado directamente. Se realçar texto numa página e aplicar uma propriedade como, por exemplo, negrito, é automaticamente criada uma amplitude.

Para trabalhar directamente com um espaço, o modo de origem é preferível.

Exemplos
Neste exemplo, um controlo Amplitude é utilizado para texto a negrito:
<xp:span id="span1" style="font-weight:bold">
	Now is the time.
</xp:span>

tabbedPanel - Painel com separadores

Funciona como um conjunto de contentores para outros controlos e texto.

Categoria
Controlos de contentor
Sintaxe
<xp:tabbedPanel attributes>
	<xp:tabPanel attributes>content</xp:tabPanel></xp:tabbedPanel>
	...
</xp:tabbedPanel>
Tabela 73. Propriedades essenciais
Propriedade Descrição
id (tabbedPanel) A predefinição é tabbedPanel1, tabbedPanel2 e assim sucessivamente.

(tabPanel) A predefinição é tabPanel1, tabPanel2 e assim sucessivamente.

selectedTab (tabbedPanel) Abre inicialmente o painel neste separador.
text (tabPanel) Faculta um rótulo para o separador.
Tabela 74. Todas as propriedades (tabbedPanel)
Categoria Propriedades
acessibilidade role, title
informações básicas attrs, binding, dir, id, lang, loaded, rendered, rendererType, selectedTab
estilo containerStyleClass, disableTheme, outerStyleClass, style, styleClass, themeId
Tabela 75. Todas as propriedades (tabPanel)
Categoria Propriedades
acessibilidade role, title
informações básicas binding, dir, href, id, image, label, lang, loaded, rendered, rendererType
eventos onClick
estilo contentStyleClass, disableTheme, endTabStyleClass, middleTabStyleClass, selectedTabStyleClass, startTabStyleClass, style, styleClass, themeId, unselectedTabStyleClass
Utilização
Em tempo de execução, o conteúdo do painel com separador é apresentado na página. Os restantes separadores estão visíveis, mas o respectivo conteúdo não. O utilizador muda de painéis seleccionando separadores.
No modo de desenho, se colocar o foco num painel com separadores, o elemento tabbedPanel é seleccionado. Para trabalhar com os elementos tabPanel, faça clique com o botão direito do rato ou utilize o menu para efectuar o seguinte procedimento:
  • Seleccionar conteúdo do separador activo coloca o foco no elemento tabPanel do separador focado.
  • Remover separador activo remove o elemento tabPanel do separador focado.
  • Inserir separador insere um novo elemento tabPanel.
  • Acrescentar separador acrescenta um novo elemento tabPanel.
Exemplos
Este controlo Painel com separadores inclui dois painéis.
<xp:tabbedPanel id="tabbedPanel1" selectedTab="tabPanel1">
	<xp:tabPanel id="tabPanel1" label="Day">
		<xp:inputText id="inputText2"
			value="#{document1.phoneday}">
		</xp:inputText>
	</xp:tabPanel>
	<xp:tabPanel label="Night" id="tabPanel2">
		<xp:inputText id="inputText3"
			value="#{document1.phonenight}">
		</xp:inputText>
	</xp:tabPanel>
</xp:tabbedPanel>

table - Tabela

Contém células dispostas em linhas e colunas. Cada célula pode conter outros controlos (incluindo tabelas) e texto.

Categoria
Controlos de contentor
Sintaxe
<xp:table attributes>
	<xp:tr attributes>
			<xp:td attributes>cell content</xp:td>
			...
	</xp:tr>
	...
</xp:table>
Tabela 77. Todas as propriedades (tr)
Categoria Propriedades
acessibilidade role, title
informações básicas binding, dir, id, lang, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
eventos onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
formato align, valign
estilo disableTheme, style, styleClass, themeId
Tabela 78. Todas as propriedades (td)
Categoria Propriedades
acessibilidade role, title
informações básicas binding, dir, id, lang, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
eventos onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
formato align, colspan, rowspan, valign
estilo disableTheme, style, styleClass, themeId
Utilização
Em tempo de execução, a tabela é apresentada na página. O utilizador pode aceder à tabela, acedendo a uma célula de cada vez.
Ao inserir uma tabela numa XPage no modo de desenho, uma caixa de diálogo solicita o número de linhas e o número de colunas. Após a criação da tabela, pode:
  • Adicionar e eliminar linhas e colunas.
  • Intercalar células.
  • Seleccionar células e células múltiplas.
  • Adicionar e eliminar conteúdo de células.
Exemplos
Esta tabela contém 4 células dispostas em 2 linhas e 2 colunas.
<xp:table>
	<xp:tr>
		<xp:td>
			<xp:label id="label1" value="row 1, column 1"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 1, column 2" id="label3"></xp:label>
		</xp:td>
	</xp:tr>
	<xp:tr>
		<xp:td>
			<xp:label value="row 2, column 1" id="label2"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 2, column 2" id="label4"></xp:label>
		</xp:td>
	</xp:tr>
</xp:table>

text - Campo processado

Apresenta um valor.

Categoria
Controlos principais
Sintaxe
<xp:text attributes>content</xp:text>
Tabela 79. Propriedades essenciais
Propriedade Descrição
id A predefinição é computedField1, computedField2 e assim sucessivamente.
value Associa o campo processado a um elemento de dados ou a outro valor.
Tabela 80. Todas as propriedades
Categoria Propriedades
acessibilidade role, title
informações básicas attrs, binding, dir, escape, for, htmlFilter, id, lang, loaded, rendered, rendererType, tagName
dados converter, value
formato contentType
estilo disableTheme, outerStyleClass, style, styleClass, themeId
Utilização

Em tempo de execução, o valor do campo processado é apresentado na página.

Exemplos
Este controlo Campo processado é apresenta a soma de duas variáveis por âmbito:
<xp:text escape="true" id="computedField1"
	value="#{javascript:return requestScope.number1 + requestScope.number2}">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:text>
Este controlo Campo processado apresenta o valor de um elemento de dados associado à XPage actual.
<xp:text escape="true" id="computedField4" value="#{document1.subject}"></xp:text>

typeAhead - Memorização de teclas de AJAX

Preenche automaticamente o controlo ascendente à medida que os utilizadores introduzem uma sucessão de caracteres que correspondem a uma sugestão especificada.

Categoria
Outros controlos
Sintaxe
<xp:typeAhead attributes>content</xp:typeAhead>
Tabela 81. Propriedades essenciais
Propriedade Descrição
mode Modo de actualização.
minChars Mínimo de caracteres para activar a memorização de teclas.
valueList Sugestões devolvidas quando os caracteres iniciais são introduzidos.
valueListSeparator Separador de sugestões.
tokens Separadores de cliente nos casos em que a máquina do utilizador especifica sugestões.
ignoreCase Especifica se as maiúsculas e minúsculas são respeitadas ou ignoradas.
Utilização
Incorpore este controlo noutro controlo para influenciar a entrada de dados para o controlo ascendente.

No modo de desenho, coloque o foco no controlo que deverá obter memorização de teclas e faça clique no separador Memorização de teclas em Propriedades. Se seleccionar Activar memorização de teclas, é incorporado o controlo de memorização de teclas no controlo actual.

Para ver as propriedades de memorização de teclas em Todas as propriedades, tem de mudar para o modo de origem e colocar o foco no controlo typeAhead incorporado (em vez de no controlo ascendente).

Exemplos
Este controlo Caixa de edição faculta memorização de teclas.
<xp:inputText id="inputText1" value="#{document1.subject}">
	<xp:typeAhead mode="full" minChars="1"
	valueList="alpha#beta#charlie#delta#echo#foxtrot"
	valueListSeparator="#" tokens=",/" ignoreCase="true">
</xp:typeAhead></xp:inputText>

view - XPage

Define o controlo de contentor de nível superior, ou seja, a própria XPage.

Categoria
Nenhuma
Todas as propriedades
Utilização
Em tempo de execução, as propriedades da página são aplicadas quando a página é carregada.

No modo de desenho, coloque o foco no exterior de todos os controlos na página para ver as propriedades da página.

Exemplos
Esta XPage define uma origem de dados e contém uma caixa de edição e um botão.
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
	<xp:this.data>
		<xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText1"
		value="#{document1.subject}" style="font-weight:bold">
	</xp:inputText>
	<xp:button value="submit" id="button1" 	style="font-weight:bold">
		<xp:eventHandler event="onclick"
			submit="true" refreshMode="complete" immediate="false" save="true">
		</xp:eventHandler>
	</xp:button>
</xp:view>

viewPanel - Vista

Apresenta dados de documentos em linhas e colunas.

Categoria
Controlos de contentor
Sintaxe
<xp:viewPanel attributes>
	<xp:this.facets>
		<xp:pager attributes></xp:pager>
	</xp:this.facets>
	<xp:this.data>
		<xp:dominoView attributes></xp:dominoView>
	</xp:this.data>
	<xp:viewColumn attributes">
		<xp:viewColumnHeader attributes></xp:viewColumnHeader>
	</xp:viewColumn>
	...
</xp:viewPanel>
Tabela 84. Propriedades essenciais
Propriedade Descrição
id (viewPanel) A predefinição é viewPanel1, viewPanel2 e assim sucessivamente.

(viewColumn) A predefinição é viewColumn1, viewColumn2 e assim sucessivamente.

(viewColumnHeader) A predefinição é viewColumnHeader1, viewColumnHeader2 e assim sucessivamente.

rows (viewPanel) Este é o número de linhas apresentadas simultaneamente, que, por predefinição, corresponde a 30.
data (viewPanel) Associa uma vista do Domino ao controlo.
pageName (viewPanel) Por predefinição, a XPage associada ao formulário do documento é utilizada para abrir um documento seleccionado quando um item de coluna corresponde a uma ligação. Neste caso, pode ser utilizada uma página XPage especificada.
columnName (viewColumn) Os nomes de colunas da origem de dados são configurados através da caixa de diálogo de criação de vistas e podem ser alterados posteriormente.
displayAs, (viewColumn) Por predefinição, os itens são apresentados como texto. Especifique displayAs="link" para alterar estes itens para ligações aos documentos subjacentes.
value (viewColumnHeader) Este é o rótulo para o cabeçalho da coluna.
Tabela 86. Todas as propriedades (viewColumn)
Categoria Propriedades
acessibilidade role
informações básicas attrs, binding, columnName, displayAs, htmlFilter, id, loaded, rendered, rendererType, width
dados converter, openDocAsReadonly, pageUrl, value
eventos onClick
formato collapsedImage, contentType, expandedImage, iconAlt, iconSrc, indentResponses, showCheckbox
estilo disableTheme, style, styleClass, themeId
Tabela 87. Todas as propriedades (viewColumnHeader)
Categoria Propriedades
acessibilidade role
informações básicas attrs, binding, htmlFilter, id, loaded, rendered, rendererType, sortable, value
formato contentType, iconAlt, iconSrc, showCheckbox
estilo disableTheme, style, styleClass, themeId
Pagers
Uma região de aspectos que contém um pager ou pagers faz parte da vista, dependendo das especificações de desenho. Pode colocar outros controlos, tais como painéis, na região de aspectos. Utilize o modo de origem para trabalhar com a região de aspectos.

Segue-se um exemplo de um aspecto para controlos de pager:

<xp:this.facets>
	<xp:pager partialRefresh="true" layout="Previous Group Next"
		xp:key="headerPager" id="pager1">
	</xp:pager>
	<xp:viewTitle xp:key="viewTitle" id="viewTitle1" value="View Title"></xp:viewTitle>
	<xp:pager partialRefresh="true" layout="Previous Group Next"
		xp:key="footerPager" id="pager2">
	</xp:pager>
</xp:this.facets>
As caixas de que se seguem no separador Apresentar, em Propriedades, afectam o conteúdo do aspecto da seguinte forma:
  • Mostrar pager no cabeçalho (seleccionada por predefinição) gera um controlo pager de chave headerPager. Não é gerada nenhuma região de aspectos se esta opção estiver desmarcada.
  • Mostrar pager no rodapé (desmarcada por predefinição) gera um controlo pager de chave footerPager.
  • Mostrar título (desmarcada por predefinição) gera o controlo viewTitle.
Utilização
Um controlo Vista apresenta, essencialmente, uma vista do Domino. No modo de desenho, pode facultar o nome da vista do Domino associada, bem como outras informações, numa caixa de diálogo, ao criar o controlo viewPanel. Após a criação, pode fazer clique com o botão direito do rato ou utilizar o menu para inserir, acrescentar e eliminar colunas.

Ao configurar vistas para apresentarem categorias de dados, os utilizadores podem expandir e contrair (alternar) as categorias em tempo de execução. Por predefinição, as categorias estão contraídas. Quando os utilizadores alternam categorias, a XPage é recarregada de modo a que os dados na XPage permaneçam sincronizados com o servidor.

Para a paginação, um categoria contraída é contabilizada como uma linha. Por exemplo, se tiver configurado um pager para navegar em cinco linhas de dados na vista, sempre que um utilizador fizer clique no botão retroceder ou avançar, o pager contabiliza cinco categorias e não cinco linhas individuais. Além disso, o estado de alternar categorias permanece activo à medida que os utilizadores navegam pelas páginas de dados.

Exemplos
Este controlo Painel de vista inclui duas colunas.
<xp:viewPanel rows="30" id="viewPanel1">
	<xp:this.facets>
		<xp:pager partialRefresh="true" layout="Previous Group Next"
			xp:key="headerPager" id="pager1">
		</xp:pager>
	</xp:this.facets>
	<xp:this.data>
		<xp:dominoView var="view2" viewName="main"></xp:dominoView>
	</xp:this.data>
	<xp:viewColumn columnName="subject" id="viewColumn1">
		<xp:viewColumnHeader value="subject" id="viewColumnHeader1"></xp:viewColumnHeader>
	</xp:viewColumn>
	<xp:viewColumn columnName="fruit" id="viewColumn2">
		<xp:viewColumnHeader value="fruit" id="viewColumnHeader2"></xp:viewColumnHeader>
	</xp:viewColumn>
</xp:viewPanel>

Referência de propriedades

Encontram-se aqui especificadas as propriedades das XPages.

accept - Aceitar

Apresenta um tipo MIME aceitável para o ficheiro transferido.

Categoria
informações básicas
Sintaxe
accept="text/html|image/png|image/gif|video/mpeg|text/css|audio/basic"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure accept em informações básicas.

Por predefinição, todos os tipos MIME são aceitáveis.

accesskey - Tecla de atalho

Especifica um carácter utilizado em conjunto com a tecla ALT para colocar o foco num controlo.

Categoria
acessibilidade
Sintaxe
accesskey="key"
Utilização
No modo de desenho, faça clique no separador superior em Propriedades e procure Tecla de atalho ou faça clique em Todas as propriedades e procure accesskey em acessibilidade.

A especificação de combinações de teclas é útil para os utilizadores que pretendem utilizar o teclado para navegar, bem como para os utilizadores com limitações visuais que dependem dos atributos HTML accesskey. Consulte a documentação do navegador para obter as restrições de teclas de atalho.

Exemplos
Este controlo da Caixa de edição é seleccionado quando o utilizador escreve ALT > b.
<xp:inputText id="inputText1" value="#{document1.subject}" accesskey="b"></xp:inputText>

acl - Lista de controlo de acessos

Define uma lista de controlo de acessos para uma página ou controlo.

Categoria
dados
Sintaxe
<xp:this.acl>
	<xp:acl loaded="true|false">
		<xp:this.entries>
			<xp:aclEntry attributes fullName="name" name="name"
				right="NOACCESS|READER|EDITOR"
				type="USER|GROUP|ROLE|ORGUNIT|ORGROLE|DEFAULT|ANONYMOUS"
				loaded="true|false">
			</xp:aclEntry>
			...
		</xp:this.entries>
	</xp:acl>
</xp:this.acl>
Utilização
No modo de desenho, certifique-se de que o foco está na página ou no controlo de contentor. Faça clique em Todas as propriedades e procure acl em dados.

Esta propriedade é aplicada a páginas e a alguns controlos de contentor.

Propriedades contidas
loaded="true|false"
Cria ou não a ocorrência da etiqueta quando o controlo é carregado.
fullName="name"
Especifica o nome completo de um utilizador se name não corresponder ao nome completo.
name="name"
Especifica um nome para a entrada.
right="NOACCESS|READER|EDITOR"
Define os direitos de acesso para a entrada.
type="USER|GROUP|ROLE|ORGUNIT|ORGROLE|DEFAULT|ANONYMOUS"
Define o tipo de entrada.
loaded="true|false"
Cria ou não a ocorrência da etiqueta quando a entrada é carregada.
Exemplos
Este painel define uma LCA com duas entradas.
<xp:panel style="height:60.0px;width:408.0px">
	<xp:this.data>
		<xp:dominoDocument var="document2" formName="form1"></xp:dominoDocument>
	</xp:this.data>
	<xp:this.acl>
		<xp:acl>
			<xp:this.entries>
				<xp:aclEntry name="CN=Mary Moffit/O=IBM"
					right="EDITOR" type="USER">
				</xp:aclEntry></xp:aclEntry>
				<xp:aclEntry name="John Jordon/O=IBM" right="READER"
					type="USER">
				</xp:aclEntry>
			</xp:this.entries>
		</xp:acl>
	</xp:this.acl>
	<xp:inputText id="inputText2" value="#{document2.phoneday}"></xp:inputText>
		day phone	<xp:br></xp:br>
	<xp:inputText id="inputText3" value="#{document2.phonenight}"></xp:inputText>
		night phone
</xp:panel>

action - Acção de aplicação

Especifica a acção de aplicação MethodBinding a invocar quando o utilizador activar o controlo.

Categoria
eventos
Sintaxe
action="action"
Utilização
O valor de action tem de ser um método público que não aceita parâmetros e devolve uma cadeia. A cadeia é transmitida para o NavigationHandler desta aplicação.

actionListener - Escuta da acção

Especifica a escuta da acção MethodBinding a ser notificada quando o utilizador activar o controlo.

Categoria
eventos
Sintaxe
actionListener="listener"
Utilização
O valor de actionListener tem de ser um método público que aceita um parâmetro ActionEvent e devolve um valor vazio.

actionListeners - Lista de escutas da acção

Especifica um conjunto de escutas da acção.

Categoria
eventos
Sintaxe
<xp:this.actionListeners>
	<xp:actionListener type="javaclass"></xp:actionListener>
	...
</xp:this.actionListeners>

afterPageLoad - Associação do método após o carregamento da página

Activa um processador de eventos após o carregamento de uma página.

Categoria
eventos
Sintaxe
<xp:view><xp:this.afterPageLoad attributes>content</xp:afterPageLoad></xp:view>
Utilização
Para obter a sintaxe detalhada de processadores de eventos, consulte o tópico eventHandler - Processador de eventos (propriedade).

afterRenderResponse - Associação de método após a composição da resposta

Activa um processador de eventos após a fase Compor resposta do ciclo de JSF.

Categoria
eventos
Sintaxe
<xp:view><xp:this.afterRenderResponse attributes>content</xp:afterRenderResponse></xp:view>
Utilização
Para obter a sintaxe detalhada de processadores de eventos, consulte o tópico eventHandler - Processador de eventos (propriedade).

afterRestoreView - Associação de método após a reposição da vista

Activa um processador de eventos após a fase Restaurar vista do ciclo de JSF.

Categoria
eventos
Sintaxe
<xp:view><xp:this.afterRestoreView attributes>content</xp:afterRestoreView></xp:view>
Utilização
Para obter a sintaxe detalhada de processadores de eventos, consulte o tópico eventHandler - Processador de eventos (propriedade).

align - Alinhamento

Alinha o conteúdo num contentor.

Categoria
formato
Sintaxe
align="left|center|right"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure align em formato.

allowDelete - Permitir eliminação do ficheiro

Permite aos utilizadores eliminar ou não ficheiros anexados.

Categoria
informações básicas
Sintaxe
allowDelete="true|false"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure allowDelete em informações básicas.

Por predefinição, é carregado um controlo.

alt - Texto alternativo

Especifica texto que será apresentado quando não for possível compor uma imagem.

Categoria
acessibilidade
Sintaxe
alt="text"
Utilização
No modo de desenho, faça clique no separador superior em Propriedades e procure Texto alternativo ou faça clique em Todas as propriedades e procure alt em acessibilidade.

alwaysCalculateLast - Calcular sempre o último

Calcula sempre o último documento num contentor.

Categoria
informações básicas
Sintaxe
alwaysCalculateLast="true|false"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure alwaysCalculateLast em informações básicas.

A definição desta propriedade como true pode afectar o desempenho.

attrs - Lista de atributos

Adiciona atributos a um controlo. Utilize esta propriedade apenas quando os atributos não estiverem disponíveis como propriedades.

Categoria
informações básicas
Sintaxe
<xp:this.attrs>
	<xp:attr attributename="attributevalue" ...</xp:attr>
	...
</xp:this.attrs>
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure attrs em informações básicas.
Atributos
Deverá definir, pelo menos, name e value.
Tabela 88. Atributos
Atributo Descrição
loaded="true|false"
Cria o atributo quando a página é carregada (predefinição) ou não.
minimized="true|false"
Minimiza o atributo no HTML, apresentando apenas o nome e não o valor, ou nenhum (predefinição).
name="name"
O nome de um atributo HTML válido.
rendered="true|false"
Apresenta (predefinição) ou não o atributo.
uri="true|false"
Considera value como um URI ou não (predefinição). Um valor de URI sem um protocolo (por exemplo, http://) está relacionado com a aplicação actual. A codificação de URL está activa, pelo que deverá utilizar %20 para um espaço.
value="value"
O valor do atributo. Não é apresentado se minimized for true.
Utilização
Esta propriedade permite a inclusão de um atributo HTML para o qual não existe qualquer propriedade de controlo. Não utilize attrs para atributos que possam ser gerados através da especificação das propriedades de controlos.
Exemplos
Esta caixa de edição adiciona o atributo autofocus sem apresentar o respectivo valor.
<xp:inputText id="inputText3">
	<xp:this.attrs>
		<xp:attr name="autofocus" value="autofocus" minimized="true"></xp:attr>
	</xp:this.attrs>
</xp:inputText>
Esta caixa de edição do tipo email adiciona o atributo placeholder.
<xp:inputText id="inputText3" type="email">
	<xp:this.attrs>
		<xp:attr name="placeholder" value="a@b.com"></xp:attr>
	</xp:this.attrs>
</xp:inputText>

autocomplete - Concluir automaticamente

Activa ou desactiva a função do navegador para memorizar e concluir automaticamente a entrada de dados do utilizador.

Categoria
informações básicas
Sintaxe
autocomplete="on|off"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure autocomplete em informações básicas.

Por predefinição, a conclusão automática está activada.

Exemplos
Este controlo da Caixa de edição desactiva a conclusão automática.
<xp:inputText id="inputText1" value="#{document1.subject}"
	title="Subject edit box" autocomplete="off">
</xp:inputText>

beforePageLoad - Associação do método antes do carregamento da página

Activa um processador de eventos antes do carregamento de uma página.

Categoria
eventos
Sintaxe
<xp:view><xp:this.beforePageLoad attributes>content</xp:beforePageLoad></xp:view>
Utilização
Para obter a sintaxe detalhada de processadores de eventos, consulte o tópico eventHandler - Processador de eventos (propriedade).

beforeRenderResponse - Associação de método antes da composição da resposta

Activa um processador de eventos antes da fase Compor resposta do ciclo de JSF.

Categoria
eventos
Sintaxe
<xp:view><xp:this.beforeRenderResponse attributes>content</xp:beforeRenderResponse></xp:view>
Utilização
Para obter a sintaxe detalhada de processadores de eventos, consulte o tópico eventHandler - Processador de eventos (propriedade).

bgcolor - Cor de segundo plano

Especifica a cor de segundo plano.

Categoria
formato
Sintaxe
bgcolor="color"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure bgcolor em formato.

binding - Associar controlo

Especifica uma expressão que associa o controlo a uma propriedade de controlo.

Categoria
informações básicas
Sintaxe
binding="expression"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure binding em informações básicas.
Exemplos

border - Limite da tabela

Especifica a largura em píxeis do limite de uma tabela ou de um grupo de controlos.

Categoria
formato
Sintaxe
border="n"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure border em formato.

Por predefinição, um grupo de controlos não tem limite (border="0").

Exemplos
Este Grupo de caixas de verificação utiliza um limite de 16 píxeis.
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}"
	border="16">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>

caption - Legenda

Apresenta uma legenda acima de um controlo de contentor.

Categoria
acessibilidade
Sintaxe
caption="caption"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure caption em acessibilidade.

Em tempo de execução, o título é apresentado numa caixa quando o utilizador coloca o cursor do rato sobre o controlo.

Exemplos
Esta tabela tem uma legenda.
<xp:table caption="Test caption">>
	<xp:tr>
		<xp:td>
			<xp:label id="label1" value="row 1, column 1"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 1, column 2" id="label3"></xp:label>
		</xp:td>
	</xp:tr>
	<xp:tr>
		<xp:td>
			<xp:label value="row 2, column 1" id="label2"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 2, column 2" id="label4"></xp:label>
		</xp:td>
	</xp:tr>
</xp:table>

captionStyleClass - Classes de estilo CSS da legenda

Especifica uma lista de classes de CSS a aplicar a uma legenda de tabela.

Categoria
estilo
Sintaxe
captionStyleClass="name ..."
Em que name identifica uma classe. Separe vários nomes de classes com espaços.
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure captionStyleClass em estilo.

cellpadding - Preenchimento de células

Especifica o espaço entre o limite das células de uma tabela e o respectivo conteúdo em píxeis.

Categoria
formato
Sintaxe
cellpadding="n"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure cellpadding em formato.

Por predefinição, um grupo de controlos não tem limite (border="0").

Exemplos
Este controlo de tabela especifica o espaçamento e o preenchimento das células.
<xp:table cellspacing="16" cellpadding="16">
	<xp:tr>
		<xp:td>
			<xp:label id="label1" value="row 1, column 1"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 1, column 2" id="label3"></xp:label>
		</xp:td>
	</xp:tr>
	<xp:tr>
		<xp:td>
			<xp:label value="row 2, column 1" id="label2"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 2, column 2" id="label4"></xp:label>
		</xp:td>
	</xp:tr>
</xp:table>

cellspacing - Espaçamento de células

Especifica o espaço entre um limite da tabela e as células e entre as células em píxeis.

Categoria
formato
Sintaxe
cellspacing="n"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure cellspacing em formato.

Por predefinição, um grupo de controlos não tem limite (border="0").

Exemplos
Este controlo de tabela especifica o espaçamento das células.
<xp:table cellspacing="16">
	<xp:tr>
		<xp:td>
			<xp:label id="label1" value="row 1, column 1"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 1, column 2" id="label3"></xp:label>
		</xp:td>
	</xp:tr>
	<xp:tr>
		<xp:td>
			<xp:label value="row 2, column 1" id="label2"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 2, column 2" id="label4"></xp:label>
		</xp:td>
	</xp:tr>
</xp:table>

charset - Conjunto de caracteres

Especifica a codificação de caracteres do recurso obtido.

Categoria
informações básicas
Sintaxe
charset="encoding"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure charset em informações básicas.

checkedValue - Valor quando marcado

Especifica o valor de um elemento de dados associado a um controlo seleccionado (em alternativa a desmarcado).

Categoria
dados
Sintaxe
checkedValue="value"
Utilização
No modo de desenho, faça clique em Dados em Propriedades e procure Valor quando marcado ou faça clique em Todas as propriedades e procure checkedValue em dados.

Esta propriedade é aplicada a um controlo que pode ser seleccionado ou desmarcado, tal como uma caixa de verificação, e a predefinição será a cadeia true.

Exemplos
Este controlo Caixa de verificação atribui um valor de dados, dependendo do facto de a caixa estar seleccionada (predefinição) ou desmarcada.
<xp:checkBox id="checkBox2" text="Use user name instead of Anonymous"
	defaultChecked="true" value="#{document1.loginname}" uncheckedValue="Anonymous"
	checkedValue="#{javascript:session.getUserName()}">
</xp:checkBox>

collapsedImage - Imagem da secção contraída

Especifica uma imagem para uma secção contraída.

Categoria
informações básicas
Sintaxe
collapsedImage="pathname"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure collapsedImage em informações básicas.

Para um recurso de aplicação, o caminho da imagem é relativo à aplicação, por exemplo, /abook.gif.

cols - Colunas

Especifica o número de colunas a apresentar.

Categoria
informações básicas
Sintaxe
cols="n"
Utilização
No modo de desenho, faça clique no separador superior em Propriedades e procure Colunas ou faça clique em Todas as propriedades e procure cols em informações básicas.

O atributo width da propriedade style substitui este valor.

Exemplos
Este controlo Caixa de edição multilinha especifica o número de colunas e linhas.
<xp:inputTextarea id="inputTextarea1" value="#{document1.description}"
	cols="64" rows="8">
</xp:inputTextarea>

colspan - Amplitude da coluna

Especifica o número de colunas abrangidas pela célula actual.

Categoria
informações básicas
Sintaxe
colspan="n"
Em que n corresponde ao número de colunas e 0 significa abranger todas as colunas no grupo de colunas.
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure colspan em formato.

A predefinição é 1.

columnClasses - Classes CSS da coluna

Especifica uma lista de classes CSS a aplicar a colunas de tabela ou vista.

Categoria
estilo
Sintaxe
columnClasses="name ..."
Em que name identifica uma classe. Separe vários nomes com espaços.
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure columnClasses em estilo.

columnName - Nome da coluna

Especifica o nome da coluna da vista subjacente na origem de dados.

Categoria
informações básicas
Sintaxe
columnName="name"
Em que name corresponde ao nome de uma coluna na origem de dados.
Utilização
No modo de desenho, faça clique no separador Dados em Propriedades e procure Coluna da vista ou faça clique em Todas as propriedades e procure columnName em informações básicas.

Em tempo de execução, a coluna da vista ascendente apresenta os dados da coluna subjacente na origem de dados.

A especificação de um valor que não corresponde ao nome de uma coluna na origem de dados origina um erro em tempo de execução.

Exemplos
Este controlo Vista contém duas colunas baseadas nas colunas subject e fruit na origem de dados.
<xp:viewPanel rows="30" id="viewPanel1">
	<xp:this.facets>
		<xp:pager partialRefresh="true" layout="Previous Group Next"
			xp:key="headerPager" id="pager1">
		</xp:pager>
	</xp:this.facets>
	<xp:this.data>
		<xp:dominoView var="view2" viewName="main"></xp:dominoView>
	</xp:this.data>
	<xp:viewColumn columnName="subject" id="viewColumn1">
		<xp:viewColumnHeader value="subject" id="viewColumnHeader1"></xp:viewColumnHeader>
	</xp:viewColumn>
	<xp:viewColumn columnName="fruit" id="viewColumn2">
		<xp:viewColumnHeader value="fruit" id="viewColumnHeader2"></xp:viewColumnHeader>
	</xp:viewColumn>
</xp:viewPanel>

componentId - ID de controlo

Especifica o identificador de um controlo numa página incluída.

Categoria
informações básicas
Sintaxe
componentId="identifier"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure componentId em informações básicas.

Se esta propriedade estiver vazia, é incluída a totalidade da página.

computeDocument - Processar associação de método de documento

Activa um processador de eventos quando um documento é processado ou processado novamente.

Categoria
eventos
Sintaxe
<xp:dominoDocument><xp:this.computeDocument attributes>content</xp:computeDocument></xp:dominoDocument>
Utilização
Para obter a sintaxe detalhada de processadores de eventos, consulte o tópico eventHandler - Processador de eventos (propriedade).

containerStyleClass - Classes de estilo do contentor de CSS

Especifica uma lista de classes CSS a aplicar quando um controlo de contentor é apresentado.

Categoria
estilo
Sintaxe
containerStyleClass="name ..."
Em que name identifica uma classe. Separe vários nomes com espaços.
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure containerStyleClass em estilo.

Causa a apresentação de uma amplitude de inclusão com class= definido para estes valores.

contentStyleClass - Classe de conteúdo de separador

Especifica uma lista de classes CSS a aplicar ao conteúdo de um separador, caso não tenha um estilo.

Categoria
estilo
Sintaxe
contentStyleClass="name ..."
Em que name identifica uma classe. Separe vários nomes com espaços.
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure contentStyleClass em estilo.

Causa a apresentação de uma amplitude de inclusão com class= definido para estes valores.

contentType - Tipo de conteúdo

Especifica o tipo de conteúdo, texto ou HTML.

Categoria
formato
Sintaxe
contentType="text|html"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure contentType em formato.

O tipo de conteúdo predefinido é text.

Exemplos
Este controlo Campo processado utiliza HTML como tipo de conteúdo.
<xp:text escape="true" id="computedField1"
	value="#{javascript:return requestScope.number1 + requestScope.number2}"
	contentType="html">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:text>

converter - Conversor

Define o formato de dados, caso não se trate de uma cadeia.

Categoria
dados
Sintaxe
<xp:this.converter>converter</xp:this.converter>
Em que converter corresponde a um dos seguintes:
<xp:convertBoolean attributes>content</xp:convertBoolean>
<xp:convertNumber attributes>content</xp:convertNumber>
<xp:convertDateTime attributes>content</xp:convertDateTime>
<xp:convertMask attributes>content</xp:convertMask>
<xp:customConverter></xp:customConverter>
Utilização
No modo de desenho, faça clique no separador Dados em Propriedades e procure Tipo de apresentação ou faça clique em Todas as propriedades e procure converter em dados.
Propriedades contidas
Os conversores contêm as seguintes propriedades.
Tabela 89. Propriedades contidas para conversões de booleanos
Propriedade Descrição
loaded="true|false"
Especifica se deve ser criada uma ocorrência de etiqueta no carregamento da página. A predefinição é true.
message="message text"
Mensagem para o utilizador, se strict="true" e se o utilizador introduzir um valor que não true ou false. A mensagem é apresentada aquando da submissão de dados.
strict="true|false"
Se true, aceita apenas os valores de entrada true e false. Por predefinição, qualquer valor de entrada que não seja true é considerado como false.
Tabela 90. Propriedades contidas para conversões de números
Propriedade Descrição
currencyCode="option"
Código monetário ISO 4712, por exemplo, USD.
currencySymbol="symbol"
Símbolo monetário.
groupingUsed="true|false"
Especifica se são utilizados "separadores de agrupamento". A predefinição é true.
integerOnly="true|false"
Especifica se o valor será truncado para um número inteiro. A predefinição é false.
loaded="true|false"
Especifica se deve ser criada uma ocorrência de etiqueta no carregamento da página. A predefinição é true.
locale="option"
Um código de país ou idioma, por exemplo, en_US.
maxFractionDigits="n"
Número máximo de dígitos na parte fraccionada de um