Uf ya se me había olvidado cómo se llamaba el blog :)
No, en realidad es que he estado liado y un poco falto de inspiración ¿Cuándo he andado yo sobrao de eso? estos últimos dos meses. ¡¡DOS MESES!!
Bueno, a lo que voy.
Modificar el webpart Cuadro de búsqueda avanzado da un poco de miedo, pero la verdad es que si nos acostumbramos a su interfaz podemos lograr cositas muy interesantes con muy poco esfuerzo.
Por ejemplo:
Tengo un ámbito creado (MiAmbito) que contiene solo los elementos de una lista y dentro de esa lista tengo un metadato que se llama TextoLista que está dado de alta en las Asignaciones de propiedades de metadatos. ¿Podría añadir yo a mi sitio de Buscador avanzado un Tipo de resultado llamado “Mi lista” y una Restricción de propiedad específica para mi metadato “TextoLista”?
Pues nada más fácil.
Primero editamos el webpart Cuadro de búsqueda avanzado y abrimos el texto que se esconde en Propiedades—> Propiedades:
En la ventana que se nos abre podremos ver muy mal por cierto, mejor que trabajar ahí es hacer un c&p al visual studio un xml que (entre otras cosas) define las propiedades que estarán disponibles para los tipos de resultado <PropertyDefs> y los diferentes tipos de resultado que se mostrarán en el webpart de búsqueda <ResultTypes>
Bien pues a trabajar. Añadiremos nuestra propiedad “TextoLista” dentro de PropertyDefs para poderla usar luego.
- <PropertyDefs>
- <PropertyDef Name="Path" DataType="text" DisplayName="dirección URL"/>
- <PropertyDef Name="Size" DataType="integer" DisplayName="Tamaño"/>
- <PropertyDef Name="Write" DataType="datetime" DisplayName="Fecha de la última modificación"/>
- <PropertyDef Name="FileName" DataType="text" DisplayName="nombre"/>
- <PropertyDef Name="Description" DataType="text" DisplayName="descripción"/>
- <PropertyDef Name="Title" DataType="text" DisplayName="Título"/>
- <PropertyDef Name="Author" DataType="text" DisplayName="autor"/>
- <PropertyDef Name="DocSubject" DataType="text" DisplayName="tema"/>
- <PropertyDef Name="DocKeywords" DataType="text" DisplayName="palabras clave"/>
- <PropertyDef Name="DocComments" DataType="text" DisplayName="comentarios"/>
- <PropertyDef Name="Manager" DataType="text" DisplayName="jefe"/>
- <PropertyDef Name="Company" DataType="text" DisplayName="compañía"/>
- <PropertyDef Name="Created" DataType="datetime" DisplayName="fecha de creación"/>
- <PropertyDef Name="CreatedBy" DataType="text" DisplayName="creado por"/>
- <PropertyDef Name="ModifiedBy" DataType="text" DisplayName="modificado por última vez por"/>
- <PropertyDef Name="TipoResolucion" DataType="text" DisplayName="Tipo de resolución"/>
- </PropertyDefs>
Y por último añadiremos un nuevo ResultType dentro de ResultTypes, así:
- <ResultTypes>
- <ResultType DisplayName="Todos los resultados" Name="default">
- <Query/>
- <PropertyRef Name="Author" />
- <PropertyRef Name="Description" />
- <PropertyRef Name="FileName" />
- <PropertyRef Name="Size" />
- <PropertyRef Name="Path" />
- <PropertyRef Name="Created" />
- <PropertyRef Name="Write" />
- <PropertyRef Name="CreatedBy" />
- <PropertyRef Name="ModifiedBy" />
- </ResultType>
- <ResultType DisplayName="Documentos" Name="documents">
- <Query>IsDocument=1</Query>
- <PropertyRef Name="Author" />
- <PropertyRef Name="DocComments"/>
- <PropertyRef Name="Description" />
- <PropertyRef Name="DocKeywords"/>
- <PropertyRef Name="FileName" />
- <PropertyRef Name="Size" />
- <PropertyRef Name="DocSubject"/>
- <PropertyRef Name="Path" />
- <PropertyRef Name="Created" />
- <PropertyRef Name="Write" />
- <PropertyRef Name="CreatedBy" />
- <PropertyRef Name="ModifiedBy" />
- <PropertyRef Name="Title"/>
- <PropertyRef Name="Manager" />
- <PropertyRef Name="Company"/>
- </ResultType>
- <ResultType DisplayName="Documentos de Word" Name="worddocuments">
- <Query>FileExtension='doc' Or FileExtension='docx' Or FileExtension='dot'</Query>
- <PropertyRef Name="Author" />
- <PropertyRef Name="DocComments"/>
- <PropertyRef Name="Description" />
- <PropertyRef Name="DocKeywords"/>
- <PropertyRef Name="FileName" />
- <PropertyRef Name="Size" />
- <PropertyRef Name="DocSubject"/>
- <PropertyRef Name="Path" />
- <PropertyRef Name="Created" />
- <PropertyRef Name="Write" />
- <PropertyRef Name="CreatedBy" />
- <PropertyRef Name="ModifiedBy" />
- <PropertyRef Name="Title"/>
- <PropertyRef Name="Manager" />
- <PropertyRef Name="Company"/>
- </ResultType>
- <ResultType DisplayName="Documentos de Excel" Name="exceldocuments">
- <Query>FileExtension='xls' Or FileExtension='xlsx' Or FileExtension='xlt'</Query>
- <PropertyRef Name="Author" />
- <PropertyRef Name="DocComments"/>
- <PropertyRef Name="Description" />
- <PropertyRef Name="DocKeywords"/>
- <PropertyRef Name="FileName" />
- <PropertyRef Name="Size" />
- <PropertyRef Name="DocSubject"/>
- <PropertyRef Name="Path" />
- <PropertyRef Name="Created" />
- <PropertyRef Name="Write" />
- <PropertyRef Name="CreatedBy" />
- <PropertyRef Name="ModifiedBy" />
- <PropertyRef Name="Title"/>
- <PropertyRef Name="Manager" />
- <PropertyRef Name="Company"/>
- </ResultType>
- <ResultType DisplayName="Presentaciones" Name="presentations">
- <Query>FileExtension='ppt'</Query>
- <PropertyRef Name="Author" />
- <PropertyRef Name="DocComments"/>
- <PropertyRef Name="Description" />
- <PropertyRef Name="DocKeywords"/>
- <PropertyRef Name="FileName" />
- <PropertyRef Name="Size" />
- <PropertyRef Name="DocSubject"/>
- <PropertyRef Name="Path" />
- <PropertyRef Name="Created" />
- <PropertyRef Name="Write" />
- <PropertyRef Name="CreatedBy" />
- <PropertyRef Name="ModifiedBy" />
- <PropertyRef Name="Title"/>
- <PropertyRef Name="Manager" />
- <PropertyRef Name="Company"/>
- </ResultType>
- <ResultType DisplayName="Mi lista" Name="MiLista">
- <Query>"scope"='MiAmbito'</Query>
- <PropertyRef Name="DocSubject"/>
- <PropertyRef Name="Path" />
- <PropertyRef Name="Created" />
- <PropertyRef Name="CreatedBy" />
- <PropertyRef Name="ModifiedBy" />
- <PropertyRef Name="Title"/>
- <PropertyRef Name="TextoLista"/>
- </ResultType>
- </ResultTypes>
Aceptamos, aceptamos publicamos y probamos.
A mi me ha funcionado ¿y a ti?
2 comentarios:
Publicar un comentario