viernes, 29 de abril de 2011

Herramienta de consultas del motor de búsquedas SharePoint

El motor de búsquedas de SharePoint 2010 proporciona una serie de WebParts con los que realizar búsquedas y aplicar filtros sobre los resultados. También podemos extender las funcionalidades del motor de búsquedas mediante las API de búsqueda de SharePoint con las que realizar consultas más específicas y complejas. Disponemos de dos formas de hacer consultas: KeywordQuery y FullTextSQLQuery.

KeywordQuery utiliza una sintaxis sencilla de consulta basada en términos pensada para consultas que no requieran de filtros basados en valores sino en términos.

Una consulta de este tipo quedaría:

SPServiceContext serverContext = SPServiceContext.GetContext(SPServiceApplicationProxyGroup.Default, SPSiteSubscriptionIdentifier.Default); 


SearchServiceApplicationProxy searchProxy = serverContext.GetDefaultProxy(typeof(SearchServiceApplicationProxy)) as SearchServiceApplicationProxy; ResultTable rTable = null; 


using (KeywordQuery kquery = new KeywordQuery(searchProxy))
{
// Filtro KeywordQuery
// ------------
string keywordFiltroTexto = string.Empty;
if (!string.IsNullOrEmpty(Filtro.Texto))
{
keywordFiltroTexto = string.Format(" Title:\"{0}\" ", Filtro.Texto);
}

kquery.QueryText = string.Format("IsDocument:1 {0} SCOPE:\"Eventos\"", keywordFiltroTexto);
kquery.IgnoreAllNoiseQuery = true;
kquery.TrimDuplicates = false;
kquery.RowLimit = maximoNumeroDeResultados - resultados.TablaResultados.Rows.Count;
kquery.ResultTypes = ResultType.RelevantResults;
kquery.KeywordInclusion = KeywordInclusion.AnyKeyword;

ResultTableCollection resultsll = kquery.Execute();
rTable = resultsll[ResultType.RelevantResults];
TablaResultados.Load(rTable, LoadOption.PreserveChanges);
TablaResultadosRecomendados.Load(rTable, LoadOption.PreserveChanges);
resultados.QuisoDecir = resultsll.SpellingSuggestion;
}



Con  FullTextSQLQuery podremos realizar consultas con una sintaxis similar a la de SQL con la que construir consultas complejas y muy específicas. Una consulta con esta sintaxis quedaría de la siguiente forma:



// Ejecuta la búsqueda con FullTextSqlQuery  
// -------------------------------------------
using (FullTextSqlQuery buscador = new FullTextSqlQuery(searchProxy))
{
buscador.AuthenticationType = QueryAuthenticationType.NtAuthenticatedQuery;

buscador.QueryText = string.Format("SELECT Title, Rank, Size, Descripcion, Write, Path, Keywords, Estado, FechaFinal, FechaInicial FROM scope() WHERE ( (\"SCOPE\" = 'Eventos') AND ( FREETEXT(DefaultProperties,'{0}') ORDER BY Rank DESC", fullFiltroTexto);
buscador.ResultTypes = ResultType.RelevantResults;
buscador.RowLimit = maximoNumeroDeResultados;
buscador.IgnoreAllNoiseQuery = true;
buscador.TrimDuplicates = false;
buscador.KeywordInclusion = KeywordInclusion.AnyKeyword;

ResultTableCollection results = buscador.Execute();
rTable = results[ResultType.RelevantResults];
TablaResultados.Load(rTable, LoadOption.OverwriteChanges);
TablaResultadosRecomendados.Load(rTable, LoadOption.OverwriteChanges);
}



 



El problema lo encontramos a la hora de construir estas consultas durante el desarrollo, ya que no siempre resultan sencillas y en ocasiones necesitamos conocer que resultados devuelve. Para ello disponemos de la herramienta gratuita Search Explorer con la que podremos consultar los ámbitos disponibles, las propiedades mapeadas y los más importante construir y probar nuestras consultas sobre el motor de búsqueda en el momento sin necesidad de volver a compilar.



 



image



Desde un servidor con SharePoint 2010 instalado abriremos la aplicación y pulsaremos en “Get Search Apps” para cargar las aplicaciones de servicio de búsqueda disponibles. A continuación realizaremos doble click sobre la aplicación de búsqueda y se cargarán las propiedades del servicio, los ámbitos y las propiedades manejadas disponibles (Managed Properties).



Desde la pestaña “Queries” podremos construir la consulta seleccionando los ámbitos para los que queremos ejecutarla y marcando “Include” en aquellas propiedades manejadas que queramos incluir en la consulta. También podremos realizar un filtro por alguna de la propiedades introduciendo un valor en la casilla “Criteria”.



Una vez seleccionados los elementos sobre los que consultar pulsaremos en “Make SQL” para construir automáticamente la consulta en formato FullTextSQLQuery. Desde “QuerySQL” podremos modificar la consulta o ejecutarla desde el botón “Run Query”. Al hacerlo se abrirá una ventana con los resultados encontrados para la consulta indicada. Es importante que tengáis presente que la consulta se ejecutará con las credenciales del usuario logado en ese momento, de forma que los elementos para los que no tengamos permisos no nos aparecerán.



 



image



image

jueves, 7 de abril de 2011

[IE9] Visor de descargas

Llevo un tiempo probando Internet Explorer 9 y una de las nuevas funcionalidades que me parecen bastante atractivas es la del visor de descargas con el que se centralizan todas las descargas realizadas desde Internet Explorer 9. Al descargar cualquier documento aparecerá en la parte inferior del navegador una barra indicando si deseamos descargar el fichero para guardarlo en una carpeta o abrirlo directamente. En el caso de seleccionar “Abrir” por defecto el documento se descargará en la carpeta C:\Users\{Nombre de Usuario}\Downloads.

Para ver el progreso de la descarga o los ficheros que hemos descargado abriremos la ventana “Ver descargas” disponible desde Internet Explorer > icono que parece una rueda > Ver descargas (ver imágenes).

Lo que más me gusta es cuando estemos descargando un documento podremos pausar la descarga y volverla a continuar más tarde.

También es de destacar la facilidad con la que podemos encontrar documentos descargados anteriormente mediante el buscador independientemente de la ubicación en la que se encuentre.

Esta funcionalidad ya la teníamos con Firefox pero en IE9 han introducido alguna mejora como pueda ser:

  • La ubicación del documento.
  • Abrir con.
  • Detección de ficheros especiales como puedan ser hotfix.

Por último como pega le hecho en falta que me muestre algún icono de forma indicativa, pero por lo demás el funcionamiento es bastante aceptable.

 

image

image

image

lunes, 4 de abril de 2011

Qué es el cloud Computing?

Con este título he querido compartir con DesarrolloWeb.com un artículo sobre el Cloud Computing donde he querido plasmar los conceptos básicos del Cloud Computing y sus características.

Con este resumen me gustaría eliminar la idea de que “el Cloud está verde” el concepto de Cloud no es algo nuevo (hay empresas trabajando con EC2 desde hace años) y si no se conoce no se debería subestimar, en todo caso lo que podría estar poco maduro serían los servicios que ofrecen algunos proveedores.

El Cloud Computing hoy por hoy es una realidad que podremos escoger o nó para nuestro proyecto, pero es una opción que está evolucionando muy rápido en estos últimos años y que sin duda no pasará de moda en poco tiempo porque las características que nos puede aportar (ahorro, flexibilidad, rápido time to market, baja inversión inicial, …) pueden llegar a ser algo muy beneficioso en determinados escenarios.

Encontrareis al artículo desde: http://www.desarrolloweb.com/articulos/cloud-computing.html

 

Aprovecho para invitaros al Grupo de Usuarios de Cloud Computing España (CLOUDES) donde encontrareis noticias, discusiones, eventos, WebCast, … ya somos más de 300 usuarios!!

viernes, 25 de marzo de 2011

Office 365 y SharePoint Online

Microsoft Office 365 - Online Services & Hosted Software in the CloudEl término Cloud Computing abarca una realidad en la que la informática se consume como un servicio y bajo demanda. Estos servicios se dividen en IaaS (Infraestructura como servicio), Paas (Plataforma como servicio) y SaaS (Software como servicio).

Office 365 proporciona en modo SaaS: Exchange Online 2010, SharePoint Online 2010, Office Web apps, Lync Online y Office Professional Plus 2010. En el número 7 de la revista digital CompartiMOSS encontrareis un artículo sobre Office 365 y SharePoint Online donde se describe Office 365, los distintos servicios que ofrece, las distintas modalidades (tipos de licencias) y una introducción sobre SharePoint Online 2010 y sus características más importantes.

 

 

image

Descarga el último número de CompartiMOSS

 

@mariocortesf

martes, 22 de marzo de 2011

Microsoft Hosting Days

imageEl Miércoles 23 de Marzo se celebrará en Madrid el evento Micosoft Hosting Days donde se verán de la mano de distintos hosters, proveedores de aplicaciones y resellers  las distintas soluciones que proporciona Microsoft para evolucionar los servicios de Hosting a Cloud Computing.

 

La agenda desde luego es bastante atractiva, si queréis registraros todavía estáis a tiempo desde este enlace.

Aunque lo ideal es asistir presencialmente para tener contacto con estas empresas y compartir experiencias, si no podéis asistir al menos podréis seguir el evento online desde http://www.globbtv.com/.

9:30 REGISTRO
10:00 Bienvenida e Introducción
10:15 Visión del Cloud Microsoft para hosters y proveedores de servicios
10:45 Cloud Computing con Windows Azure
11:15 Oportunidades y soluciones para Proveedores de Servicio en un entorno mixto
  Sandy Gupta, Director General del Grupo de Soluciones Abiertas (OSG) de Microsoft. Sesión en inglés.
11:45 COFFEE BREAK
12:15 Dynamic Datacenter Toolkit para proveedores de servicio
12:45 ¿Quieres montar tu propio Cloud Windows? Nosotros te ayudamos
13:30 Un mundo de ventajas: ingrese en Web Hosting Gallery / Website Platform Installer / Website Spark / Newsletter
13:45 Simplifica la migración, gestión y despliegue de tu infraestructura web con "Web Deploy"
14:30 LUNCH BREAK
15:30 HP: descubra las soluciones de almacenamiento HP más eficientes para su entorno
16:15 Microsoft Service Provider License Agreement / HVS
16:45 Novedades en Microsoft Partner Network
17:15 Conclusiones y despedida

@mariocortesf

viernes, 11 de marzo de 2011

[OT] Busco libros para ser buen programador

Después de una larga discusión sobre el concepto “buen programador” ha surgido la pregunta, “¿qué libro me recomiendas para ser un buen programador?.

buffff, lo primero que he contestado es que no sería uno sino muchos libros y materiales, pero llevándolo al extremo si tuviera que recomendar un libro que explique cuando aplicar unos patrones y cuando otros, cuando utilizar interfaces y cuando utilizar clases abstractas, cuando es mejor pasar por parámetro y cuando utilizar variables de clase,… es decir esa cantidad de cosas que vas adquiriendo con el paso del tiempo leyendo, viendo código de otros,… y adquieres de forma natural pero no necesariamente son las más recomendables o puristas.

 

¿Alguna propuesta?

 

gracias!!

miércoles, 9 de marzo de 2011

Nuevo logo de SUGES

Desde el Grupo de Usuarios de SharePoint España estamos remodelizando nuestra imagen y el portal, de momento ya tenemos logotipo nuevo!!

gracias a toda por su colaboración y comentarios recibido desde nuestro grupo de SUGES en Linkedin.

Recordaros que mañana Jueves 10/03/2011 a las 19:00 tenemos el WebCast SUGES: SharePoint 2010 no es solo intranets, monta tu sitio público donde se mostrarán las capacidades de SharePoint 2010 para montar sitios públicos.

En breve os presentaremos más novedades!!.

Suges

http://www.suges.es/