DISEÑO DE APLICACIONES
También puede agregar formularios personalizados a ciertas bases de datos para personalizar las búsquedas en Internet.
Si desea más información sobre cómo configurar la función de búsquedas para una aplicación determinada, consulte Creación de un índice de texto en una base de datos. Si desea más información sobre cómo configurar la función de búsqueda en el dominio, consulte la Ayuda de Domino Administrator.
Para personalizar los formularios puede:
Para realizar búsquedas en el dominio, el cliente Notes usa el formulario DomainQuery de la base de datos catalog.nsf situada en el servidor del catálogo. Este formulario usa el método FTDomainSearch para realizar la búsqueda. Las búsquedas en el dominio de Web pueden utilizar cualquier formulario mediante el comando URL OpenForm, así como crear e invocar el comando URL SearchDomain para realizar la búsqueda, proporcionando argumentos como argumentos del comando URL o mediante valores de campos publicados.
Las búsquedas en una base de datos individual en Internet se pueden iniciar mediante un comando URL $SearchForm?SearchView. En este caso, Domino busca en la base de datos actual un formulario con el nombre real o el alias $$Search. Si dicho formulario existe, Domino lo abrirá; en caso contrario, mostrará un formulario de búsqueda predeterminado basado en el archivo search.h™ almacenado en el directorio Domino\Icons. El formulario $$Search crea e invoca el comando URL SearchView para realizar la búsqueda, proporcionando argumentos como argumentos del comando URL o utilizando valores de campos publicados. También el posible personalizar el formulario search. predeterminado.
Remítase a la tabla siguiente si está personalizando un formulario de búsqueda para utilizarlo en Internet. Esta tabla muestra la lista de argumentos de los comandos URL que se usan para dirigir la búsqueda inicial mediante la URL SearchDomain o SearchView. Estos valores están disponibles en la página de resultados para que los usen los botones y las zonas activas del formulario de búsqueda. Por ejemplo, en su formulario de búsqueda inicial podría indicar &SearchOrder=2. El campo SearchOrder tendrá un valor de dos en la página de resultados. El botón Siguiente del formulario de búsqueda usará este valor para la página siguiente o lo sustituirá especificando otro.
Aunque se pueden especificar los valores TRUE y FALSE para algunos de estos campos, cuando los valores se transfieren a la página de resultados se convierten en 1 o 0.
los valores predeterminado y máximo de SearchMax se pueden configurar para el servidor Web mediante parámetros del Directorio de Domino.
2 = por fechas ascendentes
3 = por fechas descendentes
4 = usa el orden de la vista (sólo SearchView)
(El motor de búsqueda de la Versión 5 ignora esta opción)
(sólo para SearchDomain)
1 = sólo bases de datos de Notes
2 = sólo sistema de archivos
0 = ambos
Búsqueda de información de encabezados (según la fecha de creación o de modificación)
El botón Agregar búsqueda que aparece junto al área de entrada de búsquedas de texto en agentes le permite buscar documentos teniendo en cuenta la fecha de creación y la fecha de modificación. Si desea especificar dichas búsquedas para utilizarlas con el método FTSearch, puede usar los siguientes nombres de elementos especiales:
[_CreationDate] < 05/01/2000
No se almacena ningún nombre de campo en el documento; las fechas se extraen del encabezado del documento, no de los campos. De esta manera, puede utilizar estos nombres reservados con cualquier documento, aunque no aparezcan entre los elementos de los campos en el cuadro de propiedades del documento.
No hay ninguna sintaxis correspondiente a las funciones del Auxiliar de búsquedas para buscar documentos basándose en la diferencia con la fecha actual, por ejemplo "está entre los últimos n días". El agente deberá proporcionar las fechas reales al ejecutarse (las podrá calcular ajustando la fecha actual). Tenga en cuenta que los formatos de fecha varían dependiendo de la configuración del usuario y que debe utilizar un formato que se ajuste a la estación de trabajo o al servidor que va a evaluar la búsqueda.
Personalización de los formularios de resultados de las búsquedas en el dominio
Los resultados de las búsquedas se muestran utilizando los formularios SearchResults, ResultEntry y DetailedResultEntry. El formulario SearchResults define la distribución de cada página de resultados. Los formularios ResultEntry y DetailedResultEntry definen el formato de un resultado individual dentro de la página y se repiten por cada resultado obtenido. Los nombres de estos formularios se especifican en Internet mediante el campo/argumento SearchEntry. Los campos siguientes se utilizan en los formularios ResultEntry y DetailedResultEntry.
Al diseñar o visualizar un formulario de resultados de las búsquedas en el dominio, puede resultar de utilidad saber dónde encuentra Domain Indexer los títulos que muestra en los resultados. El programa Indexer comprueba en cada documento la existencia de los siguientes campos o elementos de Notes, en el orden aquí indicado, para usarlos como representación del título del documento: Title, Subject, Headline y Topic (Título, Asunto, Titular y Tema); el título de la ventana (tal y como ha sido designado por el desarrollador de la aplicación de Domino); y el resumen de la vista (usando el formulario y la vista predeterminados). Si no puede encontrar ninguno de estos elementos, Domain Indexer mostrará el mensaje "El documento no tiene título" en los resultados.
En los sistemas de archivos como Lotus SmartSuite® o Microsoft Office, el título y el autor se extraen de los campos de propiedades del documento. En los archivos HTML, se utilizan las etiquetas TITLE y AUTHOR.
Uso de los formularios SearchResults y ResultEntry/DetailedResultEntry
El siguiente script de LotusScript está incluido en el evento Click de la zona activa con acción Búsqueda del formulario de búsqueda. Las líneas que invocan los nombres del formulario de resultados y del formulario de entrada de resultados se encuentran en negrita.
Sub Click(Source As Button) Dim s As New NotesSession Dim db As NotesDatabase Dim w As New NotesUIWorkspace Dim uidoc As NotesUIDocument Dim q As String Dim l As Integer Dim d As Integer Dim sort As String Dim stype As Integer Dim useint As Integer Dim rtype As String Dim rformname As String Set db=s.CurrentDatabase Set uidoc = w.currentdocument uidoc.refresh Set doc=uidoc.Document q=doc.query(0) l=doc.resultlimit(0) d=doc.MaxDisplay(0) sort = doc.sort(0) usestr = doc.use sscope=doc.searchscope rtype=doc.GetItemValue("SearchType")(0) If rtype = "1" Then
rformname="DetailedResultEntry" Else rformname="ResultEntry" End If Select Case sort Case "R" stype = FT_SCORES Case "O" stype = FT_DATE_ASC Case "N" stype = FT_DATE_DES End Select Forall values In usestr If values = "2" Then useint = useint + FT_STEMS If values = "3" Then useint = useint + FT_FUZZY End Forall Forall values In sscope If values = "1" Then useint = useint + FT_DATABASE If values = "2" Then useint = useint + FT_FILESYSTEM End Forall On Error Resume Next If db.isopen Then If Err <> 0 Then Messagebox STR_DBOPEN_ERROR Err = 0 Exit Sub End If Set srdoc = db.ftdomainsearch(q, l, stype,useint, 0,d,rformname) If Err <> 0 Then Messagebox STR_FTERROR_PREFIX & Error$, 0 , STR_ERROR Err=0 Exit Sub End If srdoc.Form="SearchResults" Call w.EditDocument(False, srdoc, True) End If End Sub
Consejo Deberá seleccionar la opción Generar HTML para todos los campos en el cuadro de propiedades del formulario para conservar los valores de los campos cuando los datos se crucen entre un navegador de Web y el servidor.
Personalización de los resultados de SearchView en Internet
Para personalizar la página de resultados de la búsqueda en Internet para SearchView:
1. Cree un formulario y asígnele uno de los nombres de formulario incluidos en la siguiente tabla.
3. Si desea mostrar los resultados por páginas, agregue botones o zonas activas que permitan desplazarse hacia adelante y hacia atrás por el formulario.
4. Utilice los parámetros Start y Count en el comando URL.
Si desea más información sobre los comandos URL, consulte Programación de opciones para aplicaciones de Web.
Uso de botones de navegación para los resultados que se presentan por páginas
Para poder desplazarse hacia delante y hacia atrás en las páginas de resultados, incluya botones y zonas activas en el formulario SearchResults. Los campos que se usan con los botones Anterior y Siguiente aparecen en la lista de la tabla siguiente. En el cliente Notes, los botones deberían reactivar la función FTDomainSearch de LotusScript con argumentos modificados. En Internet, se deberían usar para construir una nueva URL SearchDomain para traer un nuevo conjunto de resultados.
Nota Si utiliza campos editables en un formulario de resultados de búsqueda, seleccione la opción Acceso Web: Usar JavaScript al generar páginas en el cuadro de propiedades de la base de datos. Si está seleccionada, se calculará en el evento clic la URL insertada en una zona activa o en un botón. Si no está seleccionada, la URL se calculará al cargarse la página.