DISEÑO DE APLICACIONES


Personalización de los formularios de búsqueda
La utilidad de búsquedas permite a los usuarios localizar información en una única aplicación (o base de datos) o en todo un dominio. Si lo desea, puede personalizar los formularios de búsqueda para ajustarlos a las necesidades específicas de su organización. Un desarrollador de aplicaciones puede, por ejemplo, agregar el logotipo de la empresa a un formulario o reorganizar todos los campos del mismo.

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:


Personalización de los formularios de entradas de búsqueda

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.
Argumentos opcionalesDescripciónValor predeterminado
QueryLa cadena de búsquedaNinguno
SearchMaxEl número máximo de entradas a devolver en total; 0 = sin limiteNinguno. Tenga en cuenta que

los valores predeterminado y máximo de SearchMax se pueden configurar para el servidor Web mediante parámetros del Directorio de Domino.

SearchWvIncluir palabras con la misma raíz: TRUE o 1 o FALSE o 0FALSE
SearchOrder1 = por frecuencias

2 = por fechas ascendentes

3 = por fechas descendentes

4 = usa el orden de la vista (sólo SearchView)

1
SearchThesaurusUsar diccionario de sinónimos: TRUE o 1 o FALSE o 0

(El motor de búsqueda de la Versión 5 ignora esta opción)

FALSE
SearchFuzzyUsar búsquedas aproximadas: TRUE o 1 o FALSE o 0FALSE
SearchEntryNombre del formulario a utilizar por cada entrada de resultados

(sólo para SearchDomain)

"ResultEntry"
StartEmpezar el documento de resultados por página; 0 = sin páginas0
CountNúmero de resultados por página; 0 = sin páginas0
ScopeÁmbito de la búsqueda:

1 = sólo bases de datos de Notes

2 = sólo sistema de archivos

0 = ambos

0
Si está personalizando formularios de búsqueda para los clientes IBM® Lotus® Notes®, deberá utilizar el método FTDomainSearch.

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:
Campo del encabezadoNombre del elemento
CREATION DATE_CreationDate
REVISION DATE_RevisionDate
DB TITLE (sólo en el índice del dominio)_Title
DB CATEGORIES (sólo en el índice del dominio)DbCategories
NOTE TITLE_Note_Title
AUTHOR_Note_Author
Por ejemplo, para buscar todos los documentos creados antes del 5 de enero de 2000, utilice la siguiente consulta:

[_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.
Nombre del campoDescripción
DSCreationTimeHora de creación de un documento
DSModifiedTimeHora de modificación de un documento
DSURLURL al documento
DSDBTitleTítulo de la base de datos
DSDocSummaryResumen del documento
DSDocTitleTítulo del documento
DSDocAuthorAutor del documento
DSScoreÍndice de frecuencia relativa
DSSServerNombre del servidor en el que se ha indexado el documento
DSType"0" indica u documento de Notes, "1" indica un documento externo o del sistema de archivos
Si lo desea, puede asignar un nombre a su formulario de resultados y, a continuación, especificar el nombre elegido en la URL SearchDomain o en la llamada FTDomainSearch de LotusScript. Si no asigna ningún nombre en la URL, Internet buscará el formulario denominado $$SearchDomainTemplate.

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.
Nombre del formularioCampo obligatorioComentarios
$$SearchTemplate for nombredevista$$ViewBodyAsocia el formulario con una vista determinada. Domino necesita que exista el campo $$ViewBody, pero ignora su valor. El nombre del formulario incluye nombredevista, que es el alias de la vista, o, si no existe alias, el nombre de la vista. Por ejemplo, el formulario denominado "$$SearchTemplate for Todos los documentos" asocia el formulario con la vista Todos los documentos.
$$SearchTemplateDefault$$ViewBodyDomino necesita que exista el campo $$ViewBody, pero ignora su valor. Este formulario es el formulario predeterminado para todas las búsquedas en Internet que no están asociadas con un formulario específico.
2. Agregue un campo denominado $$ViewBody al formulario.

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.
CampoDescripción
QueryCadena de búsqueda utilizada
StartNúmero de documento inicial
CountNúmero de resultados solicitados para esta página
HitsNúmero real de los resultados devueltos en esta página; puede ser menor que Count. Este campo se utiliza para determinar el parámetro Start de un botón Siguiente.
TotalHitsNúmero total de los resultados hallados por la búsqueda
SearchMaxEl número máximo de entradas a devolver en total; 0 = sin limite
SearchWv
(sólo para comandos URL)
Incluir palabras con la misma raíz: 1 o 0
SearchOrder
(sólo para comandos URL)
1 = por frecuencia
2 = por fecha ascendente
3 = por fecha descendente

4 = usa el orden de la vista (sólo SearchView)

SearchThesaurus
(sólo para comandos URL)
Usar sinónimos: 1 o 0
SearchFuzzy
(sólo para comandos URL)
Usar búsqueda aproximada: 1 o 0.
SortOptions
(sólo para clientes Notes)
FT_SCORES = por frecuencia
FT_DATE_ASC = por fecha ascendente
FT_DATE_DES = por fecha descendente
OtherOptions
(sólo para clientes Notes)
FT_STEMS = Incluir variantes de palabras
FT_FUZZY = Usar búsqueda aproximada
FT_DATABASE = buscar en bases de datos
FT_FILESYSTEM = buscar en sistemas de archivos
SearchEntry
(sólo búsquedas en el dominio)
Nombre del formulario de entrada de resultados utilizado
SearchView
(sólo para el comando URL SearchView)
Identificador exclusivo de texto de la vista en la que se realiza la búsqueda. Este identificador resulta de utilidad para crear sucesivos comandos URL SearchView.
Scope
(sólo para el comando URL SearchDomain)
Ámbito de la búsqueda:
1 = sólo bases de datos de Notes
2 = sólo sistema de archivos
0 = ambos
Los campos de la tabla inferior se utilizan con los parámetros Start y Count y deben insertarse en el formulario de resultados cuando se necesiten.
CampoDescripción
HitsEl número real de resultados devueltos. Este campo se utiliza para determinar el parámetro Start de Next.
TotalHitsEl número total de resultados encontrados sin tener en cuenta el número de páginas.

Véase también


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