Guia do Usuário do IBM Domino Designer 9.0.1

Primeira Edição

Publicado em Outubro de 2013

Sobre Esta Edição

De acordo com o compromisso da IBM com a acessibilidade, esta edição da documentação do produto está acessível.

Atualizações para este Documento

Este arquivo HTML contém o rascunho mais recente da documentação oficial do produto para esta liberação. Esse rascunho é atualizado trimestralmente, conforme necessário. Para obter as atualizações mais recentes da documentação do produto, consulte os artigos específicos da liberação disponíveis na seção Documentação do Produto da wiki.

Imprimindo

Quando você imprime este documento, alguns elementos de estilo são removidos para criar uma melhor saída de impressão. Aqui estão algumas dicas sobre impressão:
  • O tamanho do documento pode exceder a capacidade de impressão do navegador. O Microsoft Internet Explorer demonstrou a capacidade de imprimir arquivos grandes com êxito.
  • Este documento é longo. Use a visualização de impressão para determinar o tamanho da página impressa.
  • É possível destacar a seção do documento e depois optar por imprimir apenas o conteúdo selecionado

Trabalhando Off-Line

É possível salvar uma cópia local deste documento a partir de seu navegador. Cada navegador tem diferentes menus e opções de menu. Consulte a ajuda do navegador se precisar de assistência ao salvar o documento localmente.

Enviando Feedback

Se você quiser fornecer feedback sobre este documento, consulte o website Feedback da Documentação.

O que há de novo no IBM Domino Designer 9.0.1 Social Edition?

Informações sobre novos recursos e melhorias no Domino Designer.

Este tópico lista os novos recursos e mudanças para o Domino Designer 9.0.1 Social Edition.

Atualizações periódicas para a Ajuda do Domino Designer estão disponíveis na web. Para fazer download do arquivo de Ajuda mais recente do Designer, acesse a seção Biblioteca de Documentações do developerWorks em http://www.ibm.com/developerworks/lotus/documentation/. Clique em Biblioteca Técnica, em por produto, em Domino Designer e, finalmente, na liberação que gostaria de ver.

Na área do Domino Designer e XPages, as mudanças e adições para esta liberação incluem:

  • Upgrade de versão do Dojo de 1.8.1 para 1.8.3
  • Tornar os recursos do XPages a seguir compatíveis com os requisitos de acessibilidade:
    • Experiência de tempo de execução do XPages
    • Interface com o usuário da web do modelo de TeamRoom do Xpages
    • Interface com o usuário da web do modelo de Discussão do Xpages
  • Aprimoramentos Remotos do XPages 9.0.1 Mobile, incluindo os seguintes:
    • Adição de eventos a serem usados com os controles remotos de Página do Aplicativo e Aplicativo de Página Única na Biblioteca de Extensão
    • Adição de um deviceBean para fornecer uma maneira fácil de usar e programar para identificar um faixa popular de dispositivos móveis e tablets. Com as informações fornecidas por esse bean, você será capaz de tomar decisões de7 programação e decidir se deve carregar ou descarregar partes de uma página do aplicativo com base no dispositivo ou navegador solicitante.
    • Recursos de upload de Foto/Vídeo
    • Tema do OneUI IDX Mobile para iOS e Android
    • Tema Remoto Padrão e Substituições de Tema Remoto para iOS e Android
    • Comutador de Agente do Usuário de Depuração Remota para imitar agentes do usuário do iOS ou Android
  • Melhorias na Procura Dinâmica (Otimização do Mecanismo de Procura), incluindo o suporte de robôs de procura para coincidir com a melhora da responsividade das páginas da wiki que usam o recurso de conteúdo dinâmico.
  • Upgrade do XULRunner para XPiNC (XPages no Notes Client) para 10.0.6 a fim de melhorar a renderização do XPages no Notes Client
  • Melhorias na indexação da ajuda do produto
  • Fornecimento da capacidade de executar aplicativos XPages baseados em servidor diretamente em um servidor Domino usando a opção de ativação de aplicativo Executar aplicativos XPages baseados em servidor diretamente em um servidor Domino.
  • XPiNC (XPages no Notes Client) Aprimoramento JavaScript no Lado do Cliente - Adição do recurso XSP.executeCommand().

  • Atualização para a configuração padrão JVM.Properties do Designer para suportar os requisitos de memória superior
  • O Upload do Arquivo de Atualização Parcial foi melhorado
  • Foi feito upgrade do CKEditor de 3.6.6.1 para 3.6.6.2

Consulte a seção XPages desse documento para obter mais detalhes sobre alguns itens do XPages.

Consulte a seção Programabilidade, Idiomas e Serviços deste documento para obter mais detalhes sobre esses tipos de itens.

XPages

O design e a criação de aplicativos de software que possam ser usados por pessoas com uma ampla variedade de capacidades e deficiências é um requisito no mundo dos negócios. A criação de um aplicativo acessível usando XPages requer um entendimento das necessidades de diversos tipos de usuários, inclusive pessoas com deficiências e usuários mais velhos com dificuldades relacionadas à idade.

Na área do XPages para esta liberação, mudanças extensivas foram feitas para ajudar os desenvolvedores a criar aplicativos XPages acessíveis e tornar a experiência de tempo de execução do XPages mais compatível com os requisitos de acessibilidade.

Esses itens fornecem um resumo das mudanças e adições de conformidade de acessibilidade feitas para esta liberação.

  • Introdução de um novo tema acessível - o XPages agora suporta um tema compatível com as diretrizes e os requisitos de acessibilidade. Esse tema é denominado oneuiv2.1_blue
  • A propriedade role tornou-se obsoleta - para esses controles, a propriedade role tornou-se obsoleta a partir da versão 9.0.1. Por padrão, o valor compatível de acessibilidade apropriado é gerado. Para conformidade com os padrões de acessibilidade, não especifique um valor para essa propriedade.
    • xp:dataTable - Tabela de Dados
    • xp:fileDownload - Download de Arquivo
    • xp:viewPanel - Visualização
    • xp:tabbedPanel - Painel com Guias
    • xp:tabPanel - consulte Painel com Guias
    • xp:pager - Pager
    • xp:pagerControl - consulte Pager
    • xe:dataView - Visualização de Dados
  • Adição das propriedades accesskey - Acelerador e tabindex - Índice de Tabulação ao controle de Contêiner de Widget - Essas propriedades são novas para esse controle com a Liberação 9.0.1. Consulte a seção Referência de propriedade (Biblioteca de Extensão) deste guia para obter mais informações.
    • xe:widgetContainer - Contêiner de Widget
  • Adição das propriedades titleBarLabel - Barra de Título, placeBarLabel - Barra de Local, leftColumnLabel - Faceta de Coluna Esquerda e rightColumnLabel- Faceta de Coluna Direita - Essas propriedades são novas com a Liberação 9.0.1. Aplica-se a esse(s) controle(s). Consulte a seção Referência de propriedade (Biblioteca de Extensão) deste guia para obter mais informações.
    • xe:applicationConfiguration - Configuração de Aplicativo
  • Adição da propriedade ariaLabel - ARIA Label - Essa propriedade é nova com a Liberação 9.0.1. Aplica-se a esses controles. Consulte as seções Incluindo controles - Referência de propriedade, Incluindo controles - Referência de controle e Referência de propriedade (Biblioteca de Extensão) deste guia para obter mais informações.
    • xe:formtable - Tabela de Formulário
    • xe:navigator - Navegador
    • xp:pager - Pager
    • xe:pagerAddRows - Linhas PagerAdd
    • xe:pagerDetail - Pager Mostrar/Ocultar Detalhes
    • xe:pagerExpand - Pager Expandir/Reduzir
    • xe:pagerSizes - Tamanhos de Pager
    • xe:tagCloud - Nuvem de Tag
    • xe:dataView - Visualização de Dados
  • Adição da propriedade summary - Resumo de Dados - Essa propriedade é nova com a Liberação 9.0.1. Aplica-se a esse controle. Consulte a seção Referência de propriedade (Biblioteca de Extensão) deste guia para obter mais informações.
    • xe:dataView - Visualização de Dados
  • Adição da propriedade headerLinkTitle - Título de Link de Cabeçalho - Essa propriedade é nova com a Liberação 9.0.1. Aplica-se a esses controles. Consulte a seção Referência de propriedade (Biblioteca de Extensão) deste guia para obter mais informações.
    • xe:viewExtraColumns - consulte a propriedade Colunas Adicionais.
    • xe:viewSummaryColumn - consulte a propriedade Coluna de Resumo.
  • Adição da propriedade imageAlt - Texto Alternativo de Imagem - Essa propriedade é nova com a Liberação 9.0.1. Aplica-se a esse controle. Consulte as seções Incluindo controles - Referência de propriedade e Incluindo controles - Referência de controle deste guia para obter mais informações.
    • xp:tabPanel - consulte o controle Painel com Guias.
  • Adição da propriedade linkTitle - Título de Link - Essa propriedade é nova com a Liberação 9.0.1. Aplica-se a esses controles. Consulte a seção Referência de propriedade (Biblioteca de Extensão) deste guia para obter mais informações.
    • xe:viewExtraColumns - consulte a propriedade Colunas Adicionais
    • xe:viewSummaryColumn - consulte a propriedade Coluna de Resumo.
  • Adição da propriedade readonly - Somente Leitura - Essa propriedade é nova com a Liberação 9.0.1. Aplica-se a esse controle. Consulte as seções Incluindo controles - Referência de propriedade e Incluindo controles - Referência de controle deste guia para obter mais informações.
    • xp:label - Rótulo
  • Documentação de requisitos para conformidade de acessibilidade - Esses controles têm requisitos específicos para conformidade de acessibilidade que foram documentados para esta liberação. Consulte as seções Incluindo controles - Referência de propriedade e Incluindo controles - Referência de controle deste guia para obter mais informações.
    • xp:button - Botão
    • xp:checkBox - Caixa de Seleção
    • xp:checkBoxGroup - Grupo de Caixas de Seleção
    • xp:dataTable - Tabela de Dados
    • xp:dateTimeHelper - Selecionador de Data e Hora
    • xp:label - Rótulo
    • xp:link - Link
    • xp:message - Exibir Erro
    • xp:radioGroup - Grupo de Botões de Opções
    • xp:radio - Botão de Opções
    • xp:Table - Tabela
    • xp:tabbedPanel - Painel com Guias
  • Controles Current não testados com relação aos padrões de acessibilidade mais recentes - Esses controles não foram testados com relação aos padrões de acessibilidade mais recentes. Um caminho acessível alternativo é recomendado. Consulte as seções Incluindo controles - Referência de propriedade, Incluindo controles - Referência de controle e Referência de propriedade (Biblioteca de Extensão) deste guia para obter mais informações.
    • xe:djAccordionContainer
    • xe:djAccordionPane
    • xe:djBorderContainer
    • xe:djBorderPane
    • xe:djButton
    • xe:djCheckBox
    • xe:djComboBox
    • xe:djContentPane
    • xe:djCurrencyTextBox
    • xe:djDateTextBox
    • xe:djextImageSelect
    • xe:djFilteringSelect
    • xe:djNumberSpinner
    • xe:djNumberTextBox
    • xe:djRadioButton
    • xe:djSimpleTextarea
    • xe:djStackContainer
    • xe:djStackPane
    • xe:djTabContainer
    • xe:djTabPane
    • xe:djTextarea
    • xe:djTextBox
    • xe:djTimeTextBox
    • xe:djToggleButton
    • xe:djValidationTextBox
    • xe:djxDataGrid
    • xe:djxDataGridColumn
    • xe:djxDataGridRow
    • xe:dropDownButton
    • xe:dynamicViewPanel
    • xe:inPlaceForm
    • xe:linksList
    • xe:listView
    • xe:listViewColumn
    • xe:popupMenu
    • xe:sortLinks
    • xe:toolbar
    • xe:tooltip
    • xe:tooltipDialog
    • xp:viewColumn
    • xp:viewColumnHeader
    • xp:viewPager
    • xp:viewPanel
    • xp:viewTitle
  • Melhoras de conteúdo dinâmico - Para esta liberação, o recurso Conteúdo Dinâmico foi melhorado para suportar indexação de documento por robôs de procura não aptos a executar código JavaScript no lado do cliente.

    Uma nova propriedade foi incluída no arquivo de configuração para permitir que você especifique IDs de agente do usuário que precisam ser reconhecidos como crawlers da web. Se um ID presente na lista estiver contido no cabeçalho do agente do usuário da solicitação, uma URL diferente será retornada ao renderizar links ou no cabeçalho do local de uma resposta de redirecionamento. A diferença é que o sinal "#" é substituído por um "?" ou um "&."

    Isso ocorrerá apenas se o parâmetro content estiver presente na solicitação. Se essa verificação for executada, o resultado será armazenado em um atributo de sessão para minimizar o impacto no desempenho.

    Seguindo a URL retornada, um crawler da web pode então recuperar o documento sem executar JavaScript no lado do cliente. Este exemplo mostra como usar essa propriedade:

    # ########################################
    # IDs do Agente do Usuário do crawler da web do Mecanismo de Procura
    # ########################################
    # Uma lista de IDs do agente do usuário do crawler da web separados por vírgula e em minúsculas. Se essa propriedade estiver ausente, uma lista de código permanente de crawlers de procura bem conhecidos será usada (Google, Bing, Yahoo). Algumas palavras-chave podem ser usadas com um significado especial
    # <empty>: O recurso é desativado e nenhuma verificação será executada com relação ao cabeçalho do agente do usuário 
    # <auto>: Essa palavra-chave é substituída pela lista de IDs de crawlers de procura de código permanente.
    
    #xsp.search.bot.id.list=<empty> (desativará a verificação) o comportamento usual é seguido e nenhuma verificação é executada com relação ao agente do usuário.
    
    #xsp.search.bot.id.list=<auto>,blekkobot (incluirá os crawlers de procura google, bing, yahoo e blekko na lista de IDs a serem verificados com relação ao agente do usuário; se um dos IDs for encontrado no cabeçalho do agente do usuário, ele será tratado como robô e a URL será normalizada para indexação da ajuda, ou seja, evite o uso do sinal
    # em URLs)

    Se essa configuração for ativada, o agente do usuário do robô de procura Google Mozilla/5.0 (compatível; Googlebot/2.1; +http://www.google.com/bot.html) será reconhecido como robô e o comportamento alternativo será seguido.

  • Fornecimento da capacidade de executar aplicativos XPages baseados em servidor diretamente em um servidor Domino usando a opção de ativação de aplicativo Executar aplicativos XPages baseados em servidor diretamente em um servidor Domino.

    Para que isso funcione, primeiro você deve ter uma conta configurada no Notes para conceder acesso ao servidor HTTP. Para criar ou visualizar contas do Notes, selecione Arquivo -> Preferências -> Contas no Notes e certifique-se de que ele tenha o tipo correto (HTTP/HTTPS) e contenha o nome do host completo que você deve usar para acessar o servidor. Se você estiver usando SSO, o nome deverá corresponder com exatidão ao nome do servidor registrado no servidor. Se o nome do host não puder ser derivado com exatidão das informações no workspace do Notes, um erro poderá ser exibido.

    Você deve então registrar os aplicativos RunOnServer que deseja usar E fornecer um nome de host para nós. Para fazer isso, acesse Arquivo > Preferências > Desempenho do XPages > Executar no Servidor para incluir o aplicativo, o servidor e o nome do host.

    É possível testar isso independentemente do XPages configurando a conta e, em seguida, digitando o endereço HTTP do aplicativo na barra de endereço URL do Notes. Se o aplicativo for carregado sem prompts, o navegador integrado do Notes estará passando as informações definidas na estrutura de conta do Notes corretamente. Certifique-se também de que o mesmo nome do servidor usado na barra de endereço seja armazenado e usado na preferência RunOnServer do nome do host opcional.

  • XPiNC (XPages no Notes Client) Aprimoramento JavaScript no Lado do Cliente - Adição do recurso XSP.executeCommand(). XSP.executeCommand(commandID, commandParameters) foi incluído desde a versão 9.0. commandID identifica a função solicitada. commandParams é um objeto que contém valores arg arbitrários ou pode ser nulo. Essa capacidade usa o mesmo caminho de tempo de execução que outros comandos XPiNC XSP JavaScript, como XSP.alert(), XSP.confirm(), XSP.publishEvent(), etc.

    Quando um XSP.executeCommand() é chamado, o XPages examina a lista de provedores de comando registrados. Se for encontrado um contribuidor que manipula o comando, ele será chamado e executado e um resultado, se necessário, será retornado.

Programabilidade, Idiomas e Serviços

Na área de programabilidade e idiomas, estas adições ou mudanças foram feitas:

  • Eventos de controle remoto - Na área de aprimoramentos remotos, esses eventos foram incluídos para serem usados com os controles remotos de Página do Aplicativo e Aplicativo de Página Única na Biblioteca de Extensão:
    • onOrientationChange
    • onBeforeTransitionIn
    • onAfterTransitionIn
    • onBeforeTransitionOut
    • onAfterTransitionOut

    Consulte este Guia do Usuário para obter mais informações.

  • deviceBean - Além disso, na área de aprimoramentos de desenvolvimento de aplicativo remoto, o deviceBean com sua API associada foi incluído nesta liberação.

    Em versões anteriores a esta, o XPages fornecia a API do Agente do Usuário ServerSide context.getUserAgent(). Essa API é usada para identificar o agente do usuário solicitante. Isso ajuda o gerenciamento de recursos do lado do servidor, como CSS e JavaScript do lado do cliente. Também ajuda o layout do aplicativo e permite mostrar ou ocultar componentes dentro de um XPage antes de enviar uma resposta para o agente do usuário solicitante.

    Dada a popularidade da computação remota, agora também é importante ser capaz de identificar vários tipos de agentes do usuário (ou seja, dispositivos móveis) além dos típicos aplicativos de navegador de desktop. Para ajudar com essa tarefa, o novo bean gerenciado chamado deviceBean foi introduzido no tempo de execução do XPages para fornecer uma maneira fácil de usar e programar para identificar um faixa popular de dispositivos móveis e tablets diretamente nas expressões calculadas de ServerSide JavaScript ou Expression Language (EL). Com as informações fornecidas por esse bean, você será capaz de tomar decisões de7 programação e decidir se deve carregar ou descarregar partes de uma página do aplicativo com base no dispositivo ou navegador solicitante.

    Por exemplo, é possível identificar um dispositivo móvel em EL chamando # {deviceBean.mobile} e alternativamente no ServerSide JavaScript chamando # {javascript:deviceBean.isMobile()}. O deviceBean também suporta um Ponto de Extensão para que possa ser aprimorado em pacotes de upgrade futuros da IBM® ou ser customizado para atender às necessidades de seu próprio projeto customizado.

    A API a seguir está disponível para este bean:

    • deviceBean.mobile - Versão em EL. Identifica um dispositivo como um dispositivo móvel.
    • deviceBean.isMobile() - Versão em JavaScript. Identifica um dispositivo como um dispositivo móvel.
    • deviceBean.tablet - Versão em EL. Identifica um dispositivo como um tablet.
    • deviceBean.isTablet() - Versão em JavaScript. Identifica um dispositivo como um tablet.
    • deviceBean.getValue() - Versão em JavaScript. Usado para acessar todos os outros métodos de uma maneira alternativa, bem como fornecer acesso a extensões futuras. Por exemplo, é possível usar getValue('mobile') e permitir que ele retorne o mesmo resultado que isMobile OU usar getValue('chrome') para retornar uma chamada de extensão isChrome() que, ao usar o Idioma de Expressão, pode ser deviceBean.chrome
    • deviceBean.iphone - Versão em EL. Identifica um dispositivo como um iPhone.
    • deviceBean.isIphone() - Versão em JavaScript. Identifica um dispositivo como um iPhone.
    • deviceBean.ipad - Versão em EL. Identifica um dispositivo como um iPad.
    • deviceBean.isIpad() - Versão em JavaScript. Identifica um dispositivo como um iPad.
    • deviceBean.android - Versão em EL. Identifica um dispositivo como um dispositivo Android.
    • deviceBean.isAndroid() - Versão em JavaScript. Identifica um dispositivo como um dispositivo Android.
    • deviceBean.blackberry - Versão em EL. Identifica um dispositivo como um dispositivo Blackberry.
    • deviceBean.isBlackBerry() - Versão em JavaScript. Identifica um dispositivo como um dispositivo Blackberry.
    • deviceBean.windows - Versão em EL. Identifica um dispositivo como um dispositivo móvel Windows.
    • deviceBean.isWindows() - Versão em JavaScript. Identifica um dispositivo como um dispositivo móvel Windows.
    • deviceBean.version['key'] - Versão em EL. Retorna a versão da chave especificada (por exemplo, #{deviceBean.version['iphone']})
    • deviceBean.getVersion('key') - Versão em JavaScript. Retorna uma versão da chave especificada (por exemplo, #{javascript:deviceBean.getVersion('iphone');})
    A amostra de código a seguir fornece alguns exemplos de como usar a API disponível a partir do deviceBean:
    <?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
    	<xe:singlePageApp id="singlePageApp1"
    		selectedPageName="appPage1">
    		<xe:appPage id="appPage1" pageName="appPage1">
    			<xe:djxmHeading id="djxmHeading1">deviceBean</xe:djxmHeading>
    			<xe:djxmRoundRectList id="djxmRoundRectList1">
    				<xe:djxmLineItem id="djxmLineItem2" label="Mobile"
    					rightText="#{deviceBean.mobile}">
    				</xe:djxmLineItem>
    				<xe:djxmLineItem id="djxmLineItem5" label="Tablet"
    					rightText="#{deviceBean.tablet}">
    				</xe:djxmLineItem>
    				<xe:djxmLineItem id="djxmLineItem1" label="Android"
    					rightText="#{javascript:deviceBean.isAndroid()}">
    				</xe:djxmLineItem>
    				<xe:djxmLineItem id="djxmLineItem7" label="Apple"
    					rightText="#{javascript:deviceBean.getValue
    ('apple')}">
    				</xe:djxmLineItem>
    				<xe:djxmLineItem id="djxmLineItem8" label="Windows"
    					rightText="#{javascript:deviceBean.getValue
    ('windows')}">
    				</xe:djxmLineItem>
    				<xe:djxmLineItem id="djxmLineItem9" label="Blackberry"
    					rightText="#{javascript:deviceBean.getValue
    ('blackberry')}">
    				</xe:djxmLineItem>
    				<xe:djxmLineItem id="djxmLineItem22" label="iPhone"
    					rightText="#{javascript:deviceBean.isIphone()}">
    				</xe:djxmLineItem>
    				<xe:djxmLineItem id="djxmLineItem23" label="iPad"
    					rightText="#{deviceBean.ipad}">
    				</xe:djxmLineItem>
    				<xe:djxmLineItem id="djxmLineItem24" label="iPod"
    					rightText="#{javascript:deviceBean.getValue
    ('ipod')}">
    				</xe:djxmLineItem>
    			</xe:djxmRoundRectList>
    		</xe:appPage>
    	</xe:singlePageApp>
    </xp:view>

Na área do Domino Access Services (APIs REST), as adições ou mudanças a seguir foram feitas nesta liberação:

  • Domino Core Service - Essa API REST fornece acesso a recursos não específicos para qualquer domínio de serviço. Por exemplo, a maioria dos aplicativos possui um requisito para ler informações sobre senhas de usuário autenticado (data da última e mudança, data de expiração etc). Como esse requisito não é específico para nenhum serviço REST em particular (calendário, correio etc.), esse recurso está incluso no Core Services. Os recursos disponíveis no Core Services incluem:
    • recurso de estatísticas de senha (pwstats)
    • recurso nonce
  • Domino Calendar Service - Essa é uma API REST que fornece recursos e métodos para acessar dados do calendário. O serviço representa dados do calendário nos formatos JSON e iCalendar.

Visão Geral do Produto

O IBM Domino Designer suporta o desenvolvimento de aplicativos para a plataforma IBM Domino usando o XPages, formulários, visualizações e outros elementos, como controles.

XPage é uma tecnlogia de desenvolvimento rápido para criar aplicativos colaborativos baseados na web. O XPages fornece um conjunto complexo de controles da interface com o usuário e de acesso a dados construídos com a tecnologia Java™ Server Faces. O XPages suporta a integração de ativos NSF do IBM Notes e Domino existentes, como documentos, visualizações, agentes, fórmulas e segurança. Esses aplicativos podem ser renderizados como páginas dinâmicas da web 2.0 em um navegador e no Notes Client. A interface de desenvolvimento fornece um ambiente de design arrastar e soltar intuitivo e um ambiente de origem XML. A apresentação é controlada por meio de Folhas de Estilo em Cascata (CSS) e lógica de negócios podem ser desenvolvidas usando JavaScript.

A documentação do Domino Designer inclui:

  • O Guia do Usuário do Domino Designer apresenta o produto e descreve o XPages e seus elementos de suporte. Essas informações também descrevem os recursos do Domino Designer incluídos após a versão 8.5.
  • A Referência do Domino Designer XPages descreve a interface JavaScript para Objetos Domino, ações simples e outros itens de interesse programático no XPages.
  • O Guia Básico do Usuário e Referência do Domino Designer descreve os elementos baseados em formulários do Domino Designer, incluindo formulários, visualizações, a linguagem da fórmula, o LotusScript e outros.

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

Entendendo XPages

Um aplicativo XPages é o XML interpretado por um servidor Domino ou Notes Client e renderizado em um navegador da web ou um Notes Client. É possível interagir com controles na página para enviar solicitações ao servidor.

Por exemplo, esse código XML é para um aplicativo 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="completo" 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>
Aqui está uma explicação linha por linha do que significa o código XML do exemplo:
  • xmlns:xp="http://www.ibm.com/xsp/core"

    O Domino define controles e outros artefatos no namespace http://www.ibm.com/xsp/core usando xp como a abreviação do elemento.

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

    O aplicativo XPages está associado ao formulário Domino chamado create.

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

    A caixa de entrada está ligada ao campo nomeado subject no formulário create.

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

    Quando clicado, o primeiro botão faz com que uma solicitação seja enviada ao servidor. O servidor salva os dados da caixa de entrada como um novo documento baseado no formulário create e, em seguida, envia outra página chamada main ao cliente.

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

    Quando clicado, o segundo botão também faz com que uma solicitação seja enviada ao servidor. Nesse caso, o servidor envia de volta a página main.

O Domino Designer fornece uma interface com o usuário (UI) que inclui um navegador, um editor do XPages, uma paleta Controles, uma guia Propriedades, uma guia Eventos e outros artefatos. A seguir, é mostrado como a página criada pelo código XML anterior aparece no modo de design do Domino Designer:
Interface com o usuário do XPages

Os usuários podem usar o menu ou arrastar e soltar para manipular controles e o texto no editor. Os usuários também podem usar as várias guias para configurar valores para propriedades e eventos. Observe também que os usuários podem usar a guia Origem para editar o XML diretamente.

Os usuários usam propriedades XPage para identificar formulários do Domino e visualizações do Domino como origens de dados e usam propriedades de Controle para ligar controles a campos em uma origem de dados.

Importante: Tenha cuidado ao editar o XML diretamente, pois erros podem causar o mau funcionamento do XPage.
Os controles principais incluem:
  • Controles para obter entrada - Caixa de Edição, Rich Text, Caixa de Edição Multilinhas, Caixa de Listagem, Caixa de Combinação, Caixa de Seleção, Botão de Opções, Grupo de Caixas de Seleção, Grupo de Botões de Opções, Selecionador de Data e Hora
  • Controles para executar ações - Botão, Upload de Arquivo, Download de Arquivo
  • Controles para exibição - Link, Rótulo, Campo Computado, Imagem, Erro de Exibição, Erros de Exibição, Pager
  • Controles de customização - Área Editável
Os controles de contêiner incluem os seguintes:
  • Painel - cria um retângulo na página para a inclusão de outros controles
  • Repetição - repetições controlam um 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
  • Visualizar - incorpora uma visualização Domino
  • Tabela de Dados - cria uma tabela cujas linhas intermediárias são variáveis em número e ligadas a uma coleta de dados
  • Painel com Guias - cria um conjunto de painéis sobrepostos, cada um deles acessado clicando em uma guia
  • Seção - cria painéis redutíveis
A interface de programação é JavaScript que é executada no servidor e no cliente:
  • O JavaScript do cliente se conecta a eventos, tais como, onclick, onblur e onfocus. Esses scripts são executados no navegador da web ou no Notes Client antes que ele envie uma solicitação ao servidor e use o Modelo de Objeto de Documento (DOM) da web. É possível criar scripts, por exemplo, que verificam se uma caixa de entrada possui conteúdo ou que confirme uma operação do servidor que remova dados.
  • O JavaScript do servidor também se conecta a eventos, mas é iniciado após a solicitação ser passada para o servidor. Além disso, o JavaScript do servidor pode ser usado para computar valores de controle, ligação de dados e propriedades. O JavaScript do servidor tem acesso a um conjunto extensivo de bibliotecas, incluindo uma para os objetos Domino. Estes são os mesmos objetos Domino acessíveis também por meio do LotusScript e Java. Eles acessam o armazenamento de dados do Domino e manipulam o ambiente do Domino.
Em alguns contextos, também estão disponíveis ações simples e Expression Language (EL).

Os objetos globais fornecem um mecanismo de criação simples para objetos de núcleo. Por exemplo, session é um objeto NotesSession para a sessão atual, database é um objeto NotesDatabase para o aplicativo atual e context é um objeto XSPContext para o contexto no qual o JavaScript está em execução. As variáveis com escopo definido fornecem um mecanismo simples para compartilhar valores entre controles, páginas e sessões.

Formulários e Visualizações

No Domino, um formulário define como os documentos são exibidos para o usuário e como os itens de dados do formulário são armazenados. Uma visualização relata documentos em colunas e linhas.

Quando o usuário abre um novo documento, o formulário que define esse documento é usado para renderizar uma página na UI do cliente. Quando os usuários salvam o novo documento, os dados da UI são usados para criar o documento, de acordo com as definições de dados no formulário. Da mesma maneira, quando os usuários abrem um documento existente, os dados são renderizados na UI do cliente, de acordo com as definições de dados no formulário.

Geralmente, cada linha de uma visualização representa um documento. Entretanto, é fácil em um aplicativo XPage juntar mais de uma visualização, portanto, cada linha é uma visualização de mais de um documento para essa linha.

As colunas podem conter valores de dados a partir dos documentos ou informações computadas, tais como a data da última modificação do documento. As visualizações podem ser classificadas e categorizadas para apresentar melhor os documentos. As visualizações podem ser usadas como mecanismos de acesso aos dados, por exemplo, permitindo que os usuários abram um documento clicando duas vezes em sua linha na visualização.

Os aplicativos XPage utilizam formulários e visualizações. É possível usar formulários para conectar controles na página para as definições de dados do Domino. Primeiro, associe a página a um formulário. Em seguida, ligue os controles de entrada de dados da página aos campos no formulário. As visualizações do Domino podem ser incorporadas aos controles de Visualização de XPages.

Outros elementos do Domino que podem ser usados em uma página incluem:
  • Bibliotecas de JavaScript
  • Recursos de imagem
  • Recursos da folha de estilo
  • Recursos de tema

Navegação no Domino Designer

O IBM Domino Designer é instalado como perspectivas do Eclipse organizadas em visualizações, paletas e editores fáceis de acessar. É possível executar tarefas usando o menu principal, menus para clique com o botão direito do mouse e ícones nas barras de título do editor, visão e paleta.

As perspectivas do IBM Domino Designer são:
  • O Domino Designer mostra todos os elementos de design no Applications Navigator e é a perspectiva padrão.
  • XPages exclui elementos de design não necessários para o desenvolvimento de XPages.
  • Forms/Views exclui apenas elementos de design necessários para o desenvolvimento de XPages.

Para alterar perspectivas, clique em Janela > Abrir Perspectiva.

Para ajustar o conteúdo das perspectivas, acesse Arquivo > Preferências > Domino Designer > Applications Navigator.

Como as perspectivas do IBM Domino Designer são definidas por convenções do Eclipse, é possível mover, redimensionar, fechar e abrir visualizações. Para salvar a nova disposição como uma nova perspectiva com um nome escolhido, selecione Janela > Salvar Perspectiva Como na barra de menus.

Também é possível navegar pelas visualizações usando o atalho de teclado Ctrl+F7 padrão do Eclipse ou clicando em Janela > Navegação no menu principal do Eclipse.

Para ver qualquer visualização que esteja oculta, clique em Janela > Mostrar Visualizações do Eclipse no menu principal do Eclipse e selecione a visualização oculta na lista.

Elementos de Estrutura e o Navegador de Aplicativos

Elementos de design disponíveis são exibidos pelo Applications Navigator.

Por padrão, o Applications Navigator está no lado esquerdo da janela. Ao criar ou abrir um aplicativo, seus elementos são exibidos no Applications Navigator.
  • Para criar um aplicativo, clique em Arquivo > Novo > Aplicativo ou clique com o botão direito do mouse no Applications Navigator e selecione Novo Aplicativo (Ctrl-N).
  • Para abrir um aplicativo existente, selecione-o no Navegador de Aplicativos ou, se ele não estiver nesse lugar, clique em Arquivo > Aplicativo > Abrir e selecione-o.
  • Para ver os tipos de elementos de design e os grupos de elementos de design disponíveis, expanda um aplicativo. Expanda um grupo para ver os tipos de elementos de estrutura no grupo.
  • Para criar um elemento de design de um tipo selecionado, use o menu ou clique com o botão direito do mouse. À medida que os elementos de design são criados, eles mostram seus tipos. Listas de elementos de design são exibidas no editor clicando duas vezes sobre o tipo de elemento. Os elementos de design podem ser abertos para edição clicando duas vezes no elemento.

A tabela a seguir descreve cada elemento de design e indica o tipo de aplicativo em que ele é geralmente usado.

Elemento de Estrutura Descrição
Formulários Fornece a estrutura para criar e exibir documentos. Para XPages, é possível usar um formulário como uma origem de dados.
Visões São listas classificadas ou categorizadas de documentos. Para o Designer baseado em formulários, as visualizações são os pontos de entrada para os dados armazenados em um banco de dados. As visualizações podem ser incorporadas às XPages.
Pastas São contêineres que são usados para armazenar documentos relacionados ou agrupamentos de documentos. As pastas possuem os mesmos elementos de estrutura que as visualizações.
XPages Definem os controles de texto e de interface com o usuário (UI) com os quais os usuários interagem usando um aplicativo.
Controles de Personalização São uma coleção de controles de UI que são classificados como um único objeto.
Conjuntos de Quadros São uma coleção de quadros para incluir estrutura em seu aplicativo.
Páginas São um elemento de design do banco de dados que exibe informações.
Elementos Compartilhados - Subformulários São uma coleção de elementos do formulário armazenados como um único objeto.
Elementos Compartilhados - Campos Coletam dados. Você cria campos em formulários, subformulários e regiões de layout. Para XPages, você liga controles a campos.
Elementos Compartilhados - Colunas Exibem valores de campo e outras informações sobre documentos. Você cria colunas em visualizações e pastas.
Elementos Compartilhados - Estrutura de Tópicos Fornece uma estrutura da organização para um aplicativo e controla como os elementos são exibidos em uma área de janela de navegação.
Elementos Compartilhados - Navegadores São um roteiro gráfico que direciona os usuários a partes específicas de um aplicativo.
Código - Agentes Configura uma tarefa em segundo plano ou ativada pelo usuário em qualquer parte de um aplicativo.
Código - Ações Compartilhadas Configuram uma tarefa ativada pelo usuário em um formulário ou uma visualização.
Código - Bibliotecas de Script Contêm código LotusScript, Java ou JavaScript para inclusão nos elementos de programação do cliente ou do servidor. As bibliotecas JavaScript são para XPages.
Código - Script do Banco de Dados É uma programação de elementos ativada para eventos no nível do aplicativo, tal como abrir ou fechar um aplicativo.
Código - Provedores de Serviços da Web São aplicativos modulares autocontidos, autoexplicativos, baseados em XML, que podem ser publicados e chamados a partir da web. Um provedor de serviços da Web é um serviço da Web hospedado em um servidor Domino para que possa ser chamado a partir de outros computadores.
Código - Consumidores de Serviços da Web Chama serviços da web em outros computadores.
Código - Java

Cria um elemento Class Java, Interface, ou Enum com escopo definido para o projeto NSF (em Código/Java na perspectiva Java). O código Java é diretamente solicitável pelo código no XPages.

Código - Jars

Oferece a capacidade de trabalhar com código/bibliotecas Java compactadas incluídas no NSF do aplicativo. Libera você de ter de implementar JARS para um servidor e/ou incluir arquivos de origem exclusivamente no banco de dados do aplicativo. Esse elemento está disponível apenas nos aplicativos XPage, nos quais o JAR é carregado automaticamente pelo tempo de execução do XPages.

Dados - Conexões de Dados São recursos que estabelecem uma troca de dados entre um aplicativo Domino e uma origem de dados externa.
Dados - Visualizações de Acesso do DB2 Definem uma visualização do DB2 de dados do Notes.
Recursos - Imagens Usadas como um gráfico ou um ícone em XPages, páginas, formulários, subformulários, botões de ação e entradas de estrutura de tópicos e como uma imagem de plano de fundo em formulários, documentos, páginas, células da tabela e botões de ação.
Recursos - Arquivos Permitem compartilhar arquivos não NSF dentro e por meio dos aplicativos.
Recursos - Applets São programas Java autocontidos que podem ser executados em seu aplicativo Domino.
Recursos - Folhas de Estilo Podem ser criadas ou importadas. Por padrão, as XPages e os controles de UI usam Folhas de Estilo em Cascata (CSS) padrão fornecidas com o Domino. É possível substituir os padrões por esses recursos.
Recursos - Temas São customizações de geração de HTML que podem ser usadas para definir a aparência de um aplicativo. Por padrão, as XPages e os controles de interface com o usuário usam qualquer tema definido para o servidor. Esse tema global pode ser modificado para todos os aplicativos, ou pode ser substituído por um tema específico do aplicativo.
Recursos - Sobre o Documento Descreve o propósito de um aplicativo.
Recursos - Usando o Documento Fornece instruções aos usuários.
Recursos - Ícone Ajuda os usuários a identificar o banco de dados com rapidez nas áreas de janela do marcador e podem ser trazidos para o aplicativos a partir do editor de ícone.
Aplicativos Compostos - Propriedades de Ligação Fornecem acesso a arquivos WSDL dentro de um aplicativo composto.
Aplicativos Compostos - Aplicativos Fornecem acesso a arquivos XML necessários que contêm definições para o aplicativo composto.
Aplicativos Compostos - Componentes Implementados em aplicativos compostos se baseado em XPages
Configuração do Aplicativo - Propriedades do Aplicativo Permitem configurar propriedades em todo o aplicativo.
Configuração do Aplicativo - Faces-config Fornece acesso de edição ao webcontent\web-inf\faces-config.xml. Esse é o arquivo de configuração que é usado para configurar beans gerenciados (entre outras coisas, tais como conversores/validadores customizados) em XPages.
Configuração do Aplicativo - Propriedades Xsp Fornecem acesso de edição ao arquivo que contém a coleção de parâmetros de estrutura do XPages, conhecido como xsp.properties. Ele é usado no nível do aplicativo ou do servidor para configurar e controlar configurações de XPages em suas XPages do aplicativo. Todo aplicativo NSF de XPages contém um arquivo xsp.properties.

Como este guia do usuário concentra-se em XPages e aplicativos que usam XPages, ele explica com mais detalhes um subconjunto dos elementos de estrutura usados em aplicativos XPages. A documentação detalhada para os elementos de design e aplicativos mais "baseados em formulários" está localizada no Guia Básico do Usuário e Referência do Domino Designer.

Selecionando e Filtrando os Tipos de Elementos de Design

É possível selecionar e filtrar quais tipos de elementos de design você deseja exibir no Applications Navigator fazendo seleções em Preferências > Domino Designer > Applications Navigator.

Selecione os elementos com os quais prefere trabalhar e prefere exibir selecionando os elementos no painel Preferências. Selecionando a perspectiva a partir de uma \lista no painel, você também configura as seleções e opções de filtragem separadamente para cada uma das três perspectivas: Domino Designer, XPages e Formulários/Visualizações do Domino Designer.

Comparando Versões de Elementos de Design

É possível comparar versões diferentes de elementos de design ou recursos clicando com o botão direito do mouse em um item específico e selecionando o tipo de comparação no menu de contexto. Quando uma comparação é executada, os editores de comparação aparecem na área do editor. As diferenças entre versões são destacadas nos editores de comparação, permitindo navegar e copiar alterações entre as versões comparadas.

É possível executar os seguintes tipos de comparação:
  • Comparar Com > Histórico Local - Compara o elemento ou recurso selecionado com um que esteja no histórico local, que seja mantido quando você salva as mudanças.
  • Comparar Com > Uns com os Outros - Compara dois ou três elementos ou recursos selecionados uns com os outros

Editor de Design

O Editor de design é onde você edita XPages e outros elementos de design e visualiza listas de elementos de design.

A visualização Propriedades mostra as propriedades para a seleção atual no editor. Por exemplo, se você estiver trabalhando com um controle de interface com o usuário (UI) em uma XPage, assim que você clicar nesse controle de UI no editor XPages, a visão Propriedades exibirá as propriedades desse controle.

É possível executar as seguintes tarefas no editor:

Tarefa Ação
Abrir um Elemento de Design ou uma Lista Selecione o elemento de design ou a lista no Applications Navigator. Clique duas vezes nele ou clique em Arquivo > Abrir.
Alterar entre Abrir Elementos de Design e Listas Clique na guia do elemento de design ou na lista que deseja visualizar.
Fechar um Elemento de Design ou uma Lista Clique no ícone Fechar (um X) no elemento de estrutura ou guia Lista, ou selecione a guia e clique em Arquivo > Fechar.
Fechar Todos os Elementos de Design e Listas Incluindo o Elemento Atual Clique em Arquivo > Fechar Tudo. Também é possível clicar com o botão direito do mouse em uma guia selecionar Fechar Todos.
Maximizar o Editor Clique no ícone Maximizar ou clique duas vezes na guia.
Restaurar o Editor para seu Tamanho e Localidade Originais Clique no ícone Restaurar ou clique duas vezes na guia. Essa função é ativada apenas se você tiver maximizado o editor.
Redimensionar o Editor com Setas do Teclado Clique com o botão direito do mouse na guia e selecione Tamanho, depois Esquerda, Direita, Parte Superior ou Parte Inferior para realçar uma borda do editor. Pressione a seta do teclado apropriada para expandir ou reduzir o editor.

Editor de Origem

Use o Editor de origem para editar diretamente código fonte do XPages.

Quando você estiver editando uma XPage, poderá usar a guia Origem para editar diretamente o código fonte do XPages. Isso pode ser muito útil se você estiver familiarizado com o idioma do XPages.

É possível executar as seguintes tarefas no editor:

Tarefa Ação
Usar assistente de conteúdo ao codificar.

Pressione CTRL+ESPAÇO para chamar os recursos do assistente de conteúdo ao codificar. Isso funciona também para SSJS (JavaScript do Lado do Servidor) integrado à sua XPage.

O assistente de conteúdo como um recurso do editor de origem do XPages é direcionado pelo uso de um esquema. O Domino Designer constrói dinamicamente um esquema com base no aplicativo Notes atual. O esquema contém informações de ajuda para cada atributo de cada tag como parte do tempo de execução do XPages.

Usar navegação por hiperlink ao codificar.

A navegação por hiperlink descreve a funcionalidade genérica do Eclipse, em que o texto dentro de um editor pode ser transformado em hiperlink. Pressione CTRL ao passar o mouse sobre qualquer texto ou link (incluindo um nome de controle de customização) para navegar diretamente para esse elemento de local/design de link. O Eclipse fornece feedback para o editor no qual você está usando navegação por hiperlink.

Por exemplo, use esse recurso ao editar controles de customização. Ao pressionar CTRL e passar o mouse sobre um Controle de Customização no editor de origem, a navegação por hiperlink permitirá navegar diretamente para esse Controle de Customização.

Usar ajuda instantânea ao codificar.

Para usar esse recurso, passe o mouse sobre um 'nó' específico com o cursor para obter informações adicionais sobre ele. Semelhante à navegação por hiperlink (consulte acima), a estrutura do editor do Eclipse é capaz de fornecer uma descrição para a tag atual (e atributo).

Todas as tags e atributos que fornecem uma descrição para si próprios por meio de xsp-config são capazes de tornar essas informações visíveis na funcionalidade ajuda instantânea dentro do editor de origem do XPages.

É possível controlar o comportamento desse recurso a partir da guia Preferências do Domino Designer. O recurso é ativado por padrão, com um tempo limite de 500 milissegundos associado à preferência. Ou seja, uma vez que o cursor tenha ficado 'at rest' por mais de 500 ms (milissegundos), a estrutura do editor do Eclipse chamará a funcionalidade da ajuda instantânea do editor de origem do XPages.

Chamar o sistema de ajuda do produto Pressione F1 para abrir a ajuda de contexto.
Executar outras tarefas de edição. Clique com o botão direito do mouse na página do Editor de origem para exibir um menu de outras ações que você pode executar enquanto estiver no editor.
Maximizar o Editor Clique no ícone Maximizar ou clique duas vezes na guia.
Restaurar o Editor para seu Tamanho e Localidade Originais Clique no ícone Restaurar ou clique duas vezes na guia. Essa função é ativada apenas se você tiver maximizado o editor.
Redimensionar o Editor com Setas do Teclado Clique com o botão direito do mouse na guia e selecione Tamanho, depois Esquerda, Direita, Parte Superior ou Parte Inferior para realçar uma borda do editor. Pressione a seta do teclado apropriada para expandir ou reduzir o editor.

Paletas e Visualizações

As paletas e visualizações fornecem as ferramentas para trabalhar com os elementos de estrutura.

Paletas

Paletas permitem trabalhar com Controles e origens de dados. As seguintes paletas estão disponíveis:

Paleta de Controles
Contém os controles de UI e controles de customização usados para projetar o layout de XPages e determinar como os dados são inseridos e armazenados no banco de dados. É possível arrastar e soltar controles da paleta nas XPages.

Essa paleta está ativa apenas quando o editor de XPages estiver ativo, por exemplo, se você estiver editando uma XPage ou um controle de customização. A paleta contém gavetas de controles de UI: Controles Principais e Controles de Contêiner. Ela também contém uma gaveta para controles de customização, se você tiver incluído algum no aplicativo atual do IBM Domino Designer.

Uma gaveta é uma área de janela integrada que permite rolar pelas opções usando as setas Para Cima e Para Baixo no início e no final de cada gaveta.

Também é possível fazer o seguinte com a paleta e suas gavetas:
  • Para ocultar a paleta, feche-a.
  • Para alterar as propriedades da paleta, clique com o botão direito do mouse e faça uma seleção.
  • Para expandir ou reduzir uma gaveta, clique nela.
Paleta Dados
Permite visualizar as origens de dados associadas à XPage selecionada ou o controle no editor de XPages. Para mostrar a paleta de Dados, clique em Janela > Mostrar Visualizações do Eclipse > Paleta de Dados.

Lembre-se das seguintes informações, limitações e recomendações ao arrastar e soltar a partir das paletas de Controle e de Dados:

  • É possível incluir controles em todos os controles do contêiner, exceto nos painéis de visualização.
  • Exceto para o controle de link, não é possível incluir um controle em um controle principal. Isso porque um controle de link pode ter filhos, de modo que ele age como um controle de contêiner a esse respeito. Se você tentar incluir um controle em um controle principal, o novo controle será incluído na página acima do controle existente.
  • Na guia Origem, é possível tornar um controle o primeiro ou último filho de um controle de contêiner, arrastando-o para a marcação de início ou de finalização do contêiner ou clicando duas vezes ou usando o menu Criar com foco na marcação de início ou de finalização.
  • É possível adicionar controles apenas a células em uma tabela, não a linhas ou ao próprio contêiner da tabela.
  • É possível incluir controles em uma coluna em uma tabela de dados. Depois de criados os controles na guia Origem, será possível incluir controles de contêiner que são definidos como o cabeçalho ou o rodapé da tabela de dados (ou coluna da tabela de dados). Para definir um controle como um cabeçalho ou rodapé, adicione-o a um elemento xp:this.facets na tabela de dados ou coluna.
  • É possível adicionar controles apenas às guias em um painel com guias, não ao próprio painel.
  • Se você arrastar um controle para a tag de finalização de um painel com guias na guia Origem ou clicar duas vezes ou usar o menu Criar com foco na tag de finalização, o controle será incluído na última guia do painel com guias.
  • É possível adicionar um controle a um controle personalizado que foi adicionado a uma XPage apenas se houver uma área editável definida para o controle personalizado. Se a área editável tiver um nome de aspecto, será possível adicionar apenas um controle; se você remover o nome do aspecto, será possível adicionar vários controles.
  • Não é possível adicionar um controle a um controle personalizado aninhado dentro de outro controle personalizado.
  • Quando você arrasta origens de dados da paleta de Dados para uma página, é possível reordenar as origens antes que elas sejam inseridas na página. Na parte superior da paleta de Dados, clique no ícone Selecionar Controles e, em seguida, selecione os Controles Selecionar Ligação de Dados. Use as teclas de seta para arrastar as origens de dados para a página.

É possível criar perfis da Paleta de Controle que permitem selecionar quais controles aparecem em qual ordem na Paleta de Controle. É possível criar diversos perfis de paleta, com variados layouts da paleta de controle entre os quais é possível alternar. Para acessar as configurações dos perfis de paleta, acesse Arquivo-Preferências-Domino Designer-Paleta. A seguinte lista fornece informações adicionais sobre como usar perfis da Paleta de Controle:

  • Por padrão, um perfil inicial chamado Profile1 é criado. Esse é o perfil que contém o estado atual da paleta quando o Designer é ativado pela primeira vez. Se tiver modificado a paleta usando a antiga página de Preferências da Paleta do Designer, essas mudanças serão refletidas no Profile1. É possível renomear e excluir Profile1 a partir da interface com o usuário dos perfis da paleta.
  • A interface com o usuário possui uma lista de perfis e uma árvore mostrando gavetas de controle e controles nessas gavetas. A árvore mostra o layout da paleta para o perfil selecionado na lista de perfis. É possível marcar os controles/gavetas que deseja ver na paleta e desmarcar aqueles que não desejar ver. Também é possível mover controles individuais na gaveta pai, mais não é possível mover controles entre as gavetas.
  • Também é possível reordenar as gavetas. A reorganização de gavetas dos controles, entretanto, não é suportada pela Paleta Controles para esta liberação. Controles de Customização nunca serão mostrados na árvore e sempre estarão presentes na paleta de controles.
  • Quando você clica em Novo para criar um novo perfil, o novo layout da paleta de perfis será baseado no perfil selecionado atualmente na lista de perfis. Por padrão, o perfil ativo será selecionado na lista de perfis. Para alternar perfis, simplesmente selecione o perfil que deseja ativar e clique em "Aplicar" ou "OK".
  • Para restaurar o arquivo selecionado para o perfil padrão, clique em Restaurar Padrões. A restauração do perfil padrão não exclui perfis criados.
  • Se você excluir todos os perfis da lista de perfis, Profile1 será recriado, com um layout de paleta correspondente ao layout padrão.

Visões

Visualizações são painéis no Eclipse que permitem consultar e trabalhar com vários aspectos do seu aplicativo. As seguintes visualizações estão disponíveis:

Visualização Eventos
Permite criar eventos para XPages e controles. É possível usar a visualização Eventos para conectar ações simples ou scripts a eventos. Os eventos são organizados em categorias para acesso fácil.

Ao gravar scripts, você pode criar eventos do lado do servidor ou do lado do cliente. É possível especificar opções para a atualização de XPages depois que os eventos ocorrem, incluindo a execução de atualizações parciais para uma parte dos elementos das XPages na tecnologia Asynchronous JavaScript and XML (AJAX).

Ao gravar ações simples, é possível gravar ações que desempenham uma atividade pré-programada que pode ser modificada por argumentos. Também é possível criar grupos de ações simples.

Visão da Estrutura de Tópicos
Fornece uma representação hierárquica do código fonte XML em XPages. É possível clicar nos nós individuais na visualização Estrutura de Tópicos para navegar pela XPage e atualizar propriedades na visualização Propriedades. Também é possível arrastar e soltar elementos a fim de reorganizar seções e alterar a sequência dos elementos.
Visão Problemas
Exibe erros, avisos e outras informações sobre os recursos do IBM Domino Designer. Essas mensagens são geradas quando você constrói o espaço de trabalho do Eclipse. Por exemplo, se você salvar uma XPage contendo erros de sintaxe, a visualização Problemas exibirá esses erros.
Visualização Propriedades
Permite configurar propriedades para XPages e controles. A visualização Propriedades interage com o editor que está atualmente aberto. Por exemplo, se você estiver projetando uma XPage e mover o foco para um controle de UI específico na XPage, as propriedades desse controle de UI ficarão disponíveis na visualização Propriedades.

A visualização Propriedades está localizada na parte inferior da janela IBM Domino Designer e contém guias individuais que você pode clicar para exibir um conjunto de opções. Como cada XPage e controle de UI possuem seu próprio conjunto exclusivo de propriedades, as guias e as opções dessas guias serão alteradas de acordo com o que estiver selecionado no momento. Por exemplo, ao visualizar uma lista de XPages, se você clicar no nome de uma XPage individual, a visualização Propriedades exibirá informações gerais sobre a XPage, como o nome da XPage, o autor e a data em que ela foi criada. Se você clicar duas vezes no nome do XPage, o XPages será aberto no modo de edição no editor do IBM Domino Designer XPages e um novo conjunto de guias aparecerá na visualização Propriedades. Essas guias serão alteradas dependendo do que estiver selecionado no momento no editor, por exemplo, a XPage inteira ou um controle de UI individual.

É possível minimizar, maximizar e restaurar a visualização com os botões na barra de título Propriedades. Você pode clicar com o botão direito do mouse na guia Propriedades para executar as seguintes tarefas:
  • ocultar a visualização
  • minimizar e maximizar a visualização
  • desconectar a visualização como uma janela separada
  • restaurar uma visão minimizada ou maximizada

Obtendo Informações

O recurso imediato para obter informações é o sistema de ajuda instalado. Outros recursos incluem um centro de informações, um wiki do Domino Designer e artigos sobre vários websites.

Para acessar a ajuda do Domino Designer ou Notes, clique em Ajuda > Conteúdo da Ajuda. O acesso mais fácil é geralmente por meio de pesquisa. Aqui estão algumas dicas:
  • Insira palavras completas. Maiúsculas/minúsculas não importam, mas as palavras devem estar completas. Por exemplo, se estiver procurando o método createFTIndex, você poderá inserir createftindex mas createftinde falhará.
  • Os resultados da pesquisa podem mostrar títulos duplicados ou semelhantes, especialmente para tópicos de referência. Quando você passa o mouse sobre um título, um pop-up indicará o nome de seu manual. Estas informações também aparecem na linha de status.
  • Se estiver usando uma parte da ajuda com frequência, você deverá definir um escopo da pesquisa para essa parte. Consulte a tarefa referenciada.
Clicar em F1 mostra um sistema de ajuda complementar na área de janela à direita. Uma parte desse material é basicamente um resumo. É possível navegar para a documentação completa usando os links ou clicando em Pesquisar ou Todos os Tópicos na parte inferior da página.

A mesma ajuda instalada com o produto está disponível no Centro de Informações do Notes Domino, em http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp.

Acesse o wiki do Domino Designer em http://www.lotus.com/ldd/ddwiki.nsf para artigos, fóruns e informações adicionais. É possível postar nesse wiki.

Use o Google ou outro produto da Web para expandir sua pesquisa além da da ajuda. Introduza o prefácio de sua consulta de pesquisa com o domino designer. Por exemplo, para obter informações sobre o método createFTIndex, você pode inserir domino designer createftindex como uma consulta de pesquisa.

Para obter uma introdução prática ao XPages, use o tutorial nesta ajuda. O tutorial usa o modelo avançado nomeado Demo do Localizador de Site.

Definindo um Escopo de Pesquisa

Um escopo de pesquisa limita os tópicos da ajuda que são pesquisados.

Sobre Esta Tarefa

Por padrão, uma pesquisa se aplica a todos os tópicos na ajuda. Execute as etapas a seguir para criar um escopo nomeado que limite uma pesquisa para os tópicos especificados.

Procedimento

  1. Na janela de procura, clique em Escopo da Procura.
  2. No diálogo Selecionar Escopo da Pesquisa, selecione Pesquisar apenas os tópicos a seguir e clique em Novo.
  3. No diálogo Nova Lista de Pesquisa, insira um nome para a pesquisa.
  4. Marque as partes da ajuda que você deseja pesquisar. É possível marcar os tópicos no nível inicial e um nível abaixo.
  5. Clique em OK para salvar o escopo e fechar o diálogo Nova Lista de Pesquisa.

    O novo escopo aparece na lista de escopos quando Pesquisar apenas os tópicos a seguir é selecionado.

    É possível criar um outro escopo.

    É possível editar ou remover um escopo selecionado.

  6. Clique em OK para fechar o diálogo Selecionar Escopo da Pesquisa.
  7. O escopo em vigor aparece próximo ao Escopo da Pesquisa. Para alterar o escopo:
    1. Clique em Escopo da Pesquisa para abrir o diálogo Selecionar Escopo da Pesquisa.
    2. Selecione Pesquisar apenas os tópicos a seguir, em seguida, selecione um escopo, ou selecione Pesquisar Todos os Tópicos.
    3. Clique em OK.

Exemplo

Por exemplo, para criar um escopo de pesquisa apenas para tópicos do Domino Designer: no diálogo Nova Lista de Pesquisa, nomeie o escopo como Designer e marque todos os tópicos de nível superior que começam com Lotus Domino Designer.

Acessibilidade e Atalhos de Teclado

O Domino Designer fornece alguns auxílios assistivos para aqueles com mobilidade restrita ou visão limitada.

O IBM Domino Designer fornece alguns auxílios assistivos para aqueles com mobilidade restrita ou visão limitada.

Especificamente, o Domino Designer fornece

  • Atalhos de teclado que permitem navegar por uma variedade de tarefas e executá-las no Domino Designer.
  • Teclas aceleradores estendidas que permitem navegar na barra de marcadores e nas guias de janela usando o teclado. Você deve ativar as teclas aceleradores estendidas para poder usá-las.

Para obter informações adicionais, consulte a seção "Acessibilidade e Atalhos de Teclado" do Guia Básico do Usuário e Referência do Domino Designer no sistema de ajuda do produto. Nele, você encontrará uma variedade de tópicos sobre atalhos de teclado relacionados a tarefas.

Uma edição acessível da ajuda completa do produto pode ser localizada no IBM Notes e no Centro de Informações do Domino, em http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp.

Informações adicionais também podem ser localizadas no tópico "Customizando o Notes para Acessibilidade" na Ajuda do Notes. Se a Ajuda não estiver instalada, será possível também acessar a Biblioteca de Documentação do IBM Developer Domain em http://www.lotus.com/ldd/doc para fazer download ou visualizar a Ajuda do Notes.

Finalmente, o website de Necessidades Especiais da IBM está disponível em http://www.ibm.com/able.

Tutoriais

Esta seção contém tutoriais e informações sobre tutoriais.

O tutorial que está disponível atualmente nesta seção é o tutorial Localizador de Sites do XPages. Consulte o restante dos tópicos nesta seção para obter informações adicionais.

Tutorial de Localizador de Site de XPages

Esse tutorial demonstra a facilidade com que você pode criar um aplicativo da web no IBM Domino Designer usando elementos XPage. Usando esse tutorial, você cria e visualiza três XPages. Você colocará controles nas XPages para acessar e ver dados, navegar para outras páginas, atualizar a mesma página e executar outras ações. Você usará JavaScript.

A familiaridade com o Lotus Domino Designer e elementos de design tradicionais são úteis, mas não essenciais. Alguns poucos elementos de estrutura e gráficos que estão fora do escopo do que você está aprendendo são pré-carregados. Para aqueles que não estão familiarizados com o Eclipse, o Navegação no Domino Designer fornece uma boa introdução.

O aplicativo demo, chamado Site Finder Demo, é um modelo avançado fornecido com o Domino Designer. É semelhante à ferramenta em muitos Web sites para encontrar uma localidade próxima. Você envia um CEP e o servidor retorna as localidades correspondentes. Neste tutorial, você desenvolve a página da Web para fazer o envio, e outras páginas para criar e editar os documentos do site.

Por razões de simplicidade, o acesso não é restrito. Qualquer pessoa pode criar e editar documentos. Esse acesso permite que você visualize os recursos da XPage sem ter que definir um servidor. Para um aplicativo real, você pode restringir o acesso, o que é executado facilmente por meio de uma Access Control List (ACL). No menu, clique em Arquivo > Aplicativo > Controle de Acesso.

O mecanismo de pesquisa no aplicativo demo é simples, baseado apenas em correspondências exatas. Em um aplicativo real, você desejará um mecanismo mais sofisticado.

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

Objetivos do Aprendizado

  • Configurar e ver um aplicativo que contém elementos XPage
  • Criar um XPage
  • Incluir controles em um XPage
  • Conectar dados a um XPage
  • Incluir navegação em um XPage
  • Criar um controle de customização
  • Usar conexão e script avançados

Tempo Necessário

Esse tutorial leva aproximadamente 90 minutos para ser concluído.

Configurando o Aplicativo de Amostra

Durante o curso do tutorial, crie três Sites, SiteFinder e SiteList nomeados das XPages. Ao abrir o aplicativo de amostra pela primeira vez, você verá as XPages existentes com nomes semelhantes. Três delas são soluções finais e são denominadas SiteFinal, SiteFinderFinal e SiteListFinal. Duas delas são soluções intermediárias e são denominadas Site1 e SiteList1.

Inicie o IBM Domino Designer e execute as seguintes etapas:
  1. No menu, clique em Arquivo > Aplicativo > Novo (Ctrl+N).
  2. Na janela Novo Aplicativo execute as seguintes etapas:
    1. Deixe a seleção de Servidor como Local.
    2. Digite um título, por exemplo, Demo do Localizador de Site.
    3. Aceite ou modifique o nome do arquivo, por exemplo, SiteFinderDemo.nsf.
    4. Opcional: Clique em Criptografia. Selecione Não criptografar localmente este banco de dados e clique em OK.

      Esta etapa permite que outros usuários do Notes acessem o aplicativo localmente, por exemplo, se você enviá-lo por correio para alguém. Em geral, você deve criptografar aplicativos reais para protegê-los. A criptografia local não impede o arquivo de ser compartilhado por meio da replicação para um servidor.

    5. Selecione Criar um texto completo para pesquisa. Você precisará disso posteriormente.
    6. Deixe a seleção do servidor de modelo como Local.
    7. Selecione Mostrar modelos avançados.
    8. Na lista de modelos, selecione Demo do Localizador de Sites.
    9. Desmarque Herdar futuras mudanças de estrutura.
    Segue aqui como a janela Novo Aplicativo aparenta ser.

    janela Novo Aplicativo

  3. Clique em OK.

    O Domino Designer cria o novo aplicativo e seus elementos são exibidos em Aplicativos à esquerda da tela. Expanda os elementos para explorar a estrutura deste aplicativo.

  4. Expanda Código e clique duas vezes em Agentes. Na lista de agentes, clique com o botão direito do mouse em Criar Dados de Amostra e selecione Executar.

    Esse agente cria vários registros de amostra, os quais são usados para testar o aplicativo. Responda a qualquer caixa de diálogo. Clique no X no canto para fechar a área de janela que contém a lista de agentes.

  5. Expanda XPages e clique duas vezes em SiteFinderFinal (a solução final para SiteFinder).
  6. Clique em Estrutura > Visualizar no Navegador da Web > Navegador da Web do Sistema Padrão ou selecione um navegador específico entre os listados).

    Um mini servidor da Web em execução no seu computador abre um navegador, gera HTML para a XPage e envia a página para o navegador usando o host local para o nome do servidor.

    Se o seu computador não estiver definido para usar o host local, a URL de visualização falhará. Abra um navegador e use 127.0.0.1 ou o endereço IP real de seu computador na URL, por exemplo, http://127.0.0.1/SiteFinderDemo.nsf/SiteFinderFinal.xsp.

  7. Especifique um valor no campo CEP (por exemplo, 02108) e clique em Pesquisar .

    Essa etapa envia a página para o servidor. O servidor processa as informações da página e envia outra página ao cliente.

  8. Feche o navegador quando terminar.
  9. No Domino Designer, feche o elemento XPage clicando no X em sua guia.

    A aparência varia. Se um painel tiver mais de uma guia, você verá um X em uma guia. Se uma área de janela tiver apenas uma guia, ela será exibida como uma janela com o X no canto.

Fique à vontade para explorar o aplicativo visualizando as XPages com Final no nome. Essas XPages são a versão final do que você está designando, à medida que você passa pelo tutorial.

Criando uma XPage

Essa lição ensina como criar uma XPage básica.

Essa lição usa um formulário e uma visão, mas não conduz ao exercício de criá-los. O formulário do site contém os campos para armazenar as informações do site e os critérios de pesquisa e a visão SiteList é usada para exibir a lista de sites e resultados da pesquisa. Consulte rapidamente essas informações. Para obter documentação sobre formulários e visualizações, consulte o Guia do Usuário Básico e Referência do Domino Designer na ajuda.
  • Os formulários são usados por XPages para definir quais dados estão armazenados em um documento, não como eles são exibidos. Essa definição é como o uso de campos ocultos em formulários de exibição para organizar e calcular dados. O formulário do site contém campos de dados para a criação de documentos e algum texto explicativo. Os usuários nunca os vêem, portanto, o layout não tem importância.
  • As visões são usadas pelas XPages para definir coletas de documentos e sua ordenação. Por mais que você possa usar uma visão puramente para indexar alguns dados para que eles possam ser endereçados programaticamente, a visão SiteList serve como um índice para seus documentos de dados. Ela lista o conteúdo de todos os documentos classificados por nome do site. As visões são uma forma eficiente de organizar documentos e é comum ter várias visões mostrando diferentes ordens de classificação e subconjuntos.

Certifique-se de que o aplicativo esteja expandido e execute as seguintes etapas:

  1. Clique duas vezes em XPages.

    Essa ação exibe uma lista de elementos da XPage na área de janela central.

  2. Clique em Nova XPage.
  3. Nomeie sua nova SiteList da XPage. (A extensão .xsp é assumida e adicionada automaticamente.)

    É possível usar espaços no nome, mas os nomes são geralmente mais claros quando você não os usa.

  4. Clique em OK. Um elemento de design da XPage vazio é criado na área de janela central.
  5. Coloque gráficos de cabeçalho na página:
    1. Em Controles Principais, selecione e arraste Imagem na XPage. A janela Selecionar Imagem aparece.
    2. Selecione xpTitlebarLeft_ren.gif.

      A janela Selecionar Imagem parece esta captura de tela.

      janela Selecionar Imagem

    3. Clique em OK.

    As imagens vistas na captura de tela foram pré-carregadas. Cada imagem que vista na lista é um recurso no banco de dados atual. O botão Incluir permite importar imagens adicionais (e há outras maneiras de importar imagens).

    Após clicar em OK, a imagem deve ser exibida como um cabeçalho.

  6. Clique no espaço vazio à direita da imagem do cabeçalho ou pressione a seta À Direita para mover nessa direção. Talvez seja necessário rolar nessa direção se o espaço não estiver visível. Pressione Enter para que o cursor vá para a próxima linha.
  7. Insira algum texto de cabeçalho:
    1. Na XPage, clique na linha vazia abaixo do cabeçalho.
    2. Digite Lista de Sites e pressione Enter.
    3. Realce a linha do texto.
    4. No painel inferior, clique em Fonte e altere as fontes como desejar, por exemplo, para negrito 14 azul.
    Posteriormente, você incluirá uma folha de estilo e a aplicará a este texto como uma maneira alternativa de controlar a formatação.
A estrutura para sua XPage parece esta captura de tela:

XPage SiteList

Desenvolvedor da Web experientes podem desejar usar elementos que estruturam o documento, como H1 e H2. A interface com o usuário da estrutura não suporta essa estrutura, mas a interface com o usuário de origem permite que você insira XML como desejar. Clique na guia Origem para ver e editar a página como XML. Clique na guia Estrutura para retornar ao tutorial.

Incluindo um Controle de Visão

Um controle de visão XPage é usado para exibir informações de uma visão definida. O controle criado nesta lição permite que você exiba dados da visão SiteList.

Certifique-se de que a XPage SiteList esteja aberta no painel central e execute as seguintes etapas:
  1. Em Controles do Container, selecione e arraste Visão para o XPage.
  2. Na janela Selecionar Origem de Dados para Visão:
    1. Deixe Mostrar dados de definido como Visão do Domino.
    2. Deixe Aplicativo definido como Atual.

      É possível selecionar qualquer aplicativo Domino, porém o controle de visualização não funciona a menos que o aplicativo fique disponível no servidor em tempo de execução.

    3. Na lista suspensa Visão, selecione SiteList.
    4. Aceite view1 como o nome da origem de dados.

      Esse nome pode ser usado no código JavaScript do lado do servidor.

    5. No parte inferior da lista de colunas, mantenha SiteName, StreetAddress, City e SiteType selecionados.

    A janela parece-se com uma captura de tela.

    Janela Selecionar Origem de Dados para Visão

  3. Clique em OK.

    Uma tabela representando a visão é exibida. As quatro colunas representam as colunas de visão e duas linhas representam os títulos da coluna e o conteúdo da coluna. A primeira linha contém um controle do pager que permite ao usuário navegar pelos dados da visualização.

  4. Ajuste o controle de visão:
    1. Para redimensionar as colunas, selecione as duas linhas em uma coluna clicando na célula na primeira linha e pressionando a tecla Shift, enquanto clica na segunda célula e, em seguida, arraste um identificador na célula.
    2. Selecione a linha do cabeçalho inteira clicando na primeira célula e pressionando a tecla Shift enquanto clica nas células restantes na linha. Pressione Ctrl+B ou use as propriedades de fonte para tornar essas células negritas.
  5. Permita que os usuários abram um documento ao clicar nele na primeira coluna do controle de visão:
    1. Clique dentro da célula esquerda na parte inferior (SiteName).
    2. Na guia Propriedades no painel inferior, clique em Exibir.
    3. Selecione Mostrar valores nesta coluna como links.

    A página parece-se com uma captura de tela.

    XPage SiteList com controle de visão

  6. Vincule o controle de visão para a página de edição.
    1. Clique no controle de visualização para que a visualização inteira fique em foco.
    2. Na guia Propriedades no painel inferior, clique em Visualizar.
    3. Na lista suspensa No tempo de execução, abrir o documento selecionado usando na parte inferior e selecione Site1.
  7. Salve e visualize a página.
    1. Clique na própria XPage real para que o foco fique na própria página.

      Outra maneira de colocar foco na página é clicar em Estrutura de Tópicos > Documento Raiz > XPage na área de janela lateral. Essa ação coloca foco na página em si. É possível pôr foco nos elementos de estrutura específicos clicando no elemento correspondente na estrutura de tópicos.

    2. Pressione Ctrl+S para salvar a página.
    3. Clique em Estrutura > Visualizar no Navegador da Web > Navegador da Web do Sistema Padrão ou no navegador de sua escolha. Clique em um documento na lista. Ele abre com o Site XPage. Você pode fazer alterações no documento a partir desta janela e clicar em Enviar para salvá-las. Enviar a página não faz você sair dessa página, e você pode continuar a editar e salvar o mesmo documento.
      Existem várias maneiras de salvar mudanças e atualizar o navegador:
      • O botão Enviar que você usa neste tutorial atualiza as origens de dados e atualiza a página.
      • O botão Botão permite que você anexe ações simples ou JavaScript em um evento onclick. Use esse evento para atualizar as origens de dados e redirecionar o usuário para outra página.
      • Eventos de página permitem que você anexe ações simples ou JavaScript em um evento postSaveDocument. É possível colocar um botão de Envio na página e no evento postSaveDocument para redirecionar usuários para outra página.

      Sua XPage é como SiteList1, que você pode abrir para comparação.

  8. Feche o navegador.

Criando uma XPage para Edição

Formulários podem também ser utilizados para projetar páginas da Web, mas as XPages permitem mais opções de UI e maior controle da aparência com menos esforço. Também é útil ter um formulário para fornecer uma lista de campos para dados de ligação. Além disso, o formulário pode ser usado para calcular campos computados com fórmulas de campo, em vez de colocar código na XPage.

Nesta lição, você aprenderá como incluir texto em uma página, incluir controles em uma página, ajustar a aparência de uma página com folhas de estilo e conectar origens de dados a uma página. Há muitas etapas, mas execute apenas uma vez cada uma delas.

Faça o seguinte:

  1. No começo da lista de XPages, clique em Nova XPage. Ou então, é possível clicar com o botão direito do mouse em XPages > Nova XPage.
  2. Nomeie a nova XPage Site e clique em OK. Os nomes de XPage e de formulário não precisam ser iguais, mas está é uma boa prática. Dar a eles o mesmo nome permite certos comportamentos automáticos que estão além do escopo deste tutorial.
  3. Inclua uma folha de estilo na página da seguinte forma:
    1. Na área de janela inferior, clique em Estilo.
    2. Role até o final e clique em Incluir folha de estilo na página
    3. Na caixa Incluir Folha de Estilo na Página, selecione styles.css.
    4. Clique em OK.
    Estes arquivos CSS são elementos de estrutura da folha de estilo incluídos no aplicativo de amostra.
  4. Inclua um título para a página e defina seu estilo da seguinte forma:
    1. Na XPage, digite um título para a página, por exemplo, Descrição do Site e pressione Enter.
    2. Realce o texto.
    3. Na área de janela mais inferior, clique em Estilo se você não estiver nessa opção.
    4. Na lista em styles.css, clique em .title.
    A aparência do texto será alterada para que fique em conformidade com o estilo selecionado.
  5. Associe (ligar) a XPage com o armazém de dados de backend do Domino conforme segue:
    1. Clique fora do texto na XPage para que o foco seja na própria página.
    2. Em Propriedades no painel inferior, clique em Dados.
    3. Clique em Incluir e selecione Documento do Domino.

      Uma origem de dados chamada document1 é exibida.

    4. Na lateral da área de janela, localize Formulário e selecione Site na lista suspensa.

      Isto associa a XPage às definições de dados no formulário Site.

  6. Configure a paleta de dados da seguinte forma:
    1. Na parte inferior da área de janela, clique no link Paleta de Dados. Uma guia Dados aparece na área de janela lateral. Também é possível exibir a guia Dados clicando em Janela > Mostrar Visualizações do Eclipse > Dados.
    2. Na guia Dados, selecione document1 para Origem de Dados. Você pode colocar o foco na XPage para que a nova origem de dados apareça na paleta de dados.

      Os nomes e tipos de campo para a origem de dados aparecem embaixo do nome da origem de dados.

    3. No canto superior esquerdo da guia Dados, clique no ícone da caixa de diálogo Selecionar Controles para ativá-lo.

      O ícone da caixa de diálogo Selecionar Controles tem a seguinte aparência:

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

    A caixa de diálogo Selecionar Controles Ligados por Dados é aberta.

  8. Preencha a caixa de diálogo da seguinte forma:
    1. Deixe todas as caixas de seleção marcadas para indicar que você deseja incluir os campos.
    2. Deixe todo texto de rótulo no estado em que se encontra.
    3. Altere o tipo de controle de Tipo de Site para Caixa de Combinação selecionando-o e usando o menu suspenso.
    4. Altere o tipo de controle de Amenidades para Caixa de Listagem
    5. Altere o tipo de controle de Direções para Caixa de Edição de Multilinhas
    6. Marque Adicionar botão Enviar ao código gerado.
    7. Marque Incluir controle de mensagens no código gerado.

    A caixa de diálogo deve ter a seguinte aparência.

    Caixa de diálogo Selecionar Controles Ligados por Dados

  9. Clique em OK.

    Isso cria uma tabela de duas colunas com rótulos na primeira coluna e controles na segunda coluna. A segunda coluna também possui uma área para exibir erros de validação e um botão Enviar.

  10. Coloque o foco no campo SiteType e ajuste-o da seguinte forma:
    1. Clique em Dados em Propriedades na parte inferior da área de janela e digite Office como o valor padrão.
    2. Para incluir as outras opções dos tipos de site, clique em Valores e, em seguida, em Propriedades. Clique em Adicionar Item três vezes. Selecione e altere os rótulos de cada item de Sem Título para Escritório, Varejo e Restaurante.

      Você não precisa inserir nada para Values, a não ser que o valor armazenado seja diferente do valor de exibição, o que não é o caso aqui.

  11. Coloque o foco no campo Amenidades e ajuste-o da seguinte forma:
    1. Clique em Caixa de Listagem em Propriedades na parte inferior da área de janela e marque Permitir diversas seleções
    2. Clique em Valores em Propriedades. Clique em Adicionar Item quatro vezes. Selecione e altere os rótulos de cada item de Sem Título para Cafeteria, Academia de Ginástica, Local de Informações e Centro Empresarial.
    3. Clique na coluna 1 dentro da célula, mas fora do controle de rótulo (“Amenidades:"). Clique em Célula da Tabela em Propriedades e selecione Parte Superior para Alinhamento Vertical da Célula.

      Isso alinha o rótulo no início da célula.

    Se preferir caixas de seleção para Amenidades, será possível remover a Caixa de Listagem e arrastar um Grupo de Caixas de Seleção da paleta de Controles. Ligue o Grupo de Caixas de Seleção clicando em Dados em Propriedades e selecionando Amenidades a partir do menu suspenso Ligar a. Insira os valores na guia Valores como na etapa 11 acima.

    A razão para ter os dois campos City e searchCity é permitir uma cidade diferente para pesquisa, em vez dos nomes de locais reais. Por exemplo, um dos locais de amostra é em Brighton, um subúrbio de Boston, portanto, para a pesquisa diremos que é em Boston. No entanto, para país, suporemos que o país real e o país de pesquisa sejam os mesmos.

    A XPage deve ter a seguinte aparência.

    XPage de Descrição do Local

    Neste ponto, sua XPage deve ser semelhante a Site1, o qual você pode abrir para comparação.

  12. Ajuste a tabela de forma que a linha que contém o botão Submeter fique oculta quando a página não for editável. Será necessário um pequeno JavaScript.
    1. Clique na célula de tabela que contém o botão Submeter (a célula, não o botão).
    2. Em Propriedades no painel inferior, clique em Célula da Tabela, se ela ainda não estiver selecionada.
    3. Clique no losango ao lado de Visível e clique em Computar Valor. O editor de script é aberto.
    4. No editor de script, dê um clique duplo em document1 na lista de variável globais e, em seguida, digite um ponto.

      A variável global document1 é um objeto do tipo NotesXspDocument que representa o documento atual que a XPage está visualizando. Quando você digita o ponto, a lista de métodos para esse objeto aparece.

    5. Na lista de métodos, role até o final e dê um clique duplo em isEditable().
      true será retornado se o documento for editável e, do contrário, será retornado false. A fórmula deve ter a seguinte aparência:
      document1.isEditable()
    6. Clique em OK.

      O editor de script fecha salvando seu código.

    Esse código ocultará a célula que contém o botão se o valor de retorno for false. Você poderá também ocultar o botão, em vez da célula.
  13. Na XPage, clique fora de todos os controles para colocar o foco na página e pressione Ctrl+S para salvar a página.
  14. Clique em Estrutura > Visualizar no Navegador da Web > Navegador da Web do Sistema Padrão (ou selecione outro navegador). Você pode testar seu aplicativo inserindo valores e clicando em Submeter. Um novo documento deve ser inserido no banco de dados. Para ver uma lista de documentos, use o Notes Client. Feche o navegador quando terminar.

    Neste ponto, sua XPage deve ser semelhante a SiteFinal, o qual você pode abrir para comparação.

  15. Feche a XPage Site clicando no X na parte superior direita do painel central.

Criando Controles para Incluir e Excluir Documentos

O XPage SiteList permite ver e editar documentos no aplicativo, mas precisamos incluir controles para criar e excluir documentos.

Faça o seguinte:
  1. No XPage SiteList, clique dentro da primeira coluna (a coluna, não o cabeçalho) para que ela fique em foco.
  2. Em Propriedades, clique em Exibir.
  3. Marque Caixa de Seleção. Isto insere uma caixa de seleção na frente de cada linha. O usuário pode selecionar uma linha marcando uma caixa.
  4. Na XPage, clique no fim do título e pressione Enter para inserir uma linha em branco entre o título e o controle de visualização.
  5. Se você não vir a lista de controles no painel à direita, clique na guia Controles ou na Janela > Visualizações Mostrar Eclipse > Controles.
  6. Arraste um controle Botão na linha vazia sob o título e faça o seguinte:
    1. Em Propriedades no painel inferior, clique em Botão se ele ainda não estiver em foco.
    2. Altere o rótulo para Novo Site.
    3. Clique na guia Eventos.
    4. Assegure-se de que o evento onClick esteja selecionado.
    5. Clique em Incluir Ação. A caixa de diálogo Incluir Ação Simples é aberta. A categoria deve ler Todos e a ação Abrir Página. Ajuste se ainda não tiver feito isso.
    6. Selecione Site para o nome da página a ser aberta.
    7. Selecione Novo Documento para o documento de destino.
    A caixa de diálogo deve ter a seguinte aparência.

    Caixa de diálogo Incluir Ação Simples

  7. Clique em OK.
  8. Arraste um segundo controle Botão ao lado do primeiro e faça o seguinte:
    1. No painel inferior, clique na guia Propriedades e clique em Botão se ele ainda não estiver em foco.
    2. Altere o rótulo para Excluir Selecionado.
    3. Clique na guia Eventos.
    4. Assegure-se de que o evento onclick esteja selecionado.
    5. Clique em Incluir Ação.
    6. Selecione Documento para a categoria.
    7. Selecione Excluir Documentos Selecionados para a ação.
    8. Selecione viewPanel1 para o nome da visualização.

      Se este não for o nome de seu controle de visão, selecione o seu controle de visão.

    9. Digite Deseja realmente excluir os sites marcados? para o texto de confirmação.

    A caixa de diálogo deve ter a seguinte aparência.

    Caixa de diálogo Incluir Ação Simples

  9. Clique em OK.
  10. Pressione Ctrl+S para salvar a página.
  11. Visualize a página conforme desejado.
  12. Feche o XPage SiteList clicando no X na parte superior direita do painel central.
Neste ponto, seu XPage deve ser semelhante a SiteListFinal, o qual você pode abrir para comparação.

Criando uma XPage para Pesquisa

O usuário usa esta página para especificar parâmetros de pesquisa e ver os resultados. Os parâmetros de pesquisa são valores para a cidade, o estado, o país e o CEP. O usuário pode preencher qualquer um desses parâmetros e clicar em um botão. A página é atualizada e os resultados são exibidos como uma visão. Uma propriedade de pesquisa para a visão limita a exibição a documentos que correspondem aos parâmetros de pesquisa.

Faça o seguinte:
  1. No começo da lista de XPages, clique em Nova XPage. Ou então, é possível clicar com o botão direito do mouse em XPages > Nova XPage na área de janela lateral.
  2. Nomeie a nova XPage SiteFinder e clique em OK.
  3. Em Controles de Customização no painel direito, arraste o controle de customização Cabeçalho para a XPage.

    Esta é a mesma imagem que você coloca na XPage SiteList, mas ela foi colocada em um controle de customização para facilitar a manutenção. Um controle de customização é similar a um subformulário.

  4. Inclua uma folha de estilo na página da seguinte forma:
    1. Clique na página real e não nos controles para que o foco fique na página.
    2. Em Propriedades no painel inferior, clique em Estilo.
    3. Role até o final e clique em Incluir folha de estilo na página
    4. Na caixa Incluir Folha de Estilo na Página, selecione styles.css.
    5. Clique em OK.
  5. Inclua um título da seguinte forma:
    1. Na XPage, pressione Enter depois do cabeçalho, digite um título para a página, por exemplo, Localizador do Site e pressione Enter novamente.
    2. Realce o texto.
    3. No painel inferior, clique em Estilo se você não estiver nesta opção.
    4. Na lista em styles.css, clique em .title.
    A aparência do texto será alterada para que fique em conformidade com o estilo selecionado.
  6. Abaixo do texto do título, insira instruções para o usuário, por exemplo, Preencha qualquer um ou todos estes campos e clique em Pesquisar e pressione Enter.
  7. Crie uma tabela com quatro linhas e duas colunas da seguinte forma:
    1. Em Controles de Container no painel direito, arraste Tabela sob as instruções na XPage.

      A caixa de diálogo Inserir Tabela é exibida.

    2. Na caixa de diálogo Inserir Tabela, especifique 4 para linhas e 2 para colunas.
    3. Clique em OK.
    4. Use as alças para ajustar a largura da tabela.
  8. Faça o seguinte para cada célula na coluna 1:
    1. Em Controles Núcleo no painel direito, arraste Rótulo para a célula.
    2. No painel inferior, altere o rótulo do controle para Cidade (linha 1), Estado (linha 2), País (linha 3) ou CEP (linha 4).
  9. Faça o seguinte para cada célula na coluna 2:
    1. Nos Controles Principais na área de janela lateral, arraste Caixa de Edição para a célula.
    2. Em Propriedades no painel inferior, clique em Caixa de Edição.
    3. Altere os nomes para searchCity (linha 1), searchState (linha 2), searchCountry (linha 3) e searchZip (linha 4).
    4. Em Propriedades no painel inferior, clique em Dados.
    5. Para Conectar Dados Usando, clique em Avançado.
    6. No menu suspenso Uso, selecione Variável com Escopo Definido.
    7. Na caixa de listagem Parâmetro, selecionet Escopo da Sessão.
    8. Role até o final e digite o nome da variável como searchCity (linha 1), searchState (linha 2), searchCountry (linha 3) ou searchZip (linha 4).
    Conectar essas caixas de edição para variáveis com escopo definido permitirá que os usuários acessem seus valores em código JavaScript em vez do armazém de dados. Uma variável de sessão retém seu valor nas páginas pela duração da sessão do usuário no servidor.
  10. Faça o seguinte para criar um botão para submeter e atualizar a página:
    1. Em Controles Principais na área de janela lateral, arraste Botão para a linha abaixo da tabela.
    2. No painel inferior, altere o rótulo do controle para Pesquisar.
    3. Na lista drop-down do tipo de botão, selecione Submeter.
    Clicar nesse botão submeterá a página para o servidor e atualizará o conteúdo da página com base nos valores que o usuário inseriu.
  11. Faça o seguinte para exibir a consulta usada para obter resultados:
    1. Na próxima linha da XPage, digite Sequência de Consultas: e um espaço.
    2. Em Controles Principais na área de janela à direita, arraste Campo Computado na página.
    3. Em Propriedades no painel inferior, clique em Fonte. Altere a cor para azul.
    4. Em Propriedades no painel inferior, clique em Valor.
    5. Para Conectar Dados Usando, clique em Avançado.
    6. No menu suspenso Uso, selecione Variável com Escopo Definido.
    7. Na caixa de listagem Parâmetro, selecionet Escopo da Sessão.
    8. Role até o final e digite o nome da variável como queryString.

      O nome da variável é de sua própria escolha e não tem significado especial. Você designará um valor para ela posteriormente.

    Isto nos permite exibir a consulta que calculamos posteriormente. É provável que a exibição não seja necessária no aplicativo de produção, mas que seja útil para teste.
  12. Em Controles do Contêiner na área de janela lateral, arraste Visualização no próxima linha da página.
    1. Deixe Mostrar dados de definido como Visão do Domino.
    2. Deixe Aplicativo definido como Atual.
    3. Na lista drop-down Visão, selecione SiteList.
    4. Aceite view1 como o nome da origem de dados.
    5. Na lista de colunas na parte inferior, desmarque tudo, exceto SiteName, Phone, StreetAddress, City e State. Você pode alterar isto e escolher quais colunas exibir, mas SiteName deve estar incluída.
    6. Clique em OK.
  13. Em Propriedades no painel inferior, clique em Visão. Para No tempo de execução, abrir documento selecionado usando, selecione Site.
  14. Em Propriedades no painel inferior, clique em Dados. Assegure-se de que a visão esteja definida como SiteList.
  15. Agora você define uma consulta de pesquisa para limitar a visão àqueles documentos que estão de acordo com as informações inseridas pelo usuário para os campos de pesquisa. Faça o seguinte:
    1. Em Propriedades no painel inferior, clique em Todas as Propriedades.
    2. Role até o final. Expanda Dados e, em seguida, expanda a segunda ocorrência de Dados. Selecione a propriedade Pesquisar.

      A tela deve ter a seguinte aparência.

      Propriedade Pesquisar

    3. Clique no losango ao lado da propriedade Procurar e selecione Computar Valor.

      O editor de script é aberto.

    4. Insira o código a seguir no editor de script. Certifique-se de que o idioma seja JavaScript do lado do servidor e que Computar Dinamicamente esteja 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; // isto apenas exibe a consulta
      return qstring // isto é o que define a propriedade de pesquisa

      Você não percorrerá o exercício, mas este código poderá ser colocado na forma de uma função e inserido em uma biblioteca de scripts. Em seguida, a biblioteca de scripts será incluída como um recurso para a página e a função acessada por uma referência simples. Isto permite que o código seja usado em vários locais com manutenção central.

    5. Clique em OK.
    Esse código obtém os valores que o usuário insere na página usando as variáveis de escopo da sessão conectadas às caixas de edição. O código compila e retorna uma sequência de consultas que corresponde aos valores de documento nos campos searchZip, searchCity, searchState e Country.

    Para fins de clareza, estamos usando os mesmos nomes de campo nos documentos em que estamos pesquisando, mas poderíamos usar qualquer nome.

  16. Ajuste a primeira coluna para permitir que o usuário abra o documento em modo real:
    1. Na XPage, clique dentro da primeira coluna da visão.
    2. Em Propriedades no painel inferior, clique em Exibir.
    3. Marque Mostrar valores nesta coluna como links.
    4. Para Modo de Abertura de Documento, clique em De Leitura.

    Os usuários da Web que estão consultando os resultados da pesquisa não terão permissão para editar os documentos que eles localizam quando seguem o link. Em um aplicativo real, você também usará a lista de controle de acesso.

  17. Salve as alterações e visualize a nova tela de pesquisa.
  18. Visualize a página conforme desejado. Tente algumas pesquisas, por exemplo: 02108 ou 33432 para o CEP; Boca Raton ou Boston para a cidade; MA para o estado; França para o país.
  19. Feche a XPage SiteFinder clicando no X na parte superior direita do painel central.
Neste ponto, sua XPage deve ser semelhante a SiteFinderFinal, o qual você pode abrir para comparação.

O processo mostra aqui não é necessariamente a melhor maneira para organizar uma função de pesquisa, mas é uma maneira. Em vez disso, talvez você queira designar a propriedade de pesquisa da origem de dados do código JavaScript no botão Pesquisar. Dessa forma, é mais fácil ter várias origens de informações de consulta na página, talvez com vários botões de pesquisa para diferentes tipos de pesquisas.

Outros controles estão disponíveis para melhorar o formato de seus resultados. A Tabela de Dados, por exemplo, fornece mais controle sobre como organizar o layout dos resultados da pesquisa e muitas vezes é usada no lugar de uma visão. Entretanto, o controle Visão é muito simples de usar.

Administrando Aplicativos

O IBM Domino Designer fornece recursos para administrar e gerenciar o trabalho e os arquivos relacionados enquanto desenvolve projetos do aplicativo.

O atual principal recurso, ativação do controle de origem permite que elementos de design baseados em NSF sejam armazenados em um repositório do controle de origem e que operações de controle de origem comuns sejam executadas usando o Domino Designer. O recurso faz isso permitindo que você crie uma associação entre um projeto em disco gerenciado pelo controle de origem e o projeto baseado em NSF virtual que o Domino Designer controla.

Esse recurso é fornecido para permitir a integração de um cliente de controle de fonte SVN com o Domino Designer tão discretamente quanto possível e permitir que o Domino Designer permaneça como o "sistema de controle de fonte autônomo" tanto quanto possível.

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

Controle de Origem no Domino Designer

Operações de controle de origem são possíveis com o Domino Designer. A seção fornece todas as informações necessárias para o uso do recurso de ativação do controle de origem que torna esta funcionalidade disponível.

Ativação do Controle de Origem

O recurso de ativação do controle de origem foi introduzido para permitir que elementos de design baseados em NSF sejam armazenados em um repositório do controle de origem e que operações de controle de origem comuns sejam executadas usando o Domino Designer.

Clientes do controle de origem baseados em Eclipse (por exemplo, software livre) como SVN e CCRC trabalham em arquivos físicos. Dessa forma, eles não podem trabalhar diretamente com projetos do Designer que contêm o mapeamento de arquivos virtuais para elementos de design baseados em NSF. Eles apenas trabalham com projetos que estão salvos no disco. Por isso, é necessário trabalhar em um projeto em disco que espelha o projeto NSF virtual para executar operações de controle de origem.

Para ajudar a resolver isso, o recurso de ativação do controle de origem do Domino Designer foi introduzido para permitir que elementos de design baseados em NSF sejam armazenados em um repositório do controle de origem e que operações de controle de origem comuns sejam executadas usando o Domino Designer. O recurso faz isso permitindo que você crie uma associação entre um projeto em disco gerenciado pelo controle de origem e o projeto baseado em NSF virtual que o Designer controla. Esta etapa é, na realidade, um pré-requisito que precisa ser concluído antes de proceder qualquer operação de controle de origem básica.

Finalmente, esse recurso permite integrar um cliente de controle de fonte SVN ao Domino Designer tão discretamente quanto possível e permite que o Domino Designer permaneça como o "sistema de controle de fonte autônomo" tanto quanto possível.

Pré-requisito: Configurando o sistema de controle de origem da versão usado com ativação do controle de origem

Este tópico descreve como configurar pela primeira vez um sistema de controle de origem da versão para que seja possível usar o recurso de ativação do controle de origem.

Sobre Esta Tarefa

Sistemas de controle de origem da versão de software livre (como Subversion®) permite que você compartilhe projetos nos repositórios, onde eles são armazenados em seguida. Um repositório é como um servidor de arquivos, exceto que ele apenas armazena a cópia do sistema de arquivos, mas também armazena os estados anteriores e o histórico de mudanças. Um sistema de controle de origem como o Subversion® acessa repositórios usando conexões de rede. Isso permite que você trabalhe com arquivos compartilhados e veja toda mudança possível feita por outros desenvolvedores.

Para poder usar o recurso de ativação do controle de origem no Domino Designer, presume-se que os plug-ins de controle de origem para SVN/Clearcase (versão de software e um sistema de controle de revisão) tenham sido instalados ou tenham sido provisionados dinamicamente no Designer. Como uma recomendação, as etapas a seguir precisam ser concluídas para iniciar o uso do recurso de ativação do controle de origem:

Procedimento

  1. Instale e configure os sistemas de controle de origem da versão de software livre
  2. Crie um repositório no servidor Subversion (consulte a documentação do software Subversion)
  3. Registre o novo repositório com o servidor de controle de origem clicando em Novo - Local do Repositório - Novo Painel do Repositório e insira a URL do servidor e as credenciais do usuário.

O que Fazer Depois

Se ainda não possuir um sistema de controle de origem da versão de software livre instalado, é possível usar as seguintes etapas para instalar o sistema Subversion®:
Nota: Nota: Esta versão requer no mínimo o Eclipse 3.3 e não suporta versões anteriores do Eclipse IDE.
  • Ative o menu Aplicativo - Instalar selecionando a preferência que ativa instalações de plug-in do Eclipse.
  • Instale o site de atualização para os plug-ins do Eclipse SVN listados no site http://www.eclipse.org/subversive/downloads.php. Use o Helios Release. GEF (3.4 e posteriores) é um pré-requisito para plug-ins subversion, de modo que você será solicitado a instalar também os plug-ins GEF mostrados anteriormente.
  • Depois de instalados, instale os conectores SVN relacionados a partir do seguinte site de atualização: http://community.polarion.com/projects/subversive/download/eclipse/2.0/helios-site/. Durante o processo, você pode ser avisado em cada plug-in do conector.
  • Para verificar se esses dois sites de atualização foram instalados corretamente, verifique se a Perspectiva Explorar Repositório SVN pode ser aberta no Domino Designer e, em seguida, conecte o servidor Subversion.
Nota: O cenário de instalação de exemplo descrito anteriormente foi testado usando as versões de plug-in a seguir:
  • Plug-in Subversive: Subversive-incubation-0.7.9.I20100512-1900.zip
  • Conectores Subversive: Subversive-connectors-2.2.2.I20100512-1900.zip
É altamente recomendado que você use essas versões ao contrário das últimas ou das versões mais recentes. Se desejar tentar outras versões, entretanto, então é recomendado que você tente usar versões que correspondem de forma parecida com aquelas no exemplo.
Nota: Por padrão, o plug-in de controle de fonte Subversive (e possivelmente outros plug-ins do produto de controle de fonte) instala a versão mais recente da Graphical Editing Framework (GEF). Se uma versão da GEF mais recente do que a 3.6.2 estiver instalada, o XPages não será exibido corretamente quando aberto para edição no Designer.

Para resolver esse problema, ao instalar o plug-in Subversive (ou outros plug-ins do produto de controle de fonte, conforme aplicável) instale uma versão específica da Graphical Editing Framework (GEF) que NÃO seja mais recente que a versão 3.6.2. A versão 3.6.2 é recomendada. Para fazer isso, durante o procedimento de instalação, desmarque a caixa de seleção Mostrar apenas a versão mais recente de um recurso por site de atualização. Expanda o recurso .../gef/updates/releases/ e selecione GEF SDK 3.6.2.

Configurando o recurso de ativação do controle de origem

Os tópicos a seguir fornecem informações sobre a configuração inicial das tarefas que precisam ser concluídas para iniciar o uso do recurso de ativação do controle de origem do Domino Designer como parte das operações do controle de origem diárias.

  • Criando associações entre projetos em disco e NSFs
  • Associando o NSF com um projeto em disco existente
  • Configurando a direção da operação de sincronização inicial
  • Associando o NSF com um novo projeto em disco
  • Configurando preferências do recurso de ativação do controle de origem

Antes de iniciar: Criando associações entre projetos em disco e NSFs

O recurso de ativação do controle de origem requer que você crie uma associação entre um projeto em disco gerenciado pelo controle de origem e o projeto baseado em NSF virtual que o Designer usa.

Clientes do controle de origem baseados em Eclipse (por exemplo, software livre) como SVN e CCRC trabalham em arquivos físicos. Dessa forma, eles não podem trabalhar diretamente com projetos do Designer que contêm o mapeamento de arquivos virtuais para elementos de design baseados em NSF. Eles apenas trabalham com projetos que estão salvos no disco (como os projetos em disco). Por isso, é necessário usar um projeto em disco que espelha o projeto NSF virtual para executar operações de controle de origem.

Para efetuar isso, o recurso de ativação do controle de origem requer que você crie uma associação entre um projeto em disco gerenciado pelo controle de origem e o projeto baseado em NSF virtual que o Designer usa. Esta etapa é um pré-requisito que precisa ser concluído antes de proceder qualquer operação de controle de origem básica.

A seguir estão as etapas gerais que precisam ser concluídas para criar esta associação.

  • Certifique-se de que tenha aberto ou criado um aplicativo NSF no Designer.
  • No Navegador de Aplicativos, selecione o NSF que deseja associar com um projeto em disco e, clicando com o botão direito do mouse no menu de contexto, selecione Desenvolvimento da Equipe - Associar com Projeto em Disco Existente. O recurso de ativação de controle de origem do Domino Designer opera criando uma associação ou mapeamento entre um projeto NSF virtual e um projeto em disco. Selecionar esta opção de menu concluirá esta associação.

Associando o NSF com um projeto em disco existente

O recurso de ativação do controle de origem permite que você crie uma associação entre um projeto em disco existente gerenciado pelo controle de origem e o projeto baseado em NSF virtual que o Designer usa.

Sobre Esta Tarefa

Use as seguintes etapas para criar a associação ou mapeamento Designer Application (.NSF) - Projeto em Disco (ODP). Isso é feito a partir do painel Associar com Projeto em Disco....

Procedimento
  1. Abra ou crie um aplicativo NSF no Domino Designer.
  2. Selecione o NSF criado e selecione Desenvolvimento da Equipe - Associar com Projeto em Disco Existente... a partir do menu. Isso abre o painel Associate with On-Disk project. A partir deste painel, selecione um projeto em disco existente, bem como selecione a direção para a operação de sincronização inicial que irá ocorrer após a associação ser feita. A configuração padrão é "Importar de um projeto em disco no nsf_filename".
  3. Consulte o tópico Configurando a direção da operação de sincronização inicial para obter mais detalhes sobre as configurações de sincronização.

Configurando a direção da operação de sincronização inicial

Este tópico explica as direções disponíveis para a operação de sincronização inicial que ocorre durante a criação da associação entre um NSF e um projeto em disco.

Durante a criação da associação entre um NSF e um projeto em disco, é necessário selecionar a direção da operação de sincronização inicial. Isso pode ser uma das seguintes:

  • Exportar a partir do nome do arquivo nsf para o projeto em disco selecionado -- Quando a direção inicial é configurada dessa forma, a operação de sincronização inicial irá exportar todo o conteúdo do projeto NSF virtual para o projeto em disco em um formato adequado, que pode ser então confirmado para um repositório do controle de origem.
  • Importar a partir do projeto em disco selecionado no nome do arquivo nsf -- Quando a direção inicial é configurada dessa forma, a operação de sincronização inicial irá atualizar o projeto NSF com o conteúdo do projeto baseado no disco.

Associando o NSF com um novo projeto em disco

O recurso de ativação do controle de origem permite que você crie uma associação entre um novo projeto em disco e um NSF.

Sobre Esta Tarefa

Para associar um NSF com um novo projeto em disco, selecione Arquivo - Desenvolvimento da Equipe - Configurar Controle de Origem para este Aplicativo a partir do menu.

Para fazer isso no Domino Designer Applications Navigator, clique com o botão direito do mouse no cabeçalho do aplicativo (ícone) do aplicativo que você deseja incluir no controle de fonte e selecione Desenvolvimento da Equipe - Configurar Controle de Fonte para esse Aplicativo. Isso cria um novo projeto em disco e todo o conteúdo do projeto NSF aberto é exportado para ele por padrão.

Para obter informações adicionais sobre como usar o recurso de ativação do controle de origem com tarefas do controle de origem comuns, consulte o tópico Concluindo tarefas do controle de origem comuns com o recurso de Ativação do Controle de Origem para mais detalhes.

Configurando preferências do recurso de ativação do controle de origem

Este tópico explica as preferências que podem ser configuradas para customizar as operações do recurso de ativação do controle de origem.

Para futura customização das operações do recurso de ativação do controle de origem, é possível configurar preferências clicando em Arquivo-Preferência-Designer-Controle de Origem. Essas preferências serão aplicadas a este recurso enquanto ele é usado. Essas preferências incluem o seguinte:

  • Usar o DXL Binário para operações de controle de origem -- Existem maneiras diferentes de representar os elementos de design no disco, dependendo do tipo do elemento de design que está sendo representado - consulte a seção "Selecionando a Maneira de Representar os Elementos de Design no Disco" para obter detalhes completos.
  • Ativar a exportação automática dos elementos de design (de NSF para disco) em modificação -- Esta preferência é fornecida para ativar a exportação implícita dos elementos de design após eles serem modificados dentro do NSF pelo usuário. Se esta preferência for selecionada, qualquer edição no projeto NSF (por exemplo criação/atualização/exclusão de um formulário, XPage, etc) será refletida no projeto em disco implicitamente, que pode ser então confirmada para o repositório do controle de origem.
  • Ativar a importação automática dos elementos de design (de disco para NSF) em modificação -- Esta preferência é fornecida para permitir a importação implícita dos arquivos de design a partir do disco para NSF quando eles são modificados no projeto do disco. Isso também necessita que a Autoconstrução esteja ATIVADA. Após configurar esta preferência, se o usuário atualizar o projeto do disco com o conteúdo do repositório, as mudanças seriam importadas automaticamente dentro do NSF.
  • Mostrar Painel auxiliar no assistente de Configuração - Esta preferência mostrará um painel auxiliar descrevendo o recurso de ativação do controle de origem quando o painel Desenvolvimento da Equipe-Configurar Controle de Origem para este Aplicativo for chamado.

Selecionar (marcar) uma preferência para ativá-la ou cancelar seleção para desativá-la.

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

Selecionando a Maneira para Representar Elementos de Design em Disco

Este tópico descreve as maneiras para representar elementos de design em disco.

Existem duas maneiras diferentes para representar os elementos de design em disco dependendo do tipo de elemento de design que está sendo representado.

  • Como um conjunto de 2 arquivos (conteúdo e metadados) em disco -- As propriedades XPages, Controles de customização, Folhas de estilo, Arquivos, Temas, Aplicativos Compostos, Ligação e as bibliotecas de scripts JS/SSJS/LS são are representadas como um conjunto de 2 arquivos em disco, o arquivo de conteúdo e o arquivos de metadados. O arquivo de Conteúdo possui o conteúdo do arquivo real como visto no editor e o arquivo de metadados contém o DXL menos o conteúdo para representar o restante dos atributos do elemento de design.
  • Como um arquivo contendo o DXL do elemento de design -- O restante dos elementos de design, Formulário, Visualização, Páginas, bibliotecas de scripts Java, Agentes, Ações Compartilhadas, etc. são representados com um arquivo contendo o DXL do elemento de design. Uma preferência é fornecido para usar o formato "binário" para DXL para o conteúdo exportado. Consulte o tópico Configurando preferências do recurso de ativação do controle de origem para obter mais informações.

Concluindo tarefas do controle de origem comuns com o recurso de Ativação do Controle de Origem

As etapas básicas de um fluxo de trabalho geral são fornecidas para oferecer a você uma ideia de como ele funciona com o recurso de ativação do controle de origem do Domino Designer.

Como não está no escopo desta documentação explicar cada detalhe das operações de controle de origem básicas para os vários sistemas de controle de origem disponíveis, as etapas básicas de um fluxo de trabalho geral são fornecidas para oferecer a você uma ideia de como ele funciona com o recurso de ativação do controle de origem do Domino Designer.

Um processo geral poderia seguir algo como isso:

  • Os plug-ins do controle de origem adequados estão instalados no Designer.
  • Abrir um banco de dados no Designer.
  • Associar o banco de dados (NSF) com um projeto em disco (ODP) e exportar do NSF para o ODP
  • Confirmar - enviar a partir do Designer ODP para o repositório do controle de origem.
  • Efetuar o registro de saída - a partir de outra máquina, acessar o ODP a partir do repositório do controle de origem.
  • Associar um banco de dados (NSF) com o ODP e importar do ODP para o .NSF.
  • Modificar o .NSF e/ou ODP e sincronizar os dois (implicitamente ou explicitamente).
  • Confirmar as mudanças no repositório do controle de origem.
  • Atualizar para acessar as mudanças a partir do repositório do controle de origem no ODP.
  • Sincronizar o ODP atualizado com o .NSF

Como um exemplo mais específico, uma ferramenta comum usa o procedimento básico a seguir:

  • Compartilhar Projeto para incluí-lo no Controle de Origem.
  • Efetuar o registro de saída para criar um projeto em disco local a partir do controle de origem
  • Confirmar para enviar mudanças locais para o controle de origem
  • Atualizar para receber mudanças da origem.
Nota: Nota: Consulte a documentação do software de controle de origem para obter mais detalhes sobre como o sistema manipula as operações básicas.

O próximo tópico fornece exemplos mais detalhados do uso do recurso de ativação do controle de origem do Domino Designer para a conclusão de algumas das tarefas do controle de origem comuns apenas mencionadas.

Incluindo um aplicativo do Domino Designer existente no controle de origem

Este tópico descreve como incluir um aplicativo do Domino Designer existente em um controle de origem

Sobre Esta Tarefa

Vamos dizer que você iniciou um novo aplicativo e começou a trabalhar nele localmente em sua máquina. Então, você descobre que precisa delegar partes do aplicativo para um colega de trabalho. Você decide fazer isso decide fazer isso efetuando o registro de entrada do aplicativo existente no sistema de controle de origem.

Esta tarefa é feita com o recurso de ativação de controle de origem do Domino Designer associando o aplicativo NSF existente com um novo projeto em disco. Para obter etapas sobre como fazer isso, consulte o tópico Associando o NSF com um novo projeto em disco.

Acessando um Aplicativo a Partir do Controle de Fonte

Este tópico descreve como acessar um aplicativo a partir do controle de fonte.

Sobre Esta Tarefa

Vamos dizer que é necessário que você ajude um colega de trabalho em um novo aplicativo que está sendo construído. O aplicativo já teve o registro de entrada efetuado no controle de fonte pelo desenvolvedor original, mas agora é necessário acessar o aplicativo para que você possa iniciar o trablaho nele.

Use as seguintes etapas gerais para fazer isso:
  • Em uma visualização do navegador Eclipse, use os comandos do sistema de controle de origem para copiar o aplicativo para sua máquina local.
  • Associe o projeto em disco com um novo NSF

    OU

  • Associe o projeto em disco com um NSF existente

Consulte os tópicos adicionais nesta seção para obter mais informações para concluir essas tarefas.

Associando um projeto em disco com um novo NSF

Este tópico descreve como associar um projeto em disco com um novo NSF.

Sobre Esta Tarefa

Vamos dizer que é necessário que você ajude um colega de trabalho em um novo aplicativo que está sendo construído. O aplicativo já teve o registro de entrada efetuado no controle de origem pelo desenvolvedor original, mas agora é necessário acessar o aplicativo para que você possa iniciar o trabalho nele.

Uma maneira de fazer isso é associar um projeto em disco com um novo NSF. Use as seguintes etapas para fazer isso:

Procedimento
  1. Para associar um projeto em disco com um novo NSF, clique com o botão direito do mouse no projeto em disco criado recentemente e selecione Desenvolvimento da Equipe - Associar com Novo NSF.... Isso exibe o diálogo Associar com Novo NSF... que solicita o nome do aplicativo e o local onde deseja que ele seja criado.
  2. Se o local for um servidor local, use o botão Navegar para abrir os diretórios do sistema de arquivos local.
  3. Se o local for um servidor remoto, o botão Navegar aparece com um diálogo listando as pastas que podem ser selecionadas.
  4. Por padrão, o NSF e o projeto em disco serão automaticamente mantidos em sincronização.
Resultados

Associando um projeto em disco com um NSF existente

Este tópico descreve como associar um projeto em disco com um NSF existente.

Sobre Esta Tarefa

Vamos dizer que é necessário que você ajude um colega de trabalho em um novo aplicativo que está sendo construído. O aplicativo já teve o registro de entrada efetuado no controle de origem pelo desenvolvedor original, mas agora é necessário acessar o aplicativo para que você possa iniciar o trabalho nele.

Uma maneira de fazer isso é associar um projeto em disco com um NSF existente. Use as seguintes etapas para fazer isso:

Procedimento
  1. Para associar o projeto em disco com um NSF existente, clique com o botão direito do mouse no projeto recém criado em disco e selecione Desenvolvimento da Equipe - Associar com o NSF Existente... Isso cria o diálogo Associar com o NSF Existente....
  2. Selecione o NSF existente que deseja associar com o projeto em disco, bem como a direção da operação de sincronização inicial.
Resultados

Exemplo da associação de um NSF existente com um projeto em disco

Este tópico fornece um exemplo da associação de um NSF existente com um projeto em disco.

Vamos dizer que você está procurando por uma cópia anterior de um aplicativo que um colega enviou para você por e-mail. Este aplicativo foi desde então postado em um controle de origem e você agora foi chamado a ajudar com o mesmo. Neste caso, é necessário obter a versão "real" para substituir aquela enviada para você por e-mail.

Este procedimento é o mesmo que o do tópico Associando um projeto em disco com um NSF existente, com exceção da ação de associação que é tomada do NSF e as opções que estão nos projetos em disco. O projeto em disco associado com o NSF será aquele usado para as operações de controle de origem. Para obter etapas sobre como fazer isso, consulte o tópico Associando o NSF com um projeto em disco existente.

Tratando um Conflito de Sincronização de Arquivo

Este tópico descreve como tratar um conflito de sincronização de arquivo com o recurso de controle de origem.

Sobre Esta Tarefa

Quando estiver trabalhando com arquivos em controle de origem, você poderá receber erros de conflito de sincronização de arquivo. Se isso ocorrer, uma mensagem de diálogo Conflito de Sincronização aparece com uma caixa de listagem contendo os arquivos em conflito. É possível selecionar um ou mais arquivos e escolher comparar suas várias versões. Depois de determinar qual é a correta, é possível, então, selecionar qual versão usar.

O diálogo Conflito de Sincronização apresenta uma visualização que possui 3 colunas: nome do arquivo, última data de modificação (NSF) e última data de modificação (em disco). Um botão Comparar permite criar um diálogo que possibilita a visualização de versões DXL do NSF e versões em disco de um elemento, lado a lado, com as diferenças destacadas.

As etapas a seguir são usadas em um exemplo em que você possua 2 arquivos com conflito. Neste caso, um conflito de sincronização entre o NSF e o projeto em disco ocorreu e os 2 arquivos estão listados no painel Conflito de Sincronização.

Procedimento
  1. Se desejar, selecione um arquivo e clique no botão Comparar. Esta ação cria o diálogo Comparar exibindo os conteúdos de cada arquivo com as diferenças destacadas.
  2. Decida qual versão do arquivo você deseja usar e pressione o botão Usar a Versão NSF ou o botão Usar a Versão de Projeto Em Disco. A opção Usar a Versão NSF sobrescreve a versão Em Disco e a opção Usar Versão Em Disco sobrescreve a versão NSF. É possível realizar qualquer uma dessas operações independentemente.
  3. Se clicar no botão Fechar sem especificar nenhum arquivo, eles serão mostrados novamente na lista da próxima vez que o conflito de sincronização for acionado.
Resultados

Sincronizando manualmente o NSF e o projeto do controle de origem local

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

Sobre Esta Tarefa

Podem existir momentos em que você deseje sincronizar manualmente um NSF e um projeto em disco do controle de origem local. Por exemplo, você pode desejar fazer isso se existir um problema ou se tiver desligado a sincronização automática no painel Preferências.

Faça isso selecionando Desenvolvimento da Equipe-Sincronização com Projeto em Disco a partir do menu de contexto ou do menu principal.

Removendo Associações no Controle de Origem

Este tópico descreve como remover associações NSF/de projeto no controle de origem.

Sobre Esta Tarefa

Podem existir momentos em que você deseje remover a associação criada entre um NSF e um projeto em disco do controle de origem local.

Faça isso selecionando Desenvolvimento da Equipe-Remover Associação do Controle de Origem a partir do menu de contexto ou menu principal.

Projetando Aplicativos XPages

O IBM Domino Designer fornece os recursos para preencher um XPage com controles e outros artefatos e para associar um XPage aos armazenamentos de dados.

Para navegação geral, como criar e abrir XPages, consulte Navegação no Domino Designer.

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

  • Clique na guia Estrutura para trabalhar no modo visual.
  • Clique na guia Origem para editar o XML diretamente.

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

Visualizando e Executando XPages

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

Uma XPage existente em um aplicativo em um servidor Domino pode ser acessada da seguinte forma:
  • A partir de um navegador por meio de uma URL no formato http://server/application.nsf/xpage.xsp.
  • A partir de um Notes Client por meio de uma URL no formato notes://server/application.nsf/xpage.xsp.

Uma XPage existente em um aplicativo em um Notes Client pode ser acessada a partir desse cliente por meio de uma URL no formato notes:///application.nsf/xpage.xsp?OpenXPage.

Além disso, é possível definir o aplicativo para abrir uma XPage após a ativação.

Visualizando uma XPage

É possível visualizar uma XPage em um ambiente do servidor Domino ou do Notes Client.

Antes de Iniciar

Para uma visualização na Web, é necessário primeiro ajustar a Lista de Controle de Acesso (ACL) para o aplicativo. Clique com o botão direito do mouse no aplicativo no navegador e selecione Aplicativo > Controle de Acesso. Adicione uma entrada para Anônimo e defina um nível apropriado de acesso (pelo menos Autor com capacidade para criar documentos).
Nota: Além disso, certifique-se de que a tarefa HTTP esteja em execução no servidor Domino para executar com êxito uma visualização na Web.

Procedimento

  1. Clique com o botão direito do mouse em uma XPage e selecione Visualizar no Notes ou Visualizar no Navegador da Web. Como alternativa, com foco em uma XPage, é possível clicar em Estrutura > Visualizar no Notes ou Estrutura > Visualizar no Navegador da Web no menu.

    Como alternativa, com foco em uma XPage, é possível clicar no ícone Visualizar no Notes ou Visualizar no Navegador da Web na barra de ferramentas.

  2. Para Visualizar no Navegador da Web, selecione o tipo de navegador.

Resultados

Uma visualização do Notes inicia o Notes Client se necessário, em seguida, abre a XPage no cliente. O cliente trata as solicitações a partir da XPage.

Uma visualização na Web inicia um servidor de visualização local do Domino, em seguida, abre a XPage em um navegador. O servidor de visualização local trata as solicitações a partir da XPage.

A visualização de uma XPage na Web pode diferir da execução da XPage no contexto do aplicativo completo. Os resultados também podem depender se você estiver visualizando um aplicativo local ou remoto. A visualização de um aplicativo local sempre usa Anônimo para controle de acesso e o servidor de visualização local não possui algumas funções avançadas de um servidor de produção. Entretanto, os scripts são executados e os documentos são criados, assinados com Anônimo para visualizações locais e com o ID atual para visualizações em um servidor, dando a você um aspecto realístico no aplicativo.

Abrindo uma XPage Após a Ativação do Aplicativo

É possível abrir uma XPage após a ativação do aplicativo.

Procedimento

  1. Clique duas vezes ou então abra Propriedades do Aplicativo a partir do Navegador de Aplicativos. A página de propriedades para o aplicativo é aberta.
  2. Clique na guia Ativação.
  3. Para o Notes Client, selecione Abrir XPage designada (cliente Padrão) e selecione uma XPage.
  4. Para o navegador da Web, selecione Abrir XPage Designada e selecione uma XPage. Como alternativa, se você desejar abrir a mesma XPage que para o Notes, selecione Usar a opção de ativação do Notes.
  5. Salve as propriedades do aplicativo.

Resultados

Quando o usuário ativa o aplicativo, a XPage é aberta imediatamente.

Um usuário de navegador da Web pode ativar uma XPage aplicando sua URL, por exemplo, http://server/application.nsf/xpage.xsp.

Abrindo uma Outra XPage

A partir de uma XPage, os usuários podem abrir outras XPages por meio de regras de navegação, uma ação simples, métodos, XSPContext e ao abrir a URL.

Regras de Navegação

Cada XPage possui uma propriedade navigationRules que uma matriz de elementos navigationRule. Uma regra de navegação indica ao servidor qual página retornar ao cliente após processar uma página enviada por meio de um botão do tipo Enviar ou Cancelar. Consulte o button - Botão. Cada regra de navegação possui os seguintes atributos:
atributo valor
outcome xsp-success se a atualização for normal
  xsp-failure se a atualização falhar
redirect true significa restaurar o último estado da página
  false (padrão) significa abrir uma página limpa
viewId <no rule> significa abrir a mesma página
  $$PreviousPage significa abrir a página aberta na última vez antes da página enviada
  $$HomePage significa abrir a página de ativação
  page.xsp significa abrir uma página especificada
Este é 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 Estrutura, clique fora de todos os controles, clique na guia XPage e procure as opções Próxima Página.

Ação Simples openPage

A ação simples Abrir Página(consulte o IBM Domino Designer XPages Reference) abre uma página imediatamente na ativação. Este é 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 Redirecionamento

Os métodos redirectToPage (consulte o IBM Domino Designer XPages Reference), redirectToPrevious (consulte o IBM Domino Designer XPages Reference) e redirectToHome (consulte o IBM Domino Designer XPages Reference) abrem uma página imediatamente na ativação. Este é 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>

Abrindo a URL

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

A partir de um elemento de estrutura não XPage, é possível usar @URLOpen em uma fórmula. A seguinte fórmula destina-se a uma ação do formulário e abre uma XPage localmente no Notes Client:

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

Abrindo um XPage ao invés de uma visualização

Para acesso à Web apenas, é possível abrir um XPage ao invés de uma visualização.

Procedimento

  1. Clique duas vezes ou então abra uma visualização a partir do Navegador de Aplicativos.
  2. Abra as propriedades da visualização e clique na guia Avançado.
  3. Para Acesso à Web > Exibir XPage alternativa, selecione um XPage.
  4. Salve a visualização.

Resultados

Quando o usuário seleciona a visualização, o XPage é aberto.

Assinando XPages

As XPages são assinadas com o ID do usuário do Domino atual ao salvar o elemento de design da XPage e/ou ao gerar seu(s) arquivo(s) de implementação (ou seja, .class).

Sobre Esta Tarefa

A assinatura de uma XPage determina se ela será carregada em tempo de execução e, consequentemente, se ela pode ser executada com ou sem restrições em seus métodos e operações. A execução com restrições exclui determinados recursos, como E/S de arquivo ou de rede, que é uma abordagem mais comum. A execução sem restrições permite que todos os recursos suportados dos idiomas de implementação do XPage sejam usados (consulte o tópico "Operações de Agente LotusScript e Java Restritas" no Guia Básico do Usuário e Referência do Domino Designer > Design do Aplicativo > Incluindo Automação nos Aplicativos).

Conforme os direitos de acesso ao servidor, os direitos para executar métodos restritos/irrestritos são designados a assinantes ou grupos específicos na seção Restrições à Programabilidade da guia Segurança do documento do servidor (consulte o tópico "Controlando agentes e XPages que são executados em um servidor" na Ajuda do Domino Administrator > Segurança > Acesso ao servidor para usuários do Notes, usuários da Internet e Servidores Domino > Customizando acesso a um servidor Domino).

Quando uma XPage é invocada (como para Agentes), o Domino verifica o documento do servidor para os direitos de segurança de servidor do assinante de XPage, além de verificar os direitos de acesso para o usuário da Web autenticado. Para componentes da XPage (por exemplo, XPages incluídas, controles de customização, extensões JSF ou bibliotecas JavaScript do servidor), o Domino verifica cada direito de acesso ao servidor do assinante do componente e, se indicado, faz downgrade da sessão da XPage para executar apenas com restrições (se configurado para Domino, a variável notes.ini de NoExternalApps possui o mesmo efeito). Em tempo de execução, as assinaturas para usuários do DDE sem direitos de servidor para assinar XPages gerará erros HTTP 403 de volta para o navegador.

Usando XPages no Notes Client

É possível executar aplicativos XPages no rich client do IBM Notes.

A principal vantagem do suporte para XPages no Notes Client é que você pode replicar localmente um aplicativo desenvolvido para a Web e executá-lo off-line no Notes Client, sem precisar desenvolvê-lo novamente para o cliente. Todas as vantagens do modelo de desenvolvimento de aplicativo XPages podem ser estendidas para o Notes Client. Esses aplicativos são exibidos no navegador integrado, e na maioria das vezes, têm aparência e comportamento semelhantes aos de aplicativos da Web, mas têm um comportamento um pouco diferente do Notes Client.

  • É possível criar uma lógica específica para o Notes Client que afete a forma como o aplicativo é renderizado no Notes. Por exemplo, no aplicativo Discussion, a renderização na web inclui uma mensagem "Bem-vindo nome do usuário" seguido por um link "Meu Perfil" no canto da página. A mensagem de boas-vindas não aparece no Notes Client; a lógica no aplicativo Discussion a remove. Também é possível modificar as propriedades de XPages de um aplicativo para especificar temas diferentes a serem usados quando o aplicativo for executado no Notes Client ou em um navegador.
  • Os usuários de aplicativos em execução no Notes Client podem usar Arquivo > Salvar para preservar modificações em XPages. A propriedade enableModifiedFlag permite ativar essa opção de menu e solicitar que o usuário salve as mudanças quando uma XPage for alterada.
  • Quando um usuário é autenticado no Notes Client, as mesmas credenciais são usadas para acesso a qualquer aplicativo ou componente XPages. Portanto, o usuário não vê um diálogo de login da Web como veria em um aplicativo da Web tradicional em execução no navegador integrado.
  • Para evitar que o código em elementos de estrutura de XPages (conteúdo ativo) execute operações protegidas, como ler de e gravar em arquivos de estação de trabalho ou ler de ou gravar em propriedades do sistema, o XPages usa a lista de controle de execução (ECL) para gerenciar o acesso e as capacidades que o usuário concedeu ao assinante do código que está tentando executar a operação protegida.
  • As páginas podem ser marcadas no Notes Client.

Além de construir XPages como aplicativos independentes, você também pode construir componentes XPage no Domino Designer que podem ser executados dentro de aplicativos compostos e suportar o modelo de evento de recebimento/publicação, bem como parâmetros de componentes. Seus componentes XPages podem então interagir com outros componentes no cliente, como o componente PIM.

Além disso, observe que os aplicativos XPages podem residir em um servidor Domino. Se você configurar a opção de ativação "Quando aberto no Notes Client " como "Abrir XPage Designada (Cliente Padrão)," a XPage correspondente será renderizada no cliente, se o aplicativo residir no servidor Domino ou localmente no Notes Client. O comportamento do XPage no cliente será exatamente o mesmo.

Usando a Barra de Ferramentas do XPages

Os aplicativos XPages no Notes Client têm sua própria barra de ferramentas, que fica visível sempre que um XPage tem seu foco no navegador integrado.

Sobre Esta Tarefa
A barra de ferramentas inclui diferentes grupos de botões.
  • Os botões de navegação permitem se mover para frente e para trás entre as páginas, parar a ação atual, atualizar a página atual e retornar para a página original. O botão de atualização também oferece uma opção Limpar Dados Privados. A execução dessa ação limpa o cache do navegador integrado.
  • O botão de impressão permite configurar XPages para impressão e imprimi-los.
  • Se o Domino Designer estiver instalado, você poderá clicar no botão Visualizar Origem da Página para ver a origem da HTML ou clicar no botão Visualizar Configuração do Navegador para ver as configurações do navegador integrado.

Segurança de XPages

A segurança é fornecida para aplicativos XPages.

Um aplicativo XPages em execução no IBM Notes Client pode incluir vários elementos de design que contêm código (geralmente chamado de "conteúdo ativo") que pode ser executado na estação de trabalho do usuário, por exemplo, acessando um banco de dados ou JavaScript com código Java integrado. Para evitar que o conteúdo ativo execute operações protegidas, como ler de e gravar em arquivos de estação de trabalho, ler de ou gravar em propriedades do sistema e operações de rede, o XPages usa a lista de controle de execução (ECL) para gerenciar o acesso e as capacidades que o usuário concedeu ao assinante do código que está tentando executar a operação protegida.

A ECL determina se o assinante do código tem permissão para executar código em uma determinada estação de trabalho e define o acesso que o código tem a várias funções da estação de trabalho, como acesso ao banco de dados atual ou a outros bancos de dados. Exemplos de conteúdo ativo em um aplicativo XPages incluem código Java integrado em JavaScript (lado do servidor), bibliotecas de script do lado do servidor e classes Java e JARs importados no banco de dados.

Todos os elementos de estrutura em um aplicativo XPages têm a assinatura de seu criador. Observe que se houver mais de um assinante de um aplicativo XPages, todos os assinantes deverão ser confiáveis para o usuário antes de a operação protegida ser executada.

As opções de acesso à segurança da ECL para aplicativos XPages são definidas na guia Usando Estação de Trabalho em O que Outros Fazem do diálogo Segurança do Usuário (Arquivo > Segurança > Segurança do Usuário).

Segurança com filtragem de conteúdo ativo

O recurso de segurança Active Content Filtering (ACF) também oferece proteção contra a inserção de código doloso em um controle de entrada do XPage durante uma execução.

A filtragem de conteúdo ativo é usada para remover conteúdo ativo possivelmente doloso (scripts, marcações) em um controle de texto de entrada/saída. Um mecanismo ACF age como uma biblioteca para executar a filtragem durante o tempo de execução. Se colocar o foco em determinados controles XPage (caixa de edição, caixa de edição multilinhas, rich text, entrada oculta), você verá duas propriedades htmlFilter e htmlFilterIn na guia Todas as Propriedades em básicas.

A propriedade htmlFilter define o mecanismo ACF a ser usado quando o controle envia dados ao cliente, e a propriedade htmlFilterIn define o mecanismo a ser usado quando o controle recebe texto do cliente. É possível alterar essas duas propriedades para ativar ou desativar o ACF para um campo de texto.

Existem quatro mecanismos ACF disponíveis para o XPages:
  • acf
  • striptags
  • identity
  • empty

O mecanismo “acf” analisa o texto HTML e filtra as construções não seguras, com base em um arquivo de configuração (acf-config.xml). O mecanismo “striptags” remove todas as marcações usando uma expressão regular 'replaceAll("\\<.*?>","")'. O filtro "identidade" retorna a sequência original. O mecanismo “empty” remove tudo e retorna uma sequência vazia.

O mecanismo “acf” pode ser configurado por meio de um arquivo de configuração. Para o lado do cliente, normalmente esse arquivo fica localizado em C:\Program Files\IBM\Lotus\Notes\Data\properties. Um exemplo, acf-config.xml.sample, está localizado nessa pasta.

Para configurar o ACF, primeiro você deve localizar o arquivo xsp.properties na mesma pasta e incluir a seguinte linha: xsp.htmlfilter.acf.config=acf-config.xml. Isso indica que acf-config.xml será usado para configurar o mecanismo “acf” (caso contrário, as regras padrão serão usadas). A seguir está um exemplo do conteúdo do arquivo 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 atributos que iniciam com "on."
  • <rule attribute='href' value='javascript:' value-criterion='contains' action='remove-attribute-value' /> remove todos os atributos 'href' cujo valor contem uma palavra-chave 'javascript:'.
  • <rule tag='style' action='remove-tag' /> remove todas as tabs "script".
  • <rule tag='link' attribute='rel' value='stylesheet' value-criterion='contains' action='remove-tag' /> remove as tags "link" cujo valor do atributo "rel" corresponde a "stylesheet".

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

Avisando Usuários para Salvar Mudanças no XPages

É possível controlar como um aplicativo XPage avisa o usuário quando o usuário solicita uma ação que fecha uma página com os campos modificados.

Sobre Esta Tarefa
Quando um XPage ou um controle personalizado contém controles editáveis, é possível definir duas propriedades para especificar como o aplicativo avisa o usuário sobre controles modificados. Essas propriedades existem em dois níveis, o nível do XPage ou controle de customização ou no nível do controle de núcleo.
  • Nível 1: XPage ou controle de customização
    • enableModifiedFlag (booleano - o valor implícito padrão é false) – Especifica se você deve avisar o usuário para salvar mudanças nos controles de núcleo no XPage ou controle personalizado e se você deve ativar a opção Arquivo > Salvar do Notes Client quando o XPage ou controle tiver sido modificado no Notes Client. Os aplicativos em execução em um navegador externo não poderão usar o mecanismo Arquivo > Salvar do Notes, portanto, apenas o diálogo de prompt será exibido para o usuário.
    • modifiedMessage (sequência) – Uma mensagem personalizada para exibir no diálogo de aviso
  • Nível 2: Controle de núcleo
    • disableModifiedFlag (booleano - o valor implícito padrão é true) – Especifica se você deve avisar o usuário para salvar mudanças no controle de núcleo
A propriedade enableModifiedFlag têm precedência absoluta durante a ativação ou desativação de notificações de modificação para um determinado XPage ou Controle de Customização. Se você definir esse valor da propriedade como true, o usuário será notificado sobre as mudanças em todos os Controles de Núcleo suportados no XPage ou no Controle de Customização, a menos que você tenha definido explicitamente o valor da propriedade disableModifiedFlag do Controle de Núcleo como true. Se você não definir enableModifiedFlag para um XPage ou Controle Personalizado, ou definir explicitamente o valor como false e definir um ou mais valores da propriedade disableModifiedFlag do Controle de Núcleo como false, o usuário não será notificado sobre as mudanças, pois a propriedade enableModifiedFlag terá precedência.
Os Controles de Núcleo a seguir suportam esse recurso:
  • Caixa de Edição
  • Caixa de Edição de Várias Linhas
  • Caixa de Listagem
  • Caixa de Combinação
  • Caixa de Seleção
  • Botão de Opções
  • Upload de Arquivo
  • Selecionador de Data e Horário
  • Rich Text Editor

Se o usuário optar por não salvar modificações na página atual, a ação solicitada (como fechar a página ou navegar fora dela em um navegador) poderá ser executada. Se o usuário optar por salvar as modificações, os campos relacionados serão validados antes de a página ser salva. A validação ocorre primeiro no cliente e depois no servidor. A validação do lado do servidor só pode ocorrer quando a validação no lado do cliente da página atual é bem sucedida. Se a validação do lado do servidor falhar, o usuário verá a página atual contendo os campos falhos e terá a oportunidade de corrigir o conteúdo do campo. Quando a validação do lado do servidor for bem sucedida, a ação solicitada poderá ser executada.

Executando o XPages no Notes em um Servidor HTTP Domino

Para um melhor desempenho, os aplicativos XPages baseados no servidor que são executados no Notes Client podem, em vez disso, ser executados no servidor HTTP Domino.

Por padrão, os aplicativos XPages baseados em servidor são executados no Notes Client por meio de uma série de transferências de dados entre o servidor e o cliente usando os protocolos do Notes. É possível, em vez disso, estabelecer que esses aplicativos sejam executados no servidor Domino usando os protocolos HTTP.

As funções do Notes funcionam da mesma maneira que quando são executadas no modo nativo do XPages. Por exemplo, os menus de contexto (como Arquivo > Salvar, Arquivo > Replicação, Arquivo > Abrir), os salvamentos de documentos "sujos", o Javascript do lado do cliente, e assim por diante, comportam-se da mesma maneira. Uma exceção é que os aplicativos compostos não podem usar a funcionalidade do broker da propriedade cliente ao serem executados no servidor.

Requisitos do Designer
Na guia Ativar de Propriedades do Aplicativo, em que Abrir XPage designado (cliente Padrão) está ativo, verifique Executar aplicativos do XPages baseados no servidor diretamente no servidor Domino e salve o aplicativo. Essa propriedade também pode ser aplicada no Notes por meio da caixa de propriedades para um aplicativo.
De maneira alternativa, é possível ativar a execução do servidor para todos os aplicativos inserindo a linha a seguir no arquivo notes.ini do Notes e reiniciando o Notes:
XPagesRunRemoteAppsOnServer=1
Requisitos de Tempo de Execução do Notes
O Notes Client deve conter uma conta HTTP para o servidor que contém o aplicativo XPages. Para criar ou visualizar as contas do Notes, clique em Arquivo > Preferências > Contas. Para obter a documentação, consulte "Criando e editando contas da preferência do Notes" na ajuda do Notes.

As contas podem ser configuradas em um servidor Domino e fornecidas aos clientes do Notes.

Quando um aplicativo do XPages baseado em servidor for ativado no Notes Client, o processador do XPages procurará uma conta de HTTP para o servidor que contém o aplicativo e carregará o aplicativo.

A estrutura de contas do Notes e o navegador XULRunner subjacente automaticamente passam as credenciais do usuário ao servidor da web para autenticação. Se for solicitado ao usuário o nome e a senha, a configuração do Notes não estará corretamente configurada, por exemplo, SSO está errado. É possível verificar isso de forma independente ao inserir uma URL do aplicativo no widget de endereço do navegador do Notes na barra de ferramentas do Notes.

Se não houver conta de HTTP correspondente, é exigido que o usuário insira as credenciais, a menos que o acesso anônimo seja permitido. Entretanto, a existência de uma conta de HTTP pode se tornar obrigatória com a variável de notes.ini a seguir:
XPagesRunOnServerRequireAccount=1
Se uma conta correspondente for exigida, mas não localizada, ou se os dados da conta forem inválidos, será solicitado que o usuário feche a janela de aplicativo ou volte a executar o aplicativo usando o contêiner da web local do Notes.
A variável de notes.ini a seguir desativa a execução do XPages no Notes em um servidor:
XPagesRunOnServerDisable=1
Desempenho em Segundo Plano
Os aplicativos XPages que são executados no Notes Client, mas residem nos servidores Domino remotos enfrentam problemas específicos de desempenho. Isso ocorre principalmente porque muitas transações de rede devem ser realizadas ao executar o aplicativo XPages no Notes Client. É importante entender que os aplicativos do XPages Notes são executados no contêiner da web local do Notes XPD e, portanto, todas as classes Java do XPages (XPages e controles de customização) devem ser copiadas pela rede a partir do servidor remoto no Notes Client a ser executado. De forma semelhante, todos os recursos da página (CSS, JavaScript, GIFs e assim por diante) devem ser buscados a partir do servidor remoto, assim como os dados reais. Além disso, se o seu aplicativo XPages alavancar outros artefatos de design do Notes (usando o recurso computeWithForm, for exemplo), elementos de design arbitrariamente grandes, como formulários, subformulários e campos compartilhados, devem também ser buscados remotamente. Em redes de alta latência, isso pode ter um impacto significativo no desempenho, principalmente se o seu aplicativo tiver sido projetado principalmente para a web e não otimizado para o Notes Client.

Convertendo um Aplicativo XPages

Ao converter XPages e Controles de Customização, não faça novas cópias para cada idioma, pois o mecanismo de conversão do XPage é diferente do mecanismo dos elementos de design não XPage do IBM Notes.

Sobre Esta Tarefa
No mecanismo de conversão do XPage, o texto conversível é extraído do XPage em um arquivo separado por um processo automático. Você então fornece conversões desse arquivo em outros idiomas. O XPage decide qual arquivo convertido usar com base no idioma do navegador da web ou no Notes Client.

Para obter instruções de conversão do XPages, consulte "XPages: Como Usar as Opções de Localização" no wiki do Domino Designer.

Projetando XPages de Cópia Única

É possível armazenar elementos de estrutura XPage em um banco de dados e redirecionar outros bancos de dados no tempo de execução.

Sobre Esta Tarefa

As XPages de cópia única melhoram o desempenho usando uma localidade para armazenamento de objetos e acesso ao navegador. Os elementos de estrutura afetados são XPages, controles personalizados, bibliotecas JavaScript, folhas de estilo e temas. Para direcionar o banco de dados para usar um repositório para seus elementos XPage no tempo de execução:

Procedimento

  1. No painel esquerdo, selecione Propriedades do Aplicativo.
  2. No painel central superior, selecione a guia XPages.
  3. Role para baixo até Desempenho.
  4. Marque Estrutura XPage de cópia única.
  5. Especifique o nome do NSF que contém os elementos de estrutura XPages. Um nome relativo é referente ao diretório de dados do Notes.

Resultados

O aplicativo que contém os elementos de estrutura devem ser um arquivo NSF.

Todos os elementos de estrutura XPages devem estar, ou não, no repositório. Não é possível substituir ou selecionar elementos de estrutura individualmente.

Não é possível alterar a definição de cópia única dinamicamente.

Os elementos compartilhados são restritos aos elementos do XPages enumerados acima. Os formulários e visualizações, por exemplo, não são compartilhados.

Criando aplicativos acessíveis com XPages - uma visão geral

Para desenvolvedores Domino que criam aplicativos da web, XPages é a solução acessível recomendada.

O design e a criação de aplicativos de software que possam ser usados por pessoas com uma ampla variedade de capacidades e deficiências é um requisito importante no mundo dos negócios. Para desenvolvedores Domino que criam aplicativos da web, o uso de XPages fornece a solução acessível recomendada. A criação de um aplicativo acessível usando XPages requer um entendimento das necessidades de diversos tipos de usuários, inclusive pessoas com deficiências e usuários mais velhos com dificuldades relacionadas à idade.

Pessoas com deficiência podem encontrar uma ou maia barreiras em um aplicativo que podem ser eliminadas ou minimizadas pelo desenvolvedor de aplicativos, primeiro tendo um entendimento das potenciais áreas de problema e depois projetando o aplicativo adequadamente para contornar essas áreas de problema.

As quatro categorias principais de deficiências para se ter em mente ao projetar um aplicativo acessível são:

  • visual
  • audição
  • mobilidade
  • cognitiva

As próximas seções são fornecidas para dar a você algumas diretrizes gerais sobre o que pensar ao projetar seu aplicativo XPages para torná-lo acessível.

Diretrizes gerais para tratar usuários com deficiências visuais

Tenha em mente estas diretrizes ao projetar seu aplicativo para pessoas que possam ter deficiências visuais:

  • Tenha em mente a navegabilidade do design da interface com o usuário. Pessoas com deficiências visuais não acharão útil um mouse porque ele requer coordenação manual e visual. Elas navegarão usando o teclado. Por exemplo, a tecla Tab moverá o foco para um item e, em seguida, um leitor de tela anuncia o item para que o usuário saiba onde está o foco. O usuário então pressiona a tecla Enter. Com isso em mente, certifique-se de que os rótulos dos aplicativos e outros textos forneçam alternativas em texto para todo conteúdo que não seja texto, de modo que ele possa ser alterado para outros formatos (por exemplo, impressão grande, Braille, fala, símbolos ou linguagem mais simples).
  • Certifique-se de que todo conteúdo diferente de texto, como gráficos, diagramas etc., seja apresentado com uma alternativa em texto que atenda ao propósito equivalente. As tecnologias de leitura de tela não podem obter informações textuais de imagens
  • Forneça texto alternativo com mapas de imagem no lado do cliente. Links de texto equivalentes deverão ser fornecidos se um mapa de imagem no lado do servidor for usado.
  • Certifique-se de que o uso de cor na interface com o usuário e o tamanho da fonte possam ser vistos por pessoas com problemas de visão limitada. Usuários com visão limitada precisam da assistência de uma lupa de hardware ou software para ampliar o texto além da ampliação de fonte simples. Usuários daltônicos e com visão limitada se beneficiam das cores de alto contraste.

    Quando informações são apresentadas exclusivamente por cor, uma pessoa daltônica sente falta dessas informações. Da mesma forma, um usuário com visão limitada poderá não detectar as informações se elas forem apresentadas usando qualquer atributo sozinho (por exemplo, contraste, profundidade, tamanho, local, fonte, etc.). Use diversos métodos para transmitir informações em seu aplicativo. Por exemplo, se forem usados cor e um padrão de preenchimento em diferentes barras de um gráfico, certifique-se de que elas possam ser visualizadas coloridas ou em preto e branco.

Diretrizes gerais para tratar usuários com deficiências auditivas

Tenha em mente estas diretrizes ao projetar seu aplicativo para pessoas que possam ter deficiências auditivas:

  • Certifique-se de que as informações de saída de áudio sejam fornecidas com uma forma visual equivalente redundante. Forneça suporte adicional certificando-se de que a forma visual tenha opções textuais redundantes.
  • Forneça rótulos descritivos para mídia baseada em tempo, incluindo conteúdo somente áudio e somente vídeo em tempo real. O conteúdo diferente de texto que é usado para confirmar se o conteúdo está sendo acessado por uma pessoa e não por um computador está disponível em diferentes formas para acomodar várias deficiências
  • Forneça legendas, quando necessárias (por exemplo, em vídeo)

Diretrizes gerais para tratar usuários com problemas de mobilidade

Tenha em mente estas diretrizes ao projetar seu aplicativo para pessoas que possam ter problemas de mobilidade:

  • Pessoas com mobilidade prejudicada passam por dificuldades ao usar dispositivos de entrada de computador e ao manipular mídia de armazenamento. Certifique-se de considerar soluções e ações de software/design que possam ser controladas sem um mouse ou sem um teclado.

Diretrizes gerais para tratar usuários com problemas cognitivos

Tenha em mente estas diretrizes ao projetar seu aplicativo para pessoas que possam ter problemas cognitivos:

  • Use um design consistente e linguagem simplificada. Pessoas com deficiências cognitivas, como dislexia e déficit de atenção, precisam de soluções gerais. Os detalhes podem ser confusos. Por exemplo, usando um modelo, é possível reutilizar o mesmo layout e design para cada página, de modo que uma pessoa com deficiência cognitiva possa navegar mais facilmente pelo website.
  • Pessoas com deficiências cognitivas ou de aprendizado também podem beneficiar-se de entrada redundante. Um exemplo seria fornecer um arquivo de áudio e uma transcrição de vídeo.

    Ao visualizar o texto e ouvi-lo em voz alta simultaneamente, um usuário pode ter a vantagem das qualificações auditivas e visuais para compreender melhor o material. Os usuários menos familiarizados com o idioma de apresentação podem se beneficiar das mesmas soluções que beneficiam aqueles com deficiências cognitivas. As soluções cognitivas, especialmente interface simplificada com o usuário, terminologia e exemplos, também podem beneficiar pessoas que possam ter deficiência educacional ou cultural. Por exemplo, pessoas menos familiarizadas com computadores.

Informações adicionais sobre a criação de aplicativos acessíveis

Estas fontes fornecem informações adicionais sobre como criar aplicativos da web e software acessíveis:

  • IBM Web Accessibility Checklist - Fornece uma lista de verificação para o seguinte:
    • Websites e aplicativos da web
    • Aplicativos da Web Flash e Flex
    • Aplicativos Domino Web
    • Conteúdo de aprendizado exibido em um navegador da web, que inclui QuickViews, PARRs e Conjuntos de Aprendizado
  • IBM Software Accessibility Checklist - Fornece uma lista de verificação para o seguinte:
    • Aplicativos Eclipse criados usando os controles Standard Widget Toolkit (SWT)
    • Aplicativos Java 2 ou mais recentes criados usando controles e componentes Swing
    • Aplicativos Java 1.1.x criados usando controles e componentes Abstract Window Toolkit (AWT)
    • Produtos com uma linha de comandos ou interface de "tela verde"
    • A saída, bem como a interface com o usuário, de ferramentas de software
    • Produtos e aplicativos gerais de software que tenham uma interface com o usuário
  • Informações de acessibilidade do Eclipse. Os links a seguir fornecem informações de acessibilidade específicas do Eclipse:

Diretrizes de acessibilidade específicas para XPages

Certificando-se de que um aplicativo XPages e controles estejam acessíveis.

O design e a criação de aplicativos de software que possam ser usados por pessoas com uma ampla variedade de capacidades e deficiências é um requisito importante no mundo dos negócios. Para desenvolvedores Domino que criam aplicativos da web, o uso de XPages fornece a solução acessível recomendada. A criação de um aplicativo acessível usando XPages requer um entendimento das necessidades de diversos tipos de usuários, inclusive pessoas com deficiências e usuários mais velhos com dificuldades relacionadas à idade.

Ao usar XPages para criar seu aplicativo da web, há diretrizes específicas adicionais que podem ser seguidas para certificar-se de que o aplicativo esteja acessível. As próximas seções descrevem essas diretrizes.

Diretrizes de acessibilidade XPages

Ao usar o elemento de design XPages para criar seu aplicativo da web, há várias diretrizes específicas adicionais que podem ser seguidas para certificar-se de que seu aplicativo seja acessível. Estes incluem:

  • Usar ARIA quando necessário - As informações de Accessible Rich Internet Applications (ARIA) ajudam a aumentar a acessibilidade de páginas da web. Em particular, isso é útil com conteúdo dinâmico e componentes da interface com o usuário desenvolvidos com Ajax, HTML, JavaScript e tecnologias relacionadas.

    O ARIA é usado para subsidiar a função de HTML. Se o uso de HTML for suficiente para tornar uma página acessível, o ARIA não precisará ser configurado. Onde houver diferenças no HTML, o ARIA pode ser usado para fornecer informações de acessibilidade para um usuário do JAWS que podem estar ausentes. No entanto, o HTML sempre terá precedência sobre o ARIA.

    Portanto, ao usar o JAWS, mesmo que alguns atributos ARIA possam ter sido configurados e estejam renderizados no HTML, o JAWS determina se eles deverão ser usados e lidos para um usuário com base nessa ideia. Como um exemplo, você não precisaria de ambos os atributos, aria-label e "for". O HTML sempre terá precedência sobre o ARIA e o aria-label será ignorado.

  • Use JAWS e usando o recurso de Atualização Parcial e Total em seu aplicativo - Tenha cuidado ao usar o recurso de atualização parcial. Assegure-se de que a área/controle de destino que está sendo atualizada esteja na ordem de leitura (isto é, não foi navegada ainda) de modo que aparecerá no caminho de navegação JAWS.
  • Usando eventos em seu aplicativo - Como prática geral, use manipuladores de função redundantes para eventos onmouse para suportar navegação pelo teclado para usuários deficientes
  • Use Teclas de Acesso - As teclas de acesso não suportam ligações de tempo de execução. De preferência, elas devem ser configuradas em Tempo de Design. Tente tornar as ligações exclusivas e intuitivas.
  • Use controles acessíveis quando possível - Foram feitas mudanças para ajudar os desenvolvedores a criar aplicativos XPages acessíveis usando controles acessíveis. A meta é tornar a experiência de tempo de execução do XPages o mais compatível possível com os requisitos de acessibilidade. Novas propriedades de acessibilidade foram incluídas em alguns controles para torná-los acessíveis. Documentação e diretrizes adicionais também foram incluídas nas seções de referência de controle desta ajuda do produto para auxiliar você na criação de um aplicativo acessível.
  • Use propriedades de acessibilidade específicas do controle que você está utilizando. Consulte as seções Guia de Referência de Controle e Guia de Referência de Controle da Biblioteca de Extensão desta ajuda para obter informações mais específicas sobre as propriedades de acessibilidade disponíveis para um determinado controle.

Usando o tema acessível do XPages

Com a Liberação 9.0.1, o XPages agora suporta um tema compatível com as diretrizes e os requisitos de acessibilidade. Esse tema é denominado oneuiv2.1_blue.

Diretrizes de acessibilidade para usar controles com XPages

Informações adicionais foram incluídas nas seções Referência de Controle desse Guia do Usuário para ajudar você na escolha de quais controles devem ser usados para tornar seu aplicativo acessível. Estas informações incluem:

  • a introdução de propriedades de acessibilidade específicas para ajudar esse controle a atender aos requisitos de acessibilidade
  • diretrizes de uso de controle para ajudar seu aplicativo a atender aos requisitos de acessibilidade
  • informações de solução alternativa de controle e recomendações de substituição para ajudar seu aplicativo a atender aos requisitos de acessibilidade

Consulte as seções Guia de Referência de Controle e Guia de Referência de Controle da Biblioteca de Extensão desta ajuda para obter informações mais específicas sobre as propriedades de acessibilidade disponíveis para um determinado controle.

Fornecendo páginas de erro customizadas para atender aos requisitos de acessibilidade

Com alguma assistência ao seu Administrador do Sistema, é possível fornecer páginas de erro customizadas que atendam aos requisitos de acessibilidade.

Se os Erros 401, 403, 404 ou 500 virem do Mecanismo do Domino Web, será possível substituir essas páginas de erro por suas próprias páginas customizadas. Para obter mais detalhes, consulte o tópico Mensagens do Servidor da Web Customizadas na ajuda do produto Domino Administrator.

Se o Erro 404 (isto é, Arquivo Não Encontrado) vir da tarefa do Domino HTTP, há uma configuração do arquivo NOTES.INI que permite customizar essa página de erro. Consulte a ajuda do produto Domino Administrator e esta Nota Técnica para obter mais informações.

Dicas de acessibilidade geral do aplicativo

Para desenvolvedores Domino que criam aplicativos da web, o uso do XPages é a solução acessível recomendada. Há dicas adicionais que podem ser seguidas para certificar-se de que o aplicativo seja acessível. Estes incluem:

  • Ative o SSO no Servidor Domino para autenticação do usuário acessível.

Adicionando Controles

Controles são elementos visuais, como caixas de edição, botões, imagens e texto, que permitem aos usuários manipular dados em uma XPage.

Os controles são dos seguintes tipos: núcleo, contêiner e outro.

Um nome de marcação identifica cada controle no XML. Um nome comum aparece na interface com o usuário. Por exemplo, o nome da marcação para uma caixa de edição é inputText enquanto o nome comum é Caixa de Edição. Os tópicos de referência a seguir identificam os controles por nome de marcação e nome comum.

A paleta Controles e o menu Criar listam a maioria dos controles de núcleo e de contêiner por padrão. Selecione Outro para acessar todos os controles. É possível ajustar a exibição dos controles em Arquivo > Preferências > Domino Designer > Paleta.

Manipulando Controles e Texto

É possível adicionar controles e texto a uma XPage usando o editor de Estrutura ou Origem. A paleta Controles fornece uma origem para os controles.

A paleta Controles aparece em uma janela ao lado do editor. Se ela não estiver nesse lugar, clique em Janela > Mostrar Visualizações do Eclipse > Controles.

É possível arrastar um controle da paleta para o editor (ambos, Estrutura e Origem). Como alternativa, é possível posicionar o cursor no editor, em seguida, clicar duas vezes no controle na paleta. Também é possível usar Criar > Controles de Núcleo ou Criar > Controles de Contêiner a partir do menu.

É possível mover, redimensionar, recortar, copiar, colar e excluir controles de uma maneira usual.

É possível adicionar texto e retornos de linha a uma XPage.

O posicionamento do cursor em um controle no editor de Estrutura torna suas propriedades disponíveis. O posicionamento do cursor fora de todos os controles torna as propriedades de XPage disponíveis.

Também é possível executar algumas manipulações de XPage a partir da visualização Estrutura de Tópicos.

Definindo Propriedades

As propriedades definem XPages e controles.

As propriedades aparecem em uma janela no editor. As propriedades que aparecem são para o controle em foco no editor, ou para a XPage se o foco estiver fora de todos os controles.

Selecione Todas as Propriedades na guia Propriedades para acessar uma lista categorizada de todas as propriedades para um controle ou XPage. Aqui, as propriedades são identificadas por seus nomes de marcação canônicos. Faça outras seleções nas guias Propriedades e Eventos para acessar subconjuntos das propriedades com uma interface com o usuário designada. Aqui, as propriedades são acessadas com nomes descritivos.

Designe valores às propriedades da seguinte forma:
  • Os valores estáticos são selecionados a partir de uma lista ou digitados.
  • Os valores dinâmicos são especificados com scripts que retornam um valor. Um losango próximo à propriedade abre o editor de script.
  • Os eventos são especificados com scripts do lado do servidor e do cliente e ações simples. É melhor especificar scripts e ações simples na guia Eventos.
Na origem XML, as propriedades aparecem como atributos e conteúdo para o elemento de controle. Por exemplo, este é um controle 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 controle:
<xp:inputText id="inputText1">
	<xp:this.value>
		<![CDATA[#{javascript:return document1.getItemValueString("subject")}]]>
	</xp:this.value>
</xp:inputText>
As propriedades dinâmicas são calculadas como a seguir. Use os botões de opções da janela de edição para selecionar um ou o outro.
  • Computar Dinamicamente recalcula a fórmula sempre que a XPage é atualizada. Essas fórmulas aparecem na origem precedidas por uma cerquilha, por exemplo, #{javascript:var dc = database.getAllDocuments(); "Count = " + dc.getDocumentCount();}.
  • Computar no Carregamento da Página calcula a fórmula uma vez quando a XPage é inicialmente carregada. Essas fórmulas aparecem na origem precedidas por um sinal de dólar, por exemplo, ${javascript:var dc = database.getAllDocuments(); "Count = " + dc.getDocumentCount();}.

Entendendo os Eventos

Eventos são ações que um usuário pode executar, como clicar em um botão ou remover o foco de uma caixa de edição. Manipuladores de eventos são ações que você (o designer) executa em resposta aos eventos.

Um manipulador de eventos faz parte de um controle ou parte de uma XPage.

Um manipulador de eventos pode ser um script, uma ação simples ou um grupo de ações simples. Para um evento, os manipuladores podem ser especificados para serem executados no cliente, servidor ou ambos. Um manipulador de cliente pode parar a execução do manipulador de cliente adicional ou cancelar a execução de um manipulador de servidor retornando false.

Se você estiver trabalhando no modo de Estrutura, coloque o foco no controle ou página apropriada, clique na guia Eventos e selecione o evento desejado. Depois, você pode especificar o manipulador de eventos.

Os eventos são tratados como propriedades e aparecem em Todas as Propriedades em Propriedades. Entretanto, a melhor prática é não criar ou modificar um evento a partir de Todas as Propriedades. Use a guia Eventos ou o XML de origem.

Manipuladores de Eventos do Servidor

O formato geral para um manipulador de eventos do servidor no modo de Origem é mostrado a seguir. Se você estiver trabalhando no modo de Estrutura, selecione a guia Eventos e, em seguida, a guia Servidor.
<xp:eventHandler event="nome" 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, por exemplo, onblur ou onclick. Se você estiver trabalhando na guia Eventos, selecione o evento apropriado.
  • submit="true" faz com que um pedido seja enviado ao servidor quando o usuário ativa o evento. Qualquer outro valor para submit desativa o evento. Se você estiver trabalhando na guia Eventos, clique em Sem Envio para remover o evento.
  • refreshMode é um dos seguintes:
    • completo recarrega a página inteira para o cliente após o servidor processar o pedido. Se você estiver trabalhando na guia Eventos, clique em Atualização Completa.
    • parcial recarrega uma parte selecionada da página usando a tecnologia Asynchronous JavaScript and XML (AJAX). Se você estiver trabalhando na guia Eventos, clique em Atualização Parcial.
    • norefresh não recarrega a página. Se você estiver trabalhando na guia Eventos, clique em Sem Atualização.
  • refreshId se aplica apenas a refreshMode="parcial" e especifica o controle a ser atualizado. Se você estiver trabalhando na guia Eventos, clique em Selecionar Elemento.
  • immediate="true" suprime a validação de dados no servidor. Para processamento de dados, omita este atributo ou especifique qualquer coisa, exceto true. Se você estiver trabalhando na guia Eventos, clique em Não validar ou atualizar dados.
  • execMode="parcial" especifica uma atualização parcial quando um fragmento de código é executado. Para atualização completa, omita este atributo ou especifique qualquer coisa, exceto parcial. Se você estiver trabalhando na guia Eventos, clique em Definir Modo de Execução Parcial.
  • action especifica:
    • o script, em que textOfScript é seu código. Se você estiver trabalhando na guia Eventos, clique em Editor de Script. Insira o script na janela de script ou abra o diálogo de script.
    • o nome de uma ação simples e seus argumentos. Se você estiver trabalhando na guia Eventos, clique em Ações Simples. Use os vários botões e listas para criar e editar ações simples.
    • actionGroup que pode conter ações simples e outros grupos de ações. A condição é opcional. É possível especificar vários grupos.
  • parameters especifica os nomes e valores de quaisquer parâmetros de evento. Se você estiver trabalhando na guia Eventos, clique em Editar Parâmetros de Evento.

Manipuladores de Eventos de Cliente

O formato geral para um manipulador de eventos que é um script de cliente é mostrado a seguir. Se você estiver trabalhando no modo de Design, selecione a guia Eventos e, em seguida, a guia Cliente.
<xp:eventHandler event="nome" 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, por exemplo, onblur ou onclick. Se você estiver trabalhando na guia Eventos, selecione o evento apropriado.
  • submit="false" significa que nenhum pedido é enviado ao servidor quando o usuário ativa o evento. Isso é necessário para um script de cliente.
  • script especifica:
    • o script, em que textOfScript é seu código. Se você estiver trabalhando na guia Eventos, clique em Editor de Script. Insira o script na janela de script ou abra o diálogo de script.
    • o nome de uma ação simples e seus argumentos. Se você estiver trabalhando na guia Eventos, clique em Ações Simples. Use os vários botões e listas para criar e editar ações simples.
    • scriptGroup que pode conter ações simples e outros grupos de ações. A condição é opcional. É possível especificar vários grupos.

Enviar e Cancelar Manipuladores de Eventos

Um botão do tipo Enviar gera um manipulador de eventos no seguinte formato:
<xp:eventHandler event="onclick" submit="true"
	refreshMode="complete" immediate="false" save="true">
</xp:eventHandler>
Um botão do tipo Cancelar gera um manipulador de eventos no seguinte formato:
<xp:eventHandler event="onclick" submit="true"
	refreshMode="complete" immediate="true" save="false">
</xp:eventHandler>
Observe que save="true" para botões Enviar e save="false" para botões Cancelar.

Combinando manipuladores de eventos do lado do cliente e do servidor

O código JavaScript do lado do cliente pode acionar um manipulador de eventos do lado do servidor. O primeiro parâmetro deve ser um caminho completo para o manipulador de eventos, em vez de apenas o ID do manipulador de eventos do lado do servidor. Isto permite que você chame manipuladores de eventos que também estão integrados nos controles de customização. É possível adquirir o ID do manipulador de eventos do lado do servidor e passá-lo para o script de cliente como você poderia para qualquer outro controle (por exemplo usando # {id:eventhanderId} ou a função SSJS getClientId()).

O manipulador de eventos é executado dentro do contexto que você especificar. Por exemplo, especificando um manipulador de eventos com um ID de visualização:_id1:repeatCtrl:0:_id33:eventhandler1 poderia executar com relação ao primeiro item em xp:repeat com um ID de repeatCtrl, ao passo que a visualização:_id1:repeatCtrl:1:_id33:eventhandler1 poderia executar com relação ao segundo item.

A manipulação de eventos do lado do cliente é acionada com um botão ou outro elemento da interface com o usuário e passa as informações para o servidor a serem manipuladas pela manipulação de eventos do lado do servidor. Se você estiver trabalhando no modo de Design, selecione a guia Eventos e, em seguida, a guia 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 você estiver trabalhando no modo de Estrutura, selecione a guia Eventos e, em seguida, a guia 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);
}	

Entendendo os Aspectos

Um aspecto define uma região em um controle para o posicionamento de outros controles.

Um controle pode, ou não, renderizar um aspecto dependendo do controle e do conteúdo do aspecto.

Um uso especial de aspectos é o posicionamento de pagers nas visualizações. Um uso geral de aspectos é o posicionamento de painéis em outros controles. Aqui está um código de origem de amostra para uma visualização. Observe que a região facets aparece como um atributo do controle pai e contém o outro controle.
<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 é um artefato de aspectos, e não uma propriedade do outro controle. O valor mostrado é apropriado para um pager em uma visualização. Para um painel, utilize um dos valores a seguir para especificar o local do outro controle no pai: east, west, south, north, southwest, southeast, northwest e northeast.

O código de amostra a seguir contém um painel que exibe dois links (Caixa de Entrada e Caixa de Saída) e uma imagem. O primeiro link fornece 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 Estrutura. É necessário usar o modo de Origem para criar e modificar aspectos diretamente.

Entendendo Widgets Dojo

Os widgets Dojo são código JavaScript, HTML e declarações CSS pré-empacotados que melhoram a aparência e o uso de controles em um navegador e no Notes Client.

Os widgets Dojo podem ser usados nos seguintes controles: Caixa de Edição, Rich Text, Caixa de Edição Multilinhas, Botão, Caixa de Seleção, Botão de Opções, Selecionador de Data e Hora, Conteúdo de Extensão, Painel, Tabela, Div.

No Domino 8.5.3, os arquivos Dojo estão em domino\js\dojo-1.5.0\dijit no diretório de dados do Notes. No Domino 8.5.2, eles estão em domino\js\dojo-1.4.1\dijit.

Os aplicativos devem se referir aos arquivos Dojo por meio de /.ibmxspres/dojoroot/ que mapeia a versão suportada.

Para obter informações adicionais sobre o Dojo, consulte http://api.dojotoolkit.org.

Tornando os Recursos Dojo Disponíveis em uma XPage

Os recursos Dojo devem ser disponibilizados antes de serem aplicados aos controles.

Sobre Esta Tarefa
Para tornar os recursos Dojo disponíveis em uma XPage:
Procedimento
  1. Coloque o foco na própria XPage.
  2. Selecione Dojo na guia Propriedades.
  3. Configure dojoTheme como true.
  4. Selecione Recursos na guia Propriedades.
  5. Para cada widget que você deseja tornar disponível:
    1. Clique em Adicionar e selecione Módulo Dojo.
    2. Especifique o nome do módulo Dojo, por exemplo, dijit.form.NumberSpinner.
    3. (Opcional) Especifique uma condição - um script que avalia como true ou false.
    4. Clique em OK.

Aplicando um Widget Dojo a um Controle

Assim que os recursos do Dojo estiverem disponíveis em uma XPage, será possível aplicá-los a controles.

Sobre Esta Tarefa
Para aplicar um widget Dojo a um controle, como uma caixa de edição:
Procedimento
  1. Coloque o foco no controle.
  2. Selecione Dojo na guia Propriedades.
  3. Configure Tipo Dojo para o nome de um recurso do módulo Dojo, por exemplo, dijit.form.NumberSpinner. Em Todas as Propriedades, este é o dojoType.
  4. Para configurar um valor de atributo:
    1. Clique no ícone Adicionar.
    2. Especifique o nome do atributo, por exemplo, value ou smallDelta para dijit.form.NumberSpinner.
    3. Especifique o valor do atributo, por exemplo, 100 para value ou 5 para smallDelta em dijit.form.NumberSpinner.
    Em Todas as Propriedades, este é o dojoAttributes.
Resultados
Se você salvar e visualizar o dijit.form.NumberSpinner aplicado a um controle de Caixa de Edição, verá setas para cima e para baixo (o spinner) na lateral da caixa de edição. O valor inicial da caixa de edição é o atributo value. Ao clicar nas setas Para Cima e Para Baixo, o valor é incrementado e decrementado pelo atributo smallDelta.

Referência de Controle

Aqui são especificados os controles de XPages.

br - Quebra de Linha

Insere uma quebra no texto.

Categoria
Controles de Núcleo
Sintaxe
<xp:br attributes>conteúdo</xp:br>
Tabela 1. Todas as Propriedades
Categoria Propriedades
acessibilidade title
básicas attrs, binding, id, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
estilo disableTheme, style, styleClass, themeId
Uso

No tempo de execução, uma quebra de linha aparece na página.

Geralmente, esse controle não usa propriedades.

Exemplos
Aqui, 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

Exibe um botão que o usuário pode clicar para executar uma ação.

Categoria
Controles de Núcleo
Sintaxe
<xp:button attributes>content</xp:button>
Tabela 2. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é button1, button2 e assim por diante.
value Especifica o rótulo para o botão.
eventHandler Especifica a ação quando o botão é ativado. Consulte a seção de uso.
Uso
No tempo de execução, um botão aparece na página. O usuário pode clicar no botão.
Há três tipos de botões:
  • Botão (padrão) responde aos manipuladores de eventos criados, por exemplo, para onclick. Para conformidade de acessibilidade, a propriedade value deve descrever a ação que está sendo executada.
  • Enviar salva os dados e fecha a página. Para conformidade de acessibilidade, a propriedade value deve ser Submit.
  • Cancelar fecha a página. Para conformidade de acessibilidade, a propriedade value deve ser Cancel.
Quando uma página é fechada, a próxima página carregada é determinada pela propriedade navigationRules para a página que é Próxima página (sucesso ou cancelar) na UI.
Para definir o tipo de botão na UI, clique em Botão em Propriedades e procure Tipo de Botão. A propriedade eventHandler gerada possui os atributos a seguir. Siga estas regras se a propriedade eventHandler for construída manualmente.
Botão Enviar Cancelar
event=any event="onclick" event="onclick"
submit=any submit="true" submit="true"
refreshMode=any refreshMode="complete" refreshMode="complete"
immediate=any immediate="false" immediate="true"
save=any save="true" save="false"
action=simple action or event handler action=none action=none
Exemplos
Este controle de Botão é do tipo Enviar.
<xp:button id="button1" value="Submit">
	<xp:eventHandler event="onclick"
		submit="true" refreshMode="complete" immediate="false" save="true">
	</xp:eventHandler>
</xp:button>
Este controle de 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 controle de Botão é do tipo Botão e executa a ação simples Salvar Dados quando clicado.
<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 controle de customização com uma área que pode ser editada quando integrada em um XPage.

Categoria
Controles de Núcleo
Sintaxe
<xp:callback attributes>content</xp:callback>
Tabela 4. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é callback1, callback2 e assim por diante.
facetName Identifica a região de aspecto.
Tabela 5. Todas as Propriedades
Categoria Propriedades
básicas attrs, binding, facetName, id, loaded, rendered, rendererType
estilo disableTheme, themeId
Uso
Este controle se aplica apenas a um controle de customização.

Para obter mais informações, consulte Definindo áreas editáveis nos controles de customização e Configurando as propriedades das áreas editáveis nos controles de customização.

checkBox - Caixa de Seleção

Exibe uma caixa que pode ser selecionada ou desmarcada.

Categoria
Controles de Núcleo
Sintaxe
<xp:checkBox attributes>content</xp:checkBox>
Tabela 6. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é checkBox1, checkBox2 e assim por diante.
texto Fornece uma etiqueta.
value Liga o controle a um elemento de dados ou outro valor.
checkedValue Especifica o valor dos dados quando a caixa é selecionada. Assume o padrão, que é a sequência true.
uncheckedValue Especifica o valor dos dados quando a caixa é desmarcada. Assume o padrão, que é a sequência false.
defaultChecked Especifique true para selecionar a caixa por padrão.
Uso
No tempo de execução, uma caixa de seleção aparece na página. O usuário pode selecioná-la ou desmarcá-la. Uma marca de seleção aparece na caixa quando selecionada.

Para conformidade de acessibilidade, um rótulo deve seguir a caixa de seleção. É possível fazer isso especificando a propriedade text ou colocando um controle Label após a caixa de seleção. O rótulo não deve preceder a caixa de seleção.

Exemplos
Este controle de Caixa de Seleção designa um valor de dados dependendo se a caixa for selecionada (padrã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 controle de Caixa de Seleção é ligado a uma variável do pedido nomeada phonesame. Um script será executado se a caixa for alterada. O script define o valor do controle phonenight (uma caixa de edição) igual ao controle phoneday se a caixa de seleção estiver marcada.
<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 Seleção

Exibe múltiplas caixas de seleção que podem ser selecionadas ou desmarcadas.

Categoria
Controles de Núcleo
Sintaxe
<xp:checkBoxGroup attributes>content</xp:checkBoxGroup>
Tabela 8. Controles Integrados
Controle Descrição
selectItem Fornece um item para seleção do usuário.
selectItems Fornece um ou mais itens para seleção do usuário.
Tabela 9. Propriedades Essenciais
Categoria Propriedades
ID Assume o padrão, que é checkBoxGroup1, checkBoxGroup2 e assim por diante.
value Liga o controle a um elemento de dados ou outro valor.
legend Fornece uma descrição de grupo legível pela tela.
Uso
No tempo de execução, uma ou mais caixas de seleção aparecem na página. O usuário pode selecioná-las ou desmarcá-las. Uma marca de seleção aparece em uma caixa quando selecionada.

O elemento de dados ligado à caixa de seleção deve permitir múltiplos valores.

Para conformidade de acessibilidade, você deve especificar a propriedade legend.

Exemplos
Este controle de Grupo de Caixas de Seleção apresenta dois itens para seleção.
<xp:checkBoxGroup id="checkBoxGroup1" legend="Select fruit" value="#{document1.fruit}">
		<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
		<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
	</xp:checkBoxGroup>
Este controle de Grupo de Caixas de Seleção apresenta dois itens para seleção usando uma fórmula.
<xp:checkBoxGroup id="checkBoxGroup1" legend="Select fruit" 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 Seleção obtém suas seleções de itens a partir dos valores em uma coluna de visualização.
<xp:checkBoxGroup id="checkBoxGroup1" legend="Select fruit" 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

Exibe uma lista de itens em que um pode ser selecionado.

Categoria
Controles de Núcleo
Sintaxe
<xp:comboBox attributes>content</xp:comboBox>
Tabela 11. Controles Integrados
Controle Descrição
selectItem Fornece um item para seleção do usuário.
selectItems Fornece um ou mais itens para seleção do usuário.
Tabela 12. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é comboBox1, comboBox2 e assim por diante.
texto Fornece uma etiqueta.
value Liga o controle a um elemento de dados ou outro valor.
Uso
No tempo de execução, um lista suspensa aparece na página. O usuário pode selecionar um item.
Exemplos
Este controle de Caixa de Combinação apresenta dois itens para seleçã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 controle de Caixa de Combinação apresenta dois itens para seleção usando 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 suas seleções de itens a partir dos valores em uma coluna de visualização.
<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 as células organizadas como linhas e colunas associadas a uma origem de dados. Cada célula pode conter outros controles (incluindo tabelas) e texto.

Categoria
Controles de Contêiner
Sintaxe
<xp:dataTable attributes>
	<xp:column attributes>content	</xp:column>
	...
</xp:dataTable>
Tabela 14. Propriedades Essenciais
Propriedade Descrição
ID (dataTable) Assume o padrão, que é dataTable1, dataTable2 e assim por diante.

(column) Assume o padrão, que é column1, column2 e assim por diante.

value (dataTable) Geralmente, a ligação de dados destina-se a uma coleção de elementos, por exemplo, um objeto NotesDocumentCollection.
var (dataTable) Geralmente, essa variável refere-se a um membro da coleção de dados ligados, por exemplo, um objeto NotesDocument se a ligação destinar-se a um objeto NotesDocumentCollection.
Tabela 15. Todas as Propriedades (dataTable)
Categoria Propriedades
acessibilidade caption, role, summary, title
Nota: A propriedade de função tornou-se obsoleta a partir da versão 9.0.1. Por padrão, o valor compatível apropriado é gerado. Para conformidade com os padrões de acessibilidade, não especifique um valor para essa propriedade.
básicas attrs, binding, dir, disabled, id, lang, loaded, partialExecute, partialRefresh, refreshId, rendered, rendererType, rules
dados data, first, indexVar, rows, value, var
eventos onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
formato bgcolor, border, cellpadding, cellspacing, frame, showUnreadMarks, width
estilo captionStyleClass, columnClasses, disableTheme, footerClass, headerClass, readMarksClass, rowClasses, style, styleClass, themeId, unreadMarksClass
Tabela 16. Todas as Propriedades (column)
Categoria Propriedades
acessibilidade role
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 Estrutura. Use o modo Origem para trabalhar dentro da região de aspecto.

Este é um aspecto de amostra para controles do pager:

<xp:this.facets>
	<xp:pager partialRefresh="true" layout="Previous Group Next"
		xp:key="header" id="pager1">
	</xp:pager>
</xp:this.facets>
As seguintes caixas na guia Exibir em Propriedades afetam o conteúdo do aspecto da seguinte forma:
  • Mostrar Pager no Cabeçalho (desmarcado por padrão) gera um controle pager de chave header. Nenhuma região de aspectos será gerada se isso estiver desmarcado.
  • Mostrar Pager no Rodapé (desmarcado por padrão) gera um controle pager de chave footer.
Uso
No tempo de execução, a tabela de dados aparece na página. O usuário pode acessar a tabela uma célula por vez.

Após uma tabela de dados ser criada, é possível adicionar e excluir linhas e colunas.

O conteúdo de cada coluna é um, dois ou três valores representando as linhas de cabeçalho, central e rodapé na tabela. A linha central é renderizada como um número variável de linhas, dependendo do número de elementos na origem de dados.

Para os recursos de visualização Domino como categorias, totais, documentos de resposta, e classificação, prefira um controle de View. Um controle View incorpora os recursos da sua visualização Domino de origem.

Prefira este controle no qual você precisa dos recursos além daqueles de um controle View. Este controle permite ao usuário editar colunas enquanto que um controle View não permite. Com este controle, é possível integrar e ligar outros controles (por exemplo, imagens) de sua escolha enquanto que um controle View está restrito pelo design da visualização Domino de origem.

Para conformidade de acessibilidade, não use esse controle para layout visual e não configure a propriedade role como presentation. Para layout visual, use o controle Table.

Exemplos
Essa tabela de dados exibe os itens subject e fruit para todos os documentos no banco de dados atual.
<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 - Selecionador de Data e Hora

Exibe um selecionador para a seleção de valores de data e hora em uma caixa de edição.

Categoria
Controles de Núcleo
Sintaxe
<xp:dateTimeHelper attributes>content</xp:dateTimeHelper>
Tabela 17. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é dateTimeHelper1, dateTimeHelper2 e assim por diante.
Tabela 18. Todas as Propriedades
Categoria Propriedades
básicas binding, id, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
formato timeClickableIncrement, timeVisibleIncrement, timeVisibleRange
estilo disableTheme, themeId
Uso
No modo de Design, a criação de um controle Selecionador de Data e Hora o integra automaticamente a um controle Caixa de Edição com um tipo de exibição de Data/Hora. Para acessar as propriedades de Selecionador de Data e Hora, selecione o modo de Origem e coloque o foco no elemento dateTimeHelper incorporado.

No tempo de execução, o usuário pode clicar no selecionador, em seguida, selecionar uma data e hora para inserção na caixa de edição.

Para conformidade de acessibilidade, não especifique both para a propriedade type. Considere o uso de dois auxiliares, um type=date e um type=time.

Exemplos
Duas caixas de edição contêm selecionadores para seleção de valores de data e hora.
<xp:inputText id="inputText1">
	<xp:dateTimeHelper id="dateTimeHelper1"></xp:dateTimeHelper>
	<xp:this.converter>
		<xp:convertDateTime type="date"></xp:convertDateTime>
	</xp:this.converter>
</xp:inputText>
<xp:inputText id="inputText2">
	<xp:dateTimeHelper id="dateTimeHelper2"></xp:dateTimeHelper>
	<xp:this.converter>
		<xp:convertDateTime type="time"></xp:convertDateTime>
	</xp:this.converter>
</xp:inputText>

div - Divisão

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

Categoria
Controles de Contêiner
Sintaxe
<xp:div attributes>content</xp:div>
Tabela 19. Todas as Propriedades
Categoria Propriedades
acessibilidade função, título
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
Uso

No tempo de execução, o conteúdo da divisão aparece na página com quaisquer propriedades designadas.

Exemplos
Estes controles Div contêm caixas de texto e de edição com estilo diferente.
<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 - Manipulador de Eventos (Controle)

Responde a ações do usuário como, por exemplo, clicar em um controle.

Categoria
Outros Controles
Sintaxe
<xp:eventHandler attributes>content</xp:eventHandler>
Tabela 20. Propriedades Essenciais
Propriedade Descrição
save Salva, ou não, os dados associados ao formulário. Deve ser false para botões do tipo Cancelar.
submit É true para enviar um pedido e obter uma resposta do servidor. Um manipulador de cliente pode cancelar o envio de um pedido retornando false.
refreshMode Especifica se a atualização da página é completa, parcial ou não executada.
immediate Deve ser true para botões do tipo Cancelar.
Uso
Consulte o Entendendo os Eventos.
Exemplos
Este é um controle de Botão do tipo Enviar.
<xp:button value="submit" id="button1">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="complete" immediate="false" save="true">
	</xp:eventHandler>
</xp:button>
Este é um controle de Botão do tipo Cancelar.
<xp:button value="cancel" id="button2">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="complete" immediate="true" save="false">
	</xp:eventHandler>
</xp:button>
Este é um controle de Botão com um evento onclick codificado pelo usuário.
<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 - Download de Arquivo

Faz download de um arquivo no sistema de arquivos local.

Categoria
Controles de Núcleo
Sintaxe
<xp:fileDownload attributes>content</xp:fileDownload>
Tabela 22. Propriedades Essenciais
Propriedade Descrição
ID Padronizado para fileDownload1, fileDownload2, e assim por diante.
value Liga o controle de arquivos a um elemento de dados ou outro valor que deve ser do tipo rich text.
mimetype Força o tipo MIME do download em vez de deixá-lo ser determinado pelo tipo de arquivo.
useUploadName Por padrão, o nome do arquivo original é usado.
filename Especifica o nome do anexo se o nome do arquivo original não for usado.
Tabela 23. Todas as Propriedades
Categoria Propriedades
acessibilidade accesskey, role, tabindex, title
Nota: A propriedade de função tornou-se obsoleta a partir da versão 9.0.1. Por padrão, o valor compatível apropriado é gerado. Para conformidade com os padrões de acessibilidade, não especifique um valor para essa propriedade.
básicas attrs, allowDelete, binding, createdTitle, createdValue, deleteImageTitle, deleteMessage, dir, disabled, displayCreated, displayLastModified, displaySize, displayType, fileNameHrefValue, fileNameTitle, fileNameValue, hideWhen, id, lang, lastModifiedTitle, lastModifiedValue, loaded, rendered, rendererType, rowAttrs, rules, sizeTitle, sizeValue, typeTitle, typeValue
dados data, first, indexVar, rows, value, var
eventos onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
formato bgcolor, border, cellpadding, cellspacing, frame, width
estilo captionStyleClass, columnClasses, createdStyleClass, deleteStyleClass, disableTheme, footerClass, headerClass, modifiedStyleClass, nameStyleClass, rowClasses, sizeStyleClass, style, styleClass, themeId, typeStyleClass
Uso
No tempo de execução, informações sobre quaisquer arquivos anexados aparecem na página. Isto pode incluir o tipo de arquivo, tamanho, nome, data da modificação, data de criação e se o usuário pode excluir o arquivo anexado. O usuário pode clicar no nome para acessar um navegador de arquivos para fazer download do arquivo anexado.
Exemplos
Este controle de Download de Arquivo permite que o usuário faça download de um arquivo a partir do item Corpo de um documento.
<xp:fileDownload rows="30" id="fileDownload1"
	displayLastModified="false" value="#{document2.body}">
</xp:fileDownload>

fileUpload - Carregamento de Arquivo

Carrega um arquivo a partir do sistema de arquivos local.

Categoria
Controles de Núcleo
Sintaxe
<xp:fileUpload attributes>content</xp:fileUpload>
Tabela 24. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é fileUpload1, fileUpload2 e assim por diante.
value Liga o controle de arquivos a um elemento de dados ou outro valor que deve ser do tipo rich text.
mimetype Força o tipo MIME do carregamento em vez de permitir que ele seja determinado pelo tipo de arquivo.
useUploadName Por padrão, o nome do arquivo original é usado.
filename Especifica o nome do anexo se o nome do arquivo original não for usado.
Uso
No tempo de execução, um navegador de arquivos aparece na página. O usuário pode especificar ou selecionar um arquivo a partir do sistema de arquivos local.

O arquivo é anexado ao item ligado no armazenamento de dados quando a página é salva. Esse item deve ser de um tipo que permita um anexo do arquivo, por exemplo, rich text.

Exemplos
Este controle de Carregamento de Arquivo carrega um arquivo para o item Corpo de um documento.
<xp:fileUpload id="fileUpload1" value="#{document1.body}"></xp:fileUpload>

image - Imagem

Exibe uma imagem.

Categoria
Controles de Núcleo
Sintaxe
<xp:image attributes>content</xp:image>
Tabela 26. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é image1, image2 e assim por diante.
for Identifica o controle de destino.
Tabela 27. Todas as Propriedades
Categoria Propriedades
acessibilidade alt, role, title
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
Uso
No tempo de execução, a imagem aparece na página.
Exemplos
Aqui, uma imagem é colocada na página.
<xp:image url="/sound.gif" id="image1" alt="Sound image"></xp:image>

include - Página de Inclusão

Insere uma referência em outra XPage.

Categoria
Controles de Contêiner
Sintaxe
<xp:include attributes>content</xp:include>
Tabela 28. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é include1, include2 e assim por diante.
pageName Esta é a página a ser incluída.
Tabela 29. Todas as Propriedades
Categoria Propriedades
acessibilidade função, título
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
Uso
No tempo de execução, a XPage incluída aparece.

No modo de Design, é possível ver a página incluída mas não é possível modificá-la.

Exemplos
Este é um controle de Página de Inclusão.
<xp:include pageName="/main.xsp" id="include1"></xp:include>

inputHidden - Entrada Oculta

Oculta dados do usuário.

Categoria
Controles de Núcleo
Sintaxe
<xp:inputHidden attributes>content</xp:inputHidden>
Tabela 30. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é inputHidden1, inputHidden2 e assim por diante.
value Liga o controle a um elemento de dados ou outro valor.
Uso
No tempo de execução, nada aparece na página. O controle pode ser manipulado programaticamente.

Para acessar este controle, abra Outro na paleta Controles (ou clique em Criar > Outro).

Exemplos
Este controle de Entrada Oculta é ligado a um campo em um formulário do Domino.
<xp:inputHidden id="inputHidden1" value="#{document1.description}"></xp:inputHidden>

inputRichText - Rich Text

Exibe um campo de entrada para inserir dados formatados como rich text.

Categoria
Controles de Núcleo
Sintaxe
<xp:inputRichText attributes>content</xp:inputRichText>
Tabela 32. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é inputRichText1, inputRichText2 e assim por diante.
value Liga o controle a um elemento de dados ou outro valor.
Uso
No tempo de execução, uma caixa de edição com uma barra de ferramentas aparece na página. O usuário pode inserir texto com atributos, tais como negrito e itálico, e inserir tabelas, anexos, objetos incorporados e outros artefatos.

O CKEditor (http://ckeditor.com) é o editor de rich text padrão para XPages. Esse editor permite a integração de imagens, tabelas, links e emoticons. O editor inclui um verificador ortográfico.

É possível ajustar a barra de ferramentas que é renderizada. Com o controle de rich text em foco, clique na guia Dojo e adicione um atributo (propriedade dojoAttributes) nomeado toolbarType com um valor de superficial, médio ou completo.

É possível reverter para o editor de rich text Dojo. Com o controle de rich text em foco, clique na guia Dojo e especifique o tipo de Dojo (propriedade dojoType) como ibm.xsp.widget.layout.RichText.

Exemplos
Este controle de Rich Text é ligado a um campo em um formulário do Domino.
<xp:inputRichText id="inputRichText1" value="#{document1.body}"></xp:inputRichText>
Este controle de Rich Text usa o editor Dojo.
<xp:inputRichText id="inputRichText1"
	value="#{document1.body}" dojoType="ibm.xsp.widget.layout.RichText">
</xp:inputRichText>
Este controle de Rich Text renderiza 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

Exibe um campo de entrada para inserir uma linha de dados.

Categoria
Controles de Núcleo
Sintaxe
<xp:inputText attributes>content</xp:inputText>
Tabela 34. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é inputText1, inputText2 e assim por diante.
value Liga a caixa de edição a um elemento de dados ou outro valor.
Uso
No tempo de execução, uma caixa de edição aparece na página. O usuário pode inserir uma linha de texto na caixa.
Exemplos
Este controle de Caixa de Edição é ligado a um campo em um formulário do Domino.
<xp:inputText id="inputText1" value="#{document1.subject}"></xp:inputText>
Este controle de Caixa de Edição é ligado a uma variável com escopo definido.
<xp:inputText id="inputText2" value="#{requestScope.subject}"></xp:inputText>

inputTextarea - Caixa de Edição Multilinhas

Exibe um campo de entrada para inserir múltiplas linhas de dados.

Categoria
Controles de Núcleo
Sintaxe
<xp:inputTextarea attributes>content</xp:inputTextarea>
Tabela 36. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é inputTextarea1, inputTextarea2 e assim por diante.
value Liga o controle a um elemento de dados ou outro valor.
cols Especifica o número de colunas se não substituído pelo atributo width de style.
rows Especifica o número de linhas se não substituído pelo atributo height de style.
Uso
No tempo de execução, uma caixa de edição aparece na página. O usuário pode inserir múltiplas linhas de texto na caixa. Se o usuário exceder o tamanho da caixa, os dispositivos de rolagem aparecerão.
Exemplos
Este controle de Caixa de Edição Multilinhas é ligado a um campo em um formulário do Domino.
<xp:inputTextarea id="inputTextarea1" value="#{document1.description}"
	cols="64" rows="8">
</xp:inputTextarea>

label - Rótulo (Controle)

Exibe texto.

Categoria
Controles de Núcleo
Sintaxe
<xp:label attributes>content</xp:label>
Tabela 38. Propriedades Essenciais
Propriedade Descrição
ID Padronizado para label1, label2, e assim por diante.
value Especifica o valor do rótulo.
for Especifica o controle que recebe o foco quando o usuário clica, ou de alguma maneira coloca o foco, nesse controle.
Uso
No tempo de execução, o valor do rótulo aparece na página. O foco é redirecionado conforme especificado.

Um controle de Rótulo será somente leitura se o XPage ou Painel de contenção for somente leitura ou se a propriedade de Rótulo readonly for verdadeira.

Exemplos
Este controle de Rótulo exibe o nome de usuário comum em azul:
<xp:label
	value="#{javascript:session.getCommonUserName()}"
	id="label1" style="color:rgb(0,0,255)" for="inputText1">
</xp:label>
Conformidade de acessibilidade
Para aplicar rótulos em conformidade com os padrões de acessibilidade, use o controle de Rótulo com a propriedade for conforme mostrado a seguir:
<xp:label value="foo" for="inputText1" />
&#160;
<xp:inputText id="inputText1" defaultValue="foo" />
Como alternativa, aplique o atributo aria-labelledby conforme mostrado a seguir. Entretanto, esse atributo não é suportado pelos navegadores que não suportam WAI-ARIA.
<xp:label value="foo" id="label1">
	&#160;
	<xp:inputText id="inputText1" defaultValue="foo" >
		<xp:this.attrs>
				<xp:attr name="aria-labelledby" value="#{id:label1}"></xp:attr>
		</xp:this.attrs>
	</xp:inputText>
</xp:label>
Como alternativa, aplique o atributo aria-label conforme mostrado a seguir. Entretanto, esse atributo gera um rótulo oculto.
<xp:label value="foo" id="label1">
	&#160;
	<xp:inputText id="inputText1" defaultValue="foo" >
		<xp:this.attrs>
				<xp:attr name="aria-label" value="bar"></xp:attr>
		</xp:this.attrs>
	</xp:inputText>
</xp:label>

Em ambos os casos alternativos, use o identificador no lado do cliente completo para o valor do atributo, conforme mostrado.

listBox - Caixa de Listagem

Exibe uma lista de itens em que um ou mais podem ser selecionados.

Categoria
Controles de Núcleo
Sintaxe
<xp:listBox attributes>content</xp:listBox>
Tabela 42. Controles Integrados
Controle Descrição
selectItem Fornece um item para seleção do usuário.
selectItems Fornece um ou mais itens para seleção do usuário.
Tabela 43. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é listBox1, listBox2 e assim por diante.
value Liga o controle a um elemento de dados ou outro valor.
Uso
No tempo de execução, uma caixa com uma lista de itens aparece na página. O usuário pode selecionar um ou mais itens. Para mais de um item, multiple deve ser true.

Para mais de um item, o elemento de dados ligado à caixa de listagem deve permitir vários valores.

Exemplos
Este controle de Caixa de Listagem apresenta dois itens para seleçã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 controle de Caixa de Listagem apresenta dois itens para seleção usando 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 Listagem obtém suas seleções de itens a partir dos valores em uma coluna de visualização.
<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 - Exibir Erro

Exibe mensagens de erro para um controle.

Categoria
Controles de Núcleo
Sintaxe
<xp:message attributes>content</xp:message>
Tabela 45. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é message1, message2 e assim por diante.
for Identifica o controle de destino.
Tabela 46. Todas as Propriedades
Categoria Propriedades
acessibilidade função, título
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
Uso
Por padrão, a maioria das verificações de validação ocorre no cliente antes do envio de um pedido ao servidor. Se a validação falhar, o cliente exibirá uma mensagem de erro em um diálogo e cancelará o pedido do servidor.

Se desejar que as verificações de validação ocorram no servidor e a mensagem de erro seja exibida neste controle, você deverá definir disableClientSideValidation como true para o controle de destino.

Para conformidade com os requisitos de acessibilidade ao usar esse controle, é recomendável que, para um determinado controle de entrada, você associe o respectivo xp:message control usando o atributo aria-describedby, conforme ilustrado no exemplo. Isso suporta tecnologias assistivas fornecendo uma descrição aos usuários quando o controle de entrada recebe o foco descrevendo a mensagem de erro de validação associada.

<xp:label id="xpLabel1" value="Enter any value" for="xpInputText1" />
<xp:inputText id="xpInputText1" value="#{sessionScope.foo}" required="true"
        disableClientSideValidation="true">

	<xp:this.attrs>
		<xp:attr attr name="aria-describedby" value="#{id:msgPanel}" />
	<xp:this.attrs>

</xp:inputText>

<xp:panel id="msgPanel">
	<xp:message id="message1" for="xpInputText1"/>
</xp:panel>
Nota: É possível associar diversas descrições a um controle de entrada especificando uma lista separada por espaço de IDs de rótulos de clientes para o atributo aria-describedby.
Exemplos
Aqui, uma caixa de entrada é ligada a dados numéricos e não validada no lado do cliente. A seguir está uma exibiçã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 usuário inserir um valor não numérico na caixa de entrada, a seguinte mensagem aparecerá na exibição do erro:
Este campo não é um número válido

messages - Exibir Erros

Exibe mensagens de erro para todos os controles em uma página.

Categoria
Controles de Núcleo
Sintaxe
<xp:messages attributes>content</xp:messages>
Tabela 47. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é message1, message2 e assim por diante.
layout O layout pode ser como uma lista (padrão) ou tabela.
Tabela 48. Todas as Propriedades
Categoria Propriedades
acessibilidade função, título
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
Uso
Por padrão, a maioria das verificações de validação ocorre no cliente antes do envio de um pedido ao servidor. Se a validação falhar, o cliente exibirá uma mensagem de erro em um diálogo e cancelará o pedido do servidor.

Se desejar que as verificações de validação ocorram no servidor e a mensagem de erro seja exibida neste controle, você deverá definir disableClientSideValidation como true para o controle de destino.

Exemplos
Aqui, uma caixa de entrada é ligada a dados numéricos e não validada no lado do cliente. A seguir está uma exibiçã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 usuário inserir um valor não numérico na caixa de entrada, a seguinte mensagem aparecerá na exibição do erro:
Este campo não é um número válido

pager - Pager

Pagina dados para um controle de contêiner em que seus dados não podem ser exibidos em uma janela.

Categoria
Controles de Núcleo
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) Assume o padrão, que é pager1, pager2 e assim por diante.

(pagerControl) Assume o padrão, que é pagerControl1, pagerControl2 e assim por diante.

layout (pager) Para organizar os controles, use esta propriedade ou incorpore os controles pagerControl.
for (pager) Use apenas quando o pager não estiver dentro do controle de destino.
type (pagerControl) O tipo é gerado ao usar Personalizado para Estilo de Pager no pager.
Tabela 50. Todas as Propriedades (pager)
Categoria Propriedades
acessibilidade ariaLabel, role, title
Nota: A propriedade de função tornou-se obsoleta a partir da versão 9.0.1. Por padrão, o valor compatível apropriado é gerado. Para conformidade com os padrões de acessibilidade, não especifique um valor para essa propriedade.
básicas attrs, alwaysCalculateLast, binding, dir, for, id, lang, loaded, pageCount, partialExecute, partialRefresh, rendered, rendererType
formato layout, panelPosition
estilo disableTheme, outerStyleClass, style, styleClass, themeId
Tabela 51. Todas as Propriedades (pagerControl)
Categoria Propriedades
acessibilidade accesskey, alt, role, tabindex, title
Nota: A propriedade de função tornou-se obsoleta a partir da versão 9.0.1. Por padrão, o valor compatível apropriado é gerado. Para conformidade com os padrões de acessibilidade, não especifique um valor para essa propriedade.
básicas binding, dir, id, lang, loaded, rendered, rendererType, type, value
eventos action, actionListener, actionListeners, immediate,onblur, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
formato image
estilo currentStyleClass, disableTheme, firstStyleClass, lastStyleClass, style, styleClass, themeId
Uso
No tempo de execução, o usuário pode clicar no pager para iterar pelos dados em um controle que permite a iteração de dados, tal como o painel de visualização.

Um pager pode ser colocado em uma região de aspecto dentro do controle com os dados. Como alternativa, um pager pode ser associado ao controle de dados por meio da propriedade for.

Os controles de Pager são gerados de duas maneiras:
  • Especificando a propriedade do layout. No modo de Design, clique na guia superior em Propriedades e selecione uma das opções de Amostra para Estilo de Pager.
  • Incorporando controles pagerControl. No modo de Design, clique na guia superior em Propriedades e selecione Personalizado para Estilo de Pager.
Exemplos
Este controle de Painel de Visualização contém um controle de 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 - Controle-filho de Pager

Especifica um controle de pager dentro do pager comum.

Categoria
Controles de Contêiner
Uso
Consulte pager.

panel - Painel

Serve como um contêiner para outros controles e texto com origens de dados e propriedades comuns.

Categoria
Controles de Contêiner
Sintaxe
<xp:panel attributes>content</xp:panel>
Tabela 52. Todas as Propriedades
Categoria Propriedades
acessibilidade função, título
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
Uso
No tempo de execução, o conteúdo do painel aparece na página com quaisquer origens de dados e propriedades designadas.
Exemplos
Este controle de Painel define uma origem de dados e contém caixas de texto e de edição.
<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 em um formato de parágrafo.

Categoria
Outros Controles
Sintaxe
<xp:paragraph attributes>content</xp:paragraph>
Tabela 53. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é paragraph1, paragraph2 e assim por diante.
Tabela 54. Todas as Propriedades
Categoria Propriedades
acessibilidade função, título
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
Uso

No tempo de execução, o conteúdo do parágrafo aparece na página com quaisquer propriedades designadas.

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

platformEvent - Controle de Evento de Plataforma

Trata um evento de plataforma.

Categoria
Outros Controles
Sintaxe
<xp:platformEvent attributes>content</xp:platformEvent>
Tabela 55. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é platformEvent1, platformEvent2 e assim por diante.
Tabela 56. Todas as Propriedades
Categoria Propriedades
básicas binding, eventName, id, lang, loaded, rendered, rendererType
  onevent
estilo disableTheme, themeId
Uso

Os eventos de plataforma são usados para publicar eventos de Aplicativo Composto no Notes Client.

radio - Botão de Opções

Exibe um botão que pode ser selecionado ou desmarcado. Quando agrupado, apenas um botão no grupo pode ser selecionado.

Categoria
Controles de Núcleo
Sintaxe
<xp:radio attributes>content</xp:radio>
Tabela 57. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é radio1, radio2 e assim por diante.
texto Fornece uma etiqueta.
value Liga o controle a um elemento de dados ou outro valor.
selectedValue Especifica o valor dos dados quando o botão é selecionado.
defaultSelected Especifique true para selecionar o botão por padrão.
groupName Designa o botão de opções a um grupo.
skipContainers Designa botões de opções em diferentes contêineres (por exemplo, colunas em uma tabela de dados) ao mesmo grupo.
Uso
No tempo de execução, um botão aparece na página. O usuário pode selecioná-la ou desmarcá-la. O botão aparece preenchido quando selecionado.

Quando um botão é selecionado, todos os outros botões designados ao mesmo grupo são desmarcados.

A designação de botões a um grupo é semelhante à criação de um controle Grupo de Botões de Opções. O uso de botões individuais com designações de grupos fornece flexibilidade no posicionamento.

Para conformidade de acessibilidade, não use esse controle para um grupo, somente para um botão único. Use Grupo de Botões de Opções para um grupo.

Exemplos
Estes controles de Botão de Opções designam o valor apples ou oranges a document1.fruit dependendo de qual for selecionado. Os botões agem em conjunto. Se Apples for selecionado, oranges será desmarcado. Observe que este exemplo não atende à conformidade de acessibilidade.
<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ções

Exibe múltiplos botões que podem ser selecionados ou desmarcados. Apenas um botão no grupo pode ser selecionado.

Categoria
Controles de Núcleo
Sintaxe
<xp:radioGroup attributes>content</xp:radioGroup>
Tabela 59. Controles Integrados
Controle Descrição
selectItem Fornece um item para seleção do usuário.
selectItems Fornece um ou mais itens para seleção do usuário.
Tabela 60. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é radioGroup1, radioGroup2 e assim por diante.
texto Fornece uma etiqueta.
value Liga o controle a um elemento de dados ou outro valor.
legend Fornece uma descrição de grupo legível pela tela.
Uso
No tempo de execução, um ou mais botões de opções aparecem na página. O usuário pode selecionar um botão. Quando um botão é selecionado, qualquer outro botão selecionado é desmarcado.

Para conformidade de acessibilidade, você deve especificar a propriedade legend.

Exemplos
Este controle de Grupo de Botões de Opções apresenta dois itens para seleção.
<xp:radioGroup id="radioGroup1" legend="Select fruit" value="#{document1.fruit}" layout="pageDirection">
	<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
	<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
</xp:radioGroup>
Este controle de Grupo de Botões de Opções apresenta dois itens para seleção usando uma fórmula.
<xp:radioGroup id="radioGroup1" legend="Select fruit" 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 Seleção obtém suas seleções de itens a partir dos valores em uma coluna de visualização.
<xp:radioGroup id="radioGroup1" legend="Select fruit" 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 - Repetição

Repete os controles integrados por meio da iteração em uma origem de dados.

Categoria
Controles de Contêiner
Sintaxe
<xp:repeat attributes>
	contol ...
</xp:repeat>
Tabela 62. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é repeat1, repeat2 e assim por diante.
value Geralmente, a ligação de dados destina-se a uma coleção de elementos, por exemplo, um objeto NotesDocumentCollection.
var Geralmente, essa variável refere-se a um membro da coleção de dados ligados, por exemplo, um objeto NotesDocument se a ligação destinar-se a um objeto NotesDocumentCollection.
Tabela 63. Todas as Propriedades
Categoria Propriedades
acessibilidade role
básicas attrs, binding, dir, id, lang, loaded, removeRepeat, rendered, rendererType, repeatControls, rowAttrs
dados first, indexVar, rows, value, var
estilo disableTheme, style, styleClass, themeId
Uso
No tempo de execução, o conteúdo repetido do controle aparece na página. Use var no conteúdo do controle de repetição para repetir o conteúdo para cada membro da origem de dados.
Exemplos
Este controle de repetição exibe os itens subject para todos os documentos no banco de dados atual.
<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 de Saída

Produz um script de cliente.

Categoria
Controles de Núcleo
Sintaxe
<xp:scriptBlock attributes>content</xp:scriptBlock>
Tabela 64. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é scriptBlock1, scriptBlock2 e assim por diante.
valor Especifica um script de cliente.
Tabela 65. Todas as Propriedades
Categoria Propriedades
básicas attrs, binding, charset, defer, id, loaded, rendered, rendererType, src, type
dados converter, value
dojo dojoArgs, dojoEvent
estilo disableTheme, themeId
Uso
Este controle se aplica apenas a um controle de customização.

No tempo de execução, o script é executado quando o XPage contendo o controle de customização é carregado no cliente.

Exemplos
Este controle de Script de Saída está em um controle de customização. Ele exibe uma caixa alert quando integrado em um XPage e o XPage é aberto.
<xp:scriptBlock id="scriptBlock2" type="text/javascript">
	<xp:this.value><![CDATA[alert("hello custom")]]></xp:this.value>
</xp:scriptBlock>

section - Seção

Serve como um contêiner redutível para outros controles e texto

Categoria
Controles de Contêiner
Sintaxe
<xp:section attributes>content</xp:section>
Tabela 66. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é section1, section2 e assim por diante.
header O cabeçalho aparece na parte superior da seção e fica visível quando a seção é reduzida.
type Os tipos de formatação são:
  • padrão: sem borda
  • ampla: barra cinza na parte inferior
  • caixa: barras cinzas nos quatro lados
  • guia: segundo plano cinza para seta e conteúdo de seção abaixo da seta
initClosed Por padrão, a seção é aberta inicialmente.
Uso
No tempo de execução, a seção aparece na página:
  • Uma seção fechada mostra apenas um cabeçalho.
  • Uma seção aberta mostra o cabeçalho e o conteúdo.
O usuário pode abrir e fechar a seção.
Exemplos
Esta seção contém 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 Seleção

Fornece um item para seleção do usuário, por exemplo, em uma caixa de seleção.

Categoria
Nenhuma
Sintaxe
<xp:selectItem attributes>content</xp:selectItem>
Tabela 68. Propriedades Essenciais
Propriedade Descrição
itemLabel Fornece texto para ser exibido ao usuário. Necessário.
itemValue Fornece um valor para o controle-pai se o usuário selecionar esse item. Necessário.
Tabela 69. Todas as Propriedades
Categoria Propriedades
básicas attrs, binding, id, itemDescription, itemDisabled, itemLabel, rendered, rendererType
dados itemValue, value
formato disableTheme, themeId
Uso
Incorpore este controle a um outro controle para fornecer uma seleção de item para o controle-pai.

No modo de Design, coloque o foco no controle que deverá conter a seleção de item e clique na guia Valores em Propriedades. Use Adicionar Item e Importar Lista para criar controles selectItem.

Para ver as propriedades de seleção de item em Todas as Propriedades, é necessário alternar para o modo de Origem e colocar o foco no controle selectItem integrado (em oposição ao controle-pai).

Exemplos
Este controle de Grupo de Caixas de Seleção contém dois itens para seleçã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 Seleção

Fornece um ou mais itens para seleção do usuário, por exemplo, em uma caixa de seleção.

Categoria
Nenhuma
Sintaxe
<xp:selectItems attributes>content</xp:selectItems>
Tabela 70. Propriedades Essenciais
Propriedade Descrição
value Fornece rótulos, valores, descrições e sinalizadores de desativação para um ou mais itens de descrição. Um valor aqui é diferente da ligação de dados.
Tabela 71. Todas as Propriedades
Categoria Propriedades
básicas attrs, binding, id, loaded, rendered, rendererType
dados value
formato disableTheme, themeId
Uso
Incorpore este controle a um outro controle para fornecer seleções de itens para o controle-pai.

No modo de Design, coloque o foco no controle que deverá conter a seleção de item e clique na guia Valores em Propriedades. Use Adicionar Item de Fórmula para criar um controle selectItems.

Para ver as propriedades de seleção de item em Todas as Propriedades, é necessário alternar para o modo de Origem e colocar o foco no controle selectItens integrado (em oposição ao controle-pai).

A fórmula do valor deve retornar uma matriz. Cada elemento da matriz deve definir um item de seleção formatado da seguinte forma:
label|value|description|disabled
Em que apenas label é necessário. As barras verticais fazem parte da sintaxe.

Se value não for especificado, o padrão será assumido, que é label. Especifique disabled como true para desativar (esmaecer) o item de seleção.

Para o valor de retorno, é possível separar (@Explode) o resultado de @DbColumn ou @DbLookup.

Exemplos
Este controle de Grupo de Caixas de Seleção contém dois itens para seleçã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 controle de Grupo de Caixas de Seleção usa nomes diferentes para os rótulos e 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 controle de Grupo de Caixas de Seleção desativa a primeira seleçã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 Seleção obtém suas seleções de itens a partir dos valores em uma coluna de visualização.
<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 - Conteúdo de Extensão

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

Categoria
Controles de Núcleo
Sintaxe
<xp:span attributes>content</xp:span>
Tabela 72. Todas as Propriedades
Categoria Propriedades
acessibilidade função, título
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
Uso

No tempo de execução, o conteúdo da extensão aparece na página com quaisquer propriedades designadas.

Geralmente, este controle não é aplicado diretamente. Se você realçar texto em uma página e aplicar uma propriedade, tal como negrito, uma extensão será criada automaticamente.

Para trabalhar diretamente com um espaço, o modo de origem é melhor.

Exemplos
Aqui, um controle de Extensão é usado para texto negrito:
<xp:span id="span1" style="font-weight:bold">
	Now is the time.
</xp:span>

tabbedPanel - Painel com Guias

Serve como uma coleção de contêineres para outros controles e texto

Categoria
Controles de Contêiner
Sintaxe
<xp:tabbedPanel attributes>
	<xp:tabPanel attributes>content</xp:tabPanel></xp:tabbedPanel>
	...
</xp:tabbedPanel>
Tabela 73. Propriedades Essenciais
Propriedade Descrição
ID (tabbedPanel) Assume o padrão, que é tabbedPanel1, tabbedPanel2 e assim por diante.

(tabPanel) Assume o padrão, que é tabPanel1, tabPanel2 e assim por diante.

selectedTab (tabbedPanel) Abre inicialmente o painel com guias para essa guia.
texto (tabPanel) Fornece um rótulo para a guia.
Tabela 74. Todas as Propriedades (tabbedPanel)
Categoria Propriedades
acessibilidade função, título
Nota: A propriedade de função tornou-se obsoleta a partir da versão 9.0.1. Por padrão, o valor compatível apropriado é gerado. Para conformidade com os padrões de acessibilidade, não especifique um valor para essa propriedade.
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 imageAlt, role, title
Nota: A propriedade de função tornou-se obsoleta a partir da versão 9.0.1. Por padrão, o valor compatível apropriado é gerado. Para conformidade com os padrões de acessibilidade, não especifique um valor para essa propriedade.
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
Uso
No tempo de execução, o conteúdo do painel de guia selecionada aparece na página. As outras guias ficam visíveis, mas não seu conteúdo. O usuário altera os painéis selecionando as guias.
No modo de Design, colocar o foco em um painel com guias seleciona o elemento tabbedPanel. Para trabalhar com os elementos tabPanel, clique com o botão direito do mouse ou use o menu para fazer o seguinte:
  • Selecionar Conteúdo da Guia Ativa coloca o foco no elemento tabPanel para a guia em foco.
  • Remover Guia Ativa remove o elemento tabPanel para a guia em foco.
  • Inserir Guia insere um novo elemento tabPanel.
  • Anexar Guia anexa um novo elemento tabPanel.
Exemplos
Este controle de Painel com Guias possui 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 organizadas como linhas e colunas. Cada célula pode conter outros controles (incluindo tabelas) e texto.

Categoria
Controles de Contêiner
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 função, título
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 função, título
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
Uso
No tempo de execução, a tabela aparece na página. O usuário pode acessar a tabela uma célula por vez.
Ao inserir uma tabela em uma XPage no modo de Design, um diálogo solicita o número de linhas e o número de colunas. Após a tabela ser criada, é possível:
  • Adicionar e excluir linhas e colunas.
  • Mesclar células.
  • Selecionar células e múltiplas células.
  • Adicionar e excluir o conteúdo da célula.

Use esse controle para apresentar texto e imagens em um layout visualmente atraente. Por padrão, a propriedade role é presentation. Para conformidade de acessibilidade, não use esse controle para propósitos que não o de layout visual e não altere role para algo diferente de presentation. Para dados tabulares, use o controle Tabela de Dados.

Exemplos
Esta tabela contém 4 células organizadas 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 Computado

Exibe um valor.

Categoria
Controles de Núcleo
Sintaxe
<xp:text attributes>content</xp:text>
Tabela 79. Propriedades Essenciais
Propriedade Descrição
ID Assume o padrão, que é computedField1, computedField2 e assim por diante.
value Liga o campo computado a um elemento de dados ou outro valor.
Tabela 80. Todas as Propriedades
Categoria Propriedades
acessibilidade função, título
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
Uso

No tempo de execução, o valor do campo computado aparece na página.

Exemplos
Este controle de Campo Computado exibe a soma de duas variáveis com escopo definido:
<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 controle de Campo Computado exibe o valor de um elemento de dados ligado à XPage atual.
<xp:text escape="true" id="computedField4" value="#{document1.subject}"></xp:text>

typeAhead - Digitação Antecipada do AJAX

Preenche automaticamente seu controle-pai à medida que os usuários digitam uma sucessão de caracteres que correspondem a uma sugestão especificada.

Categoria
Outros Controles
Sintaxe
<xp:typeAhead attributes>content</xp:typeAhead>
Tabela 81. Propriedades Essenciais
Propriedade Descrição
mode Modo de atualização.
minChars Mínimo de caracteres para ativar a digitação antecipada.
valueList Sugestões retornadas quando seus caracteres iniciais são inseridos.
valueListSeparator Separador de sugestões.
tokens Separadores do cliente no caso em que a máquina do usuário especifica sugestões.
ignoreCase Indica se maiúsculas/minúsculas devem ser respeitadas ou ignoradas.
Uso
Incorpore este controle a um outro controle para afetar a entrada para o controle-pai.

No modo de Design, coloque o foco no controle que deverá obter a digitação antecipada e clique na guia Digitação Antecipada em Propriedades. Marcando Ativar Digitação Antecipada, um controle de digitação antecipada é incorporado ao controle atual.

Para ver as propriedades de digitação antecipada em Todas as Propriedades, é necessário alternar para o modo de Origem e colocar o foco no controle typeAhead integrado (em oposição ao controle-pai).

Exemplos
Este controle de Caixa de Edição fornece digitação antecipada.
<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 controle de contêiner de nível superior, ou seja, a própria XPage.

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

No modo de Design, coloque o foco fora de todos os controles 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 - Visualização

Exibe dados de documentos em linhas e colunas.

Categoria
Controles de Contêiner
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) Assume o padrão, que é viewPanel1, viewPanel2 e assim por diante.

(viewColumn) Assume o padrão, que é viewColumn1, viewColumn2 e assim por diante.

(viewColumnHeader) Assume o padrão, que é viewColumnHeader1, viewColumnHeader2 e assim por diante.

rows (viewPanel) Este é o número de linhas exibidas de uma vez, que é 30 por padrão.
dados (viewPanel) Liga uma visualização do Domino ao controle.
pageName (viewPanel) Por padrão, a XPage associada ao formulário do documento é usada para abrir um documento selecionado quando um item de coluna é um link. Aqui, uma XPage especificada pode ser usada.
columnName (viewColumn) Os nomes de colunas da origem de dados são definidos por meio do diálogo de criação de visualização e podem ser alterados posteriormente.
displayAs, (viewColumn) Por padrão, os itens são exibidos como texto. Especifique displayAs="link" para alterar esses itens para links para os documentos subjacentes.
value (viewColumnHeader) Este é o rótulo para o cabeçalho da coluna.
Tabela 85. Todas as Propriedades (viewPanel)
Categoria Propriedades
acessibilidade caption, role, summary, title
Nota: A propriedade de função tornou-se obsoleta a partir da versão 9.0.1. Por padrão, o valor compatível apropriado é gerado. Para conformidade com os padrões de acessibilidade, não especifique um valor para essa propriedade. Consulte a seção de uso para obter informações adicionais sobre conformidade de acessibilidade.
básicas attrs, binding, dir, id, lang, loaded, partialExecute, partialRefresh, refreshId, rendered, rendererType, rowAttrs, target
dados data, first, indexVar, pageName, rows, value, var
formato cellpadding, cellspacing, height, showColumnHeader, showUnreadMarks, width
estilo captionStyleClass, columnClasses, dataTableStyle, dataTableStyleClass, disableTheme, readMarksClass, rowClasses, themeId, unreadMarksClass, viewStyle, viewStyleClass
Tabela 86. Todas as Propriedades (viewColumn)
Categoria Propriedades
acessibilidade role
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 (viewColumn)
Categoria Propriedades
acessibilidade role
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 visualização dependendo das especificações de Estrutura. É possível colocar outros controles, como painéis, na região de aspecto. Use o modo Origem para trabalhar dentro da região de aspecto.

Este é um aspecto de amostra para controles do 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 seguintes caixas na guia Exibir em Propriedades afetam o conteúdo do aspecto da seguinte forma:
  • Mostrar Pager no Cabeçalho (selecionado por padrão) gera um controle pager de chave headerPager. Nenhuma região de aspectos será gerada se isso estiver desmarcado.
  • Mostrar Pager no Rodapé (desmarcado por padrão) gera um controle pager de chave footerPager.
  • Mostrar Título (desmarcado por padrão) gera o controle viewTitle.
Uso
Um controle de Visualização exibe essencialmente uma visualização do Domino. No modo de Design, o nome da visualização do Domino ligada e outras informações são fornecidos em um diálogo ao criar o controle viewPanel. Após a criação, é possível clicar com o botão direito do mouse ou usar o menu para adicionar, inserir, anexar e excluir colunas.

Ao configurar visões para exibir categorias de dados, os usuários podem expandir e reduzir (alternar) as categorias no tempo de execução. As categorias são reduzidas por padrão. Quando os usuários alternam as categorias, a XPage é recarregada para que os dados na XPage fiquem sincronizados com o servidor.

Para paginação, uma categoria reduzida conta como uma linha. Por exemplo, se você tiver configurado um pager para navegar cinco linhas e houver cinco linhas de dados reduzidas na visualização, sempre que um usuário clicar nos botões Voltar ou Avançar, o pager contará cinco categorias, não linhas ocultas individuais. Além disso, o estado de alternância de categorias persiste conforme os usuários navegam para frente e para trás pelas páginas de dados.

Esses controles não foram testados com relação aos padrões de acessibilidade mais recentes. O caminho acessível recomendado é o controle Visualização de Dados.

Exemplos
Este controle de Painel de Visualização possui 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

Aqui são especificadas as propriedades de XPages.

accept - Aceitar

Lista um tipo MIME aceitável para o arquivo carregado.

Categoria
básicas
Sintaxe
accept="text/html|image/png|image/gif|video/mpeg|text/css|audio/basic"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure accept em básicas.

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

accesskey - Acelerador

Especifica um caractere usado em conjunto com a tecla ALT para colocar o foco em um controle.

Categoria
acessibilidade
Sintaxe
accesskey="key"
Uso
No modo de Estrutura, clique na guia superior em Propriedades e procure Acelerador ou clique em Todas as Propriedades e procure accesskey em acessibilidade.

O fornecimento de combinações do teclado é útil para os usuários que desejam usar o teclado para navegar e também para os usuários com deficiência visual que dependem dos atributos HTML accesskey. Consulte a documentação do navegador para obter as restrições de chave do acelerador.

Exemplos
Este controle de Caixa de Edição é selecionado quando o usuário digita ALT > b.
<xp:inputText id="inputText1" value="#{document1.subject}" accesskey="b"></xp:inputText>

acl - Lista de Controle de Acesso

Define uma lista de controle de acesso para uma página ou um controle.

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>
Uso
No modo de Estrutura, certifique-se de que o foco esteja na página ou no controle de contêiner. Clique em Todas as Propriedades e procure acl em dados.

Esta propriedade se aplica a páginas e alguns controles de contêiner.

Propriedades Contidas
loaded="true|false"
Cria, ou não, a instância de marcação quando o controle é carregado.
fullName="name"
Especifica o nome completo de um usuário se name não for o 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 instância de marcação quando a entrada é carregada.
Exemplos
Este painel define uma ACL 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 - Ação de Aplicativo

Especifica a ação de aplicativo MethodBinding a ser chamada quando o usuário ativar o controle.

Categoria
eventos
Sintaxe
action="action"
Uso
O valor de ação deve ser um método público que não usa parâmetros e retorna uma sequência. A sequência é passada para o NavigationHandler para este aplicativo.

actionListener - Ouvinte de Ação

Especifica o ouvinte de ação MethodBinding a ser notificado quando o usuário ativar o controle.

Categoria
eventos
Sintaxe
actionListener="ouvinte"
Uso
O valor actionListener deve ser um método público que usa um parâmetro ActionEvent e retorna nulo.

actionListeners - Lista de Ouvintes de Ação

Especifica uma coleção de ouvintes de ação.

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

afterPageLoad - Ligação de Método Após Carregamento de Página

Ativa um manipulador de eventos após um carregamento de página.

Categoria
eventos
Sintaxe
<xp:view><xp:this.afterPageLoad attributes>content</xp:afterPageLoad></xp:view>
Uso
Para obter sintaxe detalhada de manipulador de eventos, consulte eventHandler - Manipulador de Eventos (Propriedade).

afterRenderResponse - Ligação de Método Após Resposta de Renderização

Ativa um manipulador de eventos após a fase de Resposta de Renderização do ciclo do JSF.

Categoria
eventos
Sintaxe
<xp:view><xp:this.afterRenderResponse attributes>content</xp:afterRenderResponse></xp:view>
Uso
Para obter sintaxe detalhada de manipulador de eventos, consulte eventHandler - Manipulador de Eventos (Propriedade).

afterRestoreView - Ligação de Método Após Visualização de Restauração

Ativa um manipulador de eventos após a fase de Visualização de Restauração do ciclo do JSF.

Categoria
eventos
Sintaxe
<xp:view><xp:this.afterRestoreView attributes>content</xp:afterRestoreView></xp:view>
Uso
Para obter sintaxe detalhada de manipulador de eventos, consulte eventHandler - Manipulador de Eventos (Propriedade).

align - Alinhamento

Alinha o conteúdo em um contêiner.

Categoria
formato
Sintaxe
align="left|center|right"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure align em formato.

allowDelete - Permitir Exclusão de Arquivo

Permite que os usuários excluam os arquivos anexados ou não.

Categoria
básicas
Sintaxe
allowDelete="true|false"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure allowDelete em básicas.

Por padrão, um controle é carregado.

alt - Texto Alternativo

Especifica o texto a ser exibido quando uma imagem não pode ser renderizada.

Categoria
acessibilidade
Sintaxe
alt="text"
Uso
No modo de Estrutura, clique na guia superior em Propriedades e procure Texto Alternativo ou clique em Todas as Propriedades e procure alt em acessibilidade.

alwaysCalculateLast - Sempre Calcular o Último

Calcula sempre o último documento em um contêiner.

Categoria
básicas
Sintaxe
alwaysCalculateLast="true|false"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure alwaysCalculateLast em básicas.

Definir isto como true pode impactar o desempenho.

ariaLabel - ARIA Label (propriedade)

Especifica texto descritivo de um rótulo de tecnologias assistivas para um controle.

Nota: Esta propriedade é nova com a Liberação 9.0.1.
Categoria
acessibilidade
Sintaxe
ariaLabel="text"
Uso
No modo de Design, clique em Todas as Propriedades e procure ariaLabel em accessibility.

attrs - Lista de Atributos

Inclui atributos em um controle. Use esta propriedade apenas onde os atributos não estiverem disponíveis como propriedades.

Categoria
básicas
Sintaxe
<xp:this.attrs>
	<xp:attr attributename="attributevalue" ...</xp:attr>
	...
</xp:this.attrs>
Uso
No modo de Design, clique em Todas as Propriedades e procure attrs em básicas.
Atributos
Você deve minimamente configurar name e value.
Tabela 88. Atributos
Atributo Descrição
loaded="true|false"
Cria o atributo quando a página é carregada (padrão) ou não.
minimized="true|false"
Minimiza o atributo no HTML, renderizando apenas o nome e não o valor, ou não (padrão).
name="name"
O nome de um atributo HTML válido.
rendered="true|false"
Renderiza (padrão) ou não renderiza o atributo.
uri="true|false"
Trata value como uma URI ou não (padrão). Um valor de URI sem um protocolo (por exemplo, http://) é relativo ao aplicativo atual. A codificação URL está em vigor, então use %20 para um espaço.
value="value"
O valor do atributo. Não renderizado se minimized for true.
Uso
Esta propriedade permite a inclusão de um atributo HTML para o qual não existe nenhuma propriedade de controle. Não use attrs para atributos que podem ser gerados por meio da especificação das propriedades de controle.
Exemplos
Esta Caixa de Edição inclui o atributo autofocus sem a renderização de seu 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 de tipo email inclui 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

Ativa ou desativa o recurso de navegador para lembrar e concluir automaticamente a entrada do usuário.

Categoria
básicas
Sintaxe
autocomplete="on|off"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure autocomplete em básicas.

Por padrão, a conclusão automática está ativada.

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

beforePageLoad - Ligação de Método Antes do Carregamento de Página

Ativa um manipulador de eventos antes de um carregamento de página.

Categoria
eventos
Sintaxe
<xp:view><xp:this.beforePageLoad attributes>content</xp:beforePageLoad></xp:view>
Uso
Para obter sintaxe detalhada de manipulador de eventos, consulte eventHandler - Manipulador de Eventos (Propriedade).

beforeRenderResponse - Ligação de Método Antes da Resposta de Renderização

Ativa um manipulador de eventos antes da fase de Resposta de Renderização do ciclo do JSF.

Categoria
eventos
Sintaxe
<xp:view><xp:this.beforeRenderResponse attributes>content</xp:beforeRenderResponse></xp:view>
Uso
Para obter sintaxe detalhada de manipulador de eventos, consulte eventHandler - Manipulador de Eventos (Propriedade).

bgcolor - Cor do Segundo Plano

Especifica a cor do segundo plano.

Categoria
formato
Sintaxe
bgcolor="color"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure bgcolor em formato.

binding - Ligação de Controle

Especifica uma expressão que liga o controle a uma propriedade de controle.

Categoria
básicas
Sintaxe
binding="expressão"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure binding em básicas.
Exemplos

border - Borda da Tabela

Especifica a largura em pixels da borda em torno de uma tabela ou um grupo de controles.

Categoria
formato
Sintaxe
border="n"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure border em formato.

Por padrão, um grupo de controle não possui borda (border="0").

Exemplos
Este Grupo de Caixas de Seleção possui uma borda de 16 pixels.
<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

Exibe uma legenda acima de um controle de contêiner.

Categoria
acessibilidade
Sintaxe
caption="legenda"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure caption em acessibilidade.

No tempo de execução, o título é exibido em uma caixa quando o usuário passa o mouse sobre o controle.

Exemplos
Esta tabela possui 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 de Legenda

Especifica uma lista de classes CSS a serem aplicadas a uma legenda de tabela.

Categoria
estilo
Sintaxe
captionStyleClass="name ..."
Em que name identifica uma classe. Separe os vários nomes de classe com espaços.
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure captionStyleClass em estilo.

cellpadding - Preenchimento de Célula

Especifica o espaço entre uma borda da célula de tabela e seu conteúdo em pixels.

Categoria
formato
Sintaxe
cellpadding="n"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure cellpadding em formato.

Por padrão, um grupo de controle não possui borda (border="0").

Exemplos
Este controle de Tabela especifica o espaçamento e preenchimento de 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élula

Especifica o espaço entre uma borda da tabela e as células e entre as células em pixels.

Categoria
formato
Sintaxe
cellspacing="n"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure cellspacing em formato.

Por padrão, um grupo de controle não possui borda (border="0").

Exemplos
Este controle de Tabela especifica o espaçamento de 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 recuperado.

Categoria
básicas
Sintaxe
charset="codificação"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure charset em básicas.

checkedValue - Valor Quando Marcado

Especifica o valor de um elemento de dados ligado a um controle selecionado (em oposição a desmarcado).

Categoria
dados
Sintaxe
checkedValue="value"
Uso
No modo de Estrutura, clique em Dados em Propriedades e procure Valor Quando Marcado ou clique em Todas as Propriedades e procure checkedValue em dados.

Esta propriedade se aplica a um controle que pode ser selecionado ou desmarcado, tal como uma caixa de seleção, e assume o padrão, que é a sequência true.

Exemplos
Este controle de Caixa de Seleção designa um valor de dados dependendo se a caixa for selecionada (padrã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 de Seção Reduzida

Especifica uma imagem para uma seção reduzida.

Categoria
básicas
Sintaxe
collapsedImage="pathname"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure collapsedImage em básicas.

Para um recurso de aplicativo, o caminho da imagem é relativo ao aplicativo, por exemplo, /abook.gif.

cols - Colunas

Especifica o número de colunas a serem exibidas.

Categoria
básicas
Sintaxe
cols="n"
Uso
No modo de Estrutura, clique na guia superior em Propriedades e procure Colunas ou clique em Todas as Propriedades e procure cols em básicas.

O atributo width da propriedade style substitui esse valor.

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

colspan - Extensão de Colunas

Especifica o número de colunas estendidas pela célula atual.

Categoria
básicas
Sintaxe
colspan="n"
Em que n é o número de colunas e 0 significa estender todas as colunas no grupo de colunas.
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure colspan em formato.

O padrão é 1.

columnClasses - Classes CSS de Coluna

Especifica uma lista de classes CSS para serem aplicadas em colunas de tabela ou visualização.

Categoria
estilo
Sintaxe
columnClasses="name ..."
Em que name identifica uma classe. Separe os vários nomes com espaços.
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure columnClasses em estilo.

columnName - Nome da Coluna

Especifica o nome da coluna de visualização subjacente na origem de dados.

Categoria
básicas
Sintaxe
columnName="name"
Em que name corresponde a um nome de coluna na origem de dados.
Uso
No modo de Estrutura, clique na guia Dados em Propriedades e procure Coluna de Visualização ou clique em Todas as Propriedades e procure columnName em básicas.

No tempo de execução, a coluna de visualização-pai 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 causa um erro no tempo de execução.

Exemplos
Este Controle de Visualização 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 Controle

Especifica o identificador de um controle em uma página incluída.

Categoria
básicas
Sintaxe
componentId="identificador"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure componentId em básicas.

Se essa propriedade estiver vazia, a página inteira será incluída.

computeDocument - Ligação de Método Computar Documento

Ativa um manipulador de eventos quando um documento é computado ou recomputado.

Categoria
eventos
Sintaxe
<xp:dominoDocument><xp:this.computeDocument attributes>content</xp:computeDocument></xp:dominoDocument>
Uso
Para obter sintaxe detalhada de manipulador de eventos, consulte eventHandler - Manipulador de Eventos (Propriedade).

containerStyleClass - Classes de Estilo CSS de Contêiner

Especifica uma lista de classes CSS a serem aplicadas quando um controle de contêiner é renderizado.

Categoria
estilo
Sintaxe
containerStyleClass="name ..."
Em que name identifica uma classe. Separe os vários nomes com espaços.
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure containerStyleClass em estilo.

Isso leva à renderização de uma amplitude incluída a esses valores com o conjunto class=.

contentStyleClass - Classe de Conteúdo da Guia

Especifica uma lista de classes CSS a serem aplicadas ao conteúdo da guia se ele não tiver um estilo.

Categoria
estilo
Sintaxe
contentStyleClass="name ..."
Em que name identifica uma classe. Separe os vários nomes com espaços.
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure contentStyleClass em estilo.

Isso leva à renderização de uma amplitude incluída a esses valores com o conjunto class=.

contentType - Tipo de Conteúdo

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

Categoria
formato
Sintaxe
contentType="text|html"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure contentType em formato.

O tipo de conteúdo padrão é text.

Exemplos
O controle de Campo Computado usa HTML como o 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 se não for uma sequência.

Categoria
dados
Sintaxe
<xp:this.converter>converter</xp:this.converter>
Em que converter é 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>
Uso
No modo de Design, clique na guia Dados em Propriedades e procure Tipo de Exibição ou clique em Todas as Propriedades e procure converter em dados.
Propriedades Contidas
Os conversores possuem as propriedades a seguir.
Tabela 89. Propriedades contidas para conversões booleanas
Propriedade Descrição
loaded="true|false"
Se deve criar uma instância de tag no carregamento de página. O padrão é true.
message="message text"
Mensagem para o usuário se strict="true" e o usuário inserir um valor diferente de true ou false. A mensagem aparecerá no momento do envio dos dados.
strict="true|false"
Se true, aceita apenas os valores de entrada true e false. Por padrão, qualquer valor de entrada diferente de true será considerado false.
Tabela 90. Propriedades contidas para conversões numéricas
Propriedade Descrição
currencyCode="option"
Código de unidade monetária ISO 4712, por exemplo, USD.
currencySymbol="symbol"
Símbolo monetário.
groupingUsed="true|false"
Se "separadores de agrupamento" são usados. O padrão é true.
integerOnly="true|false"
Se o valor é truncado para um número inteiro. O valor padrão é false.
loaded="true|false"
Se deve criar uma instância de tag no carregamento de página. O padrão é true.
locale="option"
Um código de idioma e de país, por exemplo, en_US.
maxFractionDigits="n"
Máximo de dígitos na parte fracional de um número.
maxIntegerDigits="n"
Máximo de dígitos na parte de número inteiro de um número.
minFractionDigits="n"
Mínimo de dígitos na parte fracional de um número.
minIntegerDigits="n"
Mínimo de dígitos na parte de número inteiro de um número.
pattern="pattern"
Padrão definido pelo usuário para formatação do valor de número convertido.
type="number|currency|percent"
Formatação para conversão. O padrão é number.
Tabela 91. Propriedades contidas para conversões de data/hora
Propriedade Descrição
dateStyle="default|short|medium|long|full"
Formatação predefinida para um valor de data.
ignoreUserTimeZone="true|false"
Se deve ignorar o fuso horário do usuário em benefício do fuso horário da plataforma.
loaded="true|false"
Se deve criar uma instância de tag no carregamento de página. O padrão é true.
locale="option"
Um código de idioma e de país, por exemplo, en_US.
pattern="pattern"
Padrão definido pelo usuário para formatação do valor de data-hora convertido.
timeStyle="default|short|medium|long|full"
Formatação predefinida para um valor de hora.
timeZone="option"
Fuso horário para o valor formatado, por exemplo, US/Eastern.
type="date|time|both"
Quais parte ou partes formatar. O padrão é date.
Tabela 92. Propriedades contidas para conversões de máscara
Propriedade Descrição
asis="true|false"
Se deve remover dados que não sejam de entrada mascarada. O valor padrão é false.
loaded="true|false"
Se deve criar uma instância de tag no carregamento de página. O padrão é true.
mask="mask"
Os caracteres de máscara, em que # é um marcador de dígito e ? é um marcador de letra.
Exemplos
Esta Caixa de Edição converte seus dados associados em um número.
<xp:inputText id="inputText1" value="#{document1.quantity}">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:inputText>
Essa Caixa de Edição converte seus dados associados em um valor booleano.
<xp:inputText id="inputText1" value="#{document1.ispublic}">
	<xp:this.converter>
		<xp:convertBoolean" strict="true" message="Enter true or false for ispublic"></xp:convertBoolean>
	</xp:this.converter>
</xp:inputText>

coords - Coordenadas

Especifica a posição e forma de um ponto de acesso na tela para uso em mapas de imagem do cliente.

Categoria
formato
Sintaxe
coords="coordinates"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure coords em formato.

O tipo de conteúdo padrão é text.

createdStyleClass - Classe de Estilo Criada

Especifica uma lista de classes CSS a serem aplicadas a uma coluna Criado em.

Categoria
estilo
Sintaxe
createdStyleClass="name ..."
Em que name identifica uma classe. Separe os vários nomes de classe com espaços.
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure createdStyleClass em estilo.

createdTitle - Título de Criação

Especifica um título alternativo para um cabeçalho Criado em.

Categoria
básicas
Sintaxe
createdTitle="title"
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure createdTitle em básicas.

O título padrão é Data.

createdValue - Ligação de Valor Criada

Substitui o valor da data de criação.

Categoria
básicas
Sintaxe
createdValue="#{javascript:textofscript}"
Em que o script de servidor retorna um valor do tipo Data.
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure createdValue em básicas.

O valor-padrão é a data de criação real.

createForm - Criar Sinalizador de Formulário

Cria, ou não, um elemento form.

Categoria
básicas
Sintaxe
createForm="true|false"
Em que true força a criação de um formulário e false suprime a criação do formulário.
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure createForm em básicas.

É possível criar um elemento form personalizado no editor de Origem. Consulte o exemplo para a especificação do formulário padrão.

Por padrão (se esta propriedade não for especificada, um formulário será criado se nenhum existir e um formulário não será criado se algum existir.

Exemplos
Esta XPage suprime a criação do formulário.
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" createForm="false">
	<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>
Gera o seguinte XML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title></title>
<script type="text/javascript" src="/domjs/dojo-1.3.2/dojo/dojo.js" djConfig="locale: 'en-us'"></script>
<script type="text/javascript" src="/domjs/dojo-1.3.2/ibm/xsp/widget/layout/xspClientDojo.js"></script>
<link rel="stylesheet" type="text/css" href="/domjava/xsp/theme/webstandard/xsp.css">
<link rel="stylesheet" type="text/css" href="/domjava/xsp/theme/webstandard/xspLTR.css">
<link rel="stylesheet" type="text/css" href="/domjava/xsp/theme/webstandard/xspFF.css">
</head>
<body class="xspView tundra">
<input type="text" id="view:inputText1" name="view:inputText1" style="font-weight:bold" class="xspInputFieldEditBox"><button style="font-weight:bold" class="xspButtonSubmit" type="button" name="view:button1" id="view:button1">submit</button><script type="text/javascript">

XSP.addOnLoad(function() {
XSP.attachEvent("view:_id2", "view:button1", "onclick", null, true, false);
}); 

</script>

</body>
</html>
Se o formulário for criado (não suprimido), o XML será o seguinte:
<html lang="en">
<head>
<title></title>
<script type="text/javascript" src="/domjs/dojo-1.3.2/dojo/dojo.js" djConfig="locale: 'en-us'"></script>
<script type="text/javascript" src="/domjs/dojo-1.3.2/ibm/xsp/widget/layout/xspClientDojo.js"></script>
<link rel="stylesheet" type="text/css" href="/domjava/xsp/theme/webstandard/xsp.css">
<link rel="stylesheet" type="text/css" href="/domjava/xsp/theme/webstandard/xspLTR.css">
<link rel="stylesheet" type="text/css" href="/domjava/xsp/theme/webstandard/xspFF.css">
</head>
<body class="xspView tundra">
<form id="view:_id1" method="post" action="/foo.nsf/xpage2.xsp" class="xspForm" enctype="multipart/form-data">
<input type="text" id="view:_id1:inputText1" name="view:_id1:inputText1" style="font-weight:bold" class="xspInputFieldEditBox"><button style="font-weight:bold" class="xspButtonSubmit" type="button" name="view:_id1:button1" id="view:_id1:button1">submit</button>

<input type="hidden" name="$$viewid" id="view:_id1__VUID" value="!cidukjk9dq!">
<input type="hidden" name="$$xspsubmitid">
<input type="hidden" name="$$xspexecid">
<input type="hidden" name="$$xspsubmitvalue">
<input type="hidden" name="$$xspsubmitscroll">
<input type="hidden" name="view:_id1" value="view:_id1"></form>
<script type="text/javascript">

XSP.addOnLoad(function() {
XSP.attachEvent("view:_id1:_id2", "view:_id1:button1", "onclick", null, true, false);
}); 

</script>
</body>
</html>

currentStyleClass - Classes de Estilo da Página Atual

Especifica uma lista de classes CSS a serem aplicadas ao controle de página atual se ele não tiver um estilo.

Categoria
estilo
Sintaxe
currentStyleClass="name ..."
Em que name identifica uma classe. Separe os vários nomes com espaços.
Uso
No modo de Estrutura, clique em Todas as Propriedades e procure currentStyleClass em estilo.

Isso leva à renderização de uma amplitude incluída a esses valores com o conjunto class=.

data - Origem de Dados

Define origens de dados para uma página ou controle.

Categoria
dados
Sintaxe
<xp:this.data>
	<xp:dominoDocument attributes>content</xp:dominoDocument> <!--for document source-->
	<xp:dominoView attributes>content</xp:dominoView> <!--for view source-->
	...
</xp:this.data
Esta propriedade se aplica a páginas e alguns controles de contêiner e pode conter qualquer número de elementos dominoDocument e dominoView.
Uso
No modo de Estrutura, certifique-se de que o foco esteja na página ou no controle de contêiner. Clique na guia Dados em Propriedades ou clique em Todas as Propriedades e procure data em dados. É possível adicionar, editar ou remover origens de dados do tipo dominoDocument e dominoView.
Propriedades Contidas
As origens de dados possuem as propriedades a seguir.
action="editDocument|openDocument"
(dominoDocument) Especifica a ação para tratar uma origem de dados na abertura e no envio de uma página. Assume o padrão, que é criar um novo documento no envio da página. As opções editDocument e openDocument fazem a página ser preenchida a partir da origem de dados na página aberta. A opção editDocument faz o documento ser substituído no envio da página.
allowDeletedDocs="true|false"
(dominoDocument) Permite ou proíbe a abertura de documentos excluídos recuperáveis.
categoryFilter="category"
(dominoView) Restringe o conteúdo da visualização a uma ou mais categorias (em uma matriz).
computeDocument (dominoDocument) Ativa um manipulador de eventos quando um documento é computado ou recomputado.
computeWithForm="onload|onsave|both"
(dominoDocument) Executa os scripts de validação de formulário quando um documento é carregado, salvo ou ambos.
concurrencyMode="createResponse|fail|exception|force"
(dominoDocument) Especifica a manipulação de atualizações simultâneas se vários usuários atualizarem um documento ao mesmo tempo.
databaseName="name"
Especifica o banco de dados que contém a origem de dados, em que name é o nome do arquivo de um banco de dados relativo ao diretório de dados do Notes. Assume o padrão, que é o banco de dados atual. O nome poderá incluir um servidor se o banco de dados não for local. O nome pode ser um ID de réplica.
dataCache="full|id|nodata"
(dominoView) Especifica como armazenar dados em cache entre solicitações para a mesma página.
documentId="#{javascript:database.script}"
(dominoDocument) O ID universal da origem de dados, em que script retorna o ID universal. Substitua $ no lugar de # se o cálculo no carregamento de página for desejado. Como alternativa, é possível especificar um valor estático.
expandLevel="n"
(dominoView) Nível de expansão de uma visualização hierárquica.
formName="name"
(dominoDocument) Associa a origem de dados a um formulário do Domino para armazenar e recuperar documentos.
ignoreRequestParams="true|false"
Ign