APLICACIONES COMPUESTAS: DISEÑO Y GESTIÓN


Filtrado de la vista actual de la interfaz de usuario
En muchas aplicaciones compuestas, un componente publica una propiedad para que la consuma otro componente. El componente consumidor intentará mostrar una vista de la interfaz de usuario de IBM® Lotus® Notes®, pero esta se verá filtrada por la propiedad que se pasó.

Por ejemplo, un componente podría publicar una propiedad denominada 'NombreDePersona'. Los demás componentes podrían intentar mostrar los mensajes de correo recientes para esa persona, las reuniones futuras con esta persona, etc. Estos componentes de destino suelen tener vistas que muestran todos los documentos, pero generalmente no disponen de vistas distintas, en concreto, una vista con todos los documentos para cierta persona. Para que esto funcione, es preciso que la vista esté ordenada por una clave.

Para poder hacerlo, se ha agregado una acción integrada a las bases de datos componentes de las aplicaciones compuestas. La acción filtra la vista actual de la interfaz de usuario a través de la primera columna ordenada y muestra únicamente los documentos que coinciden exactamente al filtrar según una clave. Si la vista está ordenada por categorías, despliega la categoría hallada y sólo muestra los documentos del nivel siguiente.

Esta acción se denomina FilterCurrentUIViewViaViewCategory y obtiene una propiedad denominada KeyFilterType (de tipo cadena) que se pasa. Cualquier propiedad de tipo cadena puede funcionar como filtro de clave. Las vistas (todas ellas deben filtrarse con la clave) deben contener la definición exacta de la acción "FilterCurrentUIViewViaViewCategory" que obtiene la propiedad 'KeyFilterType' (de tipo cadena) que se pasa.

El siguiente código WSDL de ejemplo muestra cómo se debe usar esta acción. El código WSDL debe contener la definición exacta del tipo de datos y de la acción.

<types>

<xsd:schema targetNamespace="com.ibm.compositeapps.samples">

<xsd:simpleType name="KeyFilterType">

<xsd:restriction base="xsd:string"/>

</xsd:simpleType>

</xsd:schema>

</types>

<operation name="UpdateUI_Operation">

<portlet:action name="FilterCurrentUIViewViaViewCategory"

caption="FilterCurrentUIViewViaFirstSortedColumn"

description="FilterCurrentUIViewViaViewCategory "/>

<input>

<portlet:param name="KeyFilter" partname="KeyFilterPart"

caption="caption.KeyFilter"

description="description.KeyFilter"/>

</input>

</operation>

Un componente de Notes a la escucha recogerá la acción y llamará a la API para filtrar la vista y actualizar la ventana. Como resultado, la vista de la interfaz de usuario de Notes que se está visualizando se actualiza en la misma ventana de Notes usando el nuevo filtro.

Por ejemplo, un componente de origen publicaría una propiedad 'KeyFilterType' que podría ser el nombre de la persona y se invocaría a la acción del componente de destino y se filtraría la vista.

El Editor de aplicaciones compuestas se usaría para conectar la propiedad del componente de origen con la acción integrada del componente de destino.

Siga estos pasos para crear y conectar un filtro de vista:

1. En el Editor del intermediario de propiedades, edite el archivo WSDL del archivo NSF que contiene la vista organizada por categorías.

2. Cree una acción denominada "FilterCurrentUIViewViaCategory" y asígnele una propiedad de entrada de tipo cadena.

3. En el cliente Designer, edite el diseño de la vista organizada por categorías y cree una acción de vista.

4. En el cuadro de propiedades de la acción de vista, cambie a la ficha Avanzadas, y seleccione el nombre "FilterCurrentUIViewViaCategory" en la lista Parámetros conexiones - Nombre de la acción.

5. Agregue LotusScript a esta acción para consumir la propiedad. Si desea más información, consulte Uso de clases y API de LotusScript en aplicaciones compuestas.

6. Guarde y cierre la vista.

7. Abra la aplicación compuesta en el Editor de aplicaciones compuestas y conecte la propiedad deseada con la acción "FilterCurrentUIViewViaCategory"

Véase también


Glosario
¿Desea opinar sobre la Ayuda o sobre la utilidad del producto?