Guía de usuario de Domino Designer

Primera edición

Publicada en diciembre de 2012

Acerca de esta edición

Para cumplir con el compromiso de IBM con la accesibilidad, esta edición de la documentación del producto es accesible.

Impresión

Cuando se imprime este documento, algunos elementos de estilo se eliminan para obtener un mejor resultado impreso. A continuación se ofrecen algunos consejos sobre impresión:
  • La longitud del documento puede exceder la capacidad de impresión del navegador. Microsoft® Internet Explorer ha demostrado su capacidad de imprimir correctamente grandes archivos.
  • Este documento es muy largo. Utilice una vista previa de impresión para determinar la longitud de la página impresa.
  • Puede resaltar la sección del documento y, a continuación, elegir imprimir sólo el contenido seleccionado

Cómo trabajar fuera de línea

Puede guardar una copia local de este documento desde el navegador. Cada navegador tiene menús y opciones de menús diferentes. Consulte la ayuda del navegador si necesita ayuda para guardar localmente el documento.

Cómo enviar comentarios

Si desea escribirnos un comentario acerca de este documento, vaya al sitio web Lotus Documentation Feedback.

¿Novedades en IBM Domino Designer 9.0 Social Edition?

Información sobre las nuevas características y mejoras de Domino Designer.

Domino Designer

En este tema se describen las nuevas características y los cambios realizados en Domino Designer 9.0 Social Edition.

En la web hay disponibles actualizaciones periódicas de la ayuda de Domino Designer. Para descargar el archivo de Ayuda de Designer más reciente, vaya a la sección de developerWorks en http://www.lotus.com/ldd/doc. Haga clic en Technical Library, luego en by product, luego en Domino Designer y, finalmente, en el release que desea ver.

En el área de Domino Designer en general, se han realizado los siguientes cambios o adiciones:

Elemento de diseño de JAR -- En este release se ha incorporado un nuevo elemento de diseño de JAR. El elemento de diseño de JAR le ofrece la posibilidad de trabajar con bibliotecas o código Java™ empaquetados incluidos en el NSF de la aplicación. Este elemento de diseño sólo está disponible para aplicaciones XPage, donde JAR se carga automáticamente mediante el entorno de ejecución de XPages. Esta característica le evita el tener que desplegar los JARS en un servidor y/o de incluir los archivos fuente únicamente en la base de datos de la aplicación. Aunque los archivos JAR se pueden añadir a NSF a través del sistema virtual, el elemento de diseño de JAR gestiona automáticamente la variable classpath y coloca el archivo JAR en web-inf/lib, que es la ubicación recomendada para archivos JAR utilizados en una aplicación J2EE. El elemento de diseño JAR se encuentra en el navegador e aplicaciones, siguiendo el elemento Código.

Para crear un elemento JAR, debe seguir pasos parecidos a los de crear u n recurso de imagen, es decir, el JAR se importa en la aplicación en lugar de crear uno nuevo. El panel de lista de elementos e diseño tiene un botón Importar JAR que le permite seleccionar e importar el archivo JAR deseado.

No es necesario que los JAR tengan alias que, como tales, no reciben soporte. La lista de diseño correspondiente a los JAR es sencilla e idéntica a la correspondiente a archivos, con la excepción de que se ha eliminado la columna Alias. Puesto que es posible que se necesite información de tamaño de JAR, se incluye como una columna Bytes. Finalmente,j todos los menús Nuevo tienen entradas correspondientes a este nuevo elemento en la lista de elementos de diseño.

Desde cualquiera de los métodos de crear un JAR, se muestra el siguiente diálogo estándar de Eclipse para elegir un archivo, con la lista filtrada para incluir los JAR. Luego debe seleccionar el JAR o los JAR que necesite, pulsar Guardar y el JAR se importa en la aplicación.

Cuando se selecciona en el panel de lista de diseño del programa Designer o en el navegador de aplicaciones, un elemento JAR ofrece el conjunto estándar de paneles de propiedades, pero también incluye el panel Elementos básicos que le permite añadir un comentario, cambiar el nombre del JAR o gestionar el distintivo Sustituir (esta característica se proporciona porque los JAR son elementos importados, por lo que es posible que desee mantener el ID de nota).

Al igual que sucede con otros elementos e diseño de archivos, también disponible de una función Exportar y los JAR se pueden firmar con la acción Firmar.

La variable classpath se ajusta para cada JAR en el NSF, para que las compilaciones en tiempo de diseño puedan resolver cualquier referencia al JAR. Los cambios en .classpath no se conservan en disco, de modo que las versiones antiguas de Designer puedan seguir funcionando.

En el momento de la ejecución, la nota de JAR se amplía al sistema de archivos de tiempo de ejecución de XPage en web-inf/lib y está disponible en el JS del servidor de una XPage, así como en cualquier clase Java a la que se haga referencia en dicho entorno.

Característica para guardar el estado de la paleta -- Para este release, la paleta del editor de XPages recuerda su estado entre una XPage y la siguiente. También recuerda estados entre sesiones de Domino Designer.

Soporte de archivos PNG para recursos de imagen -- Para este release, tiene la posibilidad de importar archivos PNG en Designer como recursos de imagen. Ahora este tipo de archivo es una opción de selección del cuadro combinado Tipo de imagen. Esta posibilidad le permite utilizar archivos PNG en lugares en los que se utilizan recursos de imagen (por ejemplo, XPages, formularios, vistas, esquemas, etc.).

función de navegación de hiperenlace del editor de origen de XPages -- Para este release de Domino Designer, el editor de origen de XPages da soporte a la navegación de hiperenlaces. La navegación de hiperenlaces describe funciones genéricas de Eclipse en las que el texto de un editor se puede convertir en un hiperenlace.

Al pulsar la tecla CONTROL y mover el puntero el ratón sobre el texto de cualquier editor en Eclipse, este informa al editor que el usuario está intentando realizar una navegación de hiperenlaces. Cada editor puede optar por la navegación de hiperenlaces, ofreciendo uno o varios objetos de hiperenlace para la región a la que apunta el cursor. Para este release, el editor de origen de XPages tiene la posibilidad de utilizar esta función.

La función siempre está activada sin ninguna opción ni preferencia actual para inhabilitarla. El soporte para la navegación de hiperenlaces también se ofrece mediante control a control. La navegación de hiperenlaces solo se aplica a ciertos controles y en la mayoría de los casos solo contiene ciertos atributos en ciertos controles. Tenga en cuenta la posibilidad de utilizar esta función al editar controles personalizados. Si pulsa la tecla CONTROL y mueve el puntero del ratón sobre un control personalizado en el editor de origen, la navegación de hiperenlaces le permite ir directamente al control personalizado.

Por ejemplo, al mover el puntero del cursor sobre string.properties y hacer clic en el código, se abre el elemento de diseño seleccionado.

Función de ayuda contextual para XPages Source Editor – Eclipse actualmente ofrece una infraestructura sencilla que permite que los editores ofrezcan ayuda contextual basada en la colocación del cursor cuando se mueve dentro del editor. Un ejemplo es la ayuda contextual del editor de Eclipse Java. Al mover el puntero del ratón sobre una determinada construcción Java mientras se está en el editor, este puede ofrecer información adicional sobre dicha construcción. En Domino Designer, el editor de LotusScript actualmente ofrece ayuda mediante contextual para elementos dentro del editor de LS.

Para este release, también puede obtener ayuda en el editor de origen de XPages. Con esta función, puede obtener información sobre el 'nodo' sobre el que se mueve el puntero del ratón. De forma similar a la navegación por hiperenlaces (consulte el apartado anterior), la infraestructura del editor de Eclipse ofrece información posicional a nivel de capa de ayuda contextual, que se interpreta y se resuelve en un nodo DOM dentro de la XPage. Una vez resuelto el nodo DOM, el editor ofrece una descripción de la etiqueta (y atributo) actual. Todas las etiquetas y atributos que proporcionan una descripción de sí mismos mediante xsp-config pueden hacer que dicha información resulte visible en la función de ayuda contextual en el editor de origen de XPages.

esta función se controla utilizando una preferencia en la ficha de preferencias de Domino Designer. Esta función está activada de forma predeterminada, con un tiempo de espera excedido de 500 milisegundos asociado a la preferencia. Es decir, cuando el cursor ha estado 'descansando' durante más de 500 ms (milisegundos), la infraestructura del editor de Eclipse invoca la ayuda contextual del editor de origen de XPages. En ese momento, la ayuda contextual de XPages calcula el nodo sobre el que se mueve el cursor. En función de la información del nodo, la función resuelve el nodo comparándolo con el registro de XPages y recupera una descripción del nodo. La función también está diseñada para que funciones con la notación 'this.attribute', muy utilizada en XPages. La información de ayuda contextual toma el siguiente formato en la ventana de ayuda si se mueve el cursor sobre una etiqueta (no sobre un atributo).

Nombre de visualización de la etiqueta (tagName)

Descripción

Si el cursor se mueve sobre un atributo de una etiqueta, la ayuda adopta el siguiente formato en la ventana de ayuda:

Nombre de visualización de la etiqueta (tagName)

Descripción

Nombre de visualización del atributo (attributeName)

Descripción del atributo

Tal como ya se ha dicho, la información se toma del registro de XPages, de modo que la característica funciona con todas las etiquetas, no solo los controles - principales de XPages. Finalmente, si se pulsa F2 mientras se muestra ayuda contextual, se mueve el foco a la ventana de ayuda contextual, lo que le permite redimensionar la ventana.

Mejoras en la gestión de la memoria – Para este release, se han incorporado mejoras en la gestión de la memoria en Domino Designer, especialmente en e l área del editor de XPages. Se han investigado y corregido algunos problemas de memoria identificados anteriormente. Antes, estos problemas podían aparecer cuando se editaban XPages complejas de gran tamaño (es decir, XPages que contenían varios elementos de diseño complejos) con varias visualizaciones de control. Estas problemas podían ocasionar una excepción de falta de memoria de Java y hacer que cayera Domino Designer.

Ayuda se contenido – Este release incorpora la función de ayuda de contenido en el editor de origen de XPages. esta característica le permite utilizar la ayuda de contenido cuanto trabaje en 'modalidad de origen' en una XPage. Al igual que otros editores de Eclipse, al pulsar CTONTROL+ESPACIO, se activa la función de ayuda de contenido.

El editor XML de la ayuda de contenido de Eclipse (y el editor de origen de XPages) se controla mediante el uso de un esquema. Domino Designer crea de forma dinámica un esquema en función de la aplicación Notes actual. El esquema contiene información de ayuda sobre cada atributo de cada etiqueta dentro del entorno de ejecución de XPages. Para habilitar la ayuda de contenido dentro del editor de XPages, la marcación de XSP se debe modificar para indicar al editor de origen de XPages la ubicación del esquema utilizado. Cada nueva XPage creada dentro de Domino Designer contiene los siguientes metadatos en el control de 'vista' de la XPage:

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

Se añade una definición de ubicación similar para cada espacio de nombres que se añade a la XPage. Cuando se sueltan controles de la paleta en una XPage, Domino Designer comprueba si el URI del espacio de nombres del control tiene una ubicación de esquema asociada. Si es así, se genera una ubicación y se añade a la marcación de XSP. Luego Domino Designer genera dinámicamente un esquema para el espacio de nombres en función del contenido de FacesRegistry (que contiene definiciones de todos los controles de XPages). Esto permite a Domino Designer añadir la marcación necesaria a la XPage.

Si ya tiene XPages, debe añadir un nuevo control a la XPage (mediante el sistema de arrastrar y soltar de la paleta de controles) para habilitar la nueva función de ayuda de contenido.

Detección de tipos de contenido y campo de tipo de contenido editable – Todos los tipos de contenido se pueden detectar mediante Domino Designer.

Campo de tipo de contenido editable – El campo de tipo de contenido para campos calculados y columnas de vista ahora también se puede editar. Al desarrollar controles para Social Enabler, el campo de tipo de contenido para el control de campo calculado y para columnas de vista anteriormente era de solo lectura. Esto no resultaba aceptable, ya que los clientes deseaban contribuir a sus propios tipos de contenido. En el caso de Social Enabler, hay distintos tipos de contenido disponibles.

Ninguno de estos se mostraban en el campo calculado ni en la columna de vista como opciones, lo que significaba que había que ir a la vista Todas las propiedades para especificar estos valores. Incluso así, el panel formal seguiría mostrando el valor antiguo del texto, aunque se hubiera definido otro valor.

Este cambio corrige este problema. Ahora el panel de visualización de columnas de la vista y el panel de elementos básicos de campo calculado dan soporte a todos los tipos de contenido registrados, y dichos campos se pueden editar; el usuario puede especificar sus propios nombres de tipo de contenido si lo desea.

Se ha añadido soporte de convertidores al control de casilla de verificación de XPages – Para este release, el control Checkbox acepta convertidores.

Se han añadido convertidores booleanos a los controles que aceptan convertidores – Para este release, los controles que aceptan convertidores ahora aceptan convertidores booleanos. El convertidor booleano permite que los valores guardados mediante una XPage se almacenen dentro del origen de datos como objetos booleanos, al contrario que las series de caracteres. Domino Designer permite añadir el convertidor booleano como un convertidor a cualquier control de XPage que dé soporte a convertidores.

Cambios en las preferencias de Domino Designer – Se han realizado los siguientes cambios en las preferencias de Domino Designer:
  • XPages tiene ahora su propia categoría de preferencias
  • Se han añadido preferencias de biblioteca de extensiones y de paleta a la categoría XPages
  • El nombre del cuadro de grupo del panel de preferencias de XPages se a modificado por un editor de XPages
  • La preferencia mostrar saltos de línea en el editor ahora es Mostrar saltos de línea en el editor de diseño, ya que hace referencia al editor de origen
  • Las preferencias de la ayuda de tipo burbuja y las preferencias de la ayuda contextual se han pasado del panel de preferencias de Domino Designer al grupo Panel de XPages/Editor de XPages.
  • Las nuevas casillas de verificación y temporizadores asociados para la ayuda contextual y la ayuda de contenido se han añadido al grupo Panel de XPages/Editor de XPages. Los controles de temporizador se desactivan si la casilla de verificación no está marcada.

Funcionalidad de cierre de aplicación – Para este release, puede cerrar manualmente aplicaciones abiertas en el navegador de aplicaciones de Domino Designer. Para acceder a esta función, se ha añadido un nuevo elemento de menú al navegador de aplicaciones que le permite cerrar manualmente una aplicación abierta anteriormente en el navegador de aplicaciones.

Este nuevo elemento de menú solo se habilita cuando se selecciona una aplicación y la misma aplicación ya está abierta. El elemento de menú se inhabilita cuando se selecciona un nodo en el árbol de elementos de diseño.

Se notifica a este elemento de menú cuando se abre una aplicación sin cambiar la selección. Por ejemplo, supongamos que la aplicación A está cerrada e intenta seleccionar el menú. En este caso, el elemento de menú Cerrar aplicación se inhabilitará. Por otro lado, si abre la aplicación A sin cambiar la selección dentro del navegador e intenta de nuevo seleccionar el menú, el elemento de menú Cerrar aplicación se habilitará.

Cuando se seleccione, el elemento de menú Cerrar aplicación cerrará la aplicación actualmente seleccionada y se cerrarán todos los elementos de diseño de la aplicación que estén actualmente abiertos.

Paneles de configuración de orígenes de datos -- Se ofrece un panel Seleccionar origen de datos para los controles Vista de datos y Vista dinámica en la biblioteca de extensiones (consulte la acción correspondiente en este tema). este panel aparece inmediatamente después de soltar uno de estos controles en una XPage. Estos paneles le permiten seleccionar o proporcionar la siguiente información:
  • El origen cuyos datos desea mostrar (Vista de Domino)
  • La aplicación que proporciona el origen de datos
  • La vista específica a la que desea proporcionar los datos
  • El nombre del origen de datos
Mejoras en la utilización de Designer -- Se han añadido nuevos selectores especializados para ayudar a asignar valores de propiedades cuando se trabaje en el panel Todas las propiedades. Se han añadido los siguientes editores de propiedades específicas para mejorar la utilización en los controles de la biblioteca de extensiones (consulte la sección correspondiente en este tema):
  • Selector de distintivos de bit
  • Selector de monedas
  • Selector de formularios
  • Selector de expresiones regulares
  • Selector de nombres de variables
  • Selector de vistas y carpetas
  • Selector de vistas
  • Selector de ID de control de XPage
Puede reutilizar estos editores dentro de sus definiciones de propiedad de control personalizado cuando lo desee.
Cambios y adiciones en el navegador de aplicaciones -- Se han añadido nuevos elementos al navegador de aplicaciones. Se ha cambiado el nombre de la sección Propiedades de aplicación anterior por la sección Configuración de aplicación. Ahora esta sección le ofrece acceso de edición al siguiente grupo de elementos de aplicación:
  • Propiedades de aplicación - Este elemento le ofrece acceso de edición a las propiedades clásicas a nivel de aplicación.
  • Propiedades de Xsp - Este archivo contiene un grupo de parámetros de infraestructura de XPages, y se denomina xsp.properties. Se utiliza a nivel de aplicación o de servidor para establecer y controlar valores de XPages en XPages de aplicación. Cada aplicación NFS de XPages contiene un archivo xsp.properties.
  • Faces-config - El archivo faces-config.xml es el principal archivo de configuración de una aplicación JSF. El archivo suele contener recursos de bean y reglas de navegación de páginas. Se encuentra en la carpeta WEB-INF de una aplicación.
    Nota: Faces-config está oculto en todas las perspectivas, excepto en la perspectiva XPages.
Puede ocultar o mostrar cualquiera de estos elementos a través de las preferencias del navegador.

Funcionalidad Aplicaciones que no están en el conjunto de trabajo - Los usuarios de Domino Designer utilizan los conjuntos de trabajo para filtrar el contenido de la vista del navegador de aplicaciones. Los conjuntos de trabajo le permiten agrupar aplicaciones en categorías, que a su vez permiten visualizar sólo aplicaciones en un determinado conjunto de trabajo o en varios conjuntos de trabajo de una sola vez. Este le permite organizar y limpiar el navegador de aplicaciones para que pueda centrar/ver un subconjunto de las aplicaciones que tiene en el navegador de aplicaciones. Desgraciadamente, siempre ha resultado difícil determinar qué aplicaciones NO están contenidas en ningún conjunto de trabajo.

Se ha añadido una nueva funcionalidad que le permite ver todas las aplicaciones en Domino Designer que no se almacenan en un conjunto de trabajo. Esto es muy parecido al conjunto de trabajo Otros proyectos, que está disponible en la vista de explorador de paquetes Java. Puede encontrar esta funcionalidad en la interfaz de Designer en dos ubicaciones de menú desplegable de la barra de herramientas de conjuntos de trabajo del navegador de aplicaciones desplegable de la página de inicio de Domino Designer
  • Página de inicio de Domino Designer
  • Menú desplegable de barra de herramientas de conjunto de trabajo del navegador

En la página de inicio, Domino Designer comprueba si todas las aplicaciones del navegador de aplicaciones están contenidas en un conjunto de trabajo. Si se determina que una o más aplicaciones no están contenidas en uno o más conjuntos de trabajo, Designer vuelve a cargar la página de inicio. Durante este proceso, se añade un nuevo elemento de lista Aplicaciones que no están en un conjunto de trabajo a la página de inicio.

Al hacer clic sobre el botón del menú desde el navegador de aplicaciones, Domino Designer determina si alguna de las aplicaciones no está en un conjunto de trabajo. Si determina que una o más no lo están, se habilita el elemento de menú Aplicaciones que no están en un conjunto de trabajo. Por otro lado, el mismo elemento de menú se inhabilitará si todas las aplicaciones se organizan en conjuntos de trabajo o si no hay conjuntos de trabajo (en cuyo caso todas las aplicaciones no están en un conjunto de trabajo).

Cuando la característica Aplicaciones que no están en un conjunto de trabajo está habilitada, el navegador de aplicaciones sólo muestra las aplicaciones que no se encuentra actualmente en un conjunto de trabajo. La barra de título del navegador de aplicaciones cambia para indicar Otro y la ayuda contextual leerá Aplicaciones que no están en un conjunto de trabajo.

Puede añadir aplicaciones que no estén contenidas actualmente en un conjunto de trabajo a un conjunto de trabajo. En caso de que todas las aplicaciones que no estaban contenidas en un conjunto de trabajo se añadan a grupos de trabajo al tiempo que la opción Aplicaciones que no están en un conjunto de trabajo está habilitada, el navegador de aplicaciones aparecerá vacío y la página de inicio se volverá a cargar. Esta vez, sin embargo, el elemento Aplicaciones que no están en un conjunto de trabajo no será visible y el elemento de menú Aplicaciones que no están en un conjunto de trabajo del menú del navegador de aplicaciones se marcará pero estará inhabilitado.

Páginas XPage

En el área de Xpages, se han realizado los siguientes cambios o adiciones.

Biblioteca de extensiones de XPages -- La biblioteca de extensiones de XPages ofrece controles adicionales listas para ser utilizadas. Los controles incluyen nuevos controles de contenedor (como diseño de aplicación, vista de datos y otros), diálogos mejorados, selectores, formularios en lugar, componentes de Dojo, contenido dinámico y más. Los controles también dan soporte a las mejoras en las plantillas de Domino®.

Los controles disponibles en la nueva biblioteca de extensiones cubren las siguientes áreas funcionales:
  • Acceso a datos - muestran servicios de acceso a datos.
  • Formulario de Dojo - imitan componentes del kit de herramientas de Dojo.
  • Diseño de Dojo - imitan componentes del kit de herramientas de Dojo.
  • Biblioteca de extensiones - amplía las funciones de los controles principales de Designer.
  • iNotes - da soporte a ciertas vistas, listas y almacenes. Móvil - soporte de aplicaciones móviles.
La biblioteca de extensiones de XPages incluye las siguientes funciones principales:
  • Controles móviles - Este nuevo conjunto de controles ofrece soporte para crear aplicaciones para dispositivos móviles que incluyen las siguientes funciones principales:
    • Estilos listos para ser utilizados para iPhone y Android
    • Capacidad de ofrecer estilos personalizados
    • Un control de vista para mostrar vistas de Domino
    • Los documentos se pueden mostrar fácilmente mediante controles de formulario y se pueden manipular como aplicaciones de escritorio
    • Controles de cabecera, esquema y barra de fichas
    • control de aplicación de una sola página para cambiar una página móvil sin tener que volver a cargar toda la aplicación
    estos controles se han implementado como controles de biblioteca para que se puedan utilizar en aplicaciones personalizadas sin tener que copiar y pegar elementos de diseño.
  • Nuevas herramientas para controles de biblioteca - Los nuevos plugins ofrecen nuevas visualizaciones básicas de Domino Designer para todos los controles de la biblioteca de extensiones, así como visualizaciones mejoradas para controles más complejos, como el control de diseño de aplicación. Otras mejoras incluyen nuevos editores especializados para ayudar a asignar valores de propiedades cuando se trabaje en el panel Todas las propiedades y en nuevos paneles de diseño
  • Accesibilidad mejorada y soporte de localización - Las versiones anteriores de algunos de los controles y tipos complejos de la biblioteca de extensiones de XPages no cumplían todos los estándares de accesibilidad y localización. Por ejemplo, el uso del atributo 'title' como etiqueta de control en lugar de como etiqueta distintiva para tecnologías de asistencia (lectores de pantalla, etc.). En este release se han solucionado problemas de este tipo y otros.
  • Mejoras y arreglos menores adicionales - Se han aplicado arreglos menores adicionales al entorno de ejecución. Muchas de las descripciones de propiedades de control y ayudas contextuales se han actualizado.

Para obtener más información sobre esta función, consulte la sección Adición de controles de la biblioteca de extensiones de XPages en esta guía del usuario. Para obtener información adicional y material de consulta sobre cómo utilizar los controles de la biblioteca de extensiones, consulte también la documentación sobre la biblioteca de extensiones de Domino Designer XPages que se encuentra en la sección de documentación del producto de la wiki de Notes y Domino Application Development en http://www-10.lotus.com/ldd/ddwiki.nsf.

Plantillas de aplicaciones actualizadas -- Este release ofrece versiones actualizadas de las plantillas Notes/Domino Discussion y TeamRoom que se han ampliado para que utilicen las nuevas funciones del último release (discussion8xl.ntf y teamrm8xl.ntf). Estas plantillas se pueden utilizar para crear aplicaciones XPages que se ejecutarán en la web, en el cliente Notes o en dispositivos móviles. Se recomienda especialmente intentar implementaciones de aplicaciones móviles ya que estas plantillas constituyen un buen punto de partida para el desarrollo móvil de XPages. Las plantillas Discussion y TeamRoom para este release solo están en inglés.

Control de diseño de aplicaciones -- Una de las principales características de la biblioteca de extensiones es el control de diseño de aplicaciones (applicationLayout/com.ibm.xsp.extlib.component.layout.UIApplicationLayout). Este control es un objeto para mostrar el principal marco de la aplicación y el diseño de una aplicación XPages.

Para utilizar este control de la forma más eficiente, colóquelo en un control personalizado, en el que pueda configurar el diseño una vez y luego utilizar el control personalizado en varias XPages. Puede configurar un diseño con un máximo de tres áreas para enlaces de título y navegación, un área de contenido con hasta tres columnas y un máximo de dos áreas de pie de página.

Cuando haya arrastrado el control a la XPage y haya realizado la configuración inicial, puede utilizar los paneles de propiedades del control para definir opciones adicionales para las propiedades de control del diseño de la aplicación. Estas incluyen:
  • Panel de propiedades básicas - Le permite definir el nombre del control, la configuración y si es visible (con un valor calculado). Si el control es un control personalizado, este panel también le permite añadir facetas a cualquiera de las tres columnas principales, lo que le permite soltar controles en estas facetas cuando utilice el control personalizado.
  • Panel de propiedades de titular - Le permite definir todas las opciones de titular del diseño y los valores del área de titular. Por ejemplo, un logotipo (campo de texto con selector de imágenes), enlaces globales, etc..
  • Titular - Panel de propiedades de enlaces de la aplicación - Forma parte del panel de propiedades del titular; este panel le permite añadir enlaces de aplicación y definir propiedades de enlace.
  • Titular - Panel de propiedades de enlaces de programa de utilidad - Forma parte del panel de propiedades del titular; este panel le permite añadir enlaces al titular para programas de utilidad como ayuda e inicio de sesión y definir sus propiedades relacionadas.
  • Panel de propiedades de barra de título - Le permite definir la barra de título, el texto del título, establecer opciones de título, añadir enlaces (en orden personalizado) y añadir fichas adicionales (con fichas hijo) al diseño de la aplicación.
  • Barra de título - Panel de propiedades de búsqueda - Le permite añadir controles de búsqueda a la barra de título y establecer todos los URL y propiedades de búsqueda relacionados. También se ofrece un área editable (faceta) como forma alternativa de especificar la interfaz de usuario de búsqueda. Si se utiliza, la faceta prevalece sobre los controles especificados en este panel.
  • Panel e propiedades de barra de situación - Le permite definir opciones para visualizar un área de barra de situación para un título secundario. También puede definir enlaces para que se configuren como botones o botones con menús desplegables. Pueden ser botones con o sin imágenes y etiquetas.
  • Panel de propiedades de pie de página - Le ofrece la opción de visualizar un pie de página bajo el área de contenido de la aplicación y utilizarlo para enlaces o texto. Para que en el pie de página solo se muestre texto, únicamente debe especificar un texto de etiqueta como propiedad, no un HREF (enlace).
  • Panel de propiedad legal - Le ofrece la opción de especificar un área en la aplicación que muestre texto legal, así como todas las propiedades de logotipo y texto (con valores calculados si se desea).

Para ver información completa sobre cómo utilizar este control, consulte la sección sobre consulta de controles de esta guía.

Control de contenido dinámico -- Otro característica de la biblioteca de extensiones es el control de contenido dinámico (dynamicContent / com.ibm.xsp.extlib.component.dynamiccontent.UIDynamicContent). Este control le permite incluir una página dinámica o una parte de una página en la aplicación XPage. El control sirve para crear condicionalmente y mostrar controles hijo, lo que le permite mostrar u ocultar partes de una página. Este control se ofrece con herramientas y opciones de visualización. Las herramientas para el control de contenido dinámico consisten en un panel de propiedades de contenido dinámico. Las propiedades que se pueden definir en este panel incluyen:
  • Nombre del control
  • Opción para hacer que el control sea visible (casilla de verificación Visible)
  • Lista desplegable para seleccionar la faceta predeterminada. El contenido definido en la faceta predeterminada se muestra si no se cumple ninguna otra condición.
  • Opción para utilizar hash URL (casilla de verificación)

Editor de propiedades de XPages -- Se ha añadido una interfaz de usuario al editor de propiedades de XPages para que resulte más sencillo editar las páginas XPages cuando se está en la vista del navegador de Eclipse.

Para mostrar la vista del navegador de Eclipse, seleccione Ventana - Mostrar vistas de Eclipse - Navegador.

Para iniciar el editor de propiedades de XPages:
  • Localice el archivo de propiedades de XPages xsp.properties en la vista del navegador de Eclipse. La vía de acceso debe ser parecida a la siguiente: Application-name.nsf/WebContent/WEB-INF/xsp.properties.
  • Haga clic con el botón derecho en xsp.properties y seleccione Abrir con - Editor de propiedades de XPages. Se abre el editor de propiedades de XPages con 4 fichas disponibles para definir propiedades de XPages. Estas fichas de propiedades son General, Permanencia, Generación de páginas y Origen.
La ficha General de las propiedades de XPages le permiten definir propiedades en las siguientes áreas generales:
  • Valores predeterminados de tema - Le permite definir propiedades del tema de la aplicación. También puede definir valores de modificación de opciones, en función de si la aplicación se muestra en el cliente de Notes o en la web.
  • Comportamiento de las ventanas para navegación y enlaces - Le permite especificar el comportamiento de las ventanas y de los enlaces de la aplicación, así como el comportamiento de los enlaces cuando no se especifican en los propios enlaces.
  • Manejo de errores - le permite especificar las opciones de manejo de errores (página de errores). Si opta por mostrar la página de error en tiempo de ejecución de XPage, puede hacer que la capa XSP muestre la página de errores predeterminada. Esto puede resultar útil para ofrecer información adicional sobre el error.
  • Release mínimo soportado - Le permite especificar el release mínimo soportado de Notes/Domino para la aplicación compilada que se ejecutará y también establecer requisitos de soporte de estilos.
  • Tiempos de espera - Le permite especificar los intervalos de tiempo de espeta de aplicación, de sesión y de actualización parcial. Para una aplicación o sesión, puede definir un intervalo de periodo de tiempo en minutos para determinar cuándo se elimina de la memoria tras un periodo de inactividad. El intervalo predeterminado es 30 minutos, a no ser que especifique otro valor. Para actualizaciones parciales, puede establecer un intervalo de tiempo de espera en segundos. El valor predeterminado es de 20 segundos. También se pueden definir opciones adicionales de renovación y de permanencia.
  • Dojo - Le permite especificar la versión de Dojo que se utilizará en la aplicación, así como parámetros para el atributo djConfig de Dojo. Por ejemplo, podría especificar isDebug=true para poder conmutar a la modalidad de depuración si es necesario.
  • Huso horario - Le permite especificar información sobre huso horario. Si no utiliza esta opción, se utiliza el huso horario del servidor.
  • Opciones de carga de archivos - Le permite especificar tamaño y ubicación de carga de archivos de aplicación. Esto incluye el tamaño máximo del archivo que se carga en una aplicación, así como la ubicación del directorio en el que se guardará temporalmente un archivo adjunto cargado.
El separador Propiedades de rendimiento (Permanencia) le permite definir propiedades en las siguientes áreas de rendimiento de la aplicación:
  • Opciones de permanencia - Le permiten definir las modalidades y opciones de permanencia de páginas del servidor (JSF), así como valores de recuento de páginas permanentes para ajustar el rendimiento de la aplicación frente a la memoria disponible.
  • Ubicaciones temporales - Le permite especificar ubicaciones para el almacén de permanencia temporal de archivos adjuntos, archivos cargados y páginas JSF.
  • Opciones - Le permite especificar valores de rendimiento adicionales para renovación de páginas, tamaño de memoria caché, tiempo de caducidad de recurso y opciones de recursos JavaScript y CSS.
La ficha Propiedades de generación de páginas (Generación de páginas) le permite definir propiedades de las siguientes áreas de generación de páginas de la aplicación:
  • Generación de HTML - Le permite especificar valores de generación de HTML, como validación de HTML del cliente, valores de compresión, codificación (juego de caracteres), tipo de documento HTML y otras opciones.
  • Opción de texto enriquecido - Le permite especificar cómo se deben guardar los enlaces en documentos Domino - en formato Notes o web.
  • Filtro de contenido activo - Le permite especificar filtros de contenido activo que incluyen tipos de filtros de visualización y de forma de guardar, así como el archivo ACF CONFIG que se debe utilizar.
  • Filtro de contenido activo (ACF) - Se utiliza para eliminar el contenido activo potencialmente malicioso del contenido de la aplicación que se muestra en un navegador.

Finalmente, la ficha Origen le permite visualizar y editar el archivo origen de propiedades de XPages real en un editor de texto sin la ayuda de la interfaz de usuario del editor de propiedades de XPages.

Se ofrece ayuda contextual para ofrecer ayuda adicional sobre las distintas opciones y propiedades que puede definir en estas fichas.

Clases Java de fondo de agenda y planificación (C&S) – se encuentra disponible una infraestructura y un conjunto de métodos para una API de Java que ofrece funciones de agenda y planificación de Domino. Estas funciones proporcionan la capacidad de crear, leer, actualizar y eliminar datos de agenda de un archivo de correo personal mediante el formato de datos iCalendar (RFC 5545) estándar. Habilitan acciones explícitas de agenda en entradas y avisos de la agenda (aceptar, declinar, cancelar, etc.). Consulte la sección siguiente de este tema para ver más detalles completos.

Soporte de idiomas en tiempo de ejecución -- El entorno de ejecución de XPages de este release da soporte a los grupos de idiomas 1, 2 y 3. Las plantillas de teamroom y de discusión solo están en inglés.

Soporte de idiomas de plantilla -- Las plantillas Discussion y TeamRoom solo están en inglés.

Opción de inicio para ejecutar aplicaciones de páginas XPages basadas en servidor directamente en un servidor Domino – Dado que las aplicaciones de páginas XPages de Notes se ejecutan en el contenedor web XPD de Notes local, todas las clases Java de XPages (controles XPages y personalizados) deben copiarse a través de la red desde el servidor remoto al cliente de Notes que se ejecutará. De forma similar, todos los recursos de página (CSS, JavaScript, GIF, etc.) deben captarse desde el servidor remoto, así como los documentos de datos reales. Además, si su aplicación de páginas XPage utiliza otros artefactos de diseño de Notes (por ejemplo, utilizando la característica computeWithForm), los elementos de diseño de gran tamaño como formularios, subformularios y campos compartidos también deberán captarse de forma remota. En redes de alta latencia, esto puede afectar al rendimiento, en particular si la aplicación se ha diseñado principalmente para la web y no se ha optimizado para el cliente de Notes.

Una opción de inicio de Domino Designer ahora le permite evitar esta situación. La opción de inicio del cliente de Notes se llama Ejecutar aplicaciones de páginas XPage basadas en servidor directamente en el servidor de Domino. Cuando esta opción está seleccionada y un usuario de Notes, se solicita al tiempo de ejecución de XPages que ejecute la aplicación en el servidor de Domino a través de HTTP. Esta opción le permite solicitar que las aplicaciones remotas se ejecuten en el servidor HTTP de Domino - tal y como son para el usuario web - y se muestren en el contenedor de páginas XPages de Notes. La ventaja de este enfoque reside en que se eliminan muchas transacciones de red y así se mejora el rendimiento.

Para distinguir esta solicitud, deben darse una serie de condiciones. En primer lugar, debe tener una configuración de cuenta HTTP de Notes. Estos cuentas se pueden configurar directamente en el cliente de Notes o de forma remota en el servidor de Domino y, a continuación, suministrados al cliente de Notes. Para crear o visualizar cuentas de Notes, seleccione Archivo > Preferencias > Cuentas en Notes. Al intentar cumplir la solicitud de la aplicación de páginas XPages en Domino, XPages itera por todas las cuentas de Notes definidas en la instalación de cliente Notes hasta que encuentra una cuenta HTTP que coincida con el nombre del servidor en el que reside la aplicación. Una vez que se cumplen estos criterios, se construye un URL de Domino XPages y se envía la solicitud al servidor Domino, entonces la aplicación se carga en el cliente Notes. Si no se encuentra ninguna cuenta coincidente o si no se puede atender la solicitud al servidor (p.ej. otros detalles de cuenta incorrecta), se le solicitará que cierre la ventana de aplicación o que vuelva ejecutar la aplicación utilizando el contenedor web de Notes local.

La infraestructura de cuentas de Notes y el navegador XULRunner subyacente pasan automáticamente credenciales de usuario al servidor web para su autenticación. De esta manera, no se solicitará autenticación al usuario. Si se le solicita nombre de usuario y contraseña, la configuración de Notes/Domino de tiempo de configuración no está definida correctamente (por ejemplo, la SSO de Domino mal configurado). Sin embargo, debe poder verificar esto independientemente de XPages, simplemente especificando un URL para la aplicación a través del widget de direcciones del navegador de Notes en la barra de herramientas de Notes.

Al ejecutar una aplicación en el servidor de Domino en el cliente Notes, toda la funcionalidad personalizada de Notes debe funcionar igual que cuando se igual que cuando se ejecuta en modalidad de páginas XPage. Por ejemplo, los menús contextuales deben comportarse comportarse igual, guardar documento en sucio, funciones JavaScripy del lado del cliente, etc). Una excepción es que las aplicaciones compuestas no podrán utilizar la funcionalidad de intermediario de propiedades de cliente cuando se ejecutan en el servidor.

Puede evitar establecer esta opción en Domino Designer estableciendo una característica NOTES.INI, como se indica a continuación: XPagesRunRemoteAppsOnServer=1. Este valor se aplicará a todas las aplicaciones de páginas XPage, no a las aplicaciones individuales.

Corrector ortográfico añadido a CKEditor – se ha añadido un corrector ortográfico al CKEditor de páginas XPages. Estará disponible tanto en el servidor como en el cliente.

Programación y lenguajes

En el área de programación y lenguajes, se han realizado los siguientes cambios o adiciones:

Domino Data Services -- Domino® Data Service es una API REST que accede a las bases de datos de los servidores Domino. Forma parte de Domino Access Services. Domino Data Service recibe solicitudes y envía respuestas mediante los protocolos HTTP y HTTPS con contenido del cuerpo en formato JSON. Domino Data Service le permite obtener información sobre bases de datos, vistas, carpetas y documentos. Puede actualizar, añadir y suprimir documentos.

Para ver información completa y material de consulta sobre cómo utilizar Data Services, consulte la información de la sección sobre documentación del producto de la wiki de desarrollo de aplicaciones de Notes y Domino en http://www-10.lotus.com/ldd/ddwiki.nsf.

Clases Java de fondo de agenda y planificación (C&S) – se encuentra disponible una infraestructura y un conjunto de métodos para una API de Java que ofrece funciones de agenda y planificación de Domino. Estas funciones proporcionan la capacidad de crear, leer, actualizar y eliminar datos de agenda de un archivo de correo personal mediante el formato de datos iCalendar (RFC 5545) estándar. Habilitan acciones explícitas de agenda en entradas y avisos de la agenda (aceptar, declinar, cancelar, etc.).

Nota: iCalendar permite capturar e intercambiar información que suele estar almacenada dentro de una aplicación de agenda y planificación, como un producto Personal Information Manager (PIM) o una aplicación de planificación de grupos. El formato iCalendar resulta apto como formato de intercambio entre aplicaciones o sistemas. El formato está definido en términos de tipo de contenido MIME. Esto permite intercambiar objetos mediante varios transportes, que incluyen, aunque sin limitarse a los mismos, SMTP, HTTP, un sistema de archivos, protocolos interactivos de escritorio como el uso de área común basada en memoria o de interacciones de tipo arrastrar y soltar, comunicación asíncrona punto a punto, transporte de red cableado o cualquier forma de transporte inalámbrico, como infrarrojos.

La finalidad de estas clases y métodos iniciales es ofrecer una base para explorar la capacidad de desarrollo y para crear pequeñas aplicaciones sencillas de prototipo de agenda y planificación sin tener grandes conocimientos sobre el funcionamiento de la agenda y la planificación de Notes.

Algunas de las clases nuevas (con métodos) que se han añadido incluyen lo siguiente:

Session.getCalendar

Crea un objeto NotesCalendar a partir del objeto Database. La base de datos no se verifica como una base de datos C&S válida hasta que se accede a la misma.

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

NotesCalendar - con los siguientes métodos:
  • NotesCalendar.getEntry
  • NotesCalendar.createEntry
  • NotesCalendar.readRange

La siguiente información ofrece más detalles sobre cómo utilizar estos métodos:

NotesCalendar.getEntry

Devuelve un objeto NotesCalendarEntry asociado al UID proporcionado (identificador de iCal). No realiza la comprobación de validez para garantizar que la entrada exista realmente.

NotesCalendarEntry getEntry(String uid) throws NotesException

NotesCalendar.createEntry

Devuelve NotesCalendarEntry a partir de iCal cuando se especifica una serie de iCalendar (iCal) correctamente formateada según RFC 5545.

NotesCalendarEntry createEntry(String iCal) throws NotesException

NotesCalendar.readRange

Devuelve una serie iCalendar que representa todas las entradas de calendario que aparecen en la agenda de Notes entre las horas inicial y final proporcionadas. Para entradas recurrentes, cada instancia del rango se muestra por separado. Esto representa solo datos de resumen para cada entrada, pero cada una contiene un UID que se puede utilizar para obtener un objeto NotesCalendarEntry con el método getEntry. El emisor de la llamada es el responsable de analizar la salida.

String readRange(DateTime start, DateTime end) throws NotesException

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

La siguiente información ofrece más detalles sobre cómo utilizar estos métodos:

NotesCalendarEntry.read

Devuelve la serie iCalendar que representa esta entrada de la agenda. Si se especifica recurID para una entrada recurrente, se devuelve la entrada de iCalendar correspondiente a dicha aparición. Se espera que recurID sea una serie que represente la fecha/hora en que se ha planificado inicialmente una determinada instancia, formateada como RECURRENCE-ID de iCalendar. Por ejemplo: 19960120T120000Z. Consulte RFC 5545, sección 3.8.4.4.

String read() throws NotesException

String read(String recurID) throws NotesException

NotesCalendarEntry.update

Dada una serie de iCalendar (iCal) correctamente formateada según RFC 5545, actualiza esta entrada de la agenda tras pasarla a iCalendar. Para reuniones recurrentes, solo recibe soporte para instancias individuales y la entrada de iCalendar debe contener un solo valor VEVENT que especifique la instancia adecuada con RECURRENCE-ID, según lo definido en RFC 5545.

Si no se especifica ningún comentario, NO se enviarán avisos aunque se trate de una reunión. Si se trata de una reunión en la que el propietario del archivo de correo es el organizador, se enviarán los avisos correspondientes, incluidos los comentarios suministrados. Actualmente, cualquier comentario proporcionado se pasa por alto.

void update(String iCal) throws NotesException

void update(String iCal, String comments) throws NotesException

NotesCalendarEntry.remove

Elimina (suprime) una entrada de agenda del archivo de correo. Si se especifica recurID, solo se elimina dicha aparición. Si esta entrada de la agenda es una reunión planificada, se cancelará o declinará correctamente y se enviarán los avisos correspondientes al organizador o a los participantes.

void remove() throws NotesException

void remove(recurID) throws NotesException

Para obtener información completa sobre estas y más clases y métodos, consulte la sección de Domino de la referencia de Domino Designer XPages.

Depurador JavaScript del lado del servidor – hay disponible un depurador JavaScript del lado del servidor (SSJS) para depurar contra el servidor de vista previa de Designer o contra un servidor Domino.
Nota: La palabra clave debugger que se utiliza con esta característica NO es compatibles con versiones anteriores y, por tanto, no funcionará si una aplicación está alojada en una versión anterior del servidor. La palabra clave actúa como un punto de interrupción estático en el código JavaScript del lado del servidor cuando el servidor/aplicación se ejecuta en modalidad de depuración. El uso de la palabra clave no generará problemas en una aplicación de páginas XPages durante el diseño, pero la aplicación tendrá problemas de tiempo de ejecución cuando se ejecute en una versión anterior del servidor.

La interfaz de usuario del depurados también se ha actualizado para facilitar el proceso de depuración en el entorno Eclipse. Se ha añadido un nuevo botón de la barra de herramientas Depurar JavaScript del lado del servidor de IBM Domino Designer a la barra de herramientas principal. Para obtener más información, consulte la sección Creación de scripts en páginas XPage de la sección Programación de la guía de usuario de Domino Designer.

Propiedad/preferencia para utilizar los recursos de Dojo sin comprimir para la depuración- Una propiedad pública en el archivo xsp.properties denominado xsp.client.script.uncompressed puede editarse y aplicarse como TRUE para habilitar la depuración con recursos sin comprimir, más sencilla.

Seleccionar la casilla de verificación Utilizar archivos de recursos sin comprimir (CSS y Dojo) en el editor de propiedades de XPage - La ficha de propiedades de rendimiento de la aplicación también habilita esta característica. La casilla de verificación editará esta línea en el archivo xsp.properties como se indica a continuación: xsp.client.resources.uncompressed=true.

Cuando se establece en true, esta propiedad permite a los recursos de Dojo ofrecerse sin comprimir con toda la sangría, espacios, nombres de variables y comentarios para que pueda depurar completamente la aplicación. En un entorno de producción, esta propiedad debe establecerse en false para maximizar el rendimiento de la aplicación.

Técnicamente, la versión sin comprimir de los recursos es ofrecida por una biblioteca distinta. Debe tener dos bibliotecas registradas (por ejemplo, 1.7.2 para la versión comprimida y 1.7.2-u para la versión sin comprimir). La última versión mencionada (1.7.2-u) solo se utiliza si la propiedad se establece en True. La propiedad no está presente de forma predeterminada, que equivale a establecer la propiedad en False.

Preferencia para desactivar el sangrado automático en el editor de LotusScript - Se proporciona una preferencia que le permite activar o desactivar el sangrado automático en el editor de LotusScript. Esta preferencia se encuentra en la sección General de la ficha de preferencias del editor de LotusScript. El valor predeterminado es que esta función NO está habilitada.

Preferencia para desactivar el sangrado automático en el editor de LotusScript - Se proporciona una preferencia que le permite activar o desactivar el sangrado automático en el editor de LotusScript. Esta preferencia se encuentra en la sección General de la ficha de preferencias del editor de LotusScript. El valor predeterminado es que esta función NO está habilitada.

Acción simple de enviar correo añadida – La acción simple Enviar correo que se ha añadido a una página XPage le permite realizar actividades preprogramadas que puede ser modificada mediante argumentos. Las acciones simples se aplican a los manejadores de sucesos y se pueden agrupar. Este acción simple se ha añadido para facilitar el envío de correo electrónico desde una aplicación de páginas XPage. También le permite enviar correo electrónico de Embedded Experience. Consulte la documentación del producto para obtener más información.

Visión general del producto

IBM Domino Designer da soporte al desarrollo de aplicaciones para la plataforma IBM Domino mediante XPages, formularios, vistas y otros elementos, como controles.

XPage es una tecnología de desarrollo rápido de aplicaciones para crear aplicaciones colaborativas basadas en web. Las páginas XPage proporcionan un amplio conjunto de controles de acceso a datos y de interfaz de usuario basados en la Tecnología Java Server Faces. Las páginas XPage dan soporte a la integración de los activos de NSF de IBM Notes y Domino como documentos, vistas, agentes, fórmulas y seguridad. Estas aplicaciones pueden representarse como páginas web 2.0 dinámicas en un navegador y en el cliente Notes. La interfaz de desarrollo proporciona un entorno de diseño intuitivo de arrastrar y soltar así como un entorno de origen XML. La presentación se controla mediante CSS (Cascading Style Sheets) y la lógica empresarial se puede desarrollar utilizando JavaScript™.

La documentación de Domino Designer incluye:

  • La Guía de usuario de Domino Designer presenta el producto y describe XPages y sus elementos de soporte. Esta información también describe las características de Domino Designer añadidas después de la versión 8.5.
  • La Referencia de Domino Designer XPages describe la interfaz de JavaScript para los objetos de Domino, acciones simples y otros elementos de interés programático en las páginas XPages.
  • La Guía y consulta del usuario básico de Domino Designer describe los elementos basados en formularios de Domino Designer, incluidos los formularios, las vistas, el lenguaje de fórmulas, LotusScript, etc.

Esta documentación hace referencia a los siguientes productos: IBM Domino, IBM Domino Designer, IBM Notes, IBM iNotes, e IBM Notes Traveler.

Páginas XPage

Una aplicación de páginas XPages es código XML interpretado por un servidor Domino o un cliente Notes y representado en un navegador web o un cliente Notes. Puede interactuar con los controles en la página para enviar solicitudes al servidor.

Por ejemplo, este código XML es para una aplicación XPages que contiene un cuadro de edición y dos botones:
<?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>
A continuación se muestra una explicación línea a línea del significado del código XML de ejemplo:
  • xmlns:xp="http://www.ibm.com/xsp/core"

    Domino define los controles y otros artefactos en el espacio de nombres http://www.ibm.com/xsp/core utilizando xp como abreviatura.

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

    La aplicación XPages se asocia al formulario de Domino denominado create.

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

    El recuadro de entrada está enlazado con el campo denominado subject en el formulario create.

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

    Cuando se hace clic, el primer botón hace que se envíe una solicitud al servidor. El servidor guarda los datos del cuadro de entrada como un nuevo documento basado en el formulario create y, a continuación, envía otra página denominada main al cliente.

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

    Cuando se hace clic, el segundo botón hace que se envíe una solicitud al servidor. En este caso, el servidor devuelve la página XPage main.

Domino Designer ofrece una interfaz de usuario (UI) que incluye un navegador, un editor de XPages, una paleta Controles, una ficha Propiedades y una ficha Sucesos, además de otros artefactos. A continuación se muestra la forma en que aparece la página creada por el código XML anterior en la modalidad de diseño de Domino Designer:
Interfaz de usuario de XPages

Los usuarios pueden utilizar el menú o arrastrar y soltar para manipular los controles y el texto en el editor. Los usuarios pueden también utilizar las distintas fichas para establecer valores para las propiedades y los sucesos. Tenga también en cuenta que los usuarios pueden utilizar la ficha Origen para editar el XML directamente.

Los usuarios utilizan propiedades de XPage para identificar formularios de Domino y vistas de Domino como orígenes de datos y pueden utilizar propiedades de control para vincular controles a campos de un origen de datos.

Importante: Tenga cuidado cuando edite el XML directamente ya que, si se producen errores, la página XPage puede que no esté operativa.
Los controles principales incluyen:
  • Controles para obtener entrada - cuadro de edición, texto enriquecido, cuadro de edición de varias línea, cuadro de lista, cuadro combinado, casilla de verificación, botón de selección, grupo de casillas de verificación, grupos de botones de selección, selector de fecha y hora.
  • Controles para realizar acciones - botón, carga de archivo, descarga de archivo
  • controles para visualizar - enlace, etiqueta, campo calculado, imagen, error de visualización, mostrar error, mostrar errores, paginador
  • Controles personalizados - área editable
Los controles de contenedor son los siguientes:
  • Panel - crea un rectángulo en la página para la inclusión de otros controles
  • Repetir - repite controles un número de veces variable
  • Incluir página - incorpora otra XPage
  • Tabla - crea una tabla con un número fijo de columnas y filas
  • vista - incorpora una vista de Domino
  • Tabla de datos - crea una tabla cuyas filas centrales son variables en número y están vinculadas a una recopilación de datos
  • Panel con fichas - crea un conjunto de paneles solapados, a los que se accede haciendo clic en una ficha
  • Sección - crea paneles que se pueden contraer
La interfaz de programación es JavaScript, que se ejecuta en el servidor y en el cliente:
  • El JavaScript de cliente se adjunta a sucesos como, por ejemplo, onclick, onblur y onfocus. Estos scripts se ejecutan en el navegador web o en el cliente Notes antes de enviar una solicitud al servidor y utilizan Web Document Object Model (DOM). Puede crear scripts, por ejemplo que verifiquen que un cuadro de entrada tiene contenido o que confirme una operación del servidor que elimina datos.
  • JavaScript del servidor también se adjunta a sucesos, pero comienza después de que se pase la solicitud al servidor. Asimismo, el JavaScript de servidor puede utilizarse para calcular valores de control, enlaces de datos y propiedades. JavaScript del servidor tiene acceso a un amplio grupo de bibliotecas, incluida una para los objetos Domino. Estos son los mismos objetos de Domino a los que también se puede acceder mediante LotusScript y Java. Acceden al almacén de datos de Domino y manipulan el entorno de Domino.
En algunos contextos, también hay disponibles acciones simples y Expression Language (EL).

Los objetos globales proporcionan un mecanismo de creación sencillo para los objetos principales. Por ejemplo, session es un objeto NotesSession para la sesión actual, database es un objeto NotesDatabase para la aplicación actual y context es un objeto XSPContext para el contexto en el que se ejecuta JavaScript. Las variables con ámbito proporcionan un mecanismo sencillo para compartir valores entre controles, páginas y sesiones.

Formularios y vistas

En Domino, un formulario define el modo en que se muestran los documentos al usuario y cómo se guardan los elementos de datos del formulario. Una vista notifica los documentos en columnas y filas.

Cuando el usuario abre un nuevo documento, el formulario que define el documento se utiliza para representar una página en la UI del cliente. Cuando los usuarios guardan el nuevo documento, los datos de la UI se utilizan para crear el documento de acuerdo con las definiciones de datos del formulario. De la misma manera en que los usuarios abren un documento existente, los datos se representan en la UI del cliente de acuerdo con las definiciones de datos del formulario.

Normalmente, cada fila de una vista representa un documento. No obstante, en una aplicación Xpage es fácil unir más de una vista, por lo que cada fila es realmente una vista de más de un documento para dicha fila.

Las columnas pueden contener valores de datos de los documentos o información calculada como, por ejemplo, la fecha de última modificación del documento. Las vistas pueden ordenarse y categorizarse para presentar mejor los documentos. Las vistas pueden utilizarse como mecanismos de acceso a los datos; por ejemplo, permiten que los usuarios abran un documento haciendo doble clic en su fila en la vista.

Las aplicaciones XPage utilizan tanto formularios como vistas. Puede utilizar formularios para conectar controles de la página con definiciones de datos de Domino. En primer lugar, asocie la página a un formulario. A continuación, enlace los controles de entrada de datos de la página con los campos en el formulario. Pueden incorporarse vistas de Domino en los controles Vista de las páginas Xpage.

Otros elementos de Domino que se pueden utilizar en una página incluyen:
  • Bibliotecas de JavaScript
  • Recursos de imágenes
  • Recursos de hojas de estilo
  • Recursos de temas

Navegación en Domino Designer

IBM Domino Designer se instala como una perspectiva de Eclipse dispuesta en vistas, paletas y editores de fácil acceso. Puede realizar tareas mediante el menú principal, los menús contextuales y los iconos de las barras de título de la vista, la paleta y el editor.

Las perspectivas de IBM Domino Designer son las siguientes:
  • Domino Designer muestra todos los elementos de diseño del Navegador de aplicaciones y su perspectiva predeterminada.
  • XPages excluye los elementos de diseño no necesarios para el desarrollo de XPages.
  • Formularios/vistas excluye elementos de diseño sólo necesarios para el desarrollo de XPages.

Para cambiar perspectivas, haga clic en Ventana > Abrir perspectiva.

Para ajustar el contenido de las perspectivas, vaya a Archivo > Preferencias > Domino Designer > Navegador de aplicaciones.

Puesto que las perspectivas de IBM Domino Designer están definidas por los convenios de Eclipse, puede mover, cambiar de tamaño, cerrar y abrir vistas. Para guardar la nueva organización como una nueva perspectiva con el nombre que elija, seleccione Ventana > Guardar perspectiva como en la barra de menús.

También puede navegar a través de vistas utilizando el atajo de teclado predeterminado de Eclipse Ctrl + F7 o haciendo clic en Ventana > Navegación en el menú principal de Eclipse.

Para visualizar una vista que esté oculta, haga clic en Ventana > Mostrar vistas de Eclipse en el menú principal de Eclipse y seleccione la vista oculta en la lista.

Elementos de diseño y el Navegador de aplicaciones

Los elementos de diseño disponibles se muestran en el navegador de aplicaciones.

De forma predeterminada, el navegador de aplicaciones está a la izquierda de la ventana. Cuando crea o abre una aplicación, sus elementos se muestran en el Navegador de aplicaciones.
  • Para crear una aplicación, haga clic en Archivo > Nuevo > Aplicación o haga clic con el botón derecho en el Navegador de aplicaciones y seleccione Nueva aplicación (Control-N).
  • Para abrir una aplicación existente, selecciónela en el Navegador de aplicaciones o, si no está ahí, haga clic en Archivo > Aplicación > Abrir y selecciónela.
  • Para ver los tipos de elementos de diseño y los grupos de elementos de diseño disponibles, amplíe una aplicación. Expanda un grupo para ver los tipos de elementos de diseño que hay en el grupo.
  • Para crear un elemento de diseño de un tipo seleccionado, utilice el menú o haga clic con el botón derecho. Cuando se crean elementos de diseño, se muestran debajo de su tipo. Para mostrar las listas de elementos de diseño en el editor, haga doble clic en el tipo de elemento. Los elementos de diseño pueden abrirse para su edición haciendo doble clic en el elemento.

En la tabla siguientes se describe cada elemento de diseño y se indica el tipo de aplicación en el que se suele utilizar.

Elemento de diseño Descripción
Formularios Ofrece la estructura para crear y visualizar documentos. Para las páginas XPage, puede utilizar un formulario como origen de datos.
Vistas Son listas de documentos clasificadas u ordenadas por categorías. Para el diseñador basado en formularios, las vistas son los puntos de entrada a los datos almacenados en una base de datos. Las vistas pueden incorporarse en páginas XPage.
Carpetas Son contenedores que se utilizan para almacenar documentos o grupos de documentos relacionados. Las carpetas tienen los mismos elementos de diseño que las vistas.
Páginas XPage Define los controles de texto y de interfaz de usuario (UI) con los que el usuario interacciona mientras usa una aplicación.
Controles personalizados Son colecciones de controles de UI que se almacenan como un único objeto.
Conjunto de marcos Son colecciones de marcos para añadir una estructura a la aplicación.
Páginas Son elementos de diseño de base de datos que muestran información.
Elementos compartidos - Subformularios Son colecciones de elementos de formulario que se almacenan como un único objeto.
Elementos compartidos - Campos Recopila datos. Los campos se crean en formularios, subformularios y regiones de diseño. Para las páginas XPage, debe enlazar controles con los campos.
Elementos compartidos - Columnas Muestran valores de campo y otra información sobre los documentos. Las columnas se crean en las carpetas y las vistas.
Elementos compartidos - Esquemas Ofrecen una estructura de organización para una aplicación y controlan cómo pueden mostrarse los elementos en un panel de navegación.
Elementos compartidos - Navegadores Son hojas de ruta gráfica que direccionan a los usuarios a partes específicas de una aplicación.
Código - Agentes configura una tarea de fondo o activada por el usuario en cualquier parte de una aplicación.
Código - Acciones compartidas Configura una tarea activada por el usuario en un formulario o una vista.
Código - Bibliotecas de script Contiene código LotusScript, Java, o JavaScript para incluirlo en elementos de programación de cliente o de servidor. Las bibliotecas JavaScript son para XPages.
Código - Script de base de datos Son elementos de programación activados para los sucesos a nivel de aplicación como, por ejemplo, para abrir o cerrar una aplicación.
Código - Proveedores de servicios web Son aplicaciones autocontenidas, autodescriptivas y modulares basadas en XML que se pueden publicar en la Web e invocar ser desde la misma. Un proveedor de servicios web es un servicio web alojado en un servidor de Domino para que se pueda invocar desde otros sistemas.
Código - Consumidores de servicios web Invoca servicios web en otros sistemas.
Código - Java

Crea un elemento Java Class, Interface o Enum con ámbito en el proyecto NSF (en Code/Java en la perspectiva Java). Se puede llamar directamente al código Java en XPages.

Código - Jars

Le ofrece la posibilidad de trabajar con bibliotecas o código Java empaquetados incluidos en el NSF de la aplicación. Le evita el tener que desplegar los JARS en un servidor y/o de incluir los archivos fuente únicamente en la base de datos de la aplicación. Este elemento sólo está disponible para aplicaciones XPage, donde JAR se carga automáticamente mediante el entorno de ejecución de XPages.

Datos - Conexiones de datos Son recursos que establecen un intercambio de datos entre una aplicación Domino y un origen de datos externo.
Datos - Vistas de acceso a DB2 Define una vista de DB2 de datos de Notes.
Recursos - Imágenes Se utiliza como gráfico o icono en páginas XPage, formularios, subformularios, botones de acción y entradas de esquemas, y como imágenes de fondo en formularios, documentos, páginas, celdas de tablas y botones de acción.
Recursos - Archivos Le permite compartir archivos no-NSF dentro de aplicaciones y entre las mismas.
Recursos - Applets Son programas Java autocontenidos que pueden ejecutarse en la aplicación Domino.
Recursos - Hojas de estilo Pueden crearse o importarse. De manera predeterminada, las páginas XPage y los controles de UI utilizan las hojas de estilo en cascada (CSS) que se proporcionan con Domino. Puede alterar temporalmente los valores predeterminados con estos recursos.
Recursos - Temas Son personalizaciones del servidor de generación HTML que se pueden utilizar para definir el aspecto de una aplicación. De forma predeterminada, los controles de páginas XPage e interfaz de usuario utilizan los temas que se han definido para el servidor. Ese tema global puede modificarse, para todas las aplicaciones, o puede sustituirse por un tema específico de una aplicación.
Recursos - Acerca del documento Describe la finalidad de una aplicación.
Recursos - Utilización del documento Ofrece instrucciones a los usuarios.
Recursos - Icono Ayuda a los usuarios a identificar la base de datos rápidamente en paneles de marcador y puede llevarse a la aplicación desde el editor de iconos.
Aplicaciones compuestas - Propiedades de conexión Le proporciona acceso a los archivos WSDL dentro de una aplicación compuesta.
Aplicaciones compuestas - Aplicaciones Proporcionan acceso a los archivos XML necesarios que contienen definiciones para la aplicación compuesta.
Aplicaciones compuestas - Componentes Se despliegan en aplicaciones compuestas si se basan en páginas XPage
Configuración de aplicación - Propiedades de aplicación Le permite establecer propiedades a nivel de aplicación.
Configuración de aplicación - Faces-config Ofrece acceso de edición a webcontent\web-inf\faces-config.xml. Es el archivo de configuración que se utiliza para configurar beans gestionados (entre otras cosas, como convertidores y validadores personalizados) en XPages.
Configuración de aplicación - Propiedades de Xsp Ofrece acceso de edición al archivo que contiene la colección de parámetros de infraestructura de XPages, denominado xsp.properties. Se utiliza a nivel de aplicación o de servidor para establecer y controlar valores de XPages en XPages de aplicación. Cada aplicación NFS de XPages contiene un archivo xsp.properties.

Como esta guía del usuario se centra en las páginas XPage y en las aplicaciones que utilizan páginas XPage, se explica en más detalle un subconjunto de los elementos de diseño que se utilizan en las aplicaciones de XPage. Puede encontrar documentación más detallada para los elementos de diseño "basados en formularios" y las aplicaciones "basadas en formularios" en la Guía y consulta del usuario básico de Domino Designer.

Selección y filtrado de tipos de elemento de diseño

Puede seleccionar y filtrar los tipos de elementos de diseño que desea visualizar en el navegador de aplicaciones, realizando sus selecciones en Preferencias > Domino Designer > Navegador de aplicaciones.

Seleccione los elementos con los que desee trabajar y que desee visualizar, seleccionando los elementos en el panel Preferencias. Al seleccionar la perspectiva en la lista del panel, también se establecen las selecciones y opciones de filtrado por separado para cada una de las tres perspectivas relacionadas: Domino Designer, XPages y Formularios/Vistas de Domino Designer.

Comparación de versiones de elementos de diseño

Puede comparar distintas versiones de elementos de diseño o de recursos, haciendo clic en un elemento específico y seleccionando el tipo de comparación en el menú de contexto. Cuando se realiza una comparación, los editores de comparación aparecen en el área del editor. Las diferencias entre versiones se resaltan en los editores de comparación, lo que le permite examinar y copiar cambios entre las versiones comparadas.

Puede realizar los siguientes tipos de comparación:
  • Comparar con > Historial local - compara el elemento o recurso seleccionado con el que está en el historial local, que se mantiene cuando se guardan los cambios.
  • Comparar con > Entre sí - compara dos o tres elementos o recursos seleccionados entre sí.

Editor de diseños

El editor de diseños es donde se editan las páginas XPage y otros elementos de diseño, así como donde se ven las listas de elementos de diseño.

La vista Propiedades muestra las propiedades de la selección actual en el editor. Por ejemplo, si está trabajando con un control de interfaz de usuario (UI) en una página XPage, cuando haga clic en dicho control de UI en el editor de páginas XPage, la vista Propiedades mostrará sus propiedades.

Puede realizar las siguientes tareas en el editor:

Tareas Suceso
Abrir un elemento de diseño o lista Seleccione el elemento de diseño o lista en el navegador de aplicaciones. Haga doble clic sobre él o haga clic en Archivo > Abrir.
Conmutar entre los elementos de diseño y listas abiertos Haga clic sobre la ficha del elemento de diseño o lista que desea ver.
Cerrar un elemento de diseño o lista Haga clic en el icono Cerrar (una X) en la ficha de lista o el elemento de diseño, o seleccione la ficha y haga clic en Archivo > Cerrar.
Cerrar todos los elementos de diseño y listas incluyendo el actual Haga clic en Archivo > Cerrar todo. También puede hacer clic con el botón derecho en una ficha y seleccionar Cerrar todo.
Maximizar el editor Haga clic sobre el icono Maximizar o haga doble clic sobre la ficha.
Restaurar el editor a su tamaño y ubicación original Haga clic sobre el icono Restaurar o haga doble clic sobre la ficha. Esta función sólo estará habilitada si ha maximizado el editor.
Cambiar el tamaño del editor con las teclas de flechas Haga clic con el botón derecho en la ficha y seleccione Tamaño y, después, Izquierda, Derecha, Superior o Inferior para resaltar uno de los bordes del editor. Pulse la tecla de flecha correspondiente para expandir o contraer el editor.

Editor de origen

Utilice el editor de origen para editar directamente el código fuente de XPages.

Cuando esté editando una XPage, puede utilizar la ficha Origen para editar directamente el código fuente de XPages. Esto puede resultar muy útil si está familiarizado con el lenguaje XPages.

Puede realizar las siguientes tareas en el editor:

Tareas Acción
Utilizar ayuda de contenido al codificar.

Pulse CONTROL+ESPACIO para invocar las funciones de ayuda de contenido cuando codifique. Esto también funciona para SSJS (Server Side JavaScript) incorporado en la XPage.

La ayuda de contenido como función del editor de origen de XPages se controla mediante el uso de un esquema. Domino Designer crea de forma dinámica un esquema en función de la aplicación Notes actual. El esquema contiene información de ayuda sobre cada atributo de cada etiqueta como parte del entorno de ejecución de XPages.

Utilizar navegación de hiperenlaces al codificar.

La navegación de hiperenlaces describe funciones genéricas de Eclipse en las que el texto de un editor se puede convertir en un hiperenlace. Pulse CONTROL al mover el puntero del ratón sobre cualquier texto o enlace (incluido un nombre de control personalizado) para ir directamente a dicha ubicación de enlace o elemento de diseño. Eclipse notifica al editor que el usuario está utilizando la navegación de hiperenlaces.

Por ejemplo, utilice esta función cuando edite controles personalizados. Si pulsa la tecla CONTROL y mueve el puntero del ratón sobre un control personalizado en el editor de origen, la navegación de hiperenlaces le permite ir directamente al control personalizado.

Utilizar ayuda contextual al codificar.

Para utilizar esta función, mueva el puntero del cursor sobre un determinado 'nodo' para obtener más información sobre el mismo. De forma similar a la navegación de hiperenlace (consulte arriba), la infraestructura del editor de Eclipse puede ofrecer una descripción de la etiqueta actual (y del atributo).

Todas las etiquetas y atributos que proporcionan una descripción de sí mismos mediante xsp-config pueden hacer que dicha información resulte visible en la función de ayuda contextual en el editor de origen de XPages.

Puede controlar el comportamiento de esta función desde la ficha Preferencias de Domino Designer. Esta función está activada de forma predeterminada, con un tiempo de espera excedido de 500 milisegundos asociado a la preferencia. Es decir, cuando el cursor ha estado 'descansando' durante más de 500 ms (milisegundos), la infraestructura del editor de Eclipse invoca la función de ayuda contextual del editor de origen de XPages.

Invocar el sistema de ayuda del producto Pulse F1 para abrir ayuda contextual.
Realizar otras tareas de edición. Haga clic con el botón derecho en la página del editor de origen para ver un menú de otras acciones que puede realizar mientras esté en el editor.
Maximizar el editor Haga clic sobre el icono Maximizar o haga doble clic sobre la ficha.
Restaurar el editor a su tamaño y ubicación original Haga clic sobre el icono Restaurar o haga doble clic sobre la ficha. Esta función sólo estará habilitada si ha maximizado el editor.
Cambiar el tamaño del editor con las teclas de flechas Haga clic con el botón derecho en la ficha y seleccione Tamaño y, después, Izquierda, Derecha, Superior o Inferior para resaltar uno de los bordes del editor. Pulse la tecla de flecha correspondiente para expandir o contraer el editor.

Paletas y vistas

Las paletas y las vistas proporcionan las herramientas para trabajar con los elementos de diseño.

Paletas

Las paletas le permiten trabajar con controles y fuentes de datos. Las siguientes paletas están disponibles:

Paleta Controles
Contiene controles de la UI y controles personalizados que sirven para diseñar el aspecto de las páginas XPage y para determinar cómo se introducen y almacenan los datos en la base de datos. Puede arrastrar y soltar los controles desde la paleta en las páginas XPage.

Esta paleta sólo está activa cuando lo está el editor de páginas XPage; por ejemplo, si está editando una página XPage o un control personalizado. La paleta contiene cajones de controles de la UI: Controles principales y Controles de contenedor. También contiene un cajón para controles personalizados, si ha añadido alguno a la aplicación actual de IBM Domino Designer.

Un cajón es un panel incorporado que le permite desplazarse por las opciones utilizando la flechas Arriba y Abajo que hay al principio y al final de cada cajón.

También puede hacer lo siguiente con la paleta y sus cajones:
  • Si desea ocultar la paleta, ciérrela.
  • Para modificar las propiedades de la paleta, haga clic con el botón derecho y haga una selección.
  • Para expandir o contraer un cajón, púlselo.
Paleta Datos
Le permite ver los orígenes de datos asociados a la página XPage seleccionada o al control que haya seleccionado en el editor de páginas XPage. Para ver la paleta de datos, haga clic en Ventana > Mostrar vistas de Eclipse > Paleta de datos.

Tenga en cuenta la siguiente información, limitaciones y directrices cuando arrastre y suelte desde las paletas Control y Datos:

  • Puede añadir controles a todos los controles de contenedor, excepto a los paneles de vista.
  • Excepto para el control de vínculo, no puede añadir un control a un control principal. Esto se debe a que un control de vínculo puede tener hijos, por lo que actúa como un control de contenedor en este caso. Si intenta añadir un control a un control principal, el nuevo control se añade a la página que hay encima del control existente.
  • En la ficha Origen, puede hacer que un control sea el primer o el último hijo de un control de contenedor. Para ello, arrástrelo a la etiqueta inicial o final del contenedor, o haga doble clic y utilice el menú Crear con la etiqueta inicial o final activada.
  • Sólo puede añadir controles a las celdas de una tabla, no a las filas ni al propio contenedor de la tabla.
  • Puede añadir controles a una columna de una tabla de datos. Cuando haya creado controles en la ficha Origen, puede añadir controles de contenedor definidos como la cabecera o el pie de página de la tabla de datos (o columna de tabla de datos). Para definir un control como la cabecera o el pie de página, añádalo a un elemento xp:this.facets en la columna o la tabla de datos.
  • Sólo puede añadir controles a las fichas de un panel con fichas, no al propio panel.
  • Si arrastra un control a la etiqueta final de un panel con fichas en la ficha Origen, o hace doble clic o utiliza el menú Crear en la etiqueta final, el control se añadirá a la última ficha del panel con fichas.
  • Sólo puede añadir un control a un control personalizado que se ha añadido a una página XPage si hay un área editable definida para el control personalizado. Si el área editable tiene un nombre de faceta, sólo podrá añadir un control; si elimina el nombre de faceta, podrá añadir varios controles.
  • No puede añadir un control a un control personalizado anidado con otro control personalizado.
  • Cuando arrastra orígenes de datos de la paleta de datos a una página, puede reordenar los orígenes antes de que se inserten en la página. En la parte superior de la paleta de datos, haga clic en el icono Seleccionar controles y luego seleccione Seleccionar controles enlazados con datos. Utilice las teclas de flecha para arrastrar los orígenes de datos a la página.

Puede crear perfiles de la paleta de control que permiten seleccionar los controles que aparecerán y en el orden en que lo harán en la paleta de control. Puede crear varios perfiles de paleta, con diseños de paleta de control diferentes intercambiables. Para acceder a los valores de perfiles de paleta, vaya a Archivo-Preferencias-Domino Designer-Paleta. La lista siguiente proporciona información adicional sobre cómo utilizar los perfiles de la paleta de control:

  • De forma predeterminada, se crea un perfil inicial denominado Profile1. Se trata del perfil que contiene el estado actual de la paleta cuando el diseñador la inició por vez primera. Si ha modificado la paleta mediante la antigua página de Preferencias de paleta de diseñador, dichos cambios se reflejarán en Profile1. Puede cambiar el nombre y suprimir Profile1 en la interfaz de usuario de perfiles de la paleta.
  • La interfaz de usuario tiene una lista de perfiles y un árbol que muestra los cajones de controles y los controles de dichos cajones. El árbol muestra el diseño de la paleta del perfil seleccionado en la lista de perfiles. Puede marcar los controles/cajones que desee ver en la paleta y desmarcar los que no desee ver. También puede mover controles individuales en su cajón padre pero no puede eliminar controles entre cajones.
  • También puede reordenar los cajones. La reordenación de los cajones de los controles, sin embargo, no es compatible con la paleta Controles para este release. Los controles personalizados no se mostrarán nunca en el árbol y siempre aparecerán en la paleta de controles.
  • A hacer clic en Nuevo para crear un perfil nuevo, el nuevo diseño de paleta de perfiles se basará en el perfil seleccionado actualmente en la lista de perfiles. De forma predeterminada, el perfil activo se seleccionará en la lista de perfiles. Para conmutar perfiles, basta con que seleccione el perfil que desea activar y pulse "Aplicar" o "Aceptar".
  • Para restaurar el archivo seleccionado en el perfil predeterminado, haga clic en Restaurar valores predeterminados. Al restaurar el perfil predeterminado no se suprimen los perfiles que crea.
  • Si suprime todos los perfiles de la lista de perfiles, Profile1 volverá a crearse, con un diseño de paleta que coincida con el diseño predeterminado.

Vistas

Las vistas son panales de Eclipse que le permiten mirar y trabajar con diversos aspectos de la aplicación. Las siguientes vistas están disponibles:

Vista Sucesos
Le permite crear sucesos para páginas XPage y controles. Puede utilizar la vista Sucesos para adjuntar acciones simples o scripts a determinados sucesos. Los sucesos se organizan en categorías para facilitar su acceso.

Cuando escriba scripts, puede crear sucesos del lado del servidor o del lado del cliente. Puede especificar opciones para actualizar páginas XPage después de que se produzcan los sucesos, incluidas las actualizaciones parciales de los elementos de páginas XPage basados en tecnología asíncrona JavaScript y XML (AJAX).

Cuando escriba acciones simples, puede escribir acciones que realicen una actividad preprogramada que puede modificarse mediante argumentos. También es posible crear grupos de acciones simples.

Vista General
Proporciona una representación jerárquica del código fuente XML en las páginas XPage. Puede hacer clic sobre los nodos individuales en la vista General para navegar por la página XPage y actualizar las propiedades en la vista Propiedades. También puede arrastrar y soltar elementos para reordenar secciones y cambiar el orden de los elementos.
Vista Problemas
Muestra errores, avisos y otra información de los recursos de IBM Domino Designer. Estos mensajes se generan cuando se crea el espacio de trabajo de Eclipse. Por ejemplo, si guarda una XPage que contiene errores de sintaxis, la vista Problemas mostrará dichos errores.
Vista Propiedades
Le permite establecer las propiedades de las páginas XPage y de los controles. La vista Propiedades interactúa con el editor que está actualmente abierto. Por ejemplo, si está diseñando una página XPage y mueve el foco a un control de la UI determinado en la página, las propiedades de dicho control de la UI pasan a estar disponibles en la vista Propiedades.

La vista Propiedades se encuentra en la parte inferior de la ventana de IBM Domino Designer y contiene fichas individuales en las que se puede pulsar para ver un conjunto de opciones. Ya que cada página XPage y control de la UI contiene su propio conjunto de propiedades, las fichas y opciones dentro de dichas fichas cambiarán de acuerdo con lo que esté seleccionado en la actualidad. Por ejemplo, cuando se visualice una lista de páginas XPage, si pulsa sobre el nombre de una página individual, la vista Propiedades muestra información general acerca de la misma, como su nombre, autor y fecha en que fue creada. Si efectúa una doble pulsación en el nombre de una página XPage, esta página se abrirá en la modalidad de edición del editor de páginas XPage de IBM Domino Designer XPages y se mostrará un nuevo conjunto de fichas en la vista Propiedades. Estas fichas cambian dependiendo de lo que está seleccionado en el editor, por ejemplo, toda la página XPage o un control de la UI individual.

La vista se puede minimizar, maximizar y restaurar con los botones de la barra de título Propiedades. Puede efectuar una pulsación en la ficha Propiedades con el botón derecho para realizar las tareas siguientes:
  • ocultar la vista
  • minimizar y maximizar la vista
  • desconectar la vista como una ventana independiente
  • restaurar una vista minimizada o maximizada

Cómo obtener información

El recurso inmediato para obtener información es el sistema de ayuda instalado. Otros recursos incluyen un centro de información, una wiki de Domino Designer y artículos sobre diversos sitios web.

Para acceder a la ayuda de Domino Designer o Notes, haga clic en Ayuda > Contenido de la ayuda. El acceso más sencillo normalmente es realizar búsquedas. A continuación, se proporcionan algunas sugerencias:
  • Escriba palabras completas. No distingue entre mayúsculas y minúsculas, pero las palabras deben estar completas. Por ejemplo, si busca el método createFTIndex, puede escribir createftindex, pero createftinde fallará.
  • Los resultados de la búsqueda pueden mostrar títulos duplicados o similares, especialmente para los temas de consulta. Cuando coloque el cursor sobre un título, aparecerá una ventana emergente indicando el nombre del manual. Esta información también aparece en la línea de estado.
  • Si utiliza una parte de la ayuda con frecuencia, debe establecer un ámbito de búsqueda para ella. Consulte la tarea referenciada.
Si hace clic en F1, se muestra un sistema de ayuda complementario en el panel derecho. Parte de este material tiene naturaleza de resumen. Puede navegar a la documentación completa utilizando los vínculos o haciendo clic en Buscar o Todos los temas en la parte inferior de la página.

La misma ayuda que se instala con el producto está disponible en el centro de información de Notes Domino en http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp.

Vaya al wiki de Domino Designer en http://www.lotus.com/ldd/ddwiki.nsf para ver los artículos, los foros e información adicional. Puede suscribirse a este wiki.

Utilice Google u otro producto web para ampliar la búsqueda más allá de la ayuda. Preceda la consulta de búsqueda con domino designer. Por ejemplo, para obtener información sobre el método createFTIndex, puede escribir domino designer createftindex como consulta de búsqueda.

Para ver una introducción práctica a las páginas XPage, utilice la guía de aprendizaje de esta ayuda. La guía de aprendizaje utiliza la plantilla avanzada denominada Demostración del buscador de sitios.

Establecimiento de un ámbito de búsqueda

Un ámbito de búsqueda limita los temas de ayuda en los que se realizan búsquedas.

Acerca de esta tarea

De forma predeterminada, una búsqueda se aplica a todos los temas de la ayuda. Siga estos pasos para crear un ámbito con nombre que limite una búsqueda a los temas especificados.

Procedimiento

  1. En la ventana de búsqueda, haga clic en Ámbito de búsqueda.
  2. En el diálogo Seleccionar ámbito de búsqueda, seleccione Buscar sólo en los temas siguientes y haga clic en Nuevo.
  3. En el diálogo Nueva lista de búsqueda, especifique un nombre para la búsqueda.
  4. Compruebe las partes de la ayuda en las que desee realizar la búsqueda. Puede consultar los temas en el nivel inicial y un nivel inferior.
  5. Haga clic en Aceptar para guardar el ámbito y cerrar el diálogo Nueva lista de búsqueda.

    El nuevo ámbito aparecerá en la lista de ámbitos cuando se seleccione Buscar sólo en los temas siguientes.

    Puede crear otro ámbito.

    Puede editar o eliminar un ámbito seleccionado.

  6. Haga clic en Aceptar para cerrar el diálogo Seleccionar ámbito de búsqueda.
  7. El ámbito que se aplica aparece al lado de Ámbito de búsqueda. Para cambiar el ámbito:
    1. Haga clic en Ámbito de búsqueda para abrir el diálogo Seleccionar ámbito de búsqueda.
    2. Seleccione Buscar sólo en los temas siguientes y, a continuación, seleccione un ámbito o seleccione Buscar en todos los temas.
    3. Haga clic en Aceptar.

Ejemplo

Por ejemplo, para crear un ámbito de búsqueda sólo para los temas de Domino Designer: en el diálogo Nueva lista de búsqueda, denomine al ámbito Designer y consulte todos los temas de nivel superior que empiecen por Lotus Domino Designer.

Accesibilidad y atajos de teclado

IBM Domino Designer es accesible para las personas con discapacidades físicas. Aquellos que tengan movilidad reducida o visión limitada pueden utilizar los atajos de teclado especiales como ayuda.

Estos atajos de teclado permiten navegar y realizar distintas tareas en Designer. Para obtener más información, consulte la sección sobre "Accesibilidad y atajos del teclado" de la Guía y consulta del usuario básico de Domino Designer en el sistema de ayuda del producto. En ella encontrará una amplia variedad de temas sobre los atajos de teclado relacionados con las tareas.

Encontrará una edición accesible de la ayuda completa del producto en el Information Center de IBM Notes y Domino en http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp.

También puede encontrar información adicional en el tema "Personalización de Notes para la accesibilidad" en la ayuda de Notes. Si no se instala la ayuda, también puede ir a la Biblioteca de documentación de IBM Developer Domain en http://www.lotus.com/ldd/doc para descargar o ver la ayuda de Notes.

Por último, puede visitar el sitio web de Necesidades especiales de IBM en http://www.ibm.com/able.

Guías de aprendizaje

Esta sección contiene guías de aprendizaje e información sobre las guías de aprendizaje.

La guía de aprendizaje que está disponible actualmente en esta sección es la guía de aprendizaje de XPages Site Finder. Consulte el resto de los temas de esta sección para obtener más información.

Guía de aprendizaje del buscador de sitios de páginas XPage

En esta guía de aprendizaje se muestra la facilidad con que se puede crear una aplicación web en IBM Domino Designer con elementos de páginas XPage. En esta guía, creará y previsualizará tres páginas XPage. Colocará controles sobre las páginas XPage para acceder a datos y visualizarlos, navegar a otras páginas, renovar la misma página y realizar otras acciones. Incluso utilizará JavaScript.

Le resultará de utilidad estar familiarizado con Domino Designer y los elementos de diseño tradicionales, pero no es imprescindible. Se han cargado previamente unos cuantos gráficos y elementos de diseño que están fuera del ámbito de lo que se está aprendiendo. Para aquellos usuarios que utilicen Eclipse por primera vez, Navegación en Domino Designer proporciona una buena introducción.

La aplicación de demostración, denominada Demostración del buscador de sitios, es una plantilla avanzada que se suministra con Domino Designer. Es como la herramienta que ofrecen muchos sitios web para buscar una ubicación cercana. Se envía un código postal o una dirección y el servidor devuelve las ubicaciones coincidentes. En esta guía de aprendizaje, desarrollará la página web para realizar el envío y otras páginas para crear y editar los documentos del sitio.

Para una mayor simplicidad, el acceso no está restringido. Cualquier persona puede crear y editar documentos. Este acceso le permite generar una vista previa de las funciones de XPage sin necesidad de configurar un servidor. En las aplicaciones reales, deberá restringir el acceso, lo que puede hacerse fácilmente con la lista de control de accesos (ACL). Desde el menú, haga clic en Archivo > Aplicación > Control de accesos.

El mecanismo de búsqueda de la aplicación de demostración es sencillo, se basa únicamente en las coincidencias exactas. En una aplicación real, necesitará un mecanismo más sofisticado.

Esta documentación hace referencia a los siguientes productos: IBM Domino, IBM Domino Designer, IBM Notes, IBM iNotes, y IBM Notes Traveler.

Objetivos de aprendizaje

  • Configuración y visualización de una aplicación que contenga los elementos de las páginas XPage
  • Creación de una página XPage
  • Adición de controles a una página XPage
  • Vínculo de datos con una página XPage
  • Adición de navegación a una página XPage
  • Creación de un control personalizado
  • Utilización de enlaces y scripts avanzados

Tiempo necesario

Esta guía de aprendizaje tiene una duración aproximada de 90 minutos.

Configuración de la aplicación de ejemplo

En esta guía de aprendizaje, creará tres páginas XPage llamadas Sitio, BuscadorSitios y ListaSitios. La primera vez que abra la aplicación de ejemplo, verá páginas XPage con nombres similares. Tres de ellas son soluciones finales y se denominan SitioFinal, BuscadorSitiosFinal y ListaSitiosFinal. Dos de ellas son soluciones intermedias y se denominan Sitio1 y ListaSitios1.

Inicie IBM Domino Designer y siga estos pasos:
  1. En el menú, haga clic en Archivo > Aplicación > Nueva (Control+N).
  2. En la ventana Nueva aplicación, efectúe estos pasos:
    1. Deje la selección del servidor como Local.
    2. Escriba un título como, por ejemplo, Demostración del buscador de sitios.
    3. Acepte o modifique el nombre de archivo como, por ejemplo,DemoBuscadorSitios.nsf.
    4. Opcional: Haga clic en Codificación. Seleccione No cifrar esta base de datos localmente y haga clic en Aceptar.

      Este paso permite que otros usuarios de Notes accedan a la aplicación localmente, por ejemplo, si se la envía a alguien por correo electrónico. En general, debería cifrar las aplicaciones reales para mayor protección. El cifrado local no impide que la aplicación pueda compartirse colocando una réplica en un servidor.

    5. Seleccione Crear un índice de texto completo para la búsqueda. Lo necesitará más adelante.
    6. Deje la selección del servidor de plantillas como Local.
    7. Seleccione Mostrar plantillas avanzadas.
    8. En la lista de plantillas, seleccione Demostración del buscador de sitios.
    9. Anule la selección de Heredar cambios de diseño futuros.
    Este es el aspecto que debería tener la ventana Nueva aplicación.

    Ventana Nueva aplicación

  3. Haga clic en Aceptar.

    Domino Designer crea la nueva aplicación y sus elementos se muestran bajo Aplicaciones, en la parte izquierda de la pantalla. Expanda los elementos para explorar el diseño de esta aplicación.

  4. Expanda Código y haga doble clic en Agentes. En la lista de agentes, haga clic con el botón derecho del ratón en Crear datos de ejemplo y seleccione Ejecutar.

    Este agente crea varios registros de ejemplo que se utilizarán para probar la aplicación. Responda a los recuadros de diálogo que aparezcan. Haga clic en la X en la esquina para cerrar el panel que contiene la lista de agentes.

  5. Expanda Páginas XPage y haga doble clic en BuscadorSitiosFinal (la solución final para BuscadorSitios).
  6. Haga clic en Diseño > Vista previa en el navegador de Web > Navegador de Web predeterminado del sistema o seleccione un navegador específico en la lista.

    Un mini servidor web que se ejecuta en el sistema abre un navegador, genera HTML para la página XPage y envía la página al navegador utilizando hostlocal como nombre de servidor.

    Si el sistema no está configurado para utilizar hostlocal, el URL de vista previa fallará. Abra un navegador y utilice 127.0.0.1 o la dirección IP real del sistema en el URL como, por ejemplo, http://127.0.0.1/SiteFinderDemo.nsf/SiteFinderFinal.xsp.

  7. Especifique un valor en el campo Código postal (por ejemplo, 02108) y haga clic en Buscar.

    Este paso envía la página al servidor. El servidor procesa la información de la página y envía otra página al cliente.

  8. Cierre el navegador cuando haya terminado.
  9. En Domino Designer, pulse la X de la ficha para cerrar el elemento de la página XPage.

    El aspecto varía. Si un panel tiene más de una ficha, verá una X en una ficha. Si un panel solo tiene una ficha, se mostrará como una ventana con una X en la esquina.

Explore la aplicación con total libertad previsualizando las páginas XPage cuyo nombre incluya la palabra Final. Se trata de la versión final de lo que está diseñando a medida que avanza en esta guía de aprendizaje.

Creación de una página XPage

En esta lección aprenderá a crear una página XPage básica.

En esta lección se utilizan un formulario y una vista, aunque no se explica cómo se crean. El formulario Sitio contiene los campos para almacenar la información sobre los sitios y los criterios de búsqueda y la vista ListaSitios se utiliza para visualizar la lista de los sitios y los resultados de las búsquedas. Écheles un vistazo rápido. Si desea ver documentación sobre los formularios y las vistas, consulte la Guía y consulta del usuario básico de Domino Designer en la ayuda.
  • Las páginas XPage utilizan los formularios para definir qué datos se almacenan en un documento y no cómo se visualizan. Esta definición es como el uso de campos ocultos en formularios de visualización para organizar y calcular datos. El formulario Sitio contiene campos de datos para la creación de documentos y texto explicativo. Los usuarios no los pueden ver, así que su diseño no tiene importancia.
  • Las páginas XPage utilizan las vistas para definir colecciones de documentos y su orden. De forma muy parecida a la que una vista podría utilizarse puramente para indexar ciertos datos para su tratamiento de forma programática, la vista ListaSitios sirve como índice para los documentos de datos. Muestra el contenido de todos los documentos clasificados por el nombre del sitio. Las vistas constituyen una forma eficaz de organizar los documentos, por lo que es habitual tener varias vistas que muestren diferentes subconjuntos y órdenes de clasificación.

Asegúrese de que la aplicación esté expandida y siga estos pasos:

  1. Haga doble clic en Páginas XPage.

    Esta acción abre una lista de elementos de páginas XPage en el panel central.

  2. Haga clic en Nueva XPage.
  3. Asigne a la nueva página XPage el nombre ListaSitios. (La extensión .xsp se añade automáticamente.)

    Es posible utilizar espacios en el nombre, pero los nombres suelen ser más claros si no lo hace.

  4. Haga clic en Aceptar. Se crea un elemento de diseño de página XPage en el panel central.
  5. Coloque los gráficos de cabecera en la página:
    1. En Controles principales, seleccione y arrastre Imagen hasta la página XPage. Se abrirá la ventana Seleccionar imagen.
    2. Seleccione xpTitlebarLeft_ren.gif.

      La ventana Seleccionar imagen tiene el aspecto que se muestra en esta captura de pantalla.

      Ventana Seleccionar imagen

    3. Haga clic en Aceptar.

    Las imágenes que se muestran en la captura de pantalla se cargaron previamente. Cada una de las imágenes de la lista es un recurso de la base de datos actual. El botón Añadir permite importar imágenes adicionales (y existen otras formas de importar imágenes).

    Cuando haga clic en Aceptar, la imagen debería mostrarse como una cabecera.

  6. Pulse en el espacio vacío a la derecha de la imagen de cabecera o pulse la flecha Derecha para ir a esa dirección. Es posible que deba desplazarse hacia esta dirección si el espacio no está visible. Pulse Intro para que el cursor vaya a la línea siguiente.
  7. Escriba texto para la cabecera:
    1. En la página XPage, haga clic en la línea vacía situada bajo de la cabecera.
    2. Escriba Lista de sitios y pulse Intro.
    3. Resalte la línea de texto.
    4. En el panel inferior, haga clic en Fuente y cambie las fuentes de la forma que desee como, por ejemplo, a negrita 14 azul.
    Más adelante, añadirá una hoja de estilo y la aplicará a este texto como alternativa para el formato del control.
El diseño de la página XPage es similar a que se muestra en esta captura de pantalla:

Página XPage ListaSitios

Es posible que los desarrolladores web con experiencia deseen utilizar elementos que estructuren el documento como, por ejemplo, H1 y H2. La interfaz de usuario de diseño no da soporte a esta estructura, pero la interfaz de usuario de origen le permite escribir XML si así lo desea. Haga clic en la ficha Origen para ver y editar la página como XML. Haga clic en la ficha Diseño para volver a la guía de aprendizaje.

Adición de un control de vistas

Un control de vistas de página XPage se utiliza para visualizar información de una vista definida. El control que creará en esta lección le permitirá visualizar los datos de la vista ListaSitios.

Asegúrese de que la página XPage ListaSitios esté abierta en el panel central y siga estos pasos:
  1. En Controles de contenedor, seleccione y arrastre Vista hasta la página XPage.
  2. En la ventana Seleccionar origen de datos para la vista:
    1. Deje Mostrar datos de definido en Vista de Domino.
    2. Deje Aplicación definido en Actual.

      Puede seleccionar cualquier aplicación de Domino, pero el control de vistas no funcionará a menos que dicha aplicación esté disponible en el servidor en tiempo de ejecución.

    3. En la lista desplegable Vista, seleccione ListaSitios.
    4. Acepte vista1 como el nombre del origen de datos.

      Este nombre se puede utilizar en el código JavaScript del lado del servidor.

    5. En la lista de columnas situada al final, no anule la selección de NombreSitio, Dirección, Ciudad y TipoSitio.

    La ventana tiene el aspecto que se muestra en esta captura de pantalla.

    Ventana Seleccionar origen de datos para la vista

  3. Haga clic en Aceptar.

    Aparecerá una tabla que representa a la vista. Las cuatro columnas representan las columnas de vista; y las dos vistas, los títulos y el contenido de las columnas. La primera fila contiene un control de paginador que permite al usuario desplazarse por los datos de la vista.

  4. Ajuste el control de vistas:
    1. Para cambiar el tamaño de las columnas, seleccione las dos filas en una columna (haga clic en la celda de la primera fila y manteniendo pulsada la tecla Mayús mientras hace clic en la segunda celda, y arrastre un manejador sobre cada una de las celdas).
    2. Seleccione toda la fila de cabecera hace clic en la primera celda y, con la tecla Mayús pulsada, haciendo clic en las demás celdas de la fila. Pulse Control+B o utilice las propiedad de fuente para aplicar la negrita a estas celdas.
  5. Para que los usuarios abran un documento haciendo clic en la primera columna del control de vistas:
    1. Haga clic en el interior de la celda izquierda que hay al final (SiteName).
    2. En la ficha Propiedades del panel inferior, haga clic en Mostrar.
    3. Seleccione Mostrar los valores de esta columna como vínculos.

    La página tiene el aspecto que se muestra en esta captura de pantalla.

    Página XPage ListaSitios con control de vistas

  6. Vincule el control de vistas con la página de edición.
    1. Pulse en el control de vista para activar toda la vista.
    2. En la ficha Propiedades del panel inferior, haga clic en Vista.
    3. En la lista desplegable En el momento de la ejecución, abrir el documento seleccionado utilizando que hay al final, seleccione Site1.
  7. Guarde y previsualice la página.
    1. Haga clic en la XPage real para que se active la propia página.

      Otra forma de hacerlo consiste en pulsar Esquema > Documento raíz > Página XPage en el panel lateral. Esta acción coloca el foco en la página propiamente dicha. Para activar elementos de diseño específicos de esta página, haga clic en el elemento correspondiente en el esquema.

    2. Pulse Control+S para guardar la página.
    3. Haga clic en Diseño > Vista previa en el navegador de Web > Navegador de Web predeterminado del sistema o el navegador que desee. Haga clic en un documento de la lista. Se abrirá con la página XPage Sitio. Puede realizar cambios en el documento desde esta ventana; haga clic en Enviar para guardarlos. Al enviar la página, el usuario no sale de la página y puede seguir editando y guardando el mismo documento.
      Existen varios métodos para guardar los cambios y renovar el navegador:
      • El botón Enviar que se utiliza en esta guía de aprendizaje actualiza los orígenes de datos y la página.
      • El botón Botón le permite adjuntar acciones simples o JavaScript a un suceso onclick. Utilice este suceso para actualizar los orígenes de datos y redireccionar el usuario a otra página.
      • Los sucesos de página le permiten adjuntar acciones simples o JavaScript a un suceso postSaveDocument. Puede poner un botón Enviar en la página y, en el suceso postSaveDocument, redirigir a los usuarios a otra página.

      Su página XPage es similar a ListaSitios1; puede abrir esta página para compararlas.

  8. Cierre el navegador.

Creación de una página XPage para su edición

Los formularios también pueden utilizarse para diseñar páginas Web pero las páginas XPage permiten más opciones de la UI y mayor control sobre el aspecto con menor esfuerzo. Resulta útil contar también con un formulario para proporcionar una lista de los campos para enlazar los datos. Además, el formulario puede utilizarse para calcular los campos calculados utilizando fórmulas en los campos en vez de colocar el código en la página XPage.

En esta lección, aprenderá a añadir texto a una página, a añadir controles a una página, a ajustar el aspecto de una página con hojas de estilo y a enlazar orígenes de datos con una página. Hay muchos pasos, pero debe realizarlos de uno en uno.

Realice lo siguiente:

  1. Al principio de la lista de XPages, haga clic en Página XPage nueva. Como alternativa puede hacer clic con el botón derecho del ratón en Páginas XPage > Página XPage nueva.
  2. Denomine la página XPage nueva Sitio y haga clic en Aceptar. No es necesario que el nombre de la página XPage y el formulario sea el mismo, pero es conveniente. Si tienen el mismo nombre, se permiten determinados comportamientos automáticos que no se especifican en esta guía de aprendizaje.
  3. Añada una hoja de estilo a la página de la forma siguiente:
    1. En el panel final, haga clic en Estilo.
    2. Desplácese hasta el final y haga clic en Añadir hoja de estilo a página
    3. En el recuadro Añadir hoja de estilo a página, seleccione styles.css.
    4. Haga clic en Aceptar.
    Estos archivos CSS son elementos de diseño de la hoja de estilo incluidos en la aplicación de ejemplo.
  4. Añada un título para la página y proporciónele un estilo de la forma siguiente:
    1. En la página XPage, escriba un título para la página como, por ejemplo, Descripción del sitio y pulse Intro.
    2. Resalte el texto.
    3. En el último panel, haga clic en Estilo si todavía no está allí.
    4. En la lista bajo styles.css, haga clic en .title.
    El aspecto del texto cambiará para adecuarse al estilo seleccionado.
  5. Asocie (enlace) la página XPage con el almacén de datos en segundo plano de Domino, tal como se indica a continuación:
    1. Haga clic fuera del texto en la página XPage para que se active la página propiamente dicha.
    2. En el panel de la parte inferior bajo Propiedades, haga clic en Datos.
    3. Haga clic en Añadir y seleccione Documento de Domino.

      Aparece un origen de datos denominado documento1.

    4. En el lateral del panel, busque Formulario y seleccione Sitio en la lista desplegable.

      Esto asocia la página XPage con las definiciones de datos del formulario Sitio.

  6. Configure la paleta de datos de la forma siguiente:
    1. En la parte inferior del panel, haga clic en el enlace Paleta de datos. Aparece la ficha Datos en el panel lateral. La ficha Datos también se muestra al hacer clic en Ventana > Mostrar vistas de Eclipse > Datos.
    2. En la ficha Datos, seleccione documento1 para Origen de datos. Es posible que deba activar la página XPage antes de que el origen de datos nuevo aparezca en la paleta de datos.

      El nombre de los campos y el tipo de los orígenes de datos aparecen bajo el nombre del origen de datos.

    3. En la esquina superior izquierda de la ficha Datos, haga clic en el icono del Recuadro de diálogo Seleccionar Controles para habilitarlo.

      El icono del Recuadro de diálogo Seleccionar controles presenta un aspecto similar al siguiente:

  7. Seleccione y arrastre todos los campos desde la paleta de datos hasta la página XPage que hay bajo del título.

    Se abre el recuadro de diálogo Seleccionar controles enlazados con datos.

  8. Rellene el recuadro de diálogo de la forma siguiente:
    1. Deje marcados todos las casillas de verificación para indicar que desea incluir los campos.
    2. Deje todo el texto de etiqueta tal cual.
    3. Cambie el tipo de control de Tipo de sitio por Recuadro combinado seleccionándolo y utilizando el menú desplegable.
    4. Cambie el tipo de control de Atractivos por Recuadro de lista
    5. Cambie el tipo de control de Direcciones por Recuadro de edición multilínea
    6. Seleccione Añadir botón Enviar a código generado.
    7. Seleccione Añadir control de mensajes a código generado.

    El recuadro de diálogo debería ofrecer un aspecto similar al siguiente.

    Recuadro de diálogo Seleccionar controles enlazados con datos

  9. Haga clic en Aceptar.

    De esta forma, se crea una tabla de dos columnas con etiquetas en la primera columna y controles en la segunda columna. La segunda columna también tiene un área para mostrar errores de validación y un botón Enviar.

  10. Active el campo TipoSitio y ajústelo de la forma siguiente:
    1. Haga clic en Datos bajo Propiedades en el panel final y escriba Oficina como valor predeterminado.
    2. Para añadir otras opciones para los tipos de sitios, haga clic en Valores después de Propiedades. Haga clic en Añadir elemento tres veces. Seleccione y cambie las etiquetas para cada elemento de Sin título a Oficina, Ventas al por menor, y Restaurante.

      No es necesario escribir nada para Valores a menos que el valor almacenado sea distinto del valor de visualización, lo que no es el caso aquí.

  11. Active el campo Atractivos y ajústelo de la forma siguiente:
    1. Haga clic en Recuadro de lista bajo Propiedades en el panel final y marque Permitir varias selecciones
    2. Haga clic en Valores bajo Propiedades. Haga clic en Añadir elemento cuatro veces. Seleccione y cambie las etiquetas de cada uno de los elementos de Sin título a Cafetería, Centro de fitness, Centro de visitantes y Centro de reuniones ejecutivas.
    3. Haga clic en la columna 1 dentro de la celda pero fuera del control de etiquetas (“Atractivos:"). Haga clic en Celda de tabla bajo Propiedades y seleccione Superior para Alineación vertical de celda.

      La etiqueta se alinea al principio de la celda.

    Si prefiere casillas de verificación para Atractivos, puede eliminar el Recuadro de lista y arrastrarlo sobre un Grupo de casillas de verificación en la paleta Controles. Para enlazar el Grupo de casillas de verificación, haga clic en Datos en Propiedades y seleccione Atractivos en el menú desplegable Enlazar con. Especifique los valores en la ficha Valores como en el paso 11 anterior.

    El motivo por el que existen los campos Ciudad y ciudadBúsqueda es para permitir realizar búsquedas de una ciudad distinta a la del nombre del sitio utilizado. Por ejemplo, uno de los sitios de ejemplo es Brighton, en las afueras de Boston, así que para la búsqueda diremos que está en Boston. Para el país, sin embargo, vamos a presuponer que el país utilizado y el país de búsqueda son el mismo.

    La página XPage debería ofrecer un aspecto similar al siguiente.

    Página XPage de descripción del sitio

    En este punto, la página XPage debería ser similar a Sitio1, que puede abrir a modo de comparación.

  12. Ajuste la tabla de forma que la fila que contenga el botón Enviar esté oculta cuando la página no sea editable. Necesitará algo de JavaScript.
    1. Haga clic en la celda de la tabla que contenga el botón Enviar (en la celda, no el botón).
    2. Bajo Propiedades en el panel de la parte inferior, haga clic en Celda de tabla si todavía no se está seleccionada.
    3. Haga clic en el rombo junto a Visible y, a continuación, haga clic en Calcular valor. Se abrirá el editor de scripts.
    4. En el editor de scripts, haga doble clic sobre documento1 en la lista de variables globales y, a continuación, escriba un punto.

      La variable global documento1 es un objeto de tipo NotesXspDocument que representa el documento actual que la página XPage está visualizando. Cuando se escribe el punto, aparece una lista de los métodos para este objeto.

    5. En la lista de métodos, desplácese hasta el final y haga doble clic en isEditable().
      Esto devuelve true si el documento es editable y false en caso contrario. La fórmula debería ser similar a la siguiente:
      document1.isEditable()
    6. Haga clic en Aceptar.

      El editor de scripts se cierra, guardando el código.

    Este código oculta la celda que contiene el botón si el valor de retorno es false. También podría ocultar el botón en lugar de la celda.
  13. En la página XPage, haga clic fuera de cualquier control para activar la página y pulse Control+S para guardar la página.
  14. Haga clic en Diseño > Vista previa en navegador web > Navegador web del sistema predeterminado (o seleccione otro navegador). Puede probar la aplicación especificando los valores y haciendo clic en Enviar. Con ello, debería aparecer un documento nuevo en la base de datos. Utilice el cliente Notes para ver una lista de los documentos. Cierre el navegador cuando haya terminado.

    En este punto, la página XPage debería ser similar a SitioFinal, que puede abrir a modo de comparación.

  15. Cierre la página XPage Sitio haciendo clic en la X en la esquina superior derecha del panel central.

Creación de controles para añadir y suprimir documentos

La página XPage ListaSitios permite ver y editar los documentos en la aplicación, pero necesitamos añadir controles para crear y suprimir los documentos.

Realice lo siguiente:
  1. En la página XPage ListaSitios, haga clic dentro de la primera columna (la columna, no la cabecera) para activarla.
  2. Bajo Propiedades, haga clic en Mostrar.
  3. Marque el casilla de verificación. Aparece una casilla de verificación delante de cada fila. El usuario puede seleccionar una fila marcando un recuadro.
  4. En la página XPage, haga clic al final del título y pulse Intro para dejar una línea en blanco entre el título y el control de vistas.
  5. Si no ve la lista de controles en el panel derecho, haga clic en la ficha Controles o haga clic en Ventana > Mostrar vistas de Eclipse > Controles.
  6. Arrastre un control de Botón hasta la línea vacía bajo el título y realice lo siguiente:
    1. Bajo Propiedades en el panel de la parte inferior, haga clic en Botón si todavía no está activado.
    2. Cambie la etiqueta a Sitio nuevo.
    3. Haga clic sobre la ficha Sucesos.
    4. Asegúrese de que el suceso onClick esté seleccionado.
    5. Haga clic en Añadir acción. Se abrirá el recuadro de diálogo Añadir acción simple. La categoría debería decir Todos y la acción Abrir página. Ajuste estos valores si no es así.
    6. Seleccione Sitio para el nombre de la página que debe abrirse.
    7. Seleccione Documento nuevo para el documento de destino.
    El recuadro de diálogo debería ofrecer un aspecto similar al siguiente.

    Recuadro de diálogo Añadir acción simple

  7. Haga clic en Aceptar.
  8. Arrastre un segundo control de Botón junto al primero y realice lo siguiente:
    1. En el panel de la parte inferior, haga clic en la ficha Propiedades y haga clic en Botón si todavía no está activado.
    2. Cambie la etiqueta a Suprimir seleccionados.
    3. Haga clic sobre la ficha Sucesos.
    4. Asegúrese de que onclick esté seleccionado.
    5. Haga clic en Añadir acción.
    6. Seleccione Documento para la categoría.
    7. Seleccione Suprimir documentos seleccionados para la acción.
    8. Seleccione panelVista1 para el nombre de vista.

      Si éste no es el nombre del control de vista, seleccione el control de vista.

    9. Escriba ¿Realmente desea suprimir los sitios marcados? para el texto de confirmación.

    El recuadro de diálogo debería ofrecer un aspecto similar al siguiente.

    Recuadro de diálogo Añadir acción simple

  9. Haga clic en Aceptar.
  10. Pulse Control+S para guardar la página.
  11. Previsualice la página como desee.
  12. Cierre la página XPage ListaSitios pulsando la X en la esquina superior derecha del panel central.
En este punto, la página XPage debería ser similar a ListaSitiosFinal, que puede abrir a modo de comparación.

Creación de una página XPage para realizar búsquedas

El usuario utiliza esta página para especificar parámetros de búsqueda y ver los resultados. Los parámetros de búsqueda son valores para la ciudad, el estado, el país y el código postal. El usuario puede rellenar cualquiera de estos parámetros y hacer clic en un botón. La página se renueva y los resultados se visualizan en forma de una vista. Una propiedad de búsqueda para la vista limita la visualización a los documentos que coinciden con los parámetros de búsqueda.

Realice lo siguiente:
  1. Al principio de la lista de XPages, haga clic en Página XPage nueva. Como alternativa puede hacer clic con el botón derecho del ratón en Páginas XPage > Página XPage nueva en el panel lateral.
  2. Denomine la página XPage nueva BuscadorSitios y haga clic en Aceptar.
  3. Desde debajo de Controles personalizados en el panel de la derecha, arrastre el control personalizado Cabecera hasta la página XPage.

    Es la misma página que ha colocado en la página XPage ListaSitios pero se ha puesto en un control personalizado para facilitar su mantenimiento. Un control personalizado es similar a un subformato.

  4. Añada una hoja de estilo a la página de la forma siguiente:
    1. Haga clic sobre la página real, no sobre los controles, para que se active la página.
    2. Bajo Propiedades en el panel de la parte inferior, haga clic en Estilo.
    3. Desplácese hasta el final y haga clic en Añadir hoja de estilo a página
    4. En el recuadro Añadir hoja de estilo a página, seleccione styles.css.
    5. Haga clic en Aceptar.
  5. Añada un título de la forma siguiente:
    1. En la página XPage, pulse Intro después de la cabecera, escriba un título para la página como, por ejemplo, Buscador de sitios y haga clic en Intro.
    2. Resalte el texto.
    3. En el panel de la parte inferior, haga clic en Estilo si todavía no está allí.
    4. En la lista bajo styles.css, haga clic en .title.
    El aspecto del texto cambiará para adecuarse al estilo seleccionado.
  6. Por debajo del texto del título, especifique instrucciones para el usuario como, por ejemplo, Rellene algunos de estos campos o todos ellos y haga clic en Buscar y pulse Intro.
  7. Cree una tabla con cuatro filas y dos columnas, de la forma siguiente:
    1. En Controles de contenedor en el panel de la derecha, arrastre Tabla bajo las instrucciones hasta la página XPage.

      Aparecerá el recuadro de diálogo Insertar tabla.

    2. En el recuadro de diálogo Insertar tabla, especifique 4 para las filas y 2 para las columnas.
    3. Haga clic en Aceptar.
    4. Utilice los manejadores de arrastre para ajustar la anchura de la tabla.
  8. Realice lo siguiente para cada celda de la columna 1:
    1. En Controles principales en el panel de la derecha, arrastre Etiqueta hasta la celda.
    2. En el panel de la parte inferior, cambie la etiqueta del control a Ciudad (fila 1), Estado (fila 2), País (fila 3) o Código postal (fila 4).
  9. Realice lo siguiente para cada celda de la columna 2:
    1. En Controles principales en el panel lateral, arrastre Recuadro de edición hasta la celda.
    2. Bajo Propiedades en el panel de la parte inferior, haga clic en Recuadro de edición.
    3. Cambie el nombre de ciudadBúsqueda (fila 1), estadoBúsqueda (fila 2), paísBúsqueda (fila 3) y códigoBúsqueda (fila 4).
    4. Bajo Propiedades en el panel de la parte inferior, haga clic en Datos.
    5. Para Enlazar datos utilizando, haga clic en Avanzado.
    6. En el menú desplegable Usar, seleccione Variable de ámbito.
    7. En el recuadro de lista Parámetro, seleccione Ámbito de sesión.
    8. Desplácese hasta el final y escriba el nombre de la variable como searchCity (fila 1), searchState (fila 2), searchCountry (fila 3) o searchZip (fila 4).
    Si enlaza estos recuadros de edición con variables de ámbito, podremos acceder a sus valores en código JavaScript, en lugar de en el almacén de datos. Una variable de sesión retiene su valor a través de las páginas mientras dure la sesión del usuario en el servidor.
  10. Realice lo siguiente para crear un botón para enviar y renovar la página:
    1. En Controles principales en el panel lateral, arrastre Botón hasta la línea que hay bajo la tabla.
    2. En el panel de la parte inferior, cambie la etiqueta del control a Buscar.
    3. En la lista desplegable para el tipo de botón, seleccione Enviar.
    Al hacer clic en este botón se enviará la página al servidor y se renovará el contenido de la página en función de los valores especificados por el usuario.
  11. Realice lo siguiente para visualizar la consulta utilizada para obtener los resultados:
    1. En la línea siguiente de la página XPage, escriba Cadena de consulta: y un espacio.
    2. En Controles principales en el panel de la derecha, arrastre Campo calculado hasta la celda.
    3. Bajo Propiedades en el panel de la parte inferior, haga clic en Font. Cambie el color a azul.
    4. Bajo Propiedades en el panel de la parte inferior, haga clic en Valor.
    5. Para Enlazar datos utilizando, haga clic en Avanzado.
    6. En el menú desplegable Usar, seleccione Variable de ámbito.
    7. En el recuadro de lista Parámetro, seleccione Ámbito de sesión.
    8. Desplácese hasta el final y escriba el nombre de la variable como serieConsulta.

      El nombre de la variable es el que usted elija y no tiene ningún significado especial. Más tarde le asignará un valor.

    Esto nos permite visualizar la consulta que calculamos más tarde. La visualización probablemente no es necesaria en una aplicación de producción pero resulta útil para realizar pruebas.
  12. En Controles del controlador en el panel lateral, arrastre Vista hasta la siguiente línea de la página.
    1. Deje Mostrar datos de definido en Vista de Domino.
    2. Deje Aplicación definido en Actual.
    3. En la lista desplegable Vista, seleccione ListaSitios.
    4. Acepte vista1 como el nombre del origen de datos.
    5. En la lista de columnas del final, desmarque todo menos SiteName, Phone, StreetAddress, City y State. Puede cambiar esto y elegir qué columnas desea que aparezcan pero debe incluir NombreSitio.
    6. Haga clic en Aceptar.
  13. Bajo Propiedades en el panel de la parte inferior, haga clic en Vista. En Durante la ejecución, abrir el documento seleccionado utilizando:, seleccione Sitio.
  14. Bajo Propiedades en el panel de la parte inferior, haga clic en Datos. Asegúrese de que la vista esté definida en ListaSitios.
  15. Ahora puede definir una consulta de búsqueda para limitar la vista a aquellos elementos que satisfagan lo que el usuario especifique en los campos de búsqueda. Realice lo siguiente:
    1. Bajo Propiedades en el panel de la parte inferior, haga clic en Todas las propiedades.
    2. Desplácese hasta el final. Expanda Datos y, a continuación, expanda la segunda aparición de Datos. Seleccione la propiedad Buscar.

      La pantalla debería ofrecer un aspecto similar al siguiente.

      Propiedad de búsqueda

    3. Haga clic en el diamante que hay junto a la propiedad Buscar y seleccione Valor calculado.

      Se abrirá el editor de scripts.

    4. Escriba el código siguiente en el editor de scripts. Asegúrese de que el idioma sea JavaScript del lado del servidor y de que Calcular dinámicamente 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; // esto sólo muestra la consulta
      return qstring // esto es lo que define la propiedad de búsqueda

      No vamos a realizar este ejercicio, pero el código podría dejarse como una función y colocarse en una biblioteca de scripts. La biblioteca de scripts se añadiría después como un recurso de la página y se accedería a la función mediante una simple referencia. Esto permite utilizar el código en varios sitios con mantenimiento central.

    5. Haga clic en Aceptar.
    Este código obtiene los valores que el usuario especifica en la página utilizando las variables de ámbito de sesión enlazadas con estos recuadros de edición. El código crea y devuelve una serie de consulta que coincide con los valores de los documentos en los campos códigoBúsqueda, ciudadBúsqueda, estadoBúsqueda y País.

    Para mayor claridad, estamos utilizando los mismos nombres de campo que los de los documentos que estamos buscando, pero podríamos utilizar cualquier nombre.

  16. Ajuste la primera columna para permitir que el usuario pueda abrir el documento en modalidad de lectura:
    1. En la página XPage, haga clic en la primera columna de la vista.
    2. Bajo Propiedades en el panel de la parte inferior, haga clic en Mostrar.
    3. Haga clic en Mostrar los valores de esta columna como vínculos.
    4. En Modalidad de apertura de documentos, haga clic en Sólo lectura.

    Los usuarios de la web que miren los resultados de la búsqueda no podrán editar los documentos que encuentren cuando sigan el vínculo. En una aplicación real, también se utilizaría la lista de control de accesos.

  17. Guarde los cambios y previsualice la nueva pantalla de búsqueda.
  18. Previsualice la página como desee. Intente algunas búsquedas como, por ejemplo, 02108 o 33432 para el código postal; Boca Raton o Boston para la ciudad; MA para el estado; Francia para el país.
  19. Cierre la página XPage BuscadorSitios haciendo clic en la X en la esquina superior derecha del panel central.
En este punto, la página XPage debería ser similar a BuscadorSitiosFinal, que puede abrir a modo de comparación.

El proceso que se muestra aquí no es necesariamente la forma óptima para organizar una función de búsqueda, pero es una de las formas. También puede asignar la propiedad de búsqueda del origen de datos del código JavaScript en el botón Buscar. De esta forma, resulta más sencillo tener varios orígenes de información de consulta sobre la página, quizás con varios botones de búsqueda para los distintos tipos de búsqueda.

Existen otros controles que permiten proporcionar a los resultados un formato mejor. La Tabla de datos, por ejemplo, proporciona mayor control sobre el diseño de los resultados de la búsqueda y, a menudo, se utiliza en lugar de una vista. Sin embargo, el control Vista resulta muy fácil de utilizar.

Administración de aplicaciones

IBM Domino Designer ofrece funciones para la administración y gestión del trabajo y de archivos relacionados al desarrollar proyectos de aplicación.

La característica principal actual, habilitación de control de origen, permite almacenar elementos de diseño basados en NSF en un depósito de control de origen y llevar a cabo operaciones de control de origen comunes utilizando Domino Designer. La característica hace esto permitiendo crear una asociación entre un proyecto en disco gestionado por el control de origen y el proyecto basado en NSF virtual que Domino Designer rastrea.

Esta característica se proporciona para permitirle integrar un cliente de control de origen SVN con Domino Designer de la forma más correcta posible y para permitir a Domino Designer permanecer como "agnóstico de sistema de control de origen" lo máximo posible.

Esta documentación hace referencia a los siguientes productos: IBM Domino, IBM Domino Designer, IBM Notes, IBM iNotes, y IBM Notes Traveler.

Control de origen en Domino Designer

Las operaciones de control de origen son posibles con Domino Designer. La sección proporciona la información necesaria para utilizar la característica de habilitación de control de origen que hace que esta funcionalidad esté disponible.

Habilitación de control de origen

La característica de habilitación de control de origen se ha introducido para permitirle almacenar elementos de diseño basados en NSF en un depósito de control de origen y llevar a cabo operaciones de control de origen comunes utilizando Domino Designer.

Los clientes de control de origen basados en Eclipse (como código abierto) como SVN y CCRC funcionan en archivos físicos. Como tales, no pueden funcionar directamente con proyectos del diseñador que contengan correlación de archivos virtuales con elementos de diseño basados en NSF. Sólo funcionan con proyectos que se almacenan en disco. Como tales, debe utilizar un proyecto en disco que duplique el proyecto NSF virtual para llevar a cabo operaciones de control de origen.

Para ayudarle a resolver esto, se ha introducido la característica de habilitación de control de origen de Domino Designer para permitirle almacenar elementos de diseño basados en NSF en un depósito de control de origen y llevar a cabo operaciones de control de origen comunes mediante Domino Designer. La característica hace esto permitiendo crear una asociación entre un proyecto en disco gestionado por el control de origen y el proyecto basado en NSF virtual que el diseñador rastrea. Este paso es un requisito previo que debe completarse antes de llevar a cabo cualquier operación de controles de origen básica.

Esta característica se proporciona para permitirle integrar un cliente de control de origen SVN con Domino Designer de la forma más correcta posible y para permitir a Domino Designer permanecer como "agnóstico de sistema de control de origen" lo máximo posible.

Requisito previo: Configuración del sistema de control de origen de versión utilizado con la habilitación de control de origen

Este tema describe cómo configurar por primera vez un sistema de control de origen de versión para que pueda utilizar la característica de habilitación de control de origen.

Acerca de esta tarea

Los sistemas de control de origen de versiones de código abierto (como por ejemplo Subversion®) permiten compartir proyectos en depósitos, donde se almacenan posteriormente. Un depósito es como un servidor de archivos excepto en que no sólo almacena la copia del sistema de archivos, sino también sus estados anteriores y los cambios del historial. Un sistema de control de origen como Subversion® accede a depósitos utilizando las conexiones de red. Esto permite trabajar en archivos compartidos y detectar cualquier posible cambio realizado por otros desarrolladores.

Antes de poder utilizar la característica de habilitación de control de origen en Domino Designer, se supone que los plugins de control de origen de SVN/Clearcase (creación de versiones de software y sistema de control de revisión) han sido instalados o suministrado de forma dinámica en el diseñador. Como directriz, deben completarse los pasos siguientes para empezar a utilizar la característica de habilitación de control de origen:

Procedimiento

  1. Instale y configure los sistemas de control de origen de versiones de código abierto
  2. Cree un repositorio en el servidor de subversiones (consulte la documentación del software de subversión)
  3. Registre el nuevo repositorio con el servidor de control de origen pulsando Nuevo - Ubicación de repositorio - Nuevo panel de repositorio e introduzca el URL de servidor y las credenciales de usuario.

Qué hacer a continuación

Si todavía no tiene instalado un sistema de control de origen de versión de código abierto, puede utilizar los pasos siguientes para instalar el sistema Subversion®:
Nota: Nota: esta versión requiere al menos Eclipse 3.3 y no admite versiones anteriores de Eclipse IDE.
  • Habilite el menú Aplicación - Instalar seleccionando la preferencia que habilita las instalaciones de plugin Eclipse.
  • Instale el sitio de actualización de plugins de eclipse SVN enumerados en el sitio http://www.eclipse.org/subversive/downloads.php. Utilice el release Helios. GEF (3.4 en adelante) es un requisito previo para los plugins de subversión, así que también se le solicitará que instale los plugins GEF que se muestran anteriormente.
  • Una vez ha instalado esto, instale los conectores SVN relacionados desde el sitio de actualización siguiente: http://community.polarion.com/projects/subversive/download/eclipse/2.0/helios-site/. Durante el proceso, se le puede solicitar el plugin de cada conector.
  • Para comprobar que estos sitios de actualización se han instalado correctamente, verifique que la Perspectiva de exploración de repositorio SVN puede abrirse en Domino Designer y, a continuación, conéctese al servidor de Subversion.
Nota: El escenario de instalación de ejemplo descrito anteriormente se ha probado utilizando las versiones de plugin siguientes:
  • Subversive plugin: Subversive-incubation-0.7.9.I20100512-1900.zip
  • Subversive-connectors: Subversive-connectors-2.2.2.I20100512-1900.zip
Se recomienda encarecidamente utilizar estas versiones en contraposición con las versiones últimas o más recientes. Si desea probar otras versiones, sin embargo, es recomendable que intente utilizar versiones que coincidan bastante con las del ejemplo.
Nota: De forma predeterminada, el plugin de control de origen Subversive (y potencialmente otros plugins de productos de control de fuente) instala la versión más reciente de Graphical Editing Framework (GEF). Si se instala una versión de GEF posterior a la 3.6.2, XPages no se mostrará correctamente cuando se abra para su edición en Designer.

Para solucionar este problema, al instalar el plugin Subversive (y otros plugins de productos de control de fuente), instale una versión específica de Graphical Editing Framework (GEF) que NO sea posterior a la versión 3.6.2. Se recomienda utilizar la versión 3.6.2. Para ello, durante el procedimiento de instalación elimine la marca de la casilla de verificación Mostrar únicamente la última versión de una característica pos sitio de actualización. Amplíe la característica .../gef/updates/releases/ y seleccione GEF SDK 3.6.2.

Configuración de la característica de habilitación del control de origen

Los temas siguientes proporcionan información sobre las tareas de configuración inicial que deben completarse para empezar a utilizar la característica de habilitación de control de origen de Domino Designer como parte de las operaciones de control de origen diarias.

  • Creación de asociaciones entre proyectos en disco y NSF
  • Asociación del NSF con un proyecto en disco existente
  • Configuración de la dirección de la operación de sincronización inicial
  • Asociación del NSF con un proyecto en disco nuevo
  • Establecimiento de las preferencias de la característica de habilitación de control de origen

Antes de empezar: Creación de asociaciones entre proyectos en disco y NSF

La característica de habilitación de control de origen requiere que cree una asociación entre un proyecto en disco gestionado por el control de origen y el proyecto basado en NSF virtual que el diseñador utiliza.

Los clientes de control de origen basados en Eclipse (como código abierto) como SVN y CCRC funcionan en archivos físicos. Como tales, no pueden funcionar directamente con proyectos del diseñador que contengan correlación de archivos virtuales con elementos de diseño basados en NSF. Sólo funcionan con proyectos que se almacenan en disco (como proyectos en disco). Como tales, debe utilizar un proyecto en disco que duplique el proyecto NSF virtual para llevar a cabo operaciones de control de origen.

Para llevar esto a cabo, la característica de habilitación de control de origen requiere que cree una asociación entre un proyecto en disco gestionado por el control de origen y el proyecto basado en NSF virtual que el diseñador utiliza. Este paso es un requisito previo que debe completarse antes de llevar a cabo cualquier operación de control de origen básica.

A continuación, se ofrecen los pasos generales que deben completarse para crear esta asociación.

  • Asegúrese de haber abierto o creado una aplicación NSF en el diseñador.
  • En el Navegador de aplicaciones, seleccione el NSF que desea asociar con un proyecto en disco y, en el menú contextual del botón derecho del ratón, seleccione Desarrollo de equipo - Asociar con proyecto en disco existente. La característica de habilitación de control de origen de Domino Designer opera creando una asociación o correlación entre un proyecto NSF virtual y un proyecto en disco. Al seleccionar esta opción de menú, se completará esta asociación.

Asociación del NSF con un proyecto en disco existente

La característica de habilitación de control de origen permite crear una asociación entre un proyecto en disco existente gestionado por el control de origen y el proyecto basado en NSF virtual que el diseñador utiliza.

Acerca de esta tarea

Utilice los pasos siguientes para crear la asociación o correlación Designer Application (.NSF) - Proyecto en disco (ODP). Esto se realiza desde el panel Asociar con proyecto en disco....

Procedimiento
  1. Abra o cree una aplicación NSF en Domino Designer.
  2. Seleccione el NSF creado y seleccione Desarrollo de equipo - Asociar con proyecto en disco existente... en el menú. Esta acción abrirá el panel Asociar con proyecto en disco. Desde este panel, seleccione un proyecto en disco existente así como la dirección para la operación de sincronización inicial que ocurrirá una vez que se realice la asociación. El valor por defecto es "Importar desde proyecto en disco a nsf_filename.
  3. Consulte el tema Establecimiento de la dirección de la operación de sincronización inicial para obtener más detalles sobre los valores de sincronización.

Configuración de la dirección de la operación de sincronización inicial

Este tema explica las direcciones disponibles para la operación de sincronización inicial que se produce al crear la asociación entre un NSF y un proyecto en disco.

Al crear la asociación entre un NSF y un proyecto en disco, debe seleccionar la dirección de la operación de sincronización inicial. Puede ser una de las siguientes:

  • Exportar desde nombre de archivo nsf al proyecto en disco seleccionado -- Cuando se establece esto como dirección inicial, la operación de sincronización inicial exportará todo el contenido del proyecto NSF virtual en el proyecto en disco en un formato adecuado, que después puede confirmarse en el repositorio de control de origen.
  • Importar desde proyecto en disco seleccionado a nombre de archivo nsf -- Cuando la dirección inicial se establece de este modo, la operación de sincronización inicial actualizará el proyecto NSF con el contenido del proyecto basado en disco.

Asociación del NSF con un nuevo proyecto en disco

La característica de control de origen permite crear una asociación entre un nuevo proyecto en disco y un NSF.

Acerca de esta tarea

Para asociar un NSF con un proyecto en disco nuevo, seleccione Archivo - Desarrollo de equipo - Configurar control de origen para esta aplicación en .

Para hacer esto en el Navegador de aplicaciones de Domino Designer, pulse con el botón derecho en la cabecera de la aplicación (icono) en la aplicación que desea añadir al control de origen y seleccione Desarrollo de equipo - Configurar control de origen para esta aplicación. Esto crea un nuevo proyecto en disco y todo el contenido del proyecto NSF abierto se exporta a éste de forma predeterminada.

Para obtener información adicional sobre cómo utilizar la característica de habilitación de control de origen con tareas comunes de control de origen, consulte el tema Cómo completar tareas de control de origen comunes con la característica de habilitación de control de origen para obtener más detalles.

Establecimiento de las preferencias de la característica de habilitación de control de origen

Este tema explica las preferencias que se pueden establecer para personalizar las operaciones de la característica de habilitación de control de origen.

Para seguir personalizando las operaciones de la característica de habilitación de control de origen, puede establecer las preferencias pulsando Archivo-Preferencia-Diseñador-Control de origen. Estas preferencias se aplicarán a esta característica mientras la utilice. Las preferencias incluyen:

  • Utilice DXL binario para operaciones de control de origen -- Existen distintas formas de representar los elementos de diseño en disco, en función del tipo de elemento de diseño que se representa; consulte la sección "Selección del modo de representar los elementos de diseño en disco" para ver más detalles.
  • Habilitar la exportación automática de elementos de diseño (desde NSF a disco) en modificación -- Esta preferencia se proporciona para habilitar la exportación implícita de elementos de diseño después de que son modificados en un NSF por un usuario. Si se selecciona esta preferencia, cualquier edición en el proyecto NFS (por ejemplo, crear/actualizar/suprimir un formulario, XPage, etc.) se reflejará en el proyecto en disco implícitamente, lo que a continuación puede confirmarse para el repositorio de control de origen.
  • Habilitar la importación automática de elementos de diseño (de disco a NSF) en modificación -- Esta preferencia se proporciona para permitir la importación implícita de archivos de diseño de disco a NSF cuando se modifican en el proyecto de disco. Esto también necesita que la autocreación esté activada. Después de establecer esta preferencia, si el usuario actualiza el proyecto de disco con el contenido del repositorio, los cambios se autoimportarían en el NSF.
  • Mostrar el panel del ayudante en el asistente de configuración - Esta preferencia mostrará un panel de ayudante que describe la característica de habilitación de control de origen cuando se invoca al panel Desarrollo de equipo-Configurar control de origen para esta aplicación.

Seleccione (marque) una preferencia para habilitarla o desmárquela para inhabilitarla.

Nota: Las preferencias de sincronización automática se habilitan de forma predeterminada.

Selección del modo de representar elementos de diseño en disco

Este tema describe los modos de representar los elementos de diseño en disco.

Hay dos modos diferentes de representar los elementos de diseño en el disco en función del tipo de elemento de diseño que se esté representando.

  • Como conjunto de 2 archivos (contenido y metadatos) en disco -- XPages, controles personalizados, hojas de estilo, archivos, temas, aplicaciones compuestas, propiedades de conexión y bibliotecas de script JS/SSJS/LS se representan como un conjunto de 2 archivos en disco, el archivo de contenido y el archivo de metadatos. El archivo de contenido tiene el contenido de archivo real tal como se ve en el editor y el archivo de metadatos contiene DXL menos el contenido para representar el resto de atributos del elemento de diseño.
  • Como un archivo que contiene el DXL del elemento de diseño -- El resto de los elementos de diseño, formulario, vista, páginas, bibliotecas de script Java, agentes y acciones compartidas, entre otros, se representan como un archivo que contiene el DXL del elemento de diseño. Es preferible utilizar el formato "binario" para DXL para el contenido exportado. Consulte el tema Establecimiento de las preferencias de la característica de habilitación de control de origen para obtener más información.

Cómo completar tareas comunes de control de origen con la característica de habilitación de control de origen

Los pasos básicos de un flujo de trabajo general se proporcionan para proporcionar una idea de cómo funciona con la característica de habilitación de control de origen de Domino Designer.

Puesto que no se encuentra en el alcance de esta documentación explicar cada detalle de las operaciones de control de origen básicas para los diferentes sistemas de control de origen disponibles, los pasos básicos de un flujo de trabajo general se proporcionan para proporcionar una idea de cómo funciona con la característica de habilitación de control de origen de Domino Designer.

Un proceso general podría desarrollarse del modo siguiente:

  • Los plugins de control de origen adecuados se instalan en el diseñador.
  • Abra una base de datos en el diseñador.
  • Asocie la base de datos (NSF) con un proyecto en disco (ODP) y exporte desde NSF a ODP
  • Confirme - envíe desde el proyecto en disco del diseñador al depósito de control de origen.
  • Extraiga desde otra máquina, desmonte el proyecto en disco desde el depósito de control de origen.
  • Asocie una base de datos (NSF) con el proyecto en disco e importe desde éste al .NSF.
  • Modifique el .NSF y/o el proyecto en disco y sincronice los dos (implícita o explícitamente).
  • Confirme los cambios para el depósito de control de origen.
  • Actualice para deshacer todos los cambios desde el depósito de control de origen al proyecto en disco.
  • Sincronice el proyecto en disco actualizado con el .NSF

Como un ejemplo más específico, una herramienta común utiliza el procedimiento básico siguiente:

  • Comparta el proyecto para añadirlo al control de origen.
  • Extraiga para crear un proyecto en disco local desde el control de origen.
  • Confirme para enviar cambios locales al control de origen.
  • Actualice para recibir cambios desde el origen.
Nota: Nota: consulte la documentación del software de control de origen para obtener más detalles sobre cómo el sistema maneja las operaciones básicas.

Los siguientes temas proporcionan ejemplos detallados sobre la utilización de la característica de habilitación de control de origen de Domino Designer para completar algunas de las tareas de control de origen comunes recién mencionadas.

Adición de una aplicación Domino Designer existente al control de origen

En este tema se describe cómo añadir una aplicación Domino Designer existente al control de origen

Acerca de esta tarea

Digamos que ha iniciado una nueva aplicación y que ha empezado a trabajar en ella de forma local en la máquina. A continuación, descubre que debe delegar partes de la aplicación a un colega. Decide hacerlo seleccionando la aplicación existente en el sistema de control de origen.

Esta tarea se realiza con la función de habilitación del control de origen de Domino Designer asociando la aplicación NSF existente con un nuevo proyecto en disco. Para conocer los pasos sobre cómo llevar a cabo esto, consulte el tema Asociación del NSF con un proyecto en disco nuevo.

Incorporación de una aplicación desde el control de origen

Este tema describe como incorporar una aplicación desde el control de origen.

Acerca de esta tarea

Digamos que debe ayudar a un colega en una nueva aplicación que se está creando. La aplicación ya ha sido integrada en el control de origen por el desarrollador original pero ahora debe incorporar la aplicación para empezar a trabajar en ella usted mismo.

Utilice los pasos generales siguientes para hacer esto:
  • En una vista de navegador de Eclipse, utilice los mandatos del sistema de control de origen para copiar la aplicación en la máquina local.
  • Asocie el proyecto en disco con el nuevo NSF

    O BIEN

  • Asocie un proyecto en disco con un NSF existente

Consulte los temas adicionales de esta sección para obtener más información sobre cómo completar estas tareas.

Asociación de un proyecto en disco con un NSF nuevo

Este tema describe cómo asociar un proyecto en disco con un NSF nuevo.

Acerca de esta tarea

Digamos que debe ayudar a un colega en una nueva aplicación que se está creando. La aplicación ya ha sido integrada en el control de origen por el desarrollador original pero ahora debe desarmarla para empezar a trabajar en ella usted mismo.

Una forma de hacerlo es asociando el proyecto en disco con un NSF nuevo. Utilice los pasos siguientes para hacer esto:

Procedimiento
  1. Para asociar el proyecto en disco con un NSF nuevo, pulse con el botón derecho del ratón en el proyecto en disco recién creado y seleccione Desarrollo de equipo - Asociar con NSF nuevo... De este modo, aparecerá el diálogo Asociar con NSF nuevo....
  2. Si la ubicación es un servidor local, utilice el botón Examinar para abrir los directorios del sistema de archivos locales.
  3. Si la ubicación es un servidor remoto, el botón Examinar aparece con un diálogo que lista las carpetas que pueden seleccionarse.
  4. De forma predeterminada, el NSF y el proyecto en disco se mantendrán sincronizados.
Resultados

Asociación de un proyecto en disco con un NSF existente

Este tema describe cómo asociar un proyecto en disco con un NSF existente.

Acerca de esta tarea

Digamos que debe ayudar a un colega en una nueva aplicación que se está creando. La aplicación ya ha sido integrada en el control de origen por el desarrollador original pero ahora debe desarmarla para empezar a trabajar en ella usted mismo.

Una forma de hacerlo es asociando el proyecto en disco con un NSF existente. Utilice los pasos siguientes para hacer esto:

Procedimiento
  1. Para asociar el proyecto en disco con un NSF existente, pulse con el botón derecho del ratón en el proyecto en disco recién creado y seleccione Desarrollo de equipo - Asociar con NSF existente... De este modo, aparecerá el diálogo Asociar con NSF existente....
  2. Seleccione el NSF existente que desea asociar con su proyecto en disco así como la dirección de la operación de sincronización inicial.
Resultados

Ejemplo de asociación de un NSF existente con un proyecto en disco

Este tema proporciona un ejemplo de asociación de un NSF existente con un proyecto en disco.

Digamos que está examinando una copia inicial de una aplicación que un colega le ha enviado por correo electrónico. Esta aplicación ha sido publicada desde entonces en el control de origen y ahora le han solicitado ayuda al respecto. En este caso, deberá obtener la versión "real" para sustituir la que ha recibido por correo electrónico.

Este procedimiento es el mismo que el tema Asociación de un proyecto en disco con un NSF existente excepto porque la acción de asociación se toma del NSF y las opciones son los proyectos en disco. El proyecto en disco que asocia con el NSF será el que se utilizará para las operaciones de control de origen. Para conocer los pasos sobre cómo llevar a cabo esto, consulte el tema Asociación del NSF con un proyecto en disco existente.

Manejo de un conflicto de sincronización de archivo

Este tema describe cómo manejar un conflicto de sincronización de archivo con la característica de control de origen.

Acerca de esta tarea

Al trabajar con archivos en el control de origen, puede recibir errores de conflicto de sincronización de archivo. Si esto ocurre, aparece un mensaje de diálogo Conflicto de sincronización con el cuadro de lista con los archivos en conflicto. Puede seleccionar uno o más archivos y elegir comparar las diferentes versiones del archivo. Una vez haya definido cuál es el correcto, podrá seleccionar qué versión utilizar.

El diálogo de conflicto de sincronización presenta una vista que tiene 3 columnas: nombre de archivo, fecha de última modificación (NSF) y fecha de última modificación (en disco). El botón Comparar le permite activar un diálogo para que pueda visualizar versiones DXL de NSF y versiones en disco de un elemento junto con las diferencias resaltadas.

Los pasos siguientes se utilizan en un ejemplo en el que se tienen 2 archivos con conflictos. En este caso, se ha producido un conflicto de sincronización entre el NSF y un proyecto en disco y los 2 archivos se enumeran en el panel Conflicto de sincronización.

Procedimiento
  1. Si lo desea, seleccione un archivo y haga clic en el botón Comparar. Esta acción activa el diálogo Comparar que muestra el contenido de cada archivo resaltando las diferencias.
  2. Decida qué versión del archivo desea utilizar y pulse el botón Utilizar versión NSF o el botón Utilizar versión de proyecto en disco. La opción Utilizar versión NSF sobrescribe la versión en disco y la opción Utilizar versión de proyecto en disco sobrescribe la versión NSF. Puede realizar cualquiera de estas operaciones de forma independiente.
  3. Si hace clic en el botón Cerrar sin especificar ningún archivo, estos archivos aparecerán de nuevo en la lista la próxima vez que se desencadene el conflicto de sincronización.
Resultados

Sincronización manual del NSF y el proyecto de control de origen local

En este tema se describe cómo sincronizar manualmente el NSF y un proyecto de control de origen local.

Acerca de esta tarea

Es posible que haya momentos en los que desee sincronizar manualmente un NSF y un proyecto en disco de control de origen local. Por ejemplo, es recomendable que haga esto si hay un problema o si ha desactivado la sincronización automática en el panel Preferencias.

Haga ello seleccionando Desarrollo de equipo-Sincronizar con proyecto en disco. en el menú contextual o menú principal.

Eliminación de asociaciones en control de origen

Este tema describe cómo eliminar asociaciones NSF/proyecto en el control de origen.

Acerca de esta tarea

Es posible que haya momentos en los que desee eliminar la asociación que ha creado entre un NSF y un proyecto en disco de control de origen local.

Haga ello seleccionando Desarrollo de equipo-Eliminar asociación de control de origen en el menú contextual o menú principal.

Diseño de aplicaciones de páginas XPage

IBM Domino Designer proporciona los medios para rellenar una página XPage con controles y otros artefactos, así como para asociar una página XPage con almacenes de datos.

Para la navegación general, por ejemplo, para crear y abrir páginas XPage, consulte Navegación en Domino Designer.

El diseñador ofrece las siguientes opciones para trabajar con páginas XPage:

  • Haga clic en la ficha Diseño para trabajar en la modalidad visual.
  • Haga clic en la ficha Origen para editar el XML directamente.

Esta documentación hace referencia a los siguientes productos: IBM Domino, IBM Domino Designer, IBM Notes, IBM iNotes, y IBM Notes Traveler.

Vista previa y ejecución de páginas XPage

Las páginas XPage se ejecutan en entornos de servidor Domino y cliente Notes. En Domino Designer, puede obtener una vista previa de las páginas XPage en ambos entornos.

Puede acceder a una página XPage que existe en una aplicación en un servidor Domino de la siguiente manera:
  • Desde un navegador mediante un URL con el formato http://server/application.nsf/xpage.xsp.
  • Desde un cliente Notes mediante un URL con el formato notes://server/application.nsf/xpage.xsp.

Puede acceder a una página XPage que existe en una aplicación en un cliente Notes desde el cliente mediante un URL con el formato notes:///application.nsf/xpage.xsp?OpenXPage.

Asimismo, puede configurar la aplicación para que abra una página XPage al iniciarse.

Vista previa de una página XPage

Puede obtener una vista previa de una página XPage en un entorno de servidor Domino o cliente Notes.

Antes de empezar

Para obtener una vista previa web, primero debe ajustar la lista de control de accesos (ACL) de la aplicación. Haga clic con el botón derecho en el navegador y seleccione Aplicación > Control de accesos. Añada una entrada para Anónimo y establezca el nivel de acceso correspondiente (al menos Autor con capacidad para crear documentos).
Nota: Asimismo, asegúrese de que la tarea HTTP se esté ejecutando en el servidor Domino para que se ejecute satisfactoriamente la vista previa web.

Procedimiento

  1. Haga clic con el botón derecho del ratón y seleccione Vista previa en Notes o Vista previa en el navegador web. De manera alternativa, con el foco en una página XPage, puede hacer clic en Diseño > Vista previa en Notes o Diseño > Vista previa en el navegador web en el menú.

    O bien, con el foco en una página XPage, puede hacer clic en el icono Vista previa en Notes o Vista previa en el navegador web en la barra de herramientas.

  2. Para Vista previa en el navegador web, seleccione el tipo de navegador.

Resultados

Una vista previa de Notes inicia el cliente Notes si es necesario y, a continuación, abre la página XPage en el cliente. El cliente maneja las solicitudes de la página XPage.

Una vista previa web inicia un servidor de vista previa local de Domino y, a continuación, abre la página XPage en un navegador. El servidor de vista previa local maneja las solicitudes de la página XPage.

La vista previa de una página XPage en la web puede variar de la ejecución de la página XPage en el contexto de una aplicación completa. Los resultados pueden depender también de si previsualiza una aplicación local o remota. En la vista previa de una aplicación local, se utiliza siempre Anónimo para el control de accesos y el servidor local de vista previa no cuenta con algunas de las funciones avanzadas de un servidor de producción. Sin embargo, se ejecutan scripts y se crean documentos, firmados con el ID anónimo en el caso de las vistas locales y con el ID actual para las vistas en servidor, lo que permite tener una visión realista de la aplicación.

Cómo abrir una página XPage al iniciar la aplicación

Puede abrir una página XPage al iniciar la aplicación.

Procedimiento

  1. Haga doble clic o bien abra Propiedades de la aplicación desde el Navegador de aplicaciones. Se abrirá la página de propiedades de la aplicación.
  2. Haga clic en la ficha Iniciar.
  3. Para el cliente Notes, seleccione Abrir página XPage designada (cliente estándar) y seleccione una página XPage.
  4. Para el navegador web, seleccione Abrir página XPage designada y seleccione una página XPage. De manera alternativa, si desea abrir la misma página XPage para Notes, seleccione Utilizar opción de inicio de Notes.
  5. Guarde las propiedades de la aplicación.

Resultados

Cuando el usuario inicia la aplicación, la página XPage se abre inmediatamente.

Un usuario de navegador web puede iniciar una página XPage aplicando su URL, por ejemplo, http://server/application.nsf/xpage.xsp.

Cómo abrir otra página XPage

En una página XPage, los usuarios pueden abrir otras páginas XPage mediante reglas de navegación, una acción simple, métodos XSPContext y abriendo el URL.

Reglas de navegación

Cada página XPage tiene una propiedad navigationRules, que es una matriz de elementos navigationRule. Una regla de navegación indica al servidor qué página debe devolver al cliente después de procesar una página enviada mediante un botón de tipo Enviar o Cancelar. Consulte el apartado button - Botón. Cada regla de navegación tiene los siguientes atributos:
Atributo Valor
outcome xsp-success si la actualización es normal
  xsp-failure si la actualización falla
redirect true significa restaurar el último estado de la página
  false (predeterminado) significa abrir una página limpia
viewId <no rule> significa abrir la misma página
  $$PreviousPage significa abrir la última página que se ha abierto antes que la página enviada
  $$HomePage significa abrir la página de lanzamiento
  page.xsp significa abrir una página especificada
A continuación, se muestra un ejemplo:
<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>

En la modalidad de diseño, haga clic fuera de todos los controles, haga clic en la ficha Página XPage y busque las opciones Página siguiente.

Acción simple openPage

La acción simple Abrir página abre una página inmediatamente al activarse. A continuación, se muestra un ejemplo:
<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 la redirección

Los métodos redirectToPage, redirectToPrevious y redirectToHome abren una página inmediatamente al activarse. A continuación, se muestra un ejemplo:
<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>

Abriendo el URL

Puede abrir una página enviando su URL al servidor. Por ejemplo, puede especificar lo siguiente en la ventana de dirección de un navegador:
http://myserver/foo.nsf/xpage1.xsp

En un elemento de diseño que no es de página XPage, puede utilizar @URLOpen en una fórmula. La siguiente fórmula es para una acción de formulario y abre una página XPage localmente en el cliente Notes:

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

Apertura de una XPage en lugar de una vista

Sólo para acceso web, puede abrir una XPage en lugar de una vista.

Procedimiento

  1. Haga doble clic o bien abra una vista desde el Navegador de aplicaciones.
  2. Abra las propiedades de vista y pulse la ficha Avanzadas.
  3. En Acceso web > Mostrar XPage en su lugar, seleccione una XPage.
  4. Guarde la vista.

Resultados

Cuando el usuario selecciona la vista, se abre la XPage.

Firma de páginas XPage

Las XPages se firman con el ID del usuario actual de Domino Designer después de guardar el elemento de diseño de XPage y/o tras generar su archivo o archivos de implementación (es decir, .class).

Acerca de esta tarea

La firma de una página XPage determina si se cargará durante la ejecución y si más tarde puede ejecutarse con o sin restricciones sobre los métodos y operaciones de la misma. La ejecución con restricciones excluye ciertas funciones como, por ejemplo, la E/S de archivo o red, que es el enfoque más común. La ejecución sin restricciones permite utilizar todas las características soportadas de los lenguajes de implementación de XPage (consulte el tema "Operaciones restringidas de agentes LotusScript y Java" en la Guía y consulta del usuario básico de Domino > Diseño de aplicaciones > Adición de automatización a aplicaciones).

Al igual que los derechos de acceso al servidor, los derechos para ejecutar métodos restringidos y no restringidos se asignan a firmantes o grupos específicos en la sección Restricciones de programación de la ficha Seguridad del documento del servidor (consulte el tema "control de agentes y XPages que se ejecuten en un servidor" en la Ayuda del administrador de Domino > Seguridad > Acceso al servidor para usuarios de Notes, usuarios de Internet y servidores Domino > Personalización del acceso a un servidor Domino).

Cuando se invoca una página XPage (como en el caso de los Agentes), Domino comprueba si el documento del servidor cuenta con los derechos de seguridad del servidor del firmante de la página XPage, además de comprobar los derechos de acceso del usuario web autenticado. Para los componentes de las páginas XPage (por ejemplo, las páginas XPage incluidas, los controles personalizados, las extensiones JSF o las biblioteca JavaScript del servidor), Domino comprueba los derechos de acceso al servidor del firmante de cada uno de los componentes y, si así se indica, degrada la sesión de la página XPage para que se ejecute sólo con restricciones (si se define para Domino, la variable NoExternalApps de notes.ini tiene el mismo efecto). Durante la ejecución, las firmas de los usuarios DDE sin ningún derecho del servidor para firmar páginas XPage devolverán al navegador errores HTTP 403.

Uso de páginas XPage en el cliente Notes

En el cliente IBM Notes enriquecido, es posible ejecutar aplicaciones de páginas XPage.

La principal ventaja del soporte para páginas XPage en el cliente Notes es que permite replicar de forma local las aplicaciones desarrolladas para las web y ejecutarlas sin conexión en el cliente Notes, sin necesidad de adaptarlas al cliente. Todas las ventajas del modelo de desarrollo de aplicaciones de páginas XPage se pueden ampliar al cliente Notes. Estas aplicaciones se muestran en el navegador incorporado y, en su mayoría, parecen aplicaciones web y se comportan como ellas; aunque en el cliente Notes se comportan de una forma diferente en algunos casos.

  • Es posible crear una lógica específica del cliente Notes que afecte a la representación de la aplicación en Notes. Por ejemplo, en la aplicación Discusión, la representación web incluye un mensaje "Bienvenido (nombre de usuario)" seguido de un enlace "Mi perfil" en la esquina superior derecha de la página. El Mensaje de bienvenida no aparece en el cliente Notes, porque la lógica de la aplicación Discusión lo elimina. También puede modificar las propiedades de las páginas XPage de una aplicación para especificar temas diferentes para su uso cuando la aplicación se ejecute en el cliente Notes o en un navegador.
  • Los usuarios de aplicaciones que se ejecuten en el cliente Notes puede utilizar la opción Archivo > Guardar para guardar las modificaciones realizadas en las páginas XPage. La propiedad enableModifiedFlag le permite habilitar esta opción del menú para solicitar al usuario que guarde los cambios cuando se modifique una página XPage.
  • Cuando un usuario se autentica en el cliente Notes, sus credenciales se utilizan para acceder a las aplicaciones o componentes de las páginas XPage. Por lo tanto, el usuario no verá ningún recuadro de diálogo de inicio de sesión web, como sería el caso de las aplicaciones web tradicionales cuando se ejecutan en un navegador incorporado.
  • Para evitar que el código de los elementos de diseño de las páginas XPage (contenido activo) ejecute operaciones protegidas, como leer o escribir en archivos de la estación de trabajo o en las propiedades del sistema, las páginas XPage utilizan la lista de control de ejecuciones (ECL) para gestionar el acceso y las capacidades que el usuario ha asignado al firmante del código que intenta realizar la operación protegida.
  • En el cliente Notes, las páginas se pueden marcar.

En Domino Designer, además de crear páginas XPage como aplicaciones autónomas, puede crear componentes de páginas XPage ejecutables en aplicaciones compuestas y que admitan el modelo de sucesos de recepción/publicación y parámetros de componente. Así, los componentes de las páginas XPage podrán interactuar con otros componentes del cliente, como el componente PIM.

Recuerde también que las aplicaciones de páginas XPage pueden residir en servidores Domino. Si establece la opción de inicio "Al abrir en el cliente Notes" en "Mostrar XPage seleccionada (cliente estándar)", la página XPage correspondiente se mostrará en el cliente, independientemente de si la aplicación reside en el servidor Domino o en el equipo local del cliente Notes. El comportamiento de la página XPage en el cliente será el mismo.

Utilización de la barra de herramientas de páginas XPage

En el cliente Notes, las aplicaciones de páginas XPages tienen una barra de herramientas propia, que se muestra cuando hay una página XPage activa en el navegador incorporado.

Acerca de esta tarea
La barra de herramientas incluye varios grupos de botones.
  • Los botones de navegación le permiten desplazarse por las páginas, detener la acción actual, renovar la página actual y volver a la página original. El botón de renovación también ofrece una opción Borrar datos privados. Al ejecutar esta acción, se borra la memoria caché del navegador incorporado.
  • El botón Imprimir le permite configurar las páginas XPage para su impresión e imprimirlas.
  • Si tiene Domino Designer instalado, puede hacer clic en el botón Ver origen de página para ver la fuente HTML o el botón Ver configuración de navegador para ver la configuración del navegador incorporado.

Seguridad de páginas XPage

Las aplicaciones de páginas XPage disponen de seguridad.

Una aplicación de páginas XPage que se ejecute en el cliente IBM Notes puede incluir una serie de elementos de diseño que contienen código (normalmente llamado "contenido activo") que se puede ejecutar en la estación de trabajo del usuario, por ejemplo, accediendo a una base de datos o JavaScript con código Java incorporado. Para evitar que el contenido activo ejecute operaciones protegidas, como leer o escribir en archivos de la estación de trabajo o en las propiedades del sistema y operaciones de red, las páginas XPage utilizan la lista de control de ejecuciones (ECL) para gestionar el acceso y las capacidades que el usuario ha asignado al firmante del código que intenta realizar la operación protegida.

La lista ECL determina si el firmante del código puede ejecutar código en una estación de trabajo dada y define el acceso que tiene el código a diferentes funciones de la estación de trabajo, como el acceso a la base de datos actual o a otras bases de datos. El contenido activo de una aplicación de páginas XPage incluye, por ejemplo, código Java incorporado en JavaScript (lado del servidor), bibliotecas de scripts del lado del servidor, clases Java y archivos JAR importados en la base de datos.

Todos los elementos de diseño de una aplicación de páginas XPage llevan la firma de su creador. Tenga en cuenta que, si hay varios firmantes para una aplicación de páginas XPage, todos deben ser de confianza para el usuario para que la operación protegida se ejecute.

Las opciones de acceso de seguridad de la lista ECL para aplicaciones de páginas XPage se definen en la ficha Uso de la estación de trabajo, en Qué hacen los demás del recuadro de diálogo Seguridad del usuario (Archivo > Seguridad > Seguridad de usuarios).

Seguridad con filtrado de contenido activo

La característica de seguridad de filtrado de contenido activo (ACF) también protege contra la entrada de código malicioso en el control de entrada de una página XPage durante la ejecución.

El filtrado de contenido activo se utiliza para eliminar posible contenido activo malicioso (scripts, etiquetas) en un control de texto de entrada/salida. Los motores de ACF actúan como una biblioteca para realizar el filtrado durante el tiempo de ejecución. Si activa determinados controles de XPage (recuadro de edición, recuadro de edición de varias líneas, texto enriquecido, entrada oculta), aparecen dos propiedades htmlFilter y htmlFilterIn en la ficha Todas las propiedades en Elementos básicos.

La propiedad htmlFilter define el motor de ACF que se debe utilizar cuando el control envía datos al cliente y la propiedad htmlFilterIn, el motor que se debe utilizar cuando el control recibe texto del cliente. Estas dos propiedades se pueden cambiar para habilitar o inhabilitar ACF en un campo de texto.

Hay cuatro motores de ACF disponibles para páginas XPage:
  • acf
  • striptags
  • identity
  • empty

El motor “acf” analiza el texto HTML y filtra las construcciones no seguras, según un archivo de configuración (acf-config.xml). El motor “striptags” elimina todas las etiquetas mediante una expresión regular 'replaceAll("\\<.*?>","")'. El filtro "identity" devuelve la serie original. El motor “empty” elimina todo y devuelve una serie vacía.

El motor “acf” se puede configurar mediante un archivo de configuración. En el lado del cliente, este archivo suele encontrarse en C:\Archivos de programa\IBM\Lotus\Notes\Data\properties. Un ejemplo, acf-config.xml.sample, se incluye en esta carpeta.

Para configurar ACF, primero debe encontrar el archivo xsp.properties en la misma carpeta y añadir la línea siguiente: xsp.htmlfilter.acf.config=acf-config.xml. Esto indica que acf-config.xml se utilizará para configurar el motor “acf” (de lo contrario, se utilizarán las reglas predeterminadas). Ejemplo de contenido de un archivo 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>
En el ejemplo anterior:
  • <rule attribute='on' attribute-criterion='starts-with' action='remove-attribute-value' /> elimina los atributos que comienzan por "on."
  • <rule attribute='href' value='javascript:' value-criterion='contains' action='remove-attribute-value' /> elimina todos los atributos 'href' cuyo valor contiene una palabra clave 'javascript:'.
  • <rule tag='style' action='remove-tag' /> elimina todas las etiquetas "script".
  • <rule tag='link' attribute='rel' value='stylesheet' value-criterion='contains' action='remove-tag' /> elimina las etiquetas "link" cuyo valor del atributo "rel" coincide con "stylesheet".

Para obtener más información sobre la lista de controles de ejecución, consulte la ayuda del Administrador de Domino.

Cómo solicitar a los usuarios que guarden los cambios de las páginas XPage

Es posible controlar la forma en que una aplicación de páginas XPage se dirige al usuario cuando este realiza una acción que cierra una página que tiene campos modificados.

Acerca de esta tarea
Si una página XPage o un control personalizado contiene controles editables, puede definir dos propiedades para especificar cómo se dirige la aplicación al usuario cuando hay los controles modificados. Estas propiedades existen en dos niveles: el nivel de página XPage o control personalizado y el nivel de control principal.
  • Nivel 1: página XPage o control personalizado
    • enableModifiedFlag (booleano: el valor implícito predeterminado es false): especifica si se debe solicitar al usuario que guarde los cambios realizados en los controles principales de la página XPage o el control personalizado y si se debe habilitar la opción Archivo > Guardar del cliente Notes cuando se modifique la página XPage o el control en el cliente Notes. Las aplicaciones que se ejecutan en un navegador externo no pueden utilizar la opción Archivo > Guardar de Notes, por lo que solo se mostrará el recuadro de diálogo con el mensaje.
    • modifiedMessage (serie): mensaje personalizado que se mostrará en el recuadro de diálogo.
  • Nivel 2: control principal
    • disableModifiedFlag (booleano: el valor implícito predeterminado es true): especifica si se debe solicitar al usuario que guarde los cambios realizados en el control principal.
La propiedad enableModifiedFlag tiene prioridad absoluta al habilitar o inhabilitar las notificaciones de modificación para una página XPage o un control personalizado dados. Si establece el valor de esta propiedad en true, el usuario recibirá una notificación sobre los cambios realizados en todos los controles principales soportados de la página XPage o el control personalizado, a no ser que defina explícitamente el valor de la propiedad disableModifiedFlag del control principal en true. Si no define la propiedad enableModifiedFlag para una página XPage o un control personalizado, o define el valor en false de forma explícita, y define uno o varios valores de la propiedad disableModifiedFlag del control principal en false, no se informará al usuario de los cambios, ya que la propiedad enableModifiedFlag tiene prioridad.
Los controles principales siguientes dan soporte a esta característica:
  • Recuadro de edición
  • Recuadro de edición de varias líneas
  • Recuadro de lista
  • Recuadro combinado
  • Casilla de verificación
  • Botón de selección
  • Carga de archivos
  • Selector de fecha y hora
  • Editor de texto enriquecido

Si el usuario decide no guardar las modificaciones de la página actual, se puede ejecutar la acción seleccionada (por ejemplo, cerrar la página o ir a otra página en un navegador). Si el usuario decide guardar las notificaciones, los campos relacionados se validarán antes de guardar la página. La validación se realiza primero en el cliente y, después, en el servidor. La validación en el servidor no se realiza hasta que la validación realizada en el cliente de los campos de la página actual es satisfactoria. Si falla la validación en el servidor, el usuario verá la página actual con los campos erróneos para poder corregirlos. Cuando la validación se realiza correctamente, se puede ejecutar la acción solicitada.

Ejecución de páginas de XPage en un servidor HTTP de Notes en un Domino

Para obtener un mejor rendimiento, las aplicaciones de páginas XPage que se ejecutan en el cliente de Notes pueden en su lugar ejecutarse en el servidor HTTP de Domino.

De forma predeterminada, las aplicaciones de páginas XPage basadas en servidor que se ejecuten en el cliente Notes se ejecutan través de una serie de transferencias de datos entre el servidor y el cliente mediante protocolos de Notes. En su lugar, puede designar que estas aplicaciones se ejecuten en el servidor de Domino utilizando protocolos HTTP.

Las funciones de Notes funcionan igual que cuando se ejecutan en modalidad de páginas XPage nativas. Por ejemplo, los menús contextuales (como Archivo > Guardar, Archivo > Réplica, Archivo > Abrir), guardar documento en sucio, JavaScript del lado del cliente, etc, se comportan del mismo modo. Una excepción es que las aplicaciones compuestas no pueden utilizar la funcionalidad de intermediario de propiedades de cliente cuando se ejecutan en el servidor.

Requisitos del diseñador
En el separador Launch de Application Properties, donde se aplica Abrir página XPage designada (cliente estándar), marque Ejecutar aplicaciones de páginas XPage basadas en servidor directamente en el servidor de Domino y guarde la aplicación. Esta propiedad también puede aplicarse en Notes a través del recuadro de propiedades de una aplicación.
O bien, puede habilitar la ejecución del servidor para todas las aplicaciones insertando la línea siguiente en el archivo Notes notes.ini y reiniciando Notes:
XPagesRunRemoteAppsOnServer=1
Requisitos de tiempo de ejecución de Notes
El cliente de Notes debe contener una cuenta HTTP para el servidor que contiene la aplicación de páginas XPage. Para crear o visualizar cuentas de Notes, haga clic en Archivo > Preferencias > Cuentas. Para obtener la documentación, consulte "Creación y edición de cuentas de la preferencia de Notes" en la ayuda de Notes.

Las cuentas pueden configurarse en un servidor de Domino y suministrarse a clientes de Notes.

Cuando se inicia una aplicación de páginas XPages basada en servidor en el cliente de Notes, el procesador de XPages busca una cuenta HTTP para el servidor que contiene la aplicación y la carga.

La infraestructura de cuentas de Notes y el navegador XULRunner subyacente pasan automáticamente credenciales de usuario al servidor web para su autenticación. Si se le solicita al usuario el nombre y la contraseña, la configuración de Notes no está definida correctamente, por ejemplo, el SSO es erróneo. Puede verificarlo de forma independiente especificando un URL para la aplicación en el widget de direcciones del navegador de Notes en la barra de herramientas de Notes.

Si no existe ninguna cuenta HTTP que coincida, se solicitarán las credenciales al usuario a menos que se permita el acceso anónimo. Sin embargo, la existencia de una cuenta HTTP puede hacerse obligatoria con la siguiente variable notes.ini:
XPagesRunOnServerRequireAccount=1
Si se necesita una cuenta coincidente pero no se encuentra, o si la información de cuenta no es válida, se le solicita al usuario que cierre la ventana de la aplicación o vuelva a ejecutar la aplicación utilizando el contenedor web de Notes local.
La siguiente variable notes.ini inhabilita las páginas XPage en ejecución en Notes en un servidor:
XPagesRunOnServerDisable=1
Fondo de rendimiento
Las aplicaciones de páginas XPage que se ejecutan en el cliente de Notes pero residen en servidores de Domino remoto tienen que afrontar determinados retos de rendimiento. El motivo principal es que hay que realizar muchas transacciones de red al ejecutar la aplicación de XPage en el cliente Notes. Es importante entender que las aplicaciones Notes de páginas XPages se ejecutan en el contenedor web XPD de Notes local y, por tanto, todas las clases Java de las páginas XPage (controles XPages y personalizados) deben copiarse a través de la red desde el servidor remoto al cliente de Notes que se ejecutará. De forma similar, todos los recursos de página (CSS, JavaScript, GIF, etc.) deben captarse desde el servidor remoto, así como los datos reales. Además, si su aplicación de páginas XPage utiliza otros artefactos de diseño de Notes (utilizando la característica computeWithForm, por ejemplo), también deberán captarse de forma arbitraria grandes elementos de diseño como formularios, subformularios y campos compartidos. En redes de alta latencia, esto puede afectar al rendimiento, en particular si la aplicación se ha diseñado principalmente para la web y no se ha optimizado para el cliente de Notes.

Traducción de una aplicación de páginas XPage

Cuando traduzca páginas XPage y controles personalizados, no haga copias nuevas para cada idioma, ya que el mecanismo de traducción de páginas XPage es distinto al mecanismo utilizado para los elementos de diseño clásicos de IBM Notes.

Acerca de esta tarea
En el mecanismo de traducción de páginas XPage, el texto traducible se extrae de la página XPage y se coloca en un archivo diferente mediante un proceso automático. Después, se proporcionan las traducciones de dicho archivo en otros idiomas. La página XPage determina el archivo traducido que se debe utilizar, según el idioma del navegador web o el cliente Notes.

Para obtener instrucciones sobre la traducción de páginas XPage, consulte el apartado "XPages: How to use the localization options" (Páginas XPage: cómo utilizar las opciones de localización) en la wiki de Domino Designer.

Diseño de páginas XPage de copia única

Puede almacenar elementos de diseño de páginas XPage en una base de datos y redireccionar a ella las otras bases de datos en el tiempo de ejecución.

Acerca de esta tarea

Las páginas XPage de copia única mejoran el rendimiento al utilizar una ubicación para el almacenamiento de objetos y el acceso al navegador. Los elementos de diseño afectados son XPages, controles personalizados, bibliotecas JavaScript, hojas de estilo y temas. Para direccionar una base de datos para que utilice un repositorio para sus elementos de XPage en el tiempo de ejecución:

Procedimiento

  1. En el panel izquierdo, seleccione Propiedades de aplicación.
  2. En el panel superior central, seleccione la ficha Páginas XPage.
  3. Desplácese hacia abajo hasta Rendimiento.
  4. Seleccione Diseño de página XPage de copia única.
  5. Especifique el nombre del NSF que contiene los elementos de diseño de páginas XPage. Un nombre relativo es relativo al directorio de datos de Notes.

Resultados

La aplicación que contiene los elementos de diseño debe ser un archivo NSF.

Todos los elementos de diseño de páginas XPage deben estar en el repositorio o no. No puede alterar temporalmente ni seleccionar elementos de diseño individualmente.

No puede cambiar el valor de copia única dinámicamente.

Los elementos compartidos están restringidos a los elementos de páginas XPage citados anteriormente. Por ejemplo, los formularios y las vistas no se comparten.

Adición de controles

Los controles son elementos visuales como recuadros de edición, botones, imágenes y texto que permiten a los usuarios manipular datos de una página XPage.

Los controles son de los tipos siguientes: principal, contenedor y otros.

Un nombre de etiqueta identifica cada control en XML. En la interfaz de usuario aparece un nombre común. Por ejemplo, el nombre de etiqueta de un recuadro de edición es inputText mientras que el nombre común es Recuadro de edición. Los temas de consulta siguientes identifican los controles por nombre de etiqueta y nombre común.

La paleta Controles y el menú Crear listan la mayoría de los controles principales y de contenedor de forma predeterminada. Seleccione Otros para acceder a todos los controles. Puede ajustar la pantalla de controles en Archivo > Preferencias > Domino Designer > Paleta.

Manipulación de controles y texto

Puede añadir controles y texto a una página XPage utilizando el editor de Diseño u Origen. La paleta Controles proporciona un origen para los controles.

La paleta Controles aparece en una ventana en el lateral del editor. Si no aparece, haga clic en Ventana > Mostrar vistas de Eclipse > Controles.

Puede arrastrar un control desde la paleta al editor (de Diseño y de Origen). O bien, puede colocar el cursor en el editor y, a continuación, hacer doble clic en el control en la paleta. También puede utilizar Crear > Controles principales o Crear > Controles de contenedor en el menú.

Puede mover, redimensionar, cortar, copiar, pegar y suprimir controles como lo hace normalmente.

Puede añadir texto y retornos de carro a una página XPage.

Si coloca el cursor en un control en el editor de Diseño, sus propiedades estarán disponibles. Si coloca el cursor fuera de todos los controles, las propiedades de XPage estarán disponibles.

También puede ejecutar algunas manipulaciones de XPage desde la vista General.

Establecimiento de propiedades

Las propiedades definen las páginas XPage y los controles.

Las propiedades aparecen en una ventana en el editor. Las propiedades que aparecen son para el control enfocado en el editor o para la página XPage si el foco está fuera de todos los controles.

Seleccione Todas las propiedades en la ficha Propiedades para acceder a una lista categorizada de todas las propiedades de un control o una página XPage. Las propiedades se identifican por su nombre de etiqueta canónico. Realice otras selecciones en las fichas Propiedades y Eventos para acceder a subconjuntos de las propiedades con una interfaz de usuario de diseñada. Aquí se accede a las propiedades con nombres descriptivos.

Asigne valores a las propiedades de la siguiente manera:
  • Los valores estáticos se seleccionan en una lista o se escriben.
  • Los valores dinámicos se especifican con scripts que devuelven un valor. Un rombo al lado de la propiedad abre el editor de scripts.
  • Los sucesos se especifican con scripts del lado del servidor o del cliente y con acciones simples. Se recomienda especificar scripts y acciones simples en la ficha Sucesos.
En el origen XML, pueden aparecer propiedades como atributos y contenido para el elemento de control. Por ejemplo, a continuación se muestra un control inputText (Recuadro de edición) con las propiedades id y value definidas como atributos:
<xp:inputText id="inputText1" value="#{document1.subject}"></xp:inputText>
En este caso, la propiedad value se define como un contenido para la definición de control:
<xp:inputText id="inputText1">
	<xp:this.value>
		<![CDATA[#{javascript:return document1.getItemValueString("subject")}]]>
	</xp:this.value>
</xp:inputText>
Las propiedades dinámicas se calculan de la forma siguiente. Utilice los botones de selección de la ventana de edición para seleccionar una u otra.
  • Calcular dinámicamente vuelve a calcular la fórmula siempre que se renueva la página XPage. Estas fórmulas aparecen en la fuente precedidas por un símbolo de almohadilla, por ejemplo, #{javascript:var dc = database.getAllDocuments(); "Count = " + dc.getDocumentCount();}.
  • Calcular al cargar la página calcula la fórmula una vez cuando se carga la página XPage por primera vez. Estas fórmulas aparecen en la fuente precedidas por un símbolo de dólar, por ejemplo, ${javascript:var dc = database.getAllDocuments(); "Count = " + dc.getDocumentCount();}.

Sucesos

Los sucesos son acciones que el usuario puede realizar como, por ejemplo, hacer clic en un botón o retirar el foco de un recuadro de edición. Los manejadores de sucesos son acciones que (el diseñador) puede ejecutar como respuesta a los sucesos.

Un manejador de sucesos forma parte de un control o de la página XPage.

Un manejador de sucesos puede ser un script, una acción simple o un grupo de acciones simples. Para un suceso, pueden especificarse manejadores para que se ejecuten en el cliente, en el servidor o en ambos. Un manejador de cliente puede impedir que el manejador de cliente continúe ejecutándose y cancelar la ejecución de un manejador de servidor devolviendo false.

Si trabaja en la modalidad de diseño, enfoque el control o la página correspondiente, haga clic en la ficha Sucesos y seleccione el suceso que desee. A continuación, puede especificar el manejador de sucesos.

Los sucesos se tratan como propiedades y aparecen en Todas las propiedades en Propiedades. No obstante, se recomienda no crear ni modificar un suceso en Todas las propiedades. Utilice la ficha Sucesos o el XML de origen.

Manejadores de sucesos de servidor

En la modalidad de origen, el formato general de un manejador de sucesos de servidor es como se describe a continuación. Si trabaja en la modalidad de diseño, seleccione la ficha Sucesos y, a continuación, la ficha 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>
Donde:
  • event especifica el nombre del suceso, por ejemplo, onblur u onclick. Si trabaja en la ficha Sucesos, seleccione el suceso correspondiente.
  • submit="true" hace que se envíe una solicitud al servidor cuando el usuario activa el suceso. Cualquier otro valor para submit desactiva el suceso. Si trabaja en la ficha Sucesos, haga clic en Sin envío para eliminar el suceso.
  • refreshMode es uno de los siguientes valores:
    • complete vuelve a cargar la página completa en el cliente después de que el servidor procese la solicitud. Si trabaja en la ficha Sucesos, haga clic en Actualización completa.
    • partial vuelve a cargar una parte seleccionada de la página utilizando la tecnología AJAX (Asynchronous JavaScript and XML). Si trabaja en la ficha Sucesos, haga clic en Actualización parcial.
    • norefresh no vuelve a cargar la página. Si trabaja en la ficha Sucesos, haga clic en Sin actualización.
  • refreshId sólo se aplica para refreshMode="partial" y especifica el control que se va a actualizar. Si trabaja en la ficha Sucesos, haga clic en Seleccionar elemento.
  • immediate="true" suprime la validación de datos en el servidor. Para que se realice el proceso de datos, omita este atributo o especifique un valor distinto de true. Si trabaja en la ficha Sucesos, haga clic en No validar ni actualizar datos.
  • execMode="partial" especifica una renovación parcial cuando se ejecuta un fragmento de código. Para que se realice una renovación completa, omita este atributo o especifique un valor distinto de partial. Si trabaja en la ficha Sucesos, haga clic en Establecer modalidad de ejecución parcial.
  • action especifica uno de los siguientes valores:
    • el script donde textOfScript es su código. Si trabaja en la ficha Sucesos, haga clic en Editor de scripts. Especifique el script en la ventana de script o abra el diálogo de script.
    • el nombre de una acción simple y sus argumentos. Si trabaja en la ficha Sucesos, haga clic en Acciones simples. Utilice los distintos botones y listas para crear y editar acciones simples.
    • actionGroup, que puede contener acciones simples y otros grupos de acciones. La condición es opcional. Puede especificar varios grupos.
  • parameters especifica los nombres y los valores de los parámetros de suceso. Si trabaja en la ficha Sucesos, haga clic en Editar parámetros de suceso.

Manejadores de sucesos de cliente

El formato general de un manejador de sucesos que es un script de cliente es el siguiente. Si trabaja en la modalidad de diseño, seleccione la ficha Sucesos y, a continuación, la ficha 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>
Donde:
  • event especifica el nombre del suceso, por ejemplo, onblur u onclick. Si trabaja en la ficha Sucesos, seleccione el suceso correspondiente.
  • submit="false" significa que no se envía ninguna solicitud al servidor cuando el usuario activa el suceso. Es un requisito para un script de cliente.
  • script especifica uno de los siguientes valores:
    • el script donde textOfScript es su código. Si trabaja en la ficha Sucesos, haga clic en Editor de scripts. Especifique el script en la ventana de script o abra el diálogo de script.
    • el nombre de una acción simple y sus argumentos. Si trabaja en la ficha Sucesos, haga clic en Acciones simples. Utilice los distintos botones y listas para crear y editar acciones simples.
    • scriptGroup, que puede contener acciones simples y otros grupos de acciones. La condición es opcional. Puede especificar varios grupos.

Envío y cancelación de manejadores de sucesos

Un botón de tipo Enviar genera un manejador de sucesos con el siguiente formato:
<xp:eventHandler event="onclick" submit="true"
	refreshMode="complete" immediate="false" save="true">
</xp:eventHandler>
Un botón de tipo Cancelar genera un manejador de sucesos con el siguiente formato:
<xp:eventHandler event="onclick" submit="true"
	refreshMode="complete" immediate="true" save="false">
</xp:eventHandler>
Observe que save="true" para los botones Enviar y save="false" para los botones Cancelar.

Combinación de manejadores de sucesos de servidor y cliente

El código JavaScript de cliente puede desencadenar un manejador de sucesos de servidor. El primer parámetro debe ser una vía de acceso completa para el manejador de sucesos, en lugar de sólo el ID de manejador de sucesos del servidor. Esto permite llamar a manejadores de sucesos que están incluidos también en los controles personalizados. Puede adquirir el ID del lado de servidor de manejador de sucesos y pasarlo al script de cliente como en cualquier otro control (por ejemplo utilizando # {id:eventhanderId} o la función SSJS getClientId()).

El manejador de sucesos se ejecuta en el contexto que especifique. Por ejemplo, al especificar el manejador de sucesos con un ID de view:_id1:repeatCtrl:0:_id33:eventhandler1 se ejecutaría con el primer elemento de xp:repeat con un ID de repeatCtrl, mientras que view:_id1:repeatCtrl:1:_id33:eventhandler1 se ejecutaría con el segundo elemento.

La gestión de sucesos del lado de cliente se desencadena con un botón u otro elemento de interfaz de usuario, y pasa información al servidor para que sea gestionada por el manejador de sucesos del lado del servidor. Si trabaja en la modalidad de diseño, seleccione la ficha Sucesos y, a continuación, la ficha 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>
Si trabaja en la modalidad de diseño, seleccione la ficha Sucesos y, a continuación, la ficha 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);
}	

Facetas

Una faceta define una región en un control para la colocación de otros controles.

Un control puede representar o no una faceta, dependiendo del control y del contenido de la faceta.

Un uso especial de las facetas es la colocación de paginadores en las vistas. Un uso general de las facetas es la colocación de paneles en otros controles. A continuación, se muestra un código fuente de ejemplo de una vista. Observe que la región facets aparece como un atributo del control padre y contiene el otro control.
<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>

La especificación xp:key es un artefacto de facetas, no una propiedad del otro control. El valor que se muestra es el adecuado para un paginador en una vista. Para un panel, utilice uno de los siguientes valores para especificar la ubicación del otro control en el padre: east, west, south, north, southwest, southeast, northwest y northeast.

El siguiente código de ejemplo contiene una panel que muestra dos vínculos (Inbox y Outbox) y una imagen. El primer vínculo proporciona un suceso 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>

Las facetas no están visibles en la modalidad de diseño. Debe utilizar la modalidad de origen para crear y modificar directamente las facetas.

Widgets de Dojo

Los widgets de Dojo son código JavaScript preempaquetado, HTML y declaraciones CSS que mejoran el aspecto y el uso de los controles en el navegador y el cliente Notes.

Los widgets de Dojo pueden utilizarse en los siguientes controles: Recuadro de edición, Texto enriquecido, Recuadro de edición de varias líneas, Botón, Casilla de verificación, Botón de selección, Selector de fecha y hora, Contenido de ocupación, Panel, Tabla, Div.

En Domino 8.5.3, los archivos Dojo en domino\js\dojo-1.5.0\dijit en el directorio de datos de Notes. En Domino 8.5.2, se encuentran en domino\js\dojo-1.4.1\dijit.

Las aplicaciones deben hacer referencia a archivos Dojo a través de /.ibmxspres/dojoroot/ que correlaciona con la versión soportada.

Para obtener más información sobre Dojo, consulte http://api.dojotoolkit.org.

Cómo hacer que los recursos de Dojo estén disponibles en una página XPage

Los recursos de Dojo deben estar disponibles antes de aplicarlos a los controles.

Acerca de esta tarea
Para hacer que los recursos de Dojo estén disponibles en una página XPage:
Procedimiento
  1. Enfoque la propia página XPage.
  2. Seleccione Dojo en la ficha Propiedades.
  3. Establezca dojoTheme en true.
  4. Seleccione Recursos en la ficha Propiedades.
  5. Para cada widget que desee que esté disponible:
    1. Haga clic en Añadir y seleccione Módulo de Dojo.
    2. Especifique el nombre del módulo de Dojo, por ejemplo, dijit.form.NumberSpinner.
    3. (Opcional) Especifique una condición: un script que se evalúe en true o false.
    4. Haga clic en Aceptar.

Aplicación de un widget de Dojo a un control

Cuando los recursos de Dojo están disponibles en una página XPage, puede aplicarlos a los controles.

Acerca de esta tarea
Para aplicar un widget de Dojo a un control como, por ejemplo, un recuadro de edición:
Procedimiento
  1. Enfoque el control.
  2. Seleccione Dojo en la ficha Propiedades.
  3. Establezca el tipo de Dojo en el nombre del recurso del módulo Dojo, por ejemplo, dijit.form.NumberSpinner. En Todas las propiedades, es dojoType.
  4. Para establecer un valor de atributo:
    1. Haga clic en el icono Añadir.
    2. Especifique el nombre del atributo, por ejemplo, value o smallDelta para dijit.form.NumberSpinner.
    3. Especifique el valor del atributo, por ejemplo, 100 para value o 5 para smallDelta en dijit.form.NumberSpinner.
    En Todas las propiedades, es dojoAttributes.
Resultados
Si guarda y consulta una vista previa de dijit.form.NumberSpinner aplicado a un control Recuadro de edición, aparecerán flechas arriba y abajo (la aguja giratoria) en el lateral del recuadro de edición. El valor inicial del recuadro de edición es el atributo value. Cuando hace clic en las flechas hacia arriba y abajo, el valor aumenta y disminuye dependiendo del atributo smallDelta.

Referencia de control

Aquí se especifican los controles de las páginas XPage.

br - Salto de línea

Inserta un salto en el texto.

Categoría
Controles principales
Sintaxis
<xp:br attributes>content</xp:br>
Tabla 1. Todas las propiedades
Categoría Propiedades
accesibilidad title
elementos básicos attrs, binding, id, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
estilo disableTheme, style, styleClass, themeId
Uso

En el tiempo de ejecución, aparece un salto de línea en la página.

Normalmente, este control no utiliza propiedades.

Ejemplos
Este salto de línea separa dos botones:
<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ón

Muestra un botón en el que el usuario puede hacer clic para realizar una acción.

Categoría
Controles principales
Sintaxis
<xp:button attributes>content</xp:button>
Tabla 2. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado button1, button2, etc.
value Especifica la etiqueta del botón.
eventHandler Especifica la acción cuando se activa el botón. Consulte la sección de uso.
Uso
En el tiempo de ejecución, aparece un botón en la página. El usuario puede hacer clic en el botón.
Los botones son de tres tipos:
  • Botón (valor predeterminado) responde a los manejadores de sucesos que crea, por ejemplo, para onclick.
  • Enviar guarda los datos y cierra la página.
  • Cancelar cierra la página.
Cuando se cierra una página, la siguiente página que se carga viene determinada por la propiedad navigationRules para la página que es la Página siguiente (satisfactoria o cancelar) en la UI.
Para establecer el tipo de botón en la UI, haga clic en Botón al lado de Propiedades y busque Tipo de botón. La propiedad eventHandler generada tiene los siguientes atributos. Siga estas reglas si construye la propiedad eventHandler manualmente.
Botón Enviar Cancelar
event=any event="onclick" event="onclick"
submit=any submit="true" submit="true"
refreshMode=any refreshMode="complete" refreshMode="complete"
immediate=any immediate="false" immediate="true"
save=any save="true" save="false"
action=simple action or event handler action=none action=none
Ejemplos
Este control Botón es de tipo Enviar.
<xp:button id="button1" value="Submit">
	<xp:eventHandler event="onclick"
		submit="true" refreshMode="complete" immediate="false" save="true">
	</xp:eventHandler>
</xp:button>
Este control Botón es de 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 control Botón es de tipo Botón y ejecuta la acción simple Guardar datos cuando se hace clic en él.
<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>

devolución de llamada: Área editable

Proporciona un control personalizado con un área que puede editarse cuando se incluye en una XPage.

Categoría
Controles principales
Sintaxis
<xp:callback attributes>content</xp:callback>
Tabla 4. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado callback1, callback2, etc.
facetName Identifica la región de destino.
Tabla 5. Todas las propiedades
Categoría Propiedades
elementos básicos attrs, binding, facetName, id, loaded, rendered, rendererType
estilo disableTheme, themeId
Uso
Este control se aplica sólo a un control personalizado.

Para más información, consulte Definición de áreas editables en controles personalizados y Definición de las propiedades generales de los controles personalizados.

checkBox - Casilla de verificación

Muestra un recuadro que se puede seleccionar o deseleccionar.

Categoría
Controles principales
Sintaxis
<xp:checkBox attributes>content</xp:checkBox>
Tabla 6. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado checkBox1, checkBox2, etc.
text Proporciona una etiqueta.
value Enlaza el control con un elemento de datos u otro valor.
checkedValue Especifica el valor de los datos cuando se selecciona el recuadro. Toma de forma predeterminada el valor de la serie true.
uncheckedValue Especifica el valor de los datos cuando se deselecciona el recuadro. Toma de forma predeterminada el valor de la serie false.
defaultChecked Especifique true para seleccionar el recuadro de forma predeterminada.
Uso
En el tiempo de ejecución, aparece una casilla de verificación en la página. El usuario puede seleccionarlo o deseleccionarlo. Aparece una marca de selección en el recuadro cuando está seleccionado.
Ejemplos
Este control Casilla de verificación asigna un valor de datos dependiendo de si el recuadro está seleccionado (valor predeterminado) o deseleccionado.
<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 control Casilla de verificación está enlazado con una variable de solicitud denominada phonesame. Se ejecuta un script si se modifica el recuadro. El script establece el valor del control phonenight (un recuadro de edición) igual al del control phoneday si la casilla de verificación está seleccionado.
<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 casillas de verificación

Muestra varios recuadros que se pueden seleccionar o deseleccionar.

Categoría
Controles principales
Sintaxis
<xp:checkBoxGroup attributes>content</xp:checkBoxGroup>
Tabla 8. Controles incorporados
Control Descripción
selectItem Proporciona un elemento para la selección del usuario.
selectItems Proporciona uno o varios elementos para la selección del usuario.
Tabla 9. Propiedades esenciales
Categoría Propiedades
id Toma el valor predeterminado checkBoxGroup1, checkBoxGroup2, etc.
value Enlaza el control con un elemento de datos u otro valor.
Uso
En el tiempo de ejecución, aparecen una o varias casillas de verificación en la página. El usuario puede seleccionarlas o deseleccionarlas. Aparece una marca de selección en un recuadro cuando está seleccionado.

El elemento de datos enlazado con la casilla de verificación debe permitir varios valores.

Ejemplos
Este control Grupo de casillas de verificación presenta dos elementos que se pueden seleccionar.
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
		<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
		<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
	</xp:checkBoxGroup>
Este control Grupo de casillas de verificación presenta dos elementos que se pueden seleccionar utilizando una fórmula.
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>
Este Grupo de casillas de verificación obtiene las selecciones de elementos a partir de los valores en una columna de vista.
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>

comboBox - Recuadro combinado

Muestra una lista de elementos, uno de los cuales puede seleccionarse.

Categoría
Controles principales
Sintaxis
<xp:comboBox attributes>content</xp:comboBox>
Tabla 11. Controles incorporados
Control Descripción
selectItem Proporciona un elemento para la selección del usuario.
selectItems Proporciona uno o varios elementos para la selección del usuario.
Tabla 12. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado comboBox1, comboBox2, etc.
text Proporciona una etiqueta.
value Enlaza el control con un elemento de datos u otro valor.
Uso
En el tiempo de ejecución, aparece una lista desplegable en la página. El usuario puede seleccionar un elemento.
Ejemplos
Este control Recuadro combinado presenta dos elementos que se pueden seleccionar.
<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 control Recuadro combinado presenta dos elementos que se pueden seleccionar utilizando una 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>
Este Recuadro combinado obtiene las selecciones de elementos a partir de los valores en una columna de vista.
<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 - Tabla de datos

Contiene las celdas organizadas en filas y columnas, asociadas con un origen de datos. Cada celda puede contener otros controles (incluido tablas) y texto.

Categoría
Controles de contenedor
Sintaxis
<xp:dataTable attributes>
	<xp:column attributes>content	</xp:column>
	...
</xp:dataTable>
Tabla 14. Propiedades esenciales
Propiedad Descripción
id (dataTable) Toma el valor predeterminado dataTable1, dataTable2, etc.

(column) Toma el valor predeterminado column1, column2, etc.

value (dataTable) Normalmente, el enlace de datos es a una colección de elementos, por ejemplo, a un objeto NotesDocumentCollection.
var (dataTable) Normalmente, esta variable hace referencia a un miembro de la colección de datos enlazada, por ejemplo, a un objeto NotesDocument si el enlace es a un objeto NotesDocumentCollection.
Tabla 16. Todas las propiedades (column)
Categoría Propiedades
accesibilidad role
elementos básicos binding, id, loaded, rendered, rendererType
estilo disableTheme, style, styleClass, themeId
Paginadores
Una región de facetas que contiene uno o varios paginadores forma parte de la tabla, dependiendo de las especificaciones de diseño. Utilice la modalidad de origen para trabajar con la región de facetas.

A continuación, se muestra una faceta de ejemplo para los controles de paginador:

<xp:this.facets>
	<xp:pager partialRefresh="true" layout="Previous Group Next"
		xp:key="header" id="pager1">
	</xp:pager>
</xp:this.facets>
Los siguientes recuadros en la ficha Mostrar en Propiedades afectan al contenido de la faceta de la siguiente manera:
  • Mostrar paginador en cabecera (deseleccionado de forma predeterminada) genera un control pager de la clave header. Si se deselecciona, no se generan regiones de facetas.
  • Mostrar paginador en pie de página (deseleccionado de forma predeterminada) genera un control pager de la clave footer.
Uso
En el tiempo de ejecución, aparece la tabla de datos en la página. El usuario puede acceder a la tabla celda a celda.

Una vez creada una tabla de datos, puede añadir y suprimir filas y columnas.

El contenido de cada columna es uno, dos o tres valores que representan las filas de cabecera, media y de pie de página en la tabla. La fila media se representa como un número variable de filas, dependiendo del número de elementos en el origen de datos.

En el caso de funciones de vista de Domino como categorías, totales y clasificación, prefiera el control Vista. El control Vista incorpora las funciones de su vista de Domino de origen.

Utilice este control en los casos en que necesite funciones a parte de las del control Vista. Este control permite al usuario editar columnas mientras que un control Vista no lo hace. Con este control, puede incluir y enlazar otros controles (por ejemplo, imágenes) que desee mientras que un control Vista está limitado por el diseño de la vista de Domino de origen.

Ejemplos
Esta tabla de datos muestra los elementos subject y fruit de todos los documentos en la base de datos 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 fecha y hora

Muestra un selector para seleccionar los valores de fecha y hora en un recuadro de edición.

Categoría
Controles principales
Sintaxis
<xp:dateTimeHelper attributes>content</xp:dateTimeHelper>
Tabla 17. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado dateTimeHelper1, dateTimeHelper2, etc.
Tabla 18. Todas las propiedades
Categoría Propiedades
elementos básicos binding, id, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
formato timeClickableIncrement, timeVisibleIncrement, timeVisibleRange
estilo disableTheme, themeId
Uso
En la modalidad de diseño, la creación de un control Selector de fecha y hora lo incorpora automáticamente en un control Recuadro de edición con un tipo de visualización de Fecha/hora. Para acceder a las propiedades de Selector de fecha y hora, seleccione la modalidad de origen y enfoque el elemento incorporado dateTimeHelper.

En el tiempo de ejecución, el usuario puede hacer clic en el selector y, a continuación, seleccionar una fecha y hora para insertarlas en el recuadro de edición.

Ejemplos
Este recuadro de edición contiene un selector para seleccionar los valores de fecha y hora.
<xp:inputText id="inputText4" value="#{document1.mydatetime}">
	<xp:dateTimeHelper id="dateTimeHelper1"></xp:dateTimeHelper>
	<xp:this.converter>
		<xp:convertDateTime type="both" dateStyle="short" timeStyle="short"></xp:convertDateTime>
	</xp:this.converter>
</xp:inputText>

div - División

Actúa como una división o un bloque de contenido en HTML. Contiene otros controles y texto.

Categoría
Controles de contenedor
Sintaxis
<xp:div attributes>content</xp:div>
Tabla 19. Todas las propiedades
Categoría Propiedades
accesibilidad role, title
elementos básicos attrs, binding, dir, id, lang, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
sucesos onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
estilo disableTheme, style, styleClass, themeId
Uso

En el tiempo de ejecución, aparece el contenido de la división en la página con las propiedades asignadas.

Ejemplos
Estos controles Div contienen texto y recuadros de edición con estilos diferentes.
<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 - Manejador de sucesos (control)

Responde a las acciones del usuario como, por ejemplo, cuando hace clic en un control.

Categoría
Otros controles
Sintaxis
<xp:eventHandler attributes>content</xp:eventHandler>
Tabla 20. Propiedades esenciales
Propiedad Descripción
save Guarda los datos asociados con el formulario o no. Debe ser false para los botones de tipo Cancelar.
submit Es true para enviar una solicitud y obtener una respuesta del servidor. Un manejador de cliente puede cancelar el envío de una solicitud devolviendo false.
refreshMode Especifica si la renovación de página es completa, parcial o no se ha realizado.
immediate Debe ser true para los botones de tipo Cancelar.
Uso
Consulte el apartado Sucesos.
Ejemplos
Este es un control Botón de tipo Enviar.
<xp:button value="submit" id="button1">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="complete" immediate="false" save="true">
	</xp:eventHandler>
</xp:button>
Este es un control Botón de tipo Cancelar.
<xp:button value="cancel" id="button2">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="complete" immediate="true" save="false">
	</xp:eventHandler>
</xp:button>
Este es un control Botón con un suceso onclick codificado por el usuario.
<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 - Descarga de archivos

Descarga un archivo en el sistema de archivos local.

Categoría
Controles principales
Sintaxis
<xp:fileDownload attributes>content</xp:fileDownload>
Tabla 22. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado fileDownload1, fileDownload2, etc.
value Enlaza el control de archivos con un elemento de datos u otro valor que debe ser de tipo texto enriquecido.
mimetype Impone el tipo MIME de la descarga, en lugar de dejar que lo determine el tipo de archivo.
useUploadName De forma predeterminada, se utiliza el nombre de archivo original.
filename Especifica el nombre de archivo adjunto si no utiliza el nombre de archivo original.
Uso
En el tiempo de ejecución, aparece información sobre los archivos adjuntos en la página. Por ejemplo, el tipo de archivo, el tamaño, el nombre, la fecha de modificación, la fecha de creación y si el usuario puede suprimir el archivo adjunto. El usuario puede hacer clic en el nombre para acceder a un navegador de archivos para descargar el archivo adjunto.
Ejemplos
Este control Descarga de archivos permite al usuario descargar un archivo del elemento Cuerpo de un documento.
<xp:fileDownload rows="30" id="fileDownload1"
	displayLastModified="false" value="#{document2.body}">
</xp:fileDownload>

fileUpload - Carga de archivos

Carga un archivo del sistema de archivos local.

Categoría
Controles principales
Sintaxis
<xp:fileUpload attributes>content</xp:fileUpload>
Tabla 24. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado fileUpload1, fileUpload2, etc.
value Enlaza el control de archivos con un elemento de datos u otro valor que debe ser de tipo texto enriquecido.
mimetype Impone el tipo MIME de la carga, en lugar de dejar que lo determine el tipo de archivo.
useUploadName De forma predeterminada, se utiliza el nombre de archivo original.
filename Especifica el nombre de archivo adjunto si no utiliza el nombre de archivo original.
Uso
En el tiempo de ejecución, aparece un navegador de archivos en la página. El usuario puede especificar un archivo o seleccionarlo en el sistema de archivos local.

El archivo se adjunta al elemento enlazado en un almacén de datos cuando se guarda la página. Este elemento debe ser de un tipo que permita un adjunto de archivo, por ejemplo, de texto enriquecido.

Ejemplos
Este control Carga de archivos carga un archivo al elemento Cuerpo de un documento.
<xp:fileUpload id="fileUpload1" value="#{document1.body}"></xp:fileUpload>

image - Imagen (control)

Muestra una imagen.

Categoría
Controles principales
Sintaxis
<xp:image attributes>content</xp:image>
Tabla 26. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado image1, image2, etc.
for Identifica el control de destino.
Tabla 27. Todas las propiedades
Categoría Propiedades
accesibilidad alt, role, title
elementos básicos attrs, binding, dir, id, ismap, lang, loaded, longdesc, rendered, rendererType, url, usemap, value
sucesos onblur, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
formato height, width
estilo disableTheme, style, styleClass, themeId
Uso
En el tiempo de ejecución, la imagen aparece en la página.
Ejemplos
A continuación, se muestra una imagen colocada en la página.
<xp:image url="/sound.gif" id="image1" alt="Sound image"></xp:image>

include - Incluir página

Inserta una referencia a otra página XPage.

Categoría
Controles de contenedor
Sintaxis
<xp:include attributes>content</xp:include>
Tabla 28. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado include1, include2, etc.
pageName Es la página que se incluye.
Tabla 29. Todas las propiedades
Categoría Propiedades
accesibilidad role, title
elementos básicos attrs, binding, componentId, dir, id, loaded, pageName, rendered, rendererType
datos acl, data, dataContexts, readonly
dojo dojoAttributes, dojoType
sucesos onClientLoad
estilo disableTheme, outerStyleClass, style, styleClass, themeId
Uso
En el tiempo de ejecución, aparece la página XPage incluida.

En la modalidad de diseño, puede ver la página incluida, pero no puede modificarla.

Ejemplos
Este es un control Incluir página.
<xp:include pageName="/main.xsp" id="include1"></xp:include>

inputHidden - Entrada oculta

Oculta datos al usuario.

Categoría
Controles principales
Sintaxis
<xp:inputHidden attributes>content</xp:inputHidden>
Tabla 30. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado inputHidden1, inputHidden2, etc.
value Enlaza el control con un elemento de datos u otro valor.
Uso
En el tiempo de ejecución, no aparece nada en la página. El control puede manipularse mediante programación.

Para acceder a este control, abra Otros en la paleta Controles (o haga clic en Crear > Otros).

Ejemplos
Este control Entrada oculta está enlazado con un campo en un formulario Domino.
<xp:inputHidden id="inputHidden1" value="#{document1.description}"></xp:inputHidden>

inputRichText - Texto enriquecido

Muestra un campo de entrada para entrar datos formateados como texto enriquecido.

Categoría
Controles principales
Sintaxis
<xp:inputRichText attributes>content</xp:inputRichText>
Tabla 32. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado inputRichText1, inputRichText2, etc.
value Enlaza el control con un elemento de datos u otro valor.
Uso
En el tiempo de ejecución, aparece un recuadro de edición con una barra de herramientas en la página. El usuario puede especificar texto con atributos como, por ejemplo, negrita y cursivas, e insertar tablas, archivos adjuntos, objetos incorporados y otros artefactos.

El CKEditor (http://ckeditor.com) es el editor de texto enriquecido predeterminado para las páginas Xpage. Este editor permite la incorporación de imágenes, tablas, vínculos y emoticonos. El editor incluye un corrector ortográfico.

Puede ajustar la barra de herramientas que se representa. Con el control de texto enriquecido enfocado, haga clic en la ficha Dojo y añada un atributo (propiedad dojoAttributes) denominado toolbarType con un valor igual a lite, medium o full.

Puede volver al editor de texto enriquecido de Dojo. Con el control de texto enriquecido enfocado, haga clic en la ficha Dojo y especifique el tipo de Dojo (propiedad dojoType) como ibm.xsp.widget.layout.RichText.

Ejemplos
Este control Texto enriquecido está enlazado con un campo en un formulario Domino.
<xp:inputRichText id="inputRichText1" value="#{document1.body}"></xp:inputRichText>
Este control Texto enriquecido utiliza el editor de Dojo.
<xp:inputRichText id="inputRichText1"
	value="#{document1.body}" dojoType="ibm.xsp.widget.layout.RichText">
</xp:inputRichText>
Este control Texto enriquecido representa una barra de herramientas 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 - Recuadro de edición

Muestra un campo de entrada para entrar una línea de datos.

Categoría
Controles principales
Sintaxis
<xp:inputText attributes>content</xp:inputText>
Tabla 34. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado inputText1, inputText2, etc.
value Enlaza el recuadro de edición con un elemento de datos u otro valor.
Uso
En el tiempo de ejecución, aparece un recuadro de edición en la página. El usuario puede especificar una línea de texto en el recuadro.
Ejemplos
Este control Recuadro de edición está enlazado con un campo en un formulario Domino.
<xp:inputText id="inputText1" value="#{document1.subject}"></xp:inputText>
Este control Recuadro de edición está enlazado con una variable con ámbito.
<xp:inputText id="inputText2" value="#{requestScope.subject}"></xp:inputText>

inputTextarea - Recuadro de edición de varias líneas

Muestra un campo de entrada para escribir varias líneas de datos.

Categoría
Controles principales
Sintaxis
<xp:inputTextarea attributes>content</xp:inputTextarea>
Tabla 36. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado inputTextarea1, inputTextarea2, etc.
value Enlaza el control con un elemento de datos u otro valor.
cols Especifica el número de columnas si no lo altera temporalmente el atributo width de style.
rows Especifica el número de filas si no lo altera temporalmente el atributo height de style.
Uso
En el tiempo de ejecución, aparece un recuadro de edición en la página. El usuario puede especificar varias líneas de texto en el recuadro. Si el usuario excede el tamaño del recuadro, aparecen dispositivos de desplazamiento.
Ejemplos
Este control Recuadro de edición de varias líneas está enlazado con un campo en un formulario Domino.
<xp:inputTextarea id="inputTextarea1" value="#{document1.description}"
	cols="64" rows="8">
</xp:inputTextarea>

label - Etiqueta (control)

Muestra texto.

Categoría
Controles principales
Sintaxis
<xp:label attributes>content</xp:label>
Tabla 38. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado label1, label2, etc.
value Especifica la etiqueta del botón.
for Especifica el control que se enfoca cuando el usuario hace clic en él o, de lo contrario, enfoca este control.
Tabla 39. Todas las propiedades
Categoría Propiedades
accesibilidad accesskey, role, title
elementos básicos attrs, binding, dir, for, htmlFilter, id, lang, loaded, rendered, rendererType
datos converter, value
sucesos onblur, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
estilo disableTheme, style, styleClass, themeId
Uso

En el tiempo de ejecución, aparece el valor de la etiqueta en la página. El foco se redirecciona según se especifique.

Ejemplos
Este control de etiqueta muestra el nombre de usuario común en azul:
<xp:label
	value="#{javascript:session.getCommonUserName()}"
	id="label1" style="color:rgb(0,0,255)" for="inputText1">
</xp:label>

listBox - Recuadro de lista

Muestra una lista de elementos, uno o varios de los cuales pueden seleccionarse.

Categoría
Controles principales
Sintaxis
<xp:listBox attributes>content</xp:listBox>
Tabla 42. Controles incorporados
Control Descripción
selectItem Proporciona un elemento para la selección del usuario.
selectItems Proporciona uno o varios elementos para la selección del usuario.
Tabla 43. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado listBox1, listBox2, etc.
value Enlaza el control con un elemento de datos u otro valor.
Uso
En el tiempo de ejecución, aparece un recuadro con una lista de elementos en la página. El usuario puede seleccionar uno o varios elementos. Para seleccionar más de un elemento, multiple debe ser true.

Para seleccionar más de un elemento, el elemento de datos enlazado con la casilla de verificación debe permitir varios valores.

Ejemplos
Este control Recuadro de lista presenta dos elementos que se pueden seleccionar.
<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 control Recuadro de lista presenta dos elementos que se pueden seleccionar utilizando una 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>
Este Recuadro de lista obtiene las selecciones de elementos a partir de los valores en una columna 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 - Mostrar error

Muestra los mensajes de error para un control.

Categoría
Controles principales
Sintaxis
<xp:message attributes>content</xp:message>
Tabla 45. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado message1, message2, etc.
for Identifica el control de destino.
Tabla 46. Todas las propiedades
Categoría Propiedades
accesibilidad role, title
elementos básicos 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 las propiedades
Uso
De forma predeterminada, la mayoría de comprobaciones de validación se realizan en el cliente antes de enviar una solicitud al servidor. Si la validación falla, el cliente muestra un mensaje de error en un diálogo y cancela la solicitud de servidor.

Si desea que la comprobaciones de validación se realicen en el servidor y que el mensaje de error aparezca en este control, debe establecer disableClientSideValidation en true para el control de destino.

Ejemplos
Un recuadro de entrada está enlazado con datos numéricos y no se valida en el lado del cliente. A continuación, se muestra una pantalla de error para el recuadro 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>
Si el usuario especifica un valor no numérico en el recuadro de entrada, aparece el siguiente mensaje en la pantalla de error:
Este campo no es un número válido

messages - Mostrar errores

Muestra los mensajes de error de todos los controles en una página.

Categoría
Controles principales
Sintaxis
<xp:messages attributes>content</xp:messages>
Tabla 47. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado message1, message2, etc.
layout El diseño puede ser una lista (valor predeterminado) o una tabla.
Tabla 48. Todas las propiedades
Categoría Propiedades
accesibilidad role, title
elementos básicos attrs, binding, dir, globalOnly, id, lang, loaded, rendered, rendererType
formato layout, showDetail, showSummary, tooltip
estilo disableTheme, errorClass, errorStyle, fatalClass, fatalStyle, infoClass, infoStyle, style, styleClass, themeId, warnClass, warnStyle
Uso
De forma predeterminada, la mayoría de comprobaciones de validación se realizan en el cliente antes de enviar una solicitud al servidor. Si la validación falla, el cliente muestra un mensaje de error en un diálogo y cancela la solicitud de servidor.

Si desea que la comprobaciones de validación se realicen en el servidor y que el mensaje de error aparezca en este control, debe establecer disableClientSideValidation en true para el control de destino.

Ejemplos
Un recuadro de entrada está enlazado con datos numéricos y no se valida en el lado del cliente. A continuación, se muestra una pantalla de error para el recuadro 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>
Si el usuario especifica un valor no numérico en el recuadro de entrada, aparece el siguiente mensaje en la pantalla de error:
Este campo no es un número válido

pager - Paginador

Pagina los datos de un control de contenedor en el que los datos no pueden mostrarse en una ventana.

Categoría
Controles principales
Sintaxis
<xp:pager attributes>
	<xp:pagerControl attributes></xp:pagerControl> <!--if custom for page style-->
content</xp:pager>
Tabla 49. Propiedades esenciales
Propiedad Descripción
id (pager) Toma el valor predeterminado pager1, pager2, etc.

(pagerControl) Toma el valor predeterminado pagerControl1, pagerControl2, etc.

layout (pager) Para diseñar los controles, utilice esta propiedad o los controles pagerControl incorporados.
for (pager) Utilícela sólo cuando el paginador no esté dentro del control de destino.
type (pagerControl) El tipo se genera cuando utiliza Personalizado como Estilo de paginador en el paginador.
Tabla 50. Todas las propiedades (pager)
Categoría Propiedades
accesibilidad role, title
elementos básicos attrs, alwaysCalculateLast, binding, dir, for, id, lang, loaded, pageCount, partialExecute, partialRefresh, rendered, rendererType
formato layout, panelPosition
estilo disableTheme, outerStyleClass, style, styleClass, themeId
Uso
En el tiempo de ejecución, el usuario puede hacer clic en el paginador para iterar por los datos en un control que permite la iteración de datos como, por ejemplo, un panel de vista.

Un paginador puede colocarse en una región de faceta dentro del control con los datos. O bien, un paginador puede asociarse con el control de datos mediante la propiedad for.

Los controladores de paginador se generan de dos formas:
  • Especificando la propiedad layout. En la modalidad de diseño, haga clic en la ficha superior debajo de Propiedades y seleccione una de las opciones de Ejemplo para el Estilo de paginador.
  • Incorporando controles pagerControl. En la modalidad de diseño, haga clic en la ficha superior debajo de Propiedades y seleccione Personalizado como Estilo de paginador.
Ejemplos
Este control de panel de vista contiene un control de Paginador:
<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 - Control hijo del paginador

Especifica un control de paginador en el paginador común.

Categoría
Controles de contenedor
Uso
Consulte pager.

panel - Panel

Sirve como un contenedor para los otros controles y el texto con propiedades y orígenes de datos comunes.

Categoría
Controles de contenedor
Sintaxis
<xp:panel attributes>content</xp:panel>
Tabla 52. Todas las propiedades
Categoría Propiedades
accesibilidad role, title
elementos básicos attrs, binding, dir, id, loaded, rendered, rendererType, tagName
datos acl, data, dataContexts, readonly
dojo dojoAttributes, dojoType
sucesos onClientLoad
estilo disableTheme, outerStyleClass, style, styleClass, themeId
Uso
En el tiempo de ejecución, aparece el contenido del panel en la página con las propiedades y los orígenes de datos asignados.
Ejemplos
Este control Panel define un origen de datos y contiene texto y recuadros de edición.
<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 - Párrafo

Combina el texto en un formato de párrafo.

Categoría
Otros controles
Sintaxis
<xp:paragraph attributes>content</xp:paragraph>
Tabla 53. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado paragraph1, paragraph2, etc.
Tabla 54. Todas las propiedades
Categoría Propiedades
accesibilidad role, title
elementos básicos attrs, binding, dir, id, lang, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
sucesos onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
estilo disableTheme, style, styleClass, themeId
Uso

En el tiempo de ejecución, aparece el contenido del párrafo en la página con las propiedades asignadas.

Ejemplos
Este control Párrafo crea un párrafo de texto en negrita.
<xp:paragraph id="paragraph1" style="font-weight:bold>Now is the time.</xp:paragraph>

platformEvent - Control de sucesos de plataforma

Maneja un suceso de plataforma.

Categoría
Otros controles
Sintaxis
<xp:platformEvent attributes>content</xp:platformEvent>
Tabla 55. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado platformEvent1, platformEvent2, etc.
Tabla 56. Todas las propiedades
Categoría Propiedades
elementos básicos binding, eventName, id, lang, loaded, rendered, rendererType
  onevent
estilo disableTheme, themeId
Uso

Los sucesos de plataforma se utilizan para publicar sucesos de aplicación compuesta en el cliente Notes.

radio - Botón de selección

Muestra un botón que se puede seleccionar o deseleccionar. Cuando están agrupados, sólo puede seleccionarse un botón del grupo.

Categoría
Controles principales
Sintaxis
<xp:radio attributes>content</xp:radio>
Tabla 57. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado radio1, radio2, etc.
text Proporciona una etiqueta.
value Enlaza el control con un elemento de datos u otro valor.
selectedValue Especifica el valor de los datos cuando se selecciona el botón.
defaultSelected Especifique true para seleccionar el botón de forma predeterminada.
groupName Asigna el botón de selección a un grupo.
skipContainers Asigna los botones de selección en distintos contenedores (por ejemplo, las columnas de una tabla de datos) al mismo grupo.
Uso
En el tiempo de ejecución, aparece un botón en la página. El usuario puede seleccionarlo o deseleccionarlo. Aparece el botón rellenado cuando está seleccionado.

Cuando se selecciona un botón, se deseleccionan los demás botones asignados al mismo grupo.

Asignar botones a un grupo es parecido a crear un control Grupo de botones radiales. La utilización de botones individuales con las asignaciones de grupo proporcionan flexibilidad de colocación.

Ejemplos
Estos controles Botón radial asignan el valor apples u oranges a document1.fruit, dependiendo de cuál se haya seleccionado. Los botones actúan en sintonía. Si se selecciona Apples, se deselecciona oranges.
<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 botones de selección

Muestra varios botones que se pueden seleccionar o deseleccionar. sólo puede seleccionarse un botón en el grupo.

Categoría
Controles principales
Sintaxis
<xp:radioGroup attributes>content</xp:radioGroup>
Tabla 59. Controles incorporados
Control Descripción
selectItem Proporciona un elemento para la selección del usuario.
selectItems Proporciona uno o varios elementos para la selección del usuario.
Tabla 60. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado radioGroup1, radioGroup2, etc.
text Proporciona una etiqueta.
value Enlaza el control con un elemento de datos u otro valor.
Uso
En el tiempo de ejecución, aparecen uno o varios botones de selección en la página. El usuario puede seleccionar un botón. Cuando se selecciona un botón, si hay otro botón seleccionado, se deselecciona.
Ejemplos
Este control Grupo de botones de selección presenta dos elementos que se pueden seleccionar.
<xp:radioGroup id="radioGroup1" value="#{document1.fruit}" layout="pageDirection">
	<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
	<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
</xp:radioGroup>
Este control Grupo de botones de selección presenta dos elementos que se pueden seleccionar utilizando una fórmula.
<xp:radioGroup id="radioGroup1" value="#{document1.fruit}"
	layout="pageDirection">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:radioGroup>
Este Grupo de casillas de verificación obtiene las selecciones de elementos a partir de los valores en una columna de vista.
<xp:radioGroup id="radioGroup1" value="#{document1.fruit}"
	layout="pageDirection">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:radioGroup>

repeat - Repetir

Repite los controles incorporados iterando por un origen de datos.

Categoría
Controles de contenedor
Sintaxis
<xp:repeat attributes>
	contol ...
</xp:repeat>
Tabla 62. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado repeat1, repeat2, etc.
value Normalmente, el enlace de datos es a una colección de elementos, por ejemplo, a un objeto NotesDocumentCollection.
var Normalmente, esta variable hace referencia a un miembro de la colección de datos enlazada, por ejemplo, a un objeto NotesDocument si el enlace es a un objeto NotesDocumentCollection.
Tabla 63. Todas las propiedades
Categoría Propiedades
accesibilidad role
elementos básicos attrs, binding, dir, id, lang, loaded, removeRepeat, rendered, rendererType, repeatControls, rowAttrs
datos first, indexVar, rows, value, var
estilo disableTheme, style, styleClass, themeId
Uso
En el tiempo de ejecución, aparece el contenido repetido del control en la página. Utilice var en el contenido del control de repetición para repetir el contenido de cada miembro del origen de datos.
Ejemplos
Este control de repetición muestra los elementos subject de todos los documentos en la base de datos 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 de salida

Crea un script de cliente.

Categoría
Controles principales
Sintaxis
<xp:scriptBlock attributes>content</xp:scriptBlock>
Tabla 64. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado scriptBlock1, scriptBlock2, etc.
value Especificca el script de cliente.
Tabla 65. Todas las propiedades
Categoría Propiedades
elementos básicos attrs, binding, charset, defer, id, loaded, rendered, rendererType, src, type
datos converter, value
dojo dojoArgs, dojoEvent
estilo disableTheme, themeId
Uso
Este control se aplica sólo a un control personalizado.

En el tiempo de ejecución, el script se ejecuta cuando la XPage que contiene el control personalizado se carga en el cliente.

Ejemplos
Este control de script de salida se encuentra en un control personalizado. Muestra un recuadro alert cuando se incluye en una XPage y la XPage se abre.
<xp:scriptBlock id="scriptBlock2" type="text/javascript">
	<xp:this.value><![CDATA[alert("hello custom")]]></xp:this.value>
</xp:scriptBlock>

section - Sección

Sirve como un contenedor contraíble para los otros controles y el texto.

Categoría
Controles de contenedor
Sintaxis
<xp:section attributes>content</xp:section>
Tabla 66. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado section1, section2, etc.
header La cabecera aparece en la parte superior de la sección y está visible cuando se contrae la sección.
type Los tipos de formato son:
  • predeterminado: sin marco
  • ancho: barra gris en la parte inferior
  • recuadro: barras grises en sus cuatro lados
  • ficha: fondo gris para la fila y el contenido de la sección debajo de la fila
initClosed De forma predeterminada, la sección se abre inicialmente.
Uso
En el tiempo de ejecución, aparece la sección en la página:
  • Una sección cerrada muestra sólo la cabecera.
  • Una sección abierta muestra la cabecera y el contenido.
El usuario puede abrir y cerrar la sección.
Ejemplos
Esta sección contiene dos recuadros de edición.
<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 - Elemento de selección

Proporciona un elemento para la selección del usuario, por ejemplo, en una casilla de verificación.

Categoría
Ninguna
Sintaxis
<xp:selectItem attributes>content</xp:selectItem>
Tabla 68. Propiedades esenciales
Propiedad Descripción
itemLabel Proporciona el texto que se muestra al usuario. Necesario.
itemValue Proporciona un valor para el control padre si el usuario selecciona este elemento. Necesario.
Tabla 69. Todas las propiedades
Categoría Propiedades
elementos básicos attrs, binding, id, itemDescription, itemDisabled, itemLabel, rendered, rendererType
datos itemValue, value
formato disableTheme, themeId
Uso
Incorpore este control en otro control para proporcionar una selección de elemento para el control padre.

En la modalidad de diseño, enfoque el control que contendrá la selección de elementos y haga clic en la ficha Valores debajo de Propiedades. Utilice Añadir elemento e Importar lista para crear controles selectItem.

Para ver las propiedades de la selección de elementos en Todas las propiedades, debe cambiar a la modalidad de origen y enfocar el control incorporado selectItem (por oposición al control padre).

Ejemplos
Este control Grupo de casillas de verificación contiene dos elementos que se pueden seleccionar.
<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 - Elementos de selección

Proporciona uno o varios elementos para la selección del usuario, por ejemplo, en una casilla de verificación.

Categoría
Ninguna
Sintaxis
<xp:selectItems attributes>content</xp:selectItems>
Tabla 70. Propiedades esenciales
Propiedad Descripción
value Proporciona etiquetas, valores y descripciones, e inhabilita distintivos para uno o varios elementos de descripción. Uno de estos valores es distinto de un enlace de datos.
Tabla 71. Todas las propiedades
Categoría Propiedades
elementos básicos attrs, binding, id, loaded, rendered, rendererType
datos value
formato disableTheme, themeId
Uso
Incorpore este control en otro control para proporcionar selecciones de elementos para el control padre.

En la modalidad de diseño, enfoque el control que contendrá la selección de elementos y haga clic en la ficha Valores debajo de Propiedades. Utilice Añadir elemento de fórmula para crear un control selectItems.

Para ver las propiedades de la selección de elementos en Todas las propiedades, debe cambiar a la modalidad de origen y enfocar el control incorporado selectItems (por oposición al control padre).

La fórmula de valores debe devolver una matriz. Cada elemento de la matriz debe definir un elemento de selección con el siguiente formato:
label|value|description|disabled
Donde label es necesario. Las barras verticales forman parte de la sintaxis.

Si no se especifica value, se utiliza de forma predeterminada label. Especifique disabled como true para inhabilitar (sombrear) el elemento de selección.

Para el valor de retorno, puede explotar (@Explode) el resultado de @DbColumn o @DbLookup.

Ejemplos
Este control Grupo de casillas de verificación contiene dos elementos que se pueden seleccionar.
<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 control Grupo de casillas de verificación utiliza distintos nombres para las etiquetas y los 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 control Grupo de casillas de verificación inhabilita la primera selección.
<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 casillas de verificación obtiene las selecciones de elementos a partir de los valores en una columna 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 - Contenido de ocupación

Combina texto, normalmente para la aplicación de propiedades.

Categoría
Controles principales
Sintaxis
<xp:span attributes>content</xp:span>
Tabla 72. Todas las propiedades
Categoría Propiedades
accesibilidad role, title
elementos básicos attrs, binding, dir, id, lang, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
sucesos onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
estilo disableTheme, style, styleClass, themeId
Uso

En el tiempo de ejecución, aparece el contenido de la ocupación en la página con las propiedades asignadas.

Normalmente, este control no se aplica directamente. Si resalta texto en una página y aplica una propiedad como, por ejemplo, negrita, se crea automáticamente una ocupación.

Para trabajar directamente con un espacio, se recomienda la modalidad de origen.

Ejemplos
Este es un control de ocupación que se utiliza para poner un texto en negrita:
<xp:span id="span1" style="font-weight:bold">
	Now is the time.
</xp:span>

tabbedPanel - Panel con fichas

Sirve como una colección de contenedores para los otros controles y el texto.

Categoría
Controles de contenedor
Sintaxis
<xp:tabbedPanel attributes>
	<xp:tabPanel attributes>content</xp:tabPanel></xp:tabbedPanel>
	...
</xp:tabbedPanel>
Tabla 73. Propiedades esenciales
Propiedad Descripción
id (tabbedPanel) Toma el valor predeterminado tabbedPanel1, tabbedPanel2, etc.

(tabPanel) Toma el valor predeterminado tabPanel1, tabPanel2, etc.

selectedTab (tabbedPanel) Inicialmente abre el panel con fichas en esta ficha.
text (tabPanel) Proporciona una etiqueta para la ficha.
Tabla 74. Todas las propiedades (tabbedPanel)
Categoría Propiedades
accesibilidad role, title
elementos básicos attrs, binding, dir, id, lang, loaded, rendered, rendererType, selectedTab
estilo containerStyleClass, disableTheme, outerStyleClass, style, styleClass, themeId
Tabla 75. Todas las propiedades (tabPanel)
Categoría Propiedades
accesibilidad role, title
elementos básicos binding, dir, href, id, image, label, lang, loaded, rendered, rendererType
sucesos onClick
estilo contentStyleClass, disableTheme, endTabStyleClass, middleTabStyleClass, selectedTabStyleClass, startTabStyleClass, style, styleClass, themeId, unselectedTabStyleClass
Uso
En el tiempo de ejecución, aparece el contenido del panel con fichas seleccionado en la página. Las otras fichas están visibles, pero no su contenido. El usuario cambia de panel al seleccionar las fichas.
En la modalidad de diseño, se enfoca un panel con fichas, se selecciona el elemento tabbedPanel. Para trabajar con los elementos tabPanel, haga clic con el botón derecho o utilice el menú para realizar una de las siguientes acciones:
  • Seleccionar contenido de ficha activa enfoca el elemento tabPanel para la ficha enfocada.
  • Eliminar ficha activa elimina el elemento tabPanel para la ficha enfocada.
  • Insertar ficha inserta un nuevo elemento tabPanel.
  • Añadir ficha añade un nuevo elemento tabPanel.
Ejemplos
Este control Panel con fichas tiene dos paneles.
<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 - Tabla

Contiene las celdas organizadas en filas y columnas. Cada celda puede contener otros controles (incluido tablas) y texto.

Categoría
Controles de contenedor
Sintaxis
<xp:table attributes>
	<xp:tr attributes>
			<xp:td attributes>cell content</xp:td>
			...
	</xp:tr>
	...
</xp:table>
Tabla 77. Todas las propiedades (tr)
Categoría Propiedades
accesibilidad role, title
elementos básicos binding, dir, id, lang, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
sucesos onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
formato align, valign
estilo disableTheme, style, styleClass, themeId
Tabla 78. Todas las propiedades (td)
Categoría Propiedades
accesibilidad role, title
elementos básicos binding, dir, id, lang, loaded, rendered, rendererType
dojo dojoAttributes, dojoType
sucesos onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup
formato align, colspan, rowspan, valign
estilo disableTheme, style, styleClass, themeId
Uso
En el tiempo de ejecución, aparece una tabla en la página. El usuario puede acceder a la tabla celda a celda.
Cuando inserta una tabla en una página XPage en modalidad de diseño, un diálogo solicita el número de filas y el número de columnas. Una vez creada la tabla, puede:
  • Añadir y suprimir filas y columnas.
  • Fusionar celdas.
  • Seleccionar celdas y celdas múltiples.
  • Añadir y suprimir el contenido de las celdas.
Ejemplos
Esta tabla contiene 4 celdas organizadas en 2 filas y 2 columnas.
<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 calculado

Muestra un valor.

Categoría
Controles principales
Sintaxis
<xp:text attributes>content</xp:text>
Tabla 79. Propiedades esenciales
Propiedad Descripción
id Toma el valor predeterminado computedField1, computedField2, etc.
value Enlaza el campo calculado con un elemento de datos u otro valor.
Tabla 80. Todas las propiedades
Categoría Propiedades
accesibilidad role, title
elementos básicos attrs, binding, dir, escape, for, htmlFilter, id, lang, loaded, rendered, rendererType, tagName
datos converter, value
formato contentType
estilo disableTheme, outerStyleClass, style, styleClass, themeId
Uso

En el tiempo de ejecución, aparece el valor del campo calculado en la página.

Ejemplos
Este control Campo calculado muestra la suma de dos variables de á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 control Campo calculado muestra el valor de un elemento de datos enlazado con la página XPage actual.
<xp:text escape="true" id="computedField4" value="#{document1.subject}"></xp:text>

typeAhead - Escritura anticipada AJAX

Rellena automáticamente su control padre cuando los usuarios escriben una sucesión de caracteres que coinciden con una sugerencia especificada.

Categoría
Otros controles
Sintaxis
<xp:typeAhead attributes>content</xp:typeAhead>
Tabla 81. Propiedades esenciales
Propiedad Descripción
mode Modalidad de renovación.
minChars Caracteres mínimos que desencadenan la escritura anticipada.
valueList Sugerencias que se devuelven cuando se especifican los primeros caracteres.
valueListSeparator Separador de sugerencias.
tokens Separadores de clientes en el caso de que la máquina de usuario especifique sugerencias.
ignoreCase Si se distingue o no entre mayúsculas y minúsculas.
Uso
Incorpore este control en otro control para afectar a la entrada en el control padre.

En la modalidad de diseño, enfoque el control que va a obtener la escritura anticipada y haga clic en la ficha Escritura anticipada debajo de Propiedades. Si selecciona Habilitar escritura anticipada, se incorpora un control de escritura anticipada en el control actual.

Para ver las propiedades de la escritura anticipada en Todas las propiedades, debe cambiar a la modalidad de origen y enfocar el control incorporado typeAhead (por oposición al control padre).

Ejemplos
Este control Recuadro de edición proporciona la escritura anticipada.
<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 el control de contenedor de nivel superior, es decir, la propia página XPage.

Categoría
Ninguna
Todas las propiedades
Uso
En el tiempo de ejecución, las propiedades de la página se aplican cuando se carga la página.

En la modalidad de diseño, coloque le foco fuera de todos los controles de la página para ver las propiedades de la página.

Ejemplos
Esta página XPage define un origen de datos y contiene un recuadro de edición y un botón.
<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

Muestra los datos de los documentos en filas y columnas.

Categoría
Controles de contenedor
Sintaxis
<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>
Tabla 84. Propiedades esenciales
Propiedad Descripción
id (viewPanel) Toma el valor predeterminado viewPanel1, viewPanel2, etc.

(viewColumn) Toma el valor predeterminado viewColumn1, viewColumn2, etc.

(viewColumnHeader) Toma el valor predeterminado viewColumnHeader1, viewColumnHeader2, etc.

rows (viewPanel) Es el número de filas mostradas a la vez, que es 30 de forma predeterminada.
data (viewPanel) Enlaza una vista de Domino con el control.
pageName (viewPanel) De forma predeterminada, la página XPage asociada con el formulario del documento se utiliza para abrir un documento seleccionado cuando un elemento de columna es un vínculo. Puede utilizarse una página XPage especificada.
columnName (viewColumn) Los nombres de columna del origen de datos se configuran mediante el diálogo de creación de vistas y pueden modificarse posteriormente.
displayAs, (viewColumn) De forma predeterminada, los elementos aparecen como texto. Especifique displayAs="link" para cambiar estos elementos por vínculos a los documentos subyacentes.
value (viewColumnHeader) Esta es la etiqueta de la cabecera de columna.
Tabla 86. Todas las propiedades (viewColumn)
Categoría Propiedades
accesibilidad role
elementos básicos attrs, binding, columnName, displayAs, htmlFilter, id, loaded, rendered, rendererType, width
datos converter, openDocAsReadonly, pageUrl, value
sucesos onClick
formato collapsedImage, contentType, expandedImage, iconAlt, iconSrc, indentResponses, showCheckbox
estilo disableTheme, style, styleClass, themeId
Tabla 87. Todas las propiedades (viewColumnHeader)
Categoría Propiedades
accesibilidad role
elementos básicos attrs, binding, htmlFilter, id, loaded, rendered, rendererType, sortable, value
formato contentType, iconAlt, iconSrc, showCheckbox
estilo disableTheme, style, styleClass, themeId
Paginadores
Una región de facetas que contiene uno o varios paginadores forma parte de la vista, dependiendo de las especificaciones de diseño. Puede colocar otros controles en la región de facetas, por ejemplo, paneles. Utilice la modalidad de origen para trabajar con la región de facetas.

A continuación, se muestra una faceta de ejemplo para los controles de paginador:

<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>
Los siguientes recuadros en la ficha Mostrar en Propiedades afectan al contenido de la faceta de la siguiente manera:
  • Mostrar paginador en cabecera (seleccionado de forma predeterminada) genera un control pager de la clave headerPager. Si se deselecciona, no se generan regiones de facetas.
  • Mostrar paginador en pie de página (deseleccionado de forma predeterminada) genera un control pager de la clave footerPager.
  • Mostrar título (deseleccionado de forma predeterminada) genera el control viewTitle.
Uso
Un control Vista básicamente muestra una vista de Domino. En la modalidad de diseño, proporciona el nombre de la vista de Domino enlazada y otra información en un diálogo cuando crea el control viewPanel. Después de la creación, puede hacer clic con el botón derecho o utilizar el menú para añadir, insertar, anexar y suprimir columnas.

Al configurar las vistas para que muestren las categorías, los usuarios pueden expandir y contraer (conmutar) las categorías durante la ejecución. Las categorías están contraídas de forma predeterminada. Cuando el usuario conmuta categorías, la página XPage se vuelve a cargar para que los datos en la página XPage siempre estén sincronizados con el servidor.

Para la paginación, una categoría contraída cuenta como una fila. Por ejemplo, si ha configurado un paginador para navegar por cinco filas, y hay cinco filas de datos contraídas en la vista, cada vez que un usuario hace clic en los botones anterior o siguiente, el paginador cuenta cinco categorías, y no las filas individuales ocultas. Además, el estado de conmutación de categorías persiste aunque los usuarios naveguen hacia atrás y adelante por las páginas de datos.

Ejemplos
Este control de panel de vista tiene dos columnas.
<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>

Referencia de propiedades

Aquí se especifican las propiedades de las páginas XPage.

accept - Aceptar

Lista un tipo MIME aceptable para el archivo cargado.

Categoría
elementos básicos
Sintaxis
accept="text/html|image/png|image/gif|video/mpeg|text/css|audio/basic"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque accept en elementos básicos.

De forma predeterminada, todos los tipos MIME son aceptables.

accesskey - Acelerador

Especifica un carácter que se utiliza conjuntamente con la tecla ALT para enfocar un control.

Categoría
accesibilidad
Sintaxis
accesskey="key"
Uso
En la modalidad de diseño, haga clic en la ficha superior debajo de Propiedades y busque Acelerador, o bien haga clic en Todas las propiedades y busque accesskey en accesibilidad.

Proporcionar combinaciones de teclado resulta útil para aquellos usuarios que desean utilizar el teclado para navegar y también para los usuarios con problemas de visión que dependen de atributos HTML accesskey. Consulte la documentación del navegador para ver las restricciones de los métodos abreviados.

Ejemplos
Este control Recuadro de edición se selecciona cuando el usuario teclea ALT > b.
<xp:inputText id="inputText1" value="#{document1.subject}" accesskey="b"></xp:inputText>

acl - Lista de control de accesos

Define una lista de control de accesos para una página o un control.

Categoría
datos
Sintaxis
<xp:this.acl>
	<xp:acl loaded="true|false">
		<xp:this.entries>
			<xp:aclEntry attributes fullName="name" name="name"
				right="NOACCESS|READER|EDITOR"
				type="USER|GROUP|ROLE|ORGUNIT|ORGROLE|DEFAULT|ANONYMOUS"
				loaded="true|false">
			</xp:aclEntry>
			...
		</xp:this.entries>
	</xp:acl>
</xp:this.acl>
Uso
En la modalidad de diseño, asegúrese de que el control de contenedor o la página estén enfocados. Haga clic en Todas las propiedades y busque acl en datos.

Esta propiedad se aplica a las páginas y algunos controles de contenedor.

Propiedades contenidas
loaded="true|false"
Crea o no la instancia de etiqueta cuando se carga el control.
fullName="name"
Especifica el nombre completo de un usuario si name no es el nombre completo.
name="name"
Especifica el nombre de la entrada.
right="NOACCESS|READER|EDITOR"
Define los derechos de acceso de la entrada.
type="USER|GROUP|ROLE|ORGUNIT|ORGROLE|DEFAULT|ANONYMOUS"
Define el tipo de entrada.
loaded="true|false"
Crea o no la instancia de etiqueta cuando se carga la entrada.
Ejemplos
Este panel define una ACL con dos 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 - Acción de aplicación

Especifica la acción de aplicación MethodBinding que se invoca cuando el usuario activa el control.

Categoría
sucesos
Sintaxis
action="action"
Uso
El valor de acción debe ser un método público que no utiliza parámetros y devuelve una serie. La serie se pasa a NavigationHandler para esta aplicación.

actionListener - Escucha de acciones

Especifica la escucha de acciones MethodBinding a la que se notifica cuando el usuario activa el control.

Categoría
sucesos
Sintaxis
actionListener="listener"
Uso
El valor actionListener debe ser un método público que utiliza un parámetro ActionEvent y devuelve void.

actionListeners - Lista de escucha de acciones

Especifica una colección de escuchas de acciones.

Categoría
sucesos
Sintaxis
<xp:this.actionListeners>
	<xp:actionListener type="javaclass"></xp:actionListener>
	...
</xp:this.actionListeners>

afterPageLoad - Enlace de método después de que cargue la página

Activa un manejador de sucesos después de que se cargue una página.

Categoría
sucesos
Sintaxis
<xp:view><xp:this.afterPageLoad attributes>content</xp:afterPageLoad></xp:view>
Uso
Para ver la sintaxis detallada del manejador de sucesos, consulte el apartado eventHandler - Manejador de sucesos (propiedad).

afterRenderResponse - Enlace de método después de generar respuesta

Activa un manejador de sucesos después de la fase de generación de la respuesta del ciclo JSF.

Categoría
sucesos
Sintaxis
<xp:view><xp:this.afterRenderResponse attributes>content</xp:afterRenderResponse></xp:view>
Uso
Para ver la sintaxis detallada del manejador de sucesos, consulte el apartado eventHandler - Manejador de sucesos (propiedad).

afterRestoreView - Enlace de método después de restaurar vista

Activa un manejador de sucesos después de la fase de restauración de la vista del ciclo JSF.

Categoría
sucesos
Sintaxis
<xp:view><xp:this.afterRestoreView attributes>content</xp:afterRestoreView></xp:view>
Uso
Para ver la sintaxis detallada del manejador de sucesos, consulte el apartado eventHandler - Manejador de sucesos (propiedad).

align - Alineación

Alinea el contenido en un contenedor.

Categoría
formato
Sintaxis
align="left|center|right"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque align en formato.

allowDelete - Permitir eliminación de archivo

Permite a los usuarios eliminar archivos adjuntos o no.

Categoría
elementos básicos
Sintaxis
allowDelete="true|false"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque allowDelete en elementos básicos.

De forma predeterminada, un control está cargado.

alt - Texto alternativo

Especifica el texto que se muestra cuando no se puede representar una imagen.

Categoría
accesibilidad
Sintaxis
alt="text"
Uso
En la modalidad de diseño, haga clic en la ficha superior debajo de Propiedades y busque Texto alternativo, o bien haga clic en Todas las propiedades y busque alt en accesibilidad.

alwaysCalculateLast - Calcular siempre el último

Calcula siempre el último documento en un contenedor.

Categoría
elementos básicos
Sintaxis
alwaysCalculateLast="true|false"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque alwaysCalculateLast en elementos básicos.

Si se establece en true, puede afectar al rendimiento.

attrs - Lista de atributos

Añade atributos a un control. Utilice esta propiedad sólo en los casos en los que los atributos no estén disponibles como propiedades.

Categoría
elementos básicos
Sintaxis
<xp:this.attrs>
	<xp:attr attributename="attributevalue" ...</xp:attr>
	...
</xp:this.attrs>
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque attrs en elementos básicos.
Atributos
Debe establecer mínimamente name y value.
Tabla 88. Atributos
Atributo Descripción
loaded="true|false"
Crea el atributo cuando la página se carga (valor predeterminado) o no.
minimized="true|false"
Minimiza el atributo en el HTML, representando sólo el nombre y no el valor, o no (valor predeterminado).
name="name"
El nombre de un atributo HTML válido.
rendered="true|false"
Representa (valor predeterminado) o no representa el atributo.
uri="true|false"
Trata value como un URI o no (valor predeterminado). Un valor de URI sin un protocolo (por ejemplo, http://) es relativo a la aplicación actual. La codificación URL se aplica, así que utilice %20 para un espacio.
value="value"
El valor del atributo. No se representa si minimized es verdadero.
Uso
Esta propiedad permite la inclusión de un atributo HTML para el que no existe ninguna propiedad de control. No utilice attrs para atributos que pueden generarse a través de la especificación de propiedades de control.
Ejemplos
Este recuadro de edición añade el atributo autofocus sin representar su valor.
<xp:inputText id="inputText3">
	<xp:this.attrs>
		<xp:attr name="autofocus" value="autofocus" minimized="true"></xp:attr>
	</xp:this.attrs>
</xp:inputText>
Este recuadro de edición del tipo email añade el 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 - Completar automáticamente

Habilita o inhabilita la característica del navegador para recordar y completar automáticamente la entrada del usuario.

Categoría
elementos básicos
Sintaxis
autocomplete="on|off"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque autocomplete en elementos básicos.

De forma predeterminada, la finalización automática está habilitada.

Ejemplos
Este control Recuadro de edición inhabilita la finalización automática.
<xp:inputText id="inputText1" value="#{document1.subject}"
	title="Subject edit box" autocomplete="off">
</xp:inputText>

beforePageLoad - Enlace de método antes de que cargue la página

Activa un manejador de sucesos antes de que se cargue una página.

Categoría
sucesos
Sintaxis
<xp:view><xp:this.beforePageLoad attributes>content</xp:beforePageLoad></xp:view>
Uso
Para ver la sintaxis detallada del manejador de sucesos, consulte el apartado eventHandler - Manejador de sucesos (propiedad).

beforeRenderResponse - Enlace de método antes de generar respuesta

Activa un manejador de sucesos antes de la fase de generación de la respuesta del ciclo JSF.

Categoría
sucesos
Sintaxis
<xp:view><xp:this.beforeRenderResponse attributes>content</xp:beforeRenderResponse></xp:view>
Uso
Para ver la sintaxis detallada del manejador de sucesos, consulte el apartado eventHandler - Manejador de sucesos (propiedad).

bgcolor - Color de fondo

Especifica el color de fondo.

Categoría
formato
Sintaxis
bgcolor="color"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque bgcolor en formato.

binding - Enlace de control

Especifica una expresión que enlaza el control con una propiedad de control.

Categoría
elementos básicos
Sintaxis
binding="expression"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque binding en elementos básicos.
Ejemplos

border - Borde de tabla

Especifica el ancho en píxeles del borde alrededor de una tabla o un grupo de controles.

Categoría
formato
Sintaxis
border="n"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque border en formato.

De forma predeterminada, un grupo de control no tiene ningún borde (border="0").

Ejemplos
Este Grupo de casillas de verificación tiene un borde de 16 píxeles.
<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 - Título

Muestra un título encima de un control de contenedor.

Categoría
accesibilidad
Sintaxis
caption="caption"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque caption en accesibilidad.

En el tiempo de ejecución, el título aparece en un recuadro cuando el usuario mueve el ratón sobre el control.

Ejemplos
Esta tabla tiene un título.
<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 - Clases de estilo CSS de título

Especifica una lista de clases CSS que se aplicarán a un título de tabla.

Categoría
estilo
Sintaxis
captionStyleClass="name ..."
Donde name identifica una clase. Separe los nombres de clase con espacios.
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque captionStyleClass en estilo.

cellpadding - Relleno de celda

Especifica el espacio entre un borde de celda de tabla y su contenido en píxeles.

Categoría
formato
Sintaxis
cellpadding="n"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque cellpadding en formato.

De forma predeterminada, un grupo de control no tiene ningún borde (border="0").

Ejemplos
Este control Tabla especifica el espaciado y el relleno de las celdas.
<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 - Espaciado de celdas

Especifica el espacio entre un borde de tabla y las celdas, y entre las celdas en píxeles.

Categoría
formato
Sintaxis
cellspacing="n"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque cellspacing en formato.

De forma predeterminada, un grupo de control no tiene ningún borde (border="0").

Ejemplos
Este control Tabla especifica el espaciado de las celdas.
<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 la codificación de caracteres del recurso recuperado.

Categoría
elementos básicos
Sintaxis
charset="encoding"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque charset en elementos básicos.

checkedValue - Valor si está seleccionado

Especifica el valor de un elemento de datos enlazado con un control seleccionado (por oposición a deseleccionado).

Categoría
datos
Sintaxis
checkedValue="value"
Uso
En la modalidad de diseño, haga clic en Datos debajo de Propiedades y busque Valor si está seleccionado, o bien haga clic en Todas las propiedades y busque checkedValue en datos.

Esta propiedad se aplica a un control que puede seleccionarse o deseleccionarse como, por ejemplo, una casilla de verificación, y toma de forma predeterminada el valor de la serie true.

Ejemplos
Este control Casilla de verificación asigna un valor de datos dependiendo de si el recuadro está seleccionado (valor predeterminado) o deseleccionado.
<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 - Imagen de sección plegada

Especifica una imagen para una sección plegada.

Categoría
elementos básicos
Sintaxis
collapsedImage="pathname"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque collapsedImage en elementos básicos.

Para un recurso de aplicación, la vía de acceso de la imagen es relativa a la aplicación, por ejemplo, /abook.gif.

cols - Columnas

Especifica el número de columnas que se muestran.

Categoría
elementos básicos
Sintaxis
cols="n"
Uso
En la modalidad de diseño, haga clic en la ficha superior debajo de Propiedades y busque Columnas, o bien haga clic en Todas las propiedades y busque cols en elementos básicos.

El atributo width de la propiedad style altera temporalmente este valor.

Ejemplos
Este control Recuadro de edición de varias líneas especifica el número de columnas y filas.
<xp:inputTextarea id="inputTextarea1" value="#{document1.description}"
	cols="64" rows="8">
</xp:inputTextarea>

colspan - Ocupación de columna

Especifica el número de columnas distribuidas por la celda actual.

Categoría
elementos básicos
Sintaxis
colspan="n"
Donde n es el número de columnas y 0 significa que se distribuyen todas las columnas en el grupo de columnas.
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque colspan en formato.

El valor predeterminado es 1.

columnClasses - Clases CSS de columna

Especifica una lista de clases CSS que se aplicarán a las columnas de vista o tabla.

Categoría
estilo
Sintaxis
columnClasses="name ..."
Donde name identifica una clase. Separe los nombres con espacios, si hay varios.
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque columnClasses en estilo.

columnName - Nombre de columna

Especifica el nombre de la columna de vista subyacente en el origen de datos.

Categoría
elementos básicos
Sintaxis
columnName="name"
Donde name coincide con el nombre de columna en el origen de datos.
Uso
En la modalidad de diseño, haga clic en la ficha Datos debajo de Propiedades y busque Columna de la vista, o bien haga clic en Todas las propiedades y busque columnName en elementos básicos.

En el tiempo de ejecución, la columna de vista padre presenta los datos de la columna subyacente en el origen de datos.

Si se especifica un valor que no coincide con el nombre de una columna en el origen de datos, se genera un error en el tiempo de ejecución.

Ejemplos
Este control Vista contiene dos columnas basadas en las columnas subject y fruit en el origen de datos.
<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 - Identificador de control

Especifica el identificador de un control en una página incluida.

Categoría
elementos básicos
Sintaxis
componentId="identifier"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque componentId en elementos básicos.

Si la propiedad está vacía, se incluye la página completa.

computeDocument - Enlace de método de cálculo de documento

Activa un manejador de sucesos cuando se calcula o vuelve a calcular un documento.

Categoría
sucesos
Sintaxis
<xp:dominoDocument><xp:this.computeDocument attributes>content</xp:computeDocument></xp:dominoDocument>
Uso
Para ver la sintaxis detallada del manejador de sucesos, consulte el apartado eventHandler - Manejador de sucesos (propiedad).

containerStyleClass - Clases de estilo CSS del contenedor

Especifica una lista de clases CSS que se aplicarán cuando se represente un control de contenedor.

Categoría
estilo
Sintaxis
containerStyleClass="name ..."
Donde name identifica una clase. Separe los nombres con espacios, si hay varios.
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque containerStyleClass en estilo.

Esto genera la representación de una ocupación de inclusión con class= establecido en estos valores.

contentStyleClass - Clase de contenido de la ficha

Especifica una lista de clases CSS que se aplicarán al contenido de la ficha si no tiene un estilo.

Categoría
estilo
Sintaxis
contentStyleClass="name ..."
Donde name identifica una clase. Separe los nombres con espacios, si hay varios.
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque contentStyleClass en estilo.

Esto genera la representación de una ocupación de inclusión con class= establecido en estos valores.

contentType - Tipo de contenido

Especifica el tipo de contenido, texto o HTML.

Categoría
formato
Sintaxis
contentType="text|html"
Uso
En la modalidad de diseño, haga clic en Todas las propiedades y busque contentType en formato.

El tipo de contenido predeterminado es texto.

Ejemplos
Este control Campo calculado utiliza HTML como tipo de contenido.
<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 el formato de datos si no es una serie de caracteres.

Categoría
datos
Sintaxis
<xp:this.converter>converter</xp:this.converter>
Donde converter es uno de los siguientes valores:
<xp:convertBoolean attributes>content</xp:convertBoolean>
<xp:convertNumber attributes>content</xp:convertNumber>
<xp:convertDateTime attributes>content</xp:convertDateTime>
<xp:convertMask attributes>content</xp:convertMask>
<xp:customConverter></xp:customConverter>
Uso
En la modalidad de diseño, haga clic en la ficha Datos debajo de Propiedades y busque Tipo de visualización, o bien haga clic en Todas las propiedades y busque converter en datos.
Propiedades contenidas
Los convertidores tienen las siguientes propiedades.
Tabla 89. Propiedades contenidas para conversiones booleanas
Propiedad Descripción
loaded="true|false"
Si se debe crear una instancia de etiqueta al cargar la página. El valor predeterminado es true.
message="message text"
Mensaje para el usuario si strict="true" y el usuario especifica un valor distinto de true o false. El mensaje aparece en el momento de enviar los datos.
strict="true|false"
Si es true, solo acepta los valores de entrada true y false. De forma predeterminada, cualquier valor que no sea true se considera false.
Tabla 90. Propiedades contenidas para conversiones numéricas
Propiedad Descripción
currencyCode="option"
Código de moneda de ISO 4712, por ejemplo USD.
currencySymbol="symbol"
Símbolo de moneda.
groupingUsed="true|false"
Si se utilizan "separadores de agrupaciones". El valor predeterminado es true.
integerOnly="true|false"
Si el valor se trunca en un entero. El valor predeterminado es false.
loaded="true|false"
Si se debe crear una instancia de etiqueta al cargar la página. El valor predeterminado es true.
locale="option"
El idioma y el código de país como, por ejemplo, en_US.