21 oct 2009

Configurar la búsqueda en MOSS

Últimamente bajo un poco el stress habitual de trabajo por lo que tuvimos oportunidad de hacer algo de R&D de SharePoint Server. He aquí la forma que encontramos de configurar la búsqueda.

Suponemos que ya tenemos un sitio Documental, testDoc. Ahora necesitamos habilitar la búsqueda en el mismo. Para esto seguimos los siguientes pasos:

1 – Lo primero es crear un Share Service, para esto desde el ‘Sitio de Administración Central” ubicamos la opción Application Management -> Office SharePoint Server Shared Services ->Create or Configured this farm’s shared services


Desde aquí hay escoger “New SSP ” y configurar el Share Service de manera que el web aplication corresponda al sitio en el que queremos buscar.

2- Seguidamente hay que habilitar el sesión state: Application Manager-> Office SharePoint Server Shared Services-> Configure sesión state


3 – Configurar el Source del Shared Service recién creado. Para esto se necesita ir al sitio del Shared Service, en nuestro ejemplo es ”SharedServices1” dentro del sitio ir a Search->Sarch Settings->Crawl Settings ->Content sources and crawl schedules.


Dentro de esta pantalla configuramos el Content source que esta creado por default, de manera que en “Start Addresses” se encuentre la raíz del sitio en el que queremos que se realice la búsqueda y le decimos que realice “Start full crawl of this content source” (es el último checkbox de la página) para que realice de una vez el rastreo en el sitio


Ya con esto debería bastar para que la búsqueda funcione en nuestro sitio documental. Sin embargo podemos crear “scopes” para realizar búsquedas personalizadas. Los pasos para crear los scopes lo pondré en el siguiente post.

Como nota adicional si se utiliza Sharepoint Services pareciera que es necesario y prudente levantar los servicios de búsqueda antes de crear los Site Collections. Para levantar estos servicios es necesario utilizar el Portal Central de Administración de Sharepoint y en la sección Operaciones -> Servicios del Servidor, aquí levantar todos los servicios de búsqueda.

Gracias a Pigosky y Eugene.

16 oct 2009

Internet Explorer puede pedirle una contraseña

Recientemente mi amigo Pigosky ha tenido problemas con una aplicación web, desarrollada en .Net con la autenticación anónima des-habilitada en el IIS. El problema consistía en que el Internet Explorer solicitaba las credenciales del usuario, en lugar de inferir y enviar el token de seguridad por si mismo. Esto lo hacia de manera irregular, alguna veces si o otras veces no, un comportamiento intermitente e impredecible.

Durante la investigación encontró este artículo sobre el porque el IE podría solicitar la contraseña en este tipo de circunstancias.

Sin embargo a pesar de que el articulo se enumeran variadas posibilidades, ninguna de ellas resultó ser la causante del problema para este caso en particular. Al final el problema radicaba en una mala configuración del pool en el que se encontraba la aplicación web (los pool es una característica implementada a partir del IIS 6), la solución fue crear un nuevo pool basado en el default y colocar en este la aplicación.

5 oct 2009

Manteniendo la Posición

En .Net 1.1 existía una propiedad de las paginas .aspx que se llamaba SmatNavigation y que tenia la función de determinar si estaba o no habilitados los desplazamientos inteligentes. Entiéndase estos como que entre cada post back de la pagina se mantuviese la posición del scroll. Esto es especialmente útil en paginas con mucho contenido en el que el usuario tiene que "scrollear" y en media pagina hacer postback. No debería por que tener que volver a bajar hasta la posición en la que ya estaba.

Pues bien resulta que jubilaron prematuramente a la propiedad smartNavigation, está obsoleta desde la versión de .Net 2.0. Si queremos que nuestros usuarios no se quejen por que pierden la posición cada vez que hacemos postpack debemos usar la propiedad MaintainScrollPositionOnPostBack (así o un poco mas especifico el nombre?)

De manera que si queremos que aplique para todo un sitio, nos vamos al web.config y en la sección < Pages > añadimos el atributo:
       MaintainScrollPositionOnPostBack = "true"

Si lo necesitamos a nivel de pagina, sería:
<%@Page MaintainScrollPositionOnPostBack = "true" %>

Y finalmente si tuviéramos que definirlo a nivel de código, probablemente en el método Load de la página, utilizaríamos:
System.Web.UI.Page.MaintainScrollPositionOnPostBack = true;

A tener en cuenta entonces.