Manual do Utilizador do IBM Domino Designer 9.0.1

Primeira edição

Publicado em Outubro de 2013

Acerca desta edição

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

Actualizações efectuadas a este documento

Este ficheiro HTML contém o rascunho mais recente da documentação do produto oficial referente a esta edição. Este rascunho é actualizado trimestralmente, conforme necessário. Para obter as últimas actualizações da documentação do produto, consulte os artigos específicos da edição disponíveis na secção da documentação do produto no wiki.

Imprimir

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

Trabalhar offline

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

Submeter comentários

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

Novidades no IBM Domino Designer 9.0.1 Social Edition

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

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

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

Na área do Domino Designer e XPages, as alterações e adições a esta edição incluem:

  • Actualização da versão do Dojo da 1.8.1 para a 1.8.3
  • Colocar as seguintes funções de XPages em conformidade com os requisitos de acessibilidade da Web:
    • Experiência de tempo de execução de XPages
    • Interface de utilizador da Web do modelo de sala da equipa das XPages
    • Interface de utilizador da Web do modelo de debate das XPages
  • Melhoramentos na utilização móvel da XPages 9.0.1, incluindo o seguinte:
    • Adição de eventos para serem utilizados nos controlos móveis de Página da aplicação e Aplicação de página única, na Biblioteca de extensões
    • Adição de um deviceBean para facultar um método, fácil de utilizar e programar, de identificação de uma vários dispositivos móveis e tablets conhecidos. Com as informações fornecidas por este bean, o utilizador poderá tomar decisões de programação, nomeadamente, se deverão ser carregadas ou descarregadas partes de uma página de aplicação com base no dispositivo ou navegador que efectuou ou pedido.
    • Capacidades de transferência de ficheiros de fotografia/vídeo
    • Tema OneUI IDX móvel para iOS e Android
    • Substituição do tema móvel predefinido e do tema móvel para iOS e Android
    • Mudança do agente do utilizador de depuração móvel para agentes do utilizador semelhantes para iOS ou Android
  • Melhoramentos na procura dinâmica (Search Engine Optimization), incluindo suporte de bots de procura, para coincidirem, com capacidade de resposta melhorada das páginas de wiki, através da funcionalidade de conteúdo dinâmico.
  • Actualização do XULRunner for XPiNC (XPages no cliente do Notes) para a versão 10.0.6, para melhorar a apresentação de XPages no cliente do Notes
  • Melhoramentos na indexação da ajuda do produto
  • Capacidade para executar aplicações de XPages baseadas no servidor directamente num servidor do Domino, através da opção de início de aplicações Executar aplicações de XPages baseadas num servidor directamente no servidor do Domino.
  • XPiNC (XPages no cliente do Notes) com melhoramentos de JavaScript no lado do cliente: adição da capacidade XSP.executeCommand().

  • Actualização para a predefinição JVM.Properties do Designer para dar suporte aos requisitos de memória mais altos
  • Melhoramento da funcionalidade de actualização parcial da transferência de ficheiros
  • Actualização do CKEditor da versão 3.6.6.1 para a 3.6.6.2

Consulte a secção sobre XPages deste documento para obter mais informações sobre alguns dos itens de XPages.

Consulte a secção Programação, idiomas e serviços deste documento, para obter mais informações sobre estes tipos de itens.

XPages

Conceber e criar aplicações de software que possam ser utilizadas por indivíduos com uma vasta gama de capacidades e incapacidades é um requisito do mundo dos negócios. Criar uma aplicação acessível através das XPages requer uma compreensão das necessidades de vários tipos de utilizadores, incluindo pessoas com deficiência e utilizadores mais velhos com incapacidades relacionadas com a idade.

Na área de XPages desta edição, foram efectuadas alterações alargadas para ajudar os programadores a criarem aplicações de XPages acessíveis e a tornarem a experiência de tempo de execução de XPages mais conforme com os requisitos de acessibilidade.

Estes itens fornecem um resumo das alterações para conformidade com os requisitos de acessibilidade e as adições efectuadas nesta edição.

  • Adição de um novo tema acessível: a XPages agora suporta um tema que está em conformidade com as directrizes e requisitos de acessibilidade. Este tema é designado por oneuiv2.1_blue
  • Eliminação da propriedade role- Para estes controlos, a propriedade role passa a ser obsoleta a partir da versão 9.0.1. Por predefinição, é gerado o valor compatível com acessibilidade apropriado. Para efeitos de conformidade com os padrões de acessibilidade, não especifique um valor para esta propriedade.
    • xp:dataTable - Tabela de dados
    • xp:fileDownload - Transferência de ficheiros
    • xp:viewPanel - Vista
    • xp:tabbedPanel - Painel com separadores
    • xp:tabPanel - veja "Painel com separadores"
    • xp:pager - Pager
    • xp:pagerControl - veja "Pager"
    • xe:dataView - Vista de dados
  • Adição das propriedades accesskey - Tecla de atalho e tabindex - Índice de separadores ao controlo Contentor de mecanismos - Na edição 9.0.1, estas propriedades são novas para este controlo. Consulte a secção Referência de propriedades (Biblioteca de extensões) deste guia para obter mais informações.
    • xe:widgetContainer - Contentor de mecanismos
  • Adição das propriedades titleBarLabel - Barra de título, placeBarLabel - Barra de locais, leftColumnLabel - Aspecto da coluna esquerda e rightColumnLabel- Aspecto da coluna direita- Estas propriedade são novas na edição 9.0.1. É aplicável a este(s) controlo(s). Consulte a secção Referência de propriedades (Biblioteca de extensões) deste guia para obter mais informações.
    • xe:applicationConfiguration - Configuração da aplicação
  • Adição da propriedade ariaLabel - rótulo ARIA - Esta propriedade é nova na edição 9.0.1. É aplicável a estes controlos. Consulte as secções Adicionar controlos - Referência de propriedades,Adicionar controlos - Referência de controlos, e Referência de propriedades (Biblioteca de extensões) destes guias, para obter mais informações.
    • xe:formtable - Tabela do formulário
    • xe:navigator - Navegador
    • xp:pager - Pager
    • xe:pagerAddRows - Adicionar linhas de paginação
    • xe:pagerDetail - Mostrar/ocultar detalhes de paginação
    • xe:pagerExpand - Expandir/Contrair de paginação
    • xe:pagerSizes - Tamanhos de paginação
    • xe:tagCloud - Nuvem de etiquetas
    • xe:dataView - Vista de dados
  • Adição da propriedade resumo - Resumo de dados - Esta propriedade é nova na edição 9.0.1. É aplicável a este controlo. Consulte a secção Referência de propriedades (Biblioteca de extensões) deste guia para obter mais informações.
    • xe:dataView - Vista de dados
  • Adição da propriedade headerLinkTitle - Título da ligação do cabeçalho - Esta propriedade é nova na edição 9.0.1. É aplicável a estes controlos. Consulte a secção Referência de propriedades (Biblioteca de extensões) deste guia para obter mais informações.
    • xe:viewExtraColumns - veja a propriedade Colunas adicionais.
    • xe:viewSummaryColumn - veja a propriedade Coluna de resumo.
  • Adição da propriedade imageAlt - Texto alternativo de imagem - Esta propriedade é nova na edição 9.0.1. É aplicável a este controlo. Consulte as secções Adicionar controlos - Referência de propriedades e Adicionar controlos - Referência de controlos deste guia, para obter mais informações.
    • xp:tabPanel - veja o controlo Painel com separadores.
  • Adição da propriedade linkTitle - Título da ligação - Esta propriedade é nova na edição 9.0.1. É aplicável a estes controlos. Consulte a secção Referência de propriedades (Biblioteca de extensões) deste guia para obter mais informações.
    • xe:viewExtraColumns - veja a propriedade Colunas adicionais
    • xe:viewSummaryColumn - veja a propriedade Coluna de resumo.
  • Adição da propriedade readonly - Só de leitura - Esta propriedade é nova na edição 9.0.1. É aplicável a este controlo. Consulte as secções Adicionar controlos - Referência de propriedades e Adicionar controlos - Referência de controlos deste guia, para obter mais informações.
    • xp:label - Rótulo
  • Documentação dos requisitos de conformidade da acessibilidade - Estes controlos têm requisitos específicos para conformidade da acessibilidade que foram documentados para esta edição. Consulte as secções Adicionar controlos - Referência de propriedades e Adicionar controlos - Referência de controlos deste guia, para obter mais informações.
    • xp:button - Botão
    • xp:checkBox - Caixa de verificação
    • xp:checkBoxGroup - Grupo de caixas de verificação
    • xp:dataTable - Tabela de dados
    • xp:dateTimeHelper - Selector de data e hora
    • xp:label - Rótulo
    • xp:link - Ligação
    • xp:message - Apresentar erro
    • xp:radioGroup - Grupo de botões de opção
    • xp:radio - Botão de opção
    • xp:Table - Tabela
    • xp:tabbedPanel - Painel com separadores
  • Controlos do Current não testados com os padrões de acessibilidade mais recentes - Estes controlos não foram testados com os padrões de acessibilidade mais recentes. É recomendável utilizar um caminho acessível alternativo. Consulte as secções Adicionar controlos - Referência de propriedades,Adicionar controlos - Referência de controlos, e Referência de propriedades (Biblioteca de extensões) destes guias, 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
  • Melhoramentos no conteúdo dinâmico - A função Conteúdo dinâmico foi melhorada nesta edição, de forma a suportar a indexação de documentos por bots de procura sem capacidade para executar código JavaScript do lado do cliente.

    Foi adicionada uma nova propriedade ao ficheiro de configuração para permitir especificar IDs de agente do utilizador que necessitam de ser reconhecidos como pesquisadores da Web. Se um ID presente na lista estiver incluído no cabeçalho do agente do utilizador do pedido, é devolvido um URL diferente ao apresentar ligações ou no cabeçalho de localização de uma resposta reencaminhada. A diferença é o facto de o sinal "#" ser substituído por um "?" ou um "&."

    Isto apenas ocorre se o parâmetro content estiver presente no pedido. Se esta verificação for executada, o resultado é armazenado num atributo de sessão para minimizar o impacto do desempenho.

    Seguindo o URL devolvido, um pesquisador da Web pode obter o documento sem executar o JavaScript do lado do cliente. Este exemplo indica como utilizar esta propriedade:

    # ########################################
    # Search Engine web crawler User-Agent Ids
    # ########################################
    # A comma-separated and lowercase list of Web crawler user-agent Ids. If this property is missing an hard coded list of well known search crawlers is used (Google,Bing,Yahoo). Few keywords can be used with a special meaning
    # <empty>: The feature is disabled and no check will be performed against the user-agent header 
    # <auto>: This keyword is replaced with the list of hard coded search crawlers ids.
    
    #xsp.search.bot.id.list=<empty> (will disable the check) the usual behaviour is followed and no check is performed against the useragent.
    
    #xsp.search.bot.id.list=<auto>,blekkobot (will include google,bing,yahoo and blekko search crawlers in the list of ids to be checked against the user agent, if one of the id is found in the user-agent header, it will be treated as bot and url will be normalize to help indexing. i.e. Avoid use of # sign in URLs)

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

  • Capacidade para executar aplicações de XPages baseadas no servidor directamente num servidor do Domino, através da opção de início de aplicações Executar aplicações de XPages baseadas num servidor directamente no servidor do Domino.

    Para que isto funcione, necessita primeiro de ter configurada uma conta no Notes, para ter acesso ao servidor de HTTP. Para criar ou visualizar contas do Notes, seleccione Ficheiro -> Preferências-> Contas no Notes, certifique-se de que tem o tipo correcto (HTTP/HTTPS) e que contém o nome do sistema central totalmente qualificado que é necessário utilizar para aceder ao servidor. Se estiver a utilizar SSO, o nome tem de corresponder exactamente ao nome do servidor registado no servidor. Se não for possível determinar com precisão o nome do sistema central, a partir das informações no espaço de trabalho do Notes, poderá ser apresentado um erro.

    Em seguida, deve registar as aplicações RunOnServer que pretende utilizar E TAMBÉM fornecer-nos um nome do sistema central. Para tal, aceda a Ficheiro > Preferências > Desempenho de XPages> Executar no servidor para adicionar a aplicação, o servidor e o nome do sistema central.

    Pode testar isto de forma independente das XPages, configurando a conta e, em seguida, introduzindo o endereço HTTP da aplicação na barra de endereço do Notes. Se a aplicação for carregada sem pedido, isso significa que o navegador incorporado do Notes está a ignorar correctamente as informações definidas na estrutura da conta do Notes. Certifique-se também de que o mesmo nome de servidor que utilizou na barra de endereço é armazenado e utilizado na preferência RunOnServer como nome do sistema central opcional.

  • XPiNC (XPages no cliente do Notes) com melhoramentos de JavaScript no lado do cliente: adição da capacidade XSP.executeCommand(). XSP.executeCommand(commandID, commandParameters) está presente desde a edição 9.0. commandID identifica a função solicitada. commandParams é um objecto que contém valores arg arbitrários ou nulos. Esta capacidade utilize o mesmo caminho de tempo de execução que outros comandos XPiNC XSP de JavaScript como, por exemplo, XSP.alert(), XSP.confirm(), XSP.publishEvent(), etc.

    Quando for invocado um XSP.executeCommand(), a XPages faz uma procura na lista de fornecedores de comandos registados. Se for localizado um contribuinte que processe o comando, o mesmo é invocado e executado. Se necessário, é devolvido um resultado.

Programação, idiomas e serviços

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

  • Eventos de controlo móvel - Na área de melhoramentos na utilização móvel, estes eventos foram adicionados para utilização nos controlos Página da aplicação e Aplicação de página única da Biblioteca de extensões:
    • onOrientationChange
    • onBeforeTransitionIn
    • onAfterTransitionIn
    • onBeforeTransitionOut
    • onAfterTransitionOut

    Para obter mais informações, consulte este manual do utilizador.

  • deviceBean - Também na área de melhoramentos no desenvolvimento de aplicações móveis, foi adicionado o deviceBean com a respectiva API associada.

    Em versões anteriores a esta, a XPages facultava a API de agente do utilizador do lado servidor context.getUserAgent(). Esta API é utilizada para identificar o agente do utilizador que efectuou o pedido. Este procedimento auxilia na gestão do lado do servidor dos recursos como, por exemplo, CSS e JavaScript do lado do cliente. Também auxilia com o esquema da aplicação e permite-lhe mostrar ou ocultar componentes de uma XPage antes de enviar uma resposta para o agente do utilizador que efectuou o pedido.

    Tendo em conta a popularidade da computação móvel, agora também é importante identificar vários tipos de agentes do utilizador (ou seja, dispositivos móveis), muito para além das aplicações de navegador típicas dos computadores de secretária. Para ajudar com esta tarefa, o novo bean gerido, designado por deviceBean, foi introduzido no tempo de execução das XPages para facultar um método, fácil de utilizar e programar, de identificação de vários dispositivos móveis e tablets conhecidos, directamente nas expressões de computação ServerSide JavaScript ou Expression Language (EL) Com as informações fornecidas por este bean, o utilizador poderá tomar decisões de programação, nomeadamente, se deverão ser carregadas ou descarregadas partes de uma página de aplicação com base no dispositivo ou navegador que efectuou ou pedido.

    Por exemplo, é possível identificar um dispositivo móvel na EL invocando o # {deviceBean.mobile} e, em alternativa, no ServerSide JavaScript invocando o # {javascript:deviceBean.isMobile()}. O deviceBean também suporta um ponto de extensão, para que possa ser melhorado em futuros upgrade packs da IBM®, ou adaptado de forma a responder à necessidades do projecto personalizado do utilizador.

    A seguinte API está disponível para este bean:

    • deviceBean.mobile - Versão EL. Identifica um dispositivo como dispositivo móvel.
    • deviceBean.isMobile() - Versão JavaScript. Identifica um dispositivo como dispositivo móvel.
    • deviceBean.tablet - Versão EL. Identifica um dispositivo como tablet.
    • deviceBean.isTablet() - Versão JavaScript. Identifica um dispositivo como tablet.
    • deviceBean.getValue() - Versão JavaScript. Utilizado para aceder a todos os outros métodos de forma alternativa, bem como para conceder acesso às futuras extensões. Por exemplo, é possível utilizar getValue('mobile') e fazer com que devolva o mesmo resultado como isMobile OU utilizar getValue('chrome') para devolver uma isChrome() que, ao utilizar Expression Language, pode ser deviceBean.chrome
    • deviceBean.iphone - Versão EL. Identifica um dispositivo como iPhone.
    • deviceBean.isIphone() - Versão JavaScript. Identifica um dispositivo como iPhone.
    • deviceBean.ipad - Versão EL. Identifica um dispositivo como iPad.
    • deviceBean.isIpad() - Versão JavaScript. Identifica um dispositivo como iPad.
    • deviceBean.android - Versão EL. Identifica um dispositivo como Android.
    • deviceBean.isAndroid() - Versão JavaScript. Identifica um dispositivo como Android.
    • deviceBean.blackberry - Versão EL. Identifica o dispositivo como Blackberry.
    • deviceBean.isBlackBerry() - Versão JavaScript. Identifica o dispositivo como Blackberry.
    • deviceBean.windows - Versão EL. Identifica um dispositivo como dispositivo Windows Mobile.
    • deviceBean.isWindows() - Versão JavaScript. Identifica um dispositivo como dispositivo Windows Mobile.
    • deviceBean.version['key'] - Versão EL. Devolve a versão da chave especificada (por exemplo, #{deviceBean.version['iphone']})
    • deviceBean.getVersion('key') - Versão JavaScript. Devolve a versão da chave especificada (por exemplo, #{javascript:deviceBean.getVersion('iphone');})
    A seguinte amostra de código fornece alguns exemplos da utilização da 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 de serviços do Domino Access (REST APIs), foram efectuadas as seguintes adições ou alterações para esta edição:

  • Domino Core Service - Esta REST API permite aceder a recursos não específicos de nenhum domínio de serviço. Por exemplo, a maior parte das aplicações tem um requisito para ler informações sobre palavras-passe de utilizador autenticadas (data da última alteração, data de expiração, etc). Dado que este requisito não é específico de um serviço REST específico (agenda, correio, etc.), esta função é incluída nos serviços centrais. Os recursos disponíveis nos serviços centrais incluem:
    • recurso de estatísticas de palavras-passe (pwstats)
    • recurso nonce
  • Domino Calendar Service - Esta é uma REST API que fornece recursos e métodos para aceder a dados de agenda. O serviço apresenta dados de agenda nos formatos JSON e iCalendar.

Descrição geral do produto

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

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

A documentação do Domino Designer inclui:

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

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

Compreender as XPages

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Formulários e vistas

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

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

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

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

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

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

Navegação no Domino Designer

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

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

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

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

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

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

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

Elementos de desenho e o Navegador de aplicações

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

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

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

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

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

Code - Jars

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

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

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

Seleccionar e filtrar os tipos de elementos de desenho

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

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

Comparar versões de elementos de desenho

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

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

Editor de desenho

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

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

Pode executar as seguintes tarefas no editor:

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

Editor de origem

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

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

Pode executar as seguintes tarefas no editor:

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

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

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

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

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

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

Utilizar a ajuda sobreposta ao codificar.

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

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

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

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

Paletas e vistas

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

Paletas

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

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

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

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

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

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

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

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

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

Vistas

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

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

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

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

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

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

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

Obter informações

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

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

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

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

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

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

Definir um âmbito da procura

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

Sobre esta tarefa

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

Procedimento

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

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

    Pode criar outro âmbito.

    Pode editar ou remover um âmbito seleccionado.

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

Exemplo

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

Acessibilidade e atalhos de teclado

O Domino Designer fornece alguns auxiliares de acessibilidade para utilizadores com mobilidade restringida ou visão limitada.

O IBM Domino Designer fornece alguns auxiliares de acessibilidade para utilizadores com mobilidade restringida ou visão limitada.

Especificamente, o Domino Designer fornece:

  • Atalhos de teclado que permitem navegar e executar várias tarefas no Domino Designer.
  • Teclas de atalho expandidas que permitem navegar na barra Marcadores e nos separadores de janelas utilizando o teclado. Tem de activar as teclas de atalho expandidas antes de poder utilizar as mesmas.

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

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

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

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

Guias de iniciação

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

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

Guia de iniciação do Site Finder do XPages

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

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

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

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

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

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

Objectivos de aprendizagem

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

Tempo requerido

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

Configurar a aplicação exemplo

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

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

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

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

    Janela Nova aplicação

  3. Faça clique em OK.

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

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

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

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

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

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

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

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

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

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

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

Criar uma XPage

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

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

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

  1. Faça duplo clique em XPages.

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

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

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

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

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

      Janela Seleccionar imagem

    3. Faça clique em OK.

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

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

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

XPage SiteList

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

Adicionar um controlo de vista

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

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

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

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

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

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

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

    Janela Seleccionar origem de dados para vista

  3. Faça clique em OK.

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

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

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

    XPage SiteList com controlo de vista

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

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

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

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

  8. Feche o navegador.

Criar uma XPage para edição

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

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

Execute as seguintes acções:

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

      Uma origem de dados denominada de document1 é apresentada.

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

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

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

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

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

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

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

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

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

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

    Caixa de diálogo Seleccionar controlos de dados associados

  9. Faça clique em OK.

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

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

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

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

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

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

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

    A XPage deve ter o seguinte aspecto.

    XPage Site Description

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

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

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

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

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

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

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

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

Criar controlos para adicionar e eliminar documentos

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

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

    Caixa de diálogo Adicionar acção simples

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

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

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

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

    Caixa de diálogo Adicionar acção simples

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

Criar uma XPage para procura

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

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

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

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

      A caixa de diálogo Inserir tabela é apresentada.

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

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

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

      O ecrã deverá ter o seguinte aspecto.

      Propriedade Search

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

      O editor de scripts é aberto.

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

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

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

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

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

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

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

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

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

Administrar aplicações

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

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

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

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

Controlo de origem no Domino Designer

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

Activação do controlo de origem

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

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

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

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

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

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

Sobre esta tarefa

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

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

Procedimento

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

Como proceder a seguir

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

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

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

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

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

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

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

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

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

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

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

Associar o NSF a um projecto no disco existente

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

Sobre esta tarefa

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

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

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

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

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

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

Associar o NSF a um novo projecto no disco

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

Sobre esta tarefa

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Um processo geral deverá ocorrer da seguinte forma:

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

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

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

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

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

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

Sobre esta tarefa

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

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

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

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

Sobre esta tarefa

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

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

    OU

  • Associe o projecto no disco a um NSF existente

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

Associar um projecto no disco a um novo NSF

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

Sobre esta tarefa

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

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

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

Associar um projecto no disco a um NSF existente

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

Sobre esta tarefa

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

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

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

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

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

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

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

Resolver um conflito de sincronização de ficheiros

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

Sobre esta tarefa

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

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

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

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

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

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

Sobre esta tarefa

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

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

Remover associações no controlo de origem

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

Sobre esta tarefa

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

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

Desenhar aplicações de XPages

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

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

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

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

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

Pré-visualizar e executar XPages

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

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

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

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

Pré-visualizar uma XPage

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

Antes de começar

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

Procedimento

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

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

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

Resultados

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

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

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

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

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

Procedimento

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

Resultados

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

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

Abrir outra XPage

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

Regras de navegação

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

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

Acção simples openPage

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

Métodos XSPContext para redireccionamento

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

Abrir o URL

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

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

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

Abrir uma XPage em vez de uma vista

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

Procedimento

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

Resultados

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

Assinar XPages

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

Sobre esta tarefa

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

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

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

Utilizar XPages no cliente do Notes

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

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

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

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

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

Utilizar a barra de ferramentas do XPages

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

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

Segurança de XPages

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

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

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

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

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

Segurança com filtragem de conteúdo activo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Executar XPages no Notes num servidor de HTTP do Domino

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

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

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

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

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

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

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

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

Traduzir uma aplicação das XPages

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

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

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

Desenhar XPages de cópia única

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

Sobre esta tarefa

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

Procedimento

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

Resultados

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

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

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

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

Criar aplicações acessíveis com XPages: descrição geral

Para programadores Domino que pretendam criar aplicações da Web, a XPages é a solução acessível recomendada.

Conceber e criar aplicações de software que possam ser utilizadas por indivíduos com diversas capacidades e incapacidades é um importante requisito no mundo dos negócios. Para programadores Domino que pretendam criar aplicações da Web, a XPages fornece as soluções acessíveis recomendadas. Criar uma aplicação acessível através das XPages requer uma compreensão das necessidades de vários tipos de utilizadores, incluindo pessoas com deficiência e utilizadores mais velhos com incapacidades relacionadas com a idade.

As pessoas com deficiência podem encontrar uma ou mais barreiras numa aplicação que podem ser eliminadas ou minimizadas pelo programador, se este começar por compreender as potenciais áreas problemáticas e, depois, conceber a aplicação em conformidade, de forma a contornar estas áreas problemáticas.

As quatro principais categorias de deficiência a ter em consideração ao conceber uma aplicação acessível são:

  • visual
  • auditiva
  • de locomoção
  • cognitiva

As secções que se seguem são fornecidas com o objectivo de facultar algumas directrizes gerais sobre aquilo que deve ter em consideração ao conceber a aplicação XPages para a tornar acessível.

Directrizes gerais para responder aos utilizadores com deficiência visual

Tenha em consideração estas directrizes ao conceber a aplicação para os indivíduos com deficiência visual:

  • Tenha em conta a navegabilidade da interface do utilizador. As pessoas com deficiência visual não encontram utilidade num rato, dado que este requer uma coordenação entre a mão e os olhos. Estas pessoas irão navegar através do teclado. Por exemplo, a tecla Tab move o foco para um item e, em seguida, um leitor de ecrã anuncia o item para que o utilizador saiba onde se encontra o foco. Em seguida, o utilizador prime a tecla Enter. Tendo em consideração estes aspectos, certifique-se de que os rótulos da aplicação e outro texto fornecem alternativas textuais para todo o conteúdo não textual, para que possa ser alterado para outros formatos (por exemplo, impressão de grandes dimensões, Braille, discurso, símbolos ou linguagem mais simples).
  • Certifique-se de que todo o conteúdo não textual como, por exemplo, gráficos e diagramas, entre outros, é apresentado com uma alternativa textual que responda ao objectivo equivalente. As tecnologias de leitura no ecrã não conseguem obter informações textuais a partir de imagens
  • Faculte texto alternativo com mapas de imagem do lado do cliente. Devem ser facultadas ligações de texto equivalentes, se for utilizado um mapa de imagem do lado do servidor.
  • Certifique-se de que as cores utilizadas na interface do utilizador e o tamanho do tipo de letra podem ser visualizados por pessoas com problemas de visão reduzida. Os utilizadores com visão reduzida necessitam da ajuda de uma lupa de hardware ou software para aumentar o texto, mais do que um aumento de letra simples. Os utilizadores com cegueira de cores e visão reduzida podem beneficiar da utilização de cores de alto contraste.

    Quando as informações são apresentadas apenas por cores, um indivíduo que tenha cegueira de cores irá perder essas informações. Da mesma forma, um utilizador com visão reduzida pode não detectar as informações se estas forem apresentadas utilizando qualquer atributo (por exemplo, contraste, profundidade, tamanho, localização, tipo de letra, etc.). Utilize vários métodos para transmitir informações na aplicação. Por exemplo, se utilizar cores e um padrão de preenchimento em diferentes barras de um gráfico, certifique-se de que podem ser visualizados quer a cores quer a preto e branco.

Directrizes gerais para responder aos utilizadores com deficiência auditiva

Tenha em consideração estas directrizes ao conceber a aplicação para os indivíduos com deficiência auditiva:

  • Certifique-se de que as informações de saída de áudio são fornecidas num formato visual equivalente e redundante. Faculte suporte adicional, certificando-se de que o formato visual tem opções textuais redundantes.
  • Faculte rótulos descritivos para suportes baseados no tempo, incluindo conteúdo de apenas áudio e conteúdo de apenas vídeo em tempo real. O conteúdo não textual que é utilizado para confirmar que o conteúdo está a ser acedido por uma pessoa e não um computador está disponível em diferentes formatos, para responder a diferentes deficiências.
  • Faculte legendas quando necessário (por exemplo, vídeos)

Directrizes gerais para responder aos utilizadores com deficiência de locomoção

Tenha em consideração estas directrizes ao conceber a aplicação para os indivíduos com deficiência de locomoção:

  • Os indivíduos com problemas de mobilidade sentem dificuldades ao utilizarem dispositivos de entrada em computadores e ao manusearam suportes de armazenamento. Tenha em consideração as soluções de software/concepção e acções que podem ser controladas sem um rato ou sem um teclado.

Directrizes gerais para responder aos utilizadores com problemas cognitivos

Tenha em consideração estas directrizes ao conceber a aplicação para os indivíduos com problemas cognitivos:

  • Utilize uma concepção consistente e um idioma simplificado. As pessoas com deficiências cognitivas como, por exemplo, dislexia e défice de memória a curto prazo, necessitam de soluções de carácter geral. Os detalhes podem ser confusos. Por exemplo, ao utilizar um modelo, poderá reutilizar o mesmo esquema e concepção em cada página, para que um indivíduo com deficiência cognitiva possa navegar mais facilmente através de um sítio da Web.
  • As pessoas com deficiências cognitivas ou de aprendizagem também podem tirar partir de uma entrada redundante. Por exemplo, facultando um ficheiro de áudio e uma transcrição do vídeo.

    Se visualizar um texto e, em simultâneo, lê-lo em voz alta, um utilizador pode tirar partir das capacidades auditivas e visuais para compreender melhor os materiais. Os utilizadores menos familiarizados com a linguagem da apresentação podem beneficiar das mesmas soluções que aqueles que têm deficiências cognitivas. As soluções cognitivas, especialmente interfaces do utilizador simplificadas, terminologia e exemplos, também beneficiam aqueles que possam ter dificuldades educacionais ou culturais. Por exemplo, pessoas menos familiarizadas com computadores.

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

Estas fontes fornecem informações adicionais sobre a criação de aplicações da Web acessíveis e software.

Directrizes de acessibilidade específicas para XPages

Certifique-se de que estão acessíveis uma aplicação XPages e controlos.

Conceber e criar aplicações de software que possam ser utilizadas por indivíduos com diversas capacidades e incapacidades é um importante requisito no mundo dos negócios. Para programadores Domino que pretendam criar aplicações da Web, a XPages fornece as soluções acessíveis recomendadas. Criar uma aplicação acessível através das XPages requer uma compreensão das necessidades de vários tipos de utilizadores, incluindo pessoas com deficiência e utilizadores mais velhos com incapacidades relacionadas com a idade.

Quando utilizar XPages para criar a aplicação da Web, existem directrizes adicionais específicas que pode seguir para se certificar de que a aplicação é acessível. As secções seguintes descrevem as seguintes directrizes.

Directrizes de acessibilidade XPages

Quando utilizar o elemento de desenho XPages para criar a aplicação da Web, existem directrizes adicionais específicas que pode seguir para se certificar de que a aplicação é acessível. Estas incluem:

  • Utilize a ARIA quando necessário - As informações da ARIA (Accessible Rich Internet Applications) ajudam a aumentar a acessibilidade das páginas da Web. Mais especificamente, é útil com conteúdo dinâmico e componentes da interface do utilizador desenvolvidos com Ajax, HTML, JavaScript e tecnologias relacionadas.

    A ARIA existe para dar suporte à funcionalidade do HTML. Se a utilização do HTML for suficiente para tornar uma página acessível, não será necessário utilizar a ARIA. Caso existam falhas no HTML, a ARIA pode ser utilizada para fornecer informações de acessibilidade que possam estar em falta, a um utilizador JAWS. Contudo, o HTML irá sempre ter prioridade sobre a ARIA.

    Assim, quando utilizar o JAWS, apesar de alguns atributos da ARIA terem sido definidos e apresentados no HTML, o JAWS irá determinar se os mesmos são utilizados e lidos em voz alta para um utilizador, com base neste conceito. Por exemplo, não necessita de ambos os atributos aria-label e "for". O HTML irá ter sempre prioridade sobre o ARIA, e o aria-label será ignorado.

  • Utilize o JAWS e as funções de actualização parcial e total na aplicação - Tenha em atenção ao utilizar a função de actualização parcial. Certifique-se de que a área de destino/controlo que está a ser actualizada se encontra na ordenação de leitura (ou seja, ainda não foi acedida), de forma a ser apresentada no caminho de navegação do JAWS.
  • Utilize eventos na aplicação - Como prática geral, utilize processadores de funções redundantes para eventos onmouse, para dar suporte à navegação com o teclado para os utilizadores com deficiência
  • Utilize chaves de acesso - As chaves de acesso não suportam associações de tempo de execução. É recomendável que estas sejam definidas no momento da concepção. Tente tornar as associações exclusivas e intuitivas.
  • Utilize controlos acessíveis quando possível - Foram efectuadas alterações para ajudar os programadores a criarem páginas XPages acessíveis através de controlos acessíveis. O objectivo é melhorar a conformidade da experiência de tempo de execução das XPages com os requisitos de acessibilidade. Foram adicionadas novas propriedades de acessibilidade a alguns controlos, para os tornar acessíveis. Também foi adicionada documentação e directrizes para as secções de referência para controlos desta ajuda de produto, para ajudar o utilizador na criação de uma aplicação que seja acessível.
  • Utilize propriedades de acessibilidade que sejam específicas do controlo que está a utilizar. Consulte as secções do guia de referência de controlos e do guia de referência de controlos da biblioteca de extensões desta ajuda, para obter informações mais específicas sobre as propriedades de acessibilidade disponíveis para um determinado controlo.

Utilizar o tema acessível das XPages

Com a edição 9.0.1, a XPages agora suporta um tema que está em conformidade com as directrizes e requisitos de acessibilidade. Este tema é designado por oneuiv2.1_blue.

Directrizes de acessibilidade para utilizar controlos com a XPages

Foram adicionadas informações às secções Referência de controlos deste manual do utilizador, para o ajudar a seleccionar quais os controlos que devem ser utilizados para tornar a aplicação acessível. Estas informações incluem:

  • uma apresentação das propriedades de acessibilidade específicas para que o controlo cumpra os requisitos de acessibilidade
  • directrizes sobre a utilização de controlos, para que a aplicação cumpra os requisitos de acessibilidade
  • soluções alternativas para controlos e recomendações de substituição, para que a aplicação cumpra os requisitos de acessibilidade

Consulte as secções do guia de referência de controlos e do guia de referência de controlos da biblioteca de extensões desta ajuda, para obter informações mais específicas sobre as propriedades de acessibilidade disponíveis para um determinado controlo.

Facultar páginas de erro personalizadas para cumprir os requisitos de acessibilidade

Com a ajuda do administrador do sistema, poderá facultar páginas de erro personalizadas que cumpram os requisitos de acessibilidade.

Se os erros 401, 403, 404 ou 500 tiverem origem no Domino Web Engine, poderá substituir estas páginas de erro pelas suas próprias páginas personalizadas. Para obter mais informações, consulte o tópico Custom Web Server Messages na ajuda do Domino Administrator.

Se o erro 404 (por ex., File Not Found) tiver origem na tarefa de HTTP do Domino, existe uma definição do ficheiro NOTES.INI que lhe permite personalizar essa página de erro. Consulte a ajuda do Domino Administrator e esta nota técnica, para obter mais informações.

Sugestões sobre acessibilidade geral da aplicação

Para programadores Domino que pretendam criar aplicações da Web, a XPages é a solução acessível recomendada. Existem sugestões adicionais que pode seguir para garantir que a aplicação é acessível. Estas incluem:

  • Activar o SSO no servidor do Domino, para permitir uma autenticação acessível do utilizador.

Adicionar controlos

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

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

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

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

Manipular controlos e texto

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

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

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

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

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

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

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

Definir propriedades

As propriedades definem XPages e controlos.

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

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

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

Compreender eventos

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

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

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

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

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

Processadores de eventos de servidor

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

Processadores de eventos de cliente

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

Submeter e cancelar processadores de eventos

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

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

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

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

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

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

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

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

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

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

Compreender aspectos

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

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

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

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

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

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

Compreender os mecanismos do Dojo

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

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

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

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

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

Tornar os recursos do Dojo disponíveis numa XPage

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

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

Aplicar um mecanismo do Dojo a um controlo

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

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

Referência de controlos

Encontram-se aqui especificados os controlos de XPages.

br - Quebra de linha

Insere uma quebra de linha no texto.

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

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

Normalmente, este controlo não utiliza propriedades.

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

button - Botão

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

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

callback - Área editável

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

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

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

checkBox - Caixa de verificação

Apresenta uma caixa que pode ser seleccionada ou desmarcada.

Categoria
Controlos principais
Sintaxe
<xp:checkBox attributes>content</xp:checkBox>
Tabela 6. Propriedades essenciais
Propriedade Descrição
id A predefinição é checkBox1, checkBox2 e assim sucessivamente.
text Faculta um rótulo.
value Associa o controlo a um elemento de dados ou a outro valor.
checkedValue Especifica o valor de dados quando a caixa é seleccionada. A predefinição é a cadeia true.
uncheckedValue Especifica o valor de dados quando a caixa está desmarcada. A predefinição é a cadeia false.
defaultChecked Especifique true para selecciona a caixa por predefinição.
Utilização
Em tempo de execução, é apresentada uma caixa de verificação na página. O utilizador pode seleccioná-la ou desmarcá-la. É apresentada uma marca de verificação quando a caixa está seleccionada.

Para efeitos de conformidade da acessibilidade, um rótulo tem de respeitar a caixa de verificação. Para tal, especifique a propriedade text ou coloque um controlo Label após a caixa de verificação. O rótulo não pode ficar antes da caixa de verificação.

Exemplos
Este controlo Caixa de verificação atribui um valor de dados, dependendo do facto de a caixa estar seleccionada (predefinição) ou desmarcada.
<xp:checkBox id="checkBox2" text="Use user name instead of Anonymous"
	defaultChecked="true" value="#{document1.loginname}" uncheckedValue="Anonymous"
	checkedValue="#{javascript:session.getUserName()}">
</xp:checkBox>
Este controlo Caixa de verificação está associado a uma variável de pedido denominada phonesame. Se a caixa for alterada, é executado um script. Se a caixa de verificação estiver seleccionada, o script define o valor do controlo phonenight (uma caixa de edição) como sendo igual ao controlo phoneday.
<xp:checkBox text="Night phone same as day" id="checkBox1"
	value="#{requestScope.phonesame}">
	<xp:eventHandler event="onchange" submit="true" 	refreshMode="complete">
		<xp:this.action><![CDATA[#{javascript:
			if(requestScope.phonesame == "true") {
				getComponent("phonenight").setValue(
					getComponent("phoneday").getValue());
			}
		}]]></xp:this.action>
	</xp:eventHandler>
</xp:checkBox>

checkBoxGroup - Grupo de caixas de verificação

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

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

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

Para efeitos de conformidade da acessibilidade, tem de especificar a propriedade legend.

Exemplos
Este controlo Grupo de caixas de verificação apresenta dois itens para selecçã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 controlo Grupo de caixas de verificação apresenta dois itens para selecção, utilizando 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 verificação obtém as respectivas selecções de itens dos valores incluídos numa coluna de vista.
<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

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

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

dataTable - Tabela de dados

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

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

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

value (dataTable) Normalmente, a associação de dados é efectuada a um conjunto de elementos como, por exemplo, um objecto NotesDocumentCollection.
var (dataTable) Normalmente, esta variável refere-se a um membro do conjunto de dados associado como, por exemplo, um objecto NotesDocument, se a associação for efectuada a um objecto NotesDocumentCollection.
Tabela 15. Todas as propriedades (dataTable)
Categoria Propriedades
acessibilidade caption, role, summary, title
Nota: A propriedade role é obsoleta a partir da versão 9.0.1. Por predefinição, é gerado o valor compatível correcto. Para efeitos de conformidade com os padrões de acessibilidade, não especifique um valor para esta propriedade.
informações 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
informações básicas binding, id, loaded, rendered, rendererType
estilo disableTheme, style, styleClass, themeId
Pagers
Uma região de aspectos que contém um pager ou pagers faz parte da tabela, dependendo das especificações de desenho. Utilize o modo de origem para trabalhar com a região de aspectos.

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

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

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

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

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

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

Para efeitos de conformidade da acessibilidade, não utilize este controlo para o esquema visual e não defina a propriedade role para presentation. Para o esquema visual, utilize o controlo Tabela.

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

dateTimeHelper - Selector de data e hora

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

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

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

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

Exemplos
Duas caixas de edição contêm selectores para a selecçã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

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

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

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

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

eventHandler - Processador de eventos (controlo)

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

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

fileDownload - Transferência de ficheiros

Descarrega um ficheiro para o sistema de ficheiros local.

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

fileUpload - Carregamento de ficheiros

Transfere um ficheiro do sistema de ficheiros local.

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

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

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

image - Imagem

Apresenta uma imagem.

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

include - Incluir página

Insere uma referência para outra XPage.

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

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

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

inputHidden - Entrada oculta

Oculta dados do utilizador.

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

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

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

inputRichText - Rich Text

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

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

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

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

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

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

inputText - Caixa de edição

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

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

inputTextarea - Caixa de edição multilinha

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

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

label - Rótulo (controlo)

Apresenta texto.

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

Um controlo de rótulo é só de leitura se a XPage ou Painel forem só de leitura, ou se a propriedade readonly do Rótulo for true.

Exemplos
Este controlo Rótulo apresenta o nome do utilizador comum a azul:
<xp:label
	value="#{javascript:session.getCommonUserName()}"
	id="label1" style="color:rgb(0,0,255)" for="inputText1">
</xp:label>
Conformidade da acessibilidade
Para aplicar rótulos que estejam em conformidade com os padrões de acessibilidade, utilize o controlo de rótulo com a propriedade for, conforme apresentado abaixo:
<xp:label value="foo" for="inputText1" />
&#160;
<xp:inputText id="inputText1" defaultValue="foo" />
Em alternativa, aplique o atributo aria-labelledby conforme apresentado abaixo. Contudo, este 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>
Em alternativa, aplique o atributo aria-label conforme apresentado abaixo. Contudo, este 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, utilize o identificador completo do lado do cliente para o valor do atributo, tal como indicado.

listBox - Caixa de lista

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

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

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

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

message - Apresentar erro

Apresenta mensagens de erro para um controlo.

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

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

Para efeitos de conformidade com os requisitos de acessibilidade ao utilizar este controlo, é recomendável que, para um determinado controlo de entrada, associe o respectivo xp:message control, utilizando o atributo aria-describedby, conforme ilustrado no exemplo. Este dá suporte às tecnologias de assistência, fornecendo uma descrição aos utilizadores quando o controlo de entrada receber o foco que descreve 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 várias descrições a um controlo de entrada, especificando uma lista separada por espaços de IDs de cliente de rótulos para o atributo aria-describedby.
Exemplos
Neste exemplo, uma caixa de entrada é associada a dados numéricos e não efectua a validação no lado do cliente. Segue-se uma apresentação de erro para a caixa de entrada.
<xp:inputText id="inputText3" value="#{document1.number}"
	disableClientSideValidation="true">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:inputText>
<xp:message id="message1" for="inputText3"></xp:message>
Se o utilizador introduzir um valor não numérico na caixa de entrada, é apresentada a seguinte mensagem de erro:
Este campo não é um número válido

messages - Apresentar erros

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

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

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

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

pager - Pager

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

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

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

layout (pager) Para organizar os controlos, utilize esta propriedade ou incorpore controlos pagerControl.
for (pager) Utilize apenas quando o pager não estiver dentro do controlo destino.
type (pagerControl) O tipo é gerado ao utilizar Personalizado para Estilo de pager no pager.
Tabela 50. Todas as propriedades (pager)
Categoria Propriedades
acessibilidade ariaLabel, role, title
Nota: A propriedade role é obsoleta a partir da versão 9.0.1. Por predefinição, é gerado o valor compatível correcto. Para efeitos de conformidade com os padrões de acessibilidade, não especifique um valor para esta propriedade.
informações básicas attrs, alwaysCalculateLast, binding, dir, for, id, lang, loaded, pageCount, partialExecute, partialRefresh, rendered, rendererType
formato layout, panelPosition
estilo disableTheme, outerStyleClass, style, styleClass, themeId
Tabela 51. Todas as propriedades (pagerControl)
Categoria Propriedades
acessibilidade accesskey, alt, role, tabindex, title
Nota: A propriedade role é obsoleta a partir da versão 9.0.1. Por predefinição, é gerado o valor compatível correcto. Para efeitos de conformidade com os padrões de acessibilidade, não especifique um valor para esta propriedade.
informações 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
Utilização
Em tempo de execução, o utilizador pode fazer clique no pager para iterar dados num controlo que permita a iteração de dados, como, por exemplo, um painel de vista.

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

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

pagerControl - Controlo de elementos descendentes do pager

Especifica um controlo de pager dentro do pager comum.

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

panel - Painel

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

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

paragraph - Parágrafo

Combina texto num formato de parágrafo.

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

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

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

platformEvent - Controlo de eventos da plataforma

Processa um evento da plataforma.

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

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

radio - Botão de opção

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

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

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

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

Para efeitos de conformidade da acessibilidade, não utilize este controlo para um grupo, apenas um botão único. Utilize o Grupo de botões de opção para um grupo.

Exemplos
Estes controlos de botão de opção atribuem o valor apples ou oranges a document1.fruit, consoante o botão que for seleccionado. Os botões actuam em uníssono. Se Apples for seleccionado, oranges é desmarcado. Tenha em atenção que este exemplo não cumpre os requisitos de conformidade da 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ção

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

Categoria
Controlos principais
Sintaxe
<xp:radioGroup attributes>content</xp:radioGroup>
Tabela 59. Controlos incorporados
Controlo Descrição
selectItem Faculta um item para selecção pelo utilizador.
selectItems Faculta um ou mais itens para selecção pelo utilizador.
Tabela 60. Propriedades essenciais
Propriedade Descrição
id A predefinição é radioGroup1, radioGroup2 e assim sucessivamente.
text Faculta um rótulo.
value Associa o controlo a um elemento de dados ou a outro valor.
legend Fornece uma descrição do grupo de ecrã legível.
Utilização
Em tempo de execução, um ou mais botões de opção são apresentados na página. O utilizador pode seleccionar um botão. Quando um botão é seleccionado, qualquer outro botão seleccionado é desmarcado.

Para efeitos de conformidade da acessibilidade, tem de especificar a propriedade legend.

Exemplos
Este controlo Grupo de botões de opção apresenta dois itens para selecçã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 controlo Grupo de botões de opção apresenta dois itens para selecção, utilizando 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 verificação obtém as respectivas selecções de itens dos valores incluídos numa coluna de vista.
<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 - Repetir

Repete controlos incorporados, iterando uma origem de dados.

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

scriptBlock - Script resultante

Resulta num script de cliente.

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

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

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

section - Secção

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

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

selectItem - Item de selecção

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

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

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

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

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

selectItems - Itens de selecção

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

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

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

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

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

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

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

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

span - Amplitude do conteúdo

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

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

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

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

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

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

tabbedPanel - Painel com separadores

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

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

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

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

table - Tabela

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

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

Utilize este controlo para apresentar texto e imagens num esquema visualmente apelativo. Por predefinição, a propriedade role é presentation. Para efeitos de conformidade da acessibilidade, não utilize este controlo para outras finalidades que não o esquema visual e não altere a propriedade role para um valor diferente de presentation. Para os dados tabulares, utilize o controlo Tabela de dados.

Exemplos
Esta tabela contém 4 células dispostas em 2 linhas e 2 colunas.
<xp:table>
	<xp:tr>
		<xp:td>
			<xp:label id="label1" value="row 1, column 1"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 1, column 2" id="label3"></xp:label>
		</xp:td>
	</xp:tr>
	<xp:tr>
		<xp:td>
			<xp:label value="row 2, column 1" id="label2"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 2, column 2" id="label4"></xp:label>
		</xp:td>
	</xp:tr>
</xp:table>

text - Campo processado

Apresenta um valor.

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

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

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

typeAhead - Memorização de teclas de AJAX

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

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

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

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

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

view - XPage

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

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

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

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

viewPanel - Vista

Apresenta dados de documentos em linhas e colunas.

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

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

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

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

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

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

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

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

Estes controlos não são testados com os padrões de acessibilidade mais recentes. O caminho acessível recomendado é o controlo Vista de dados.

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

Referência de propriedades

Encontram-se aqui especificadas as propriedades das XPages.

accept - Aceitar

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

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

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

accesskey - Tecla de atalho

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

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

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

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

acl - Lista de controlo de acessos

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

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

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

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

action - Acção de aplicação

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

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

actionListener - Escuta da acção

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

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

actionListeners - Lista de escutas da acção

Especifica um conjunto de escutas da acção.

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

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

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

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

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

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

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

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

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

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

align - Alinhamento

Alinha o conteúdo num contentor.

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

allowDelete - Permitir eliminação do ficheiro

Permite aos utilizadores eliminar ou não ficheiros anexados.

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

Por predefinição, é carregado um controlo.

alt - Texto alternativo

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

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

alwaysCalculateLast - Calcular sempre o último

Calcula sempre o último documento num contentor.

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

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

ariaLabel - Rótulo ARIA (propriedade)

Especifica texto descritivo para um rótulo de tecnologias de assistência, para um controlo.

Nota: Esta propriedade é nova na edição 9.0.1.
Categoria
acessibilidade
Sintaxe
ariaLabel="text"
Utilização
No modo de desenho, faça clique em Todas as propriedades e procure ariaLabel em acessibilidade.

attrs - Lista de atributos

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

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

autocomplete - Concluir automaticamente

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

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

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

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

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

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

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

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

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

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

bgcolor - Cor de segundo plano

Especifica a cor de segundo plano.

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

binding - Associar controlo

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

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

border - Limite da tabela

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

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

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

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

caption - Legenda

Apresenta uma legenda acima de um controlo de contentor.

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

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

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

captionStyleClass - Classes de estilo CSS da legenda

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

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

cellpadding - Preenchimento de células

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

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

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

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

cellspacing - Espaçamento de células

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

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

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

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

charset - Conjunto de caracteres

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

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

checkedValue - Valor quando marcado

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

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

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

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

collapsedImage - Imagem da secção contraída

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

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

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

cols - Colunas

Especifica o número de colunas a apresentar.

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

O atributo width da propriedade style substitui este valor.

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

colspan - Amplitude da coluna

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

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

A predefinição é 1.

columnClasses - Classes CSS da coluna

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

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

columnName - Nome da coluna

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

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

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

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

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

componentId - ID de controlo

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

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

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

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

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

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

containerStyleClass - Classes de estilo do contentor de CSS

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

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

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

contentStyleClass - Classe de conteúdo de separador

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

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

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

contentType - Tipo de conteúdo

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

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

O tipo de conteúdo predefinido é text.

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

converter - Conversor

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

Categoria
dados
Sintaxe
<xp:this.converter>converter</xp:this.converter>
Em que converter corresponde a um dos seguintes:
<xp:convertBoolean attributes>content</xp:convertBoolean>
<xp:convertNumber attributes>content</xp:convertNumber>
<xp:convertDateTime attributes>content</xp:convertDateTime>
<xp:convertMask attributes>content</xp:convertMask>
<xp:customConverter></xp:customConverter>
Utilização
No modo de desenho, faça clique no separador Dados em Propriedades e procure Tipo de apresentação ou faça clique em Todas as propriedades e procure converter em dados.
Propriedades contidas
Os conversores contêm as seguintes propriedades.
Tabela 89. Propriedades contidas para conversões de booleanos
Propriedade Descrição
loaded="true|false"
Especifica se deve ser criada uma ocorrência de etiqueta no carregamento da página. A predefinição é true.
message="message text"
Mensagem para o utilizador, se strict="true" e se o utilizador introduzir um valor que não true ou false. A mensagem é apresentada aquando da submissão de dados.
strict="true|false"
Se true, aceita apenas os valores de entrada true e false. Por predefinição, qualquer valor de entrada que não seja true é considerado como false.
Tabela 90. Propriedades contidas para conversões de números
Propriedade Descrição
currencyCode="option"
Código monetário ISO 4712, por exemplo, USD.
currencySymbol="symbol"
Símbolo monetário.
groupingUsed="true|false"
Especifica se são utilizados "separadores de agrupamento". A predefinição é true.
integerOnly="true|false"
Especifica se o valor será truncado para um número inteiro. A predefinição é false.
loaded="true|false"
Especifica se deve ser criada uma ocorrência de etiqueta no carregamento da página. A predefinição é true.
locale="option"
Um código de país ou idioma, por exemplo, en_US.
maxFractionDigits="n"
Número máximo de dígitos na parte fraccionada de um número.
maxIntegerDigits="n"
Número máximo de dígitos na parte inteira de um número.
minFractionDigits="n"
Número mínimo de dígitos na parte fraccionada de um número.
minIntegerDigits="n"
Número mínimo de dígitos na parte inteira de um número.
pattern="pattern"
Padrão definido pelo utilizador para formatar o valor de número convertido.
type="number|currency|percent"
Formatação para a conversão. A predefiniçã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"
Especifica se o fuso horário do utilizador deverá ser ignorado a favor do fuso horário da plataforma.
loaded="true|false"
Especifica se deve ser criada uma ocorrência de etiqueta no carregamento da página. A predefinição é true.
locale="option"
Um código de país ou idioma, por exemplo, en_US.
pattern="pattern"
Padrão definido pelo utilizador para formatar o 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"
Especifica a(s) parte(s) a formatar. A predefinição é date.
Tabela 92. Propriedades contidas para conversões de máscaras
Propriedade Descrição
asis="true|false"
Especifica se deverá remover dados para além dos introduzidos como máscara. A predefinição é false.
loaded="true|false"
Especifica se deve ser criada uma ocorrência de etiqueta no carregamento da página. A predefinição é true.
mask="mask"
Caracteres de máscara, em que # corresponde a um marcador de posição de dígitos e ? corresponde