Creación de Portales Colaborativos con Windows SharePoint Services 3.0

Buenas a todos.


Comentaros que este martes ( 22 de Mayo ) tenemos una reunión en el grupo de usuarios de Madrid ( http://madriddotnet.com ) en la que vamos a ver la creación de portales colaborativos en internet con Windows SharePoint Services 3.0.

Entre los diferentes puntos que veremos nos centraremos en los siguientes aspectos:
· ¿Que es un entorno colaborativo?
· Seguridad y Gestión de Permisos
· Limitaciones con respecto a MOSS 2007

Estáis todos invitados a venir, para ello solo tenéis que registraros en esta página (http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032341017&Culture=es-ES ).

Nos vemos allí.

Un Saludo

MVB – Most Valuable Bloguero

Buenas a todos.


La verdad es que me encantan los días en los que te dan buenas noticias.


Ayer recibí la mejor noticia del mundo! ( pero ya os lo contaré en poco tiempo ).


Y hoy, al abrir el correo me encuentro con otra magnífica noticia:




Ante todo felicitaros a ambos por haber sido nombrados Blogueros del Mes de Abril, alias Most Value Bloguero (MVB). Ahora solo teneis que decidir entre alguno de los posibles premios y decirnos como quereis que se os hagan presentes, obviamente mandando una foto de cuando se os realize la entrega :).


Seguir asi.


 


Comparto el premio con Jonás por su Blog Jonas´s Blog. Que además he de confesar que lo tengo entre mis blogs de lectura habitual [:P].


Solo quería dar las gracias a la gente de LaBloguera.Net por dejarme compartir mis ideas y comentarios.


Muchas gracias amigos.


Un Saludo

Modificar el Layout de nuestro Site en MOSS 2007

Buenas a todos.

Hace poco, estando en un cliente me comentaba que no era capaz de colocar todos los webparts que quería en la misma página por que no tenía suficientes zonas donde colocarlos.

En este caso, el site se creó partiendo de un site en ‘Blanco’, esto significa que el site utiliza la mínima cantidad de elementos y de características haciendo que sea totalmente básico.

Para poder cambiar la estructura ( ‘Layout’ ) de nuestro site lo primero que tenemos que hacer es activar las características de publicación de nuestro site. Para ello vamos a la configuración del site, seleccionamos ‘Características del Site’ (Site Features) y activamos la característica ‘Office SharePoint Server Publishing’.

Una vez activa esta característica, el sistema ya es capaz de crear páginas de publicación basadas en Layouts predefinidos. Que es exactamente lo que necesitamos para nuestro propósito. Además, si nos fijamos, el sistema automáticamente nos ha creado una serie de librerías en el site, como por ejemplo ‘Pages’ que es donde se van a almacenar las páginas que vamos creando.

El siguiente paso es ir a esta librería y crearnos una nueva página de bienvenida ( Welcome Page ) y la llamaremos ‘default.aspx’.

En la página de creación podemos seleccionar la estructura que tendrá la página que estamos creando, dentro de las predefinidas hay por ejemplo, páginas de búsqueda, de presentación de los resultados de una búsqueda, etc. Seleccionamos la que mejor se ajuste a lo que intentamos hacer.

Lo siguiente que tenemos que hacer es decirle al Site que queremos que sea esta la página por defecto que vamos a usar para entrar al portal. Para ello nos vamos de nuevo a la configuración del sitio y seleccionamos ‘Página de Bienvenida’ ( Welcome Page ). En esta página podremos seleccionar la página que se mostrará para dar la bienvenida a los navegantes que entren en el site.

Y ya está! Cuando el usuario entra al site que hemos creado, el sistema le redirige directamente a la página de bienvenida donde hemos colocado todos los web parts de forma que tenga una estructura sencilla.

 Como detalle, si una vez creada la página, nos damos cuenta de que el layout que hemos seleccionado no cumple con los requisitos que necesitamos, podemos modificarla editando la página.

Espero que os sirva.

Un Saludo

Yo trabajo con Máquinas Virtuales … tu no?

Muy buenas a todos.


Como dice el tema del post, normalmente me encuentro con que estoy trabajando con más de una máquina virtual que previamente me he tenido que crear, hacer toda la instalación del sistema operativo, que si el SQL Server, que si las 400 miniherramientas que uso siempre y quieras que no es un tostón tener que volver a instalar, etc, etc,etc.


Y siempre pasa lo mismo, siempre dices: ‘a ver si esta no me la cargo o la guarreo poco que si no me toca volver a empezar’.


Bien, hay una metodología muy buena para el tema de máquinas virtuales que me enseñó hace poco mi amigo Gilles ( Un verdadero genio en esto de las virtualizaciones, un saludo amigo! ) en el anterior proyecto en el que trabajé y me parece buena idea dejarla aqui para tenerlo como referencia para aquellos que esteis en mi misma situación.


Bien, os cuento. Ahora mismo estoy en proceso de preparar un bastidor de máquinas virtuales con diferentes máquinas que van a tener diferentes tareas que realizar, pero algo es básico …. tienen que tener un sistema operativo instalado ( lógico ) + todas las actualizaciones que existan en el mundo mundial ( y gran parte del extranjero ), sin contar con las miniherramientas que os comentaba al principio.


Por lo que imaginaros el ‘curro’ que puede suponer tener esas X máquinas virtuales instalando, configurando, ozu! me canso con pensarlo.


Para ello lo que vamos a hacer es preparar una máquina virtual con todo aquello genérico que necesitamos y luego vamos a ir extendiéndolas para crear las reales.


Antes de nada, lo más importante. Si leeis ESTE artículo os dareis cuenta de que el procedimiento que os comento no está soportado por Microsoft por lo que esto es como se suele decir ‘At your own risk’.


Vamos a desglosar la tarea por pasos. De primeras vamos a ver como montamos el sistema que se encarga de realizar todo este trabajo.



  1. Tener la máquina virtual instalada, con todos los parches instalados, todas aquellas herramientas que necesitemos, en resumen, todo aquello que querais que se clone con la máquina y lo tenga por defecto
  2. Iniciamos sesión con la una cuenta de administración local.
  3. Ahora descargamos la versión de SysPrep que necesitemos dependiendo del sistema operativo que deseemos clonar.


Yo en mi caso siempre utilizo el último dado, que lo que suelo necesitar clonar son sistemas de servidor. En caso de tener que clonar otro tipo de sistema operativo, puede que los pasos que os voy a comentar varíen un poco.


Bien, ahora hay que hacer una cosa que se llama ‘Fichero de Respuestas’. En este fichero se contiene la información del sistema que queremos que se ejecute de forma desatendida


Para generar este fichero tenemos que ejecutar el progama ‘setupmgr.exe’ que encontraremos en la ruta de instalación del Deployment Tools.



 Por medio de esta herramienta vamos a configurar todos esos datos que nos pide el sistema de instalación cuando estamos en ello.


Como truco en esta parte, si dejamos la contraseña de administración en blanco, el sistema obligará a introducir una nueva en el momento de la preparación de la nueva máquina.


Muy bien, pues según tengamos todo configurado guardamos el fichero resultante en una carpeta en la que queramos tenerlo para realizar modificaciones. Por otro lado el sistema automáticamente guardará una copia en su carpeta situada en ‘C:sysprep’ de tal forma que será el fichero de instalación que el sistema de recuperación utilizará.


Otra cosa que tenemos que copiar en la misma carpeta son los ejecutables ‘Sysprep.exe’ y ‘Setupcl.exe’.


Bueno! ya tenemos todo casi preparado. Sólo nos queda configurar el inicio del sistema para que nos haga el trabajo.


Ejecutamos el fichero ‘Sysprep.exe’ que hemos copiado a la carpeta ‘C:Sysprep’. Lo primero que nos aparece es un cuadro de diálogo en el que nos informa de que al terminar reiniciará la máquina y estará preparada para distibuir, aceptamos y entramos en la aplicación.


Y ya está, tenemos una máquina virtual que al distribuir se configura con todos los parámetros que preconfiguramos con la herramienta y que ya tiene instaladas todas las herramientas con las que solemos trabajar.


 Espero que os sirva de ayuda.


Un Saludo

Error creando listas desde Excel 2007 en MOSS 2007

Buenas de nuevo.


Aquellos que tabajamos en desarrollo desde hace tiempo sabemos con total claridad que el cliente siempre tiene claro todo aquello que nos pide y sobre todo que de haber alguna diferencia entre lo que nos han pedido y lo que hemos hecho para ellos es por un error en la comunicación. ( esto es claro la gráfica que nos enseñaba nuestro amigo Piercy Reyes en su post hace poquito ).


Yo personalmente, siempre que he podido he solicitado todo por escrito … que luego a abuela fuma y la armamos.


Pero en el caso de listas de SharePoint hechas a medida para usuarios lo que suelo hacer es solicitar que me envíen un fichero excel con las columnas que desean para ver exactamente lo que necesitan. Lo que el cliente normalmente no sabe es que lo que luego hago es una importación de eso en SharePoint, creando una lista desde el proio Excel.


Bien, pues parece que el chollo se me ha acabado y que tengo que volver a hablar de un error dentro del maravilloso MOSS … que le vamos a hacer.


Se ha detectado un error en el sistema por el cual cuando vas a hacer una importación desde un fichero excel, el sistema no es capaz de realizarla y retorna un error como el siguiente:



El problema radica en que el método ‘Post’ del objeto ‘IOWSPostData’ no es capaz de diferenciar el método de comunicación que tiene que usar con SharePoint con el que va a comunicarse para entregarle la estructura de la nueva lista, y el sistema genera un error.


Este problema se puede solucionar.


Si lo analizamos nos damos cuenta de que el problema realmente no viene de MOSS si no de la integración de Excel 2007 con este, por lo que la modificación se ha de realizar en Excel.


Para ello localizamos el fichero ‘EXPTOOWS.XLA’ que contiene la macro encargada de realizar este proceso y buscamos la linea:



lVer = Application.SharePointVersion(URL)


En la prueba que acabo de hacer, este método siempre me devuelve el valor 1, pero si lo cambio por el valor ‘2’ la estructura se envía perfectamente, por lo que he cambiado la linea de código así para que me funcione:


lVer = Application.SharePointVersion(URL)

lVer = 2


De esta forma siempre utiliza SOAP para enviar la información y a mi me ha funcionado … cual es el problema generado de solucionar este? pues no estoy muy seguro de como se comportará cuando intente realizar el mismo proceso desde un SharePoint 2003 …

Espero que os sirva de ayuda a vosotros también!

Un Saludo

PD: El logo de Excel lo he sacado de este sitio, echadle un ojo por que hay unos iconos muy chulos.

 

Jobs en MOSS que se ejecutan cuando quieren!

Buenas a todos.

La verdad es que me duele tener que poner un post de este tipo, en el que no puedo contar una cosa buena de MOSS 2007 si no que tengo la obligación de comentaros un Bug del sistema.

El caso es que nuestros amigos de producto no se dieron cuenta de como funciona el tema de los horarios en este planeta.

 

Esto no es un problema para el producto en sí, si no para el sistema de ‘Jobs’ que trabaja por debajo ( tanto en MOSS 2007 como en WSS 3.0 ), lo cual hace que cuando planificamos un Job, al almacenarlo en la tabla de Jobs pendientes de ejecución, lo almacena con una Fecha/Hora que no tiene por que ser la que nosotros queremos.

Esto también sucede en estas circunstancias:

• Cuando queremos disparar un proceso de ‘Deploy’ del contenido

• Cuando preparamos un Job de copia de seguridad o restauración

• Al agregar un servidor con el rol de ‘Query’ o con el rol de ‘Index Server’

• Al provisionar aplicaciones web

• Al cambiar las credenciales del Servicio de Seguridad.

• Al cambiar la configuración de Diagnósticos.

Como podeis ver, la verdad es que el problema se puede reproducir facilmente incluso sin que nos demos cuenta, y lo que es peor, un problema de estos supone el volverte loco buscando el motivo por el cual no se te ha ejecutado la copia de seguridad cuando tu querías.

Por parte de Microsoft, nos dan algunos de los consejos que nos dán para solucionar el problema en esta página

• Schedule tasks to start one hour earlier during daylight saving time.

• Change the time zone on the servers that are running SharePoint Server 2007 to a similar time zone that does not use DST, as follows:

• In Auckland, in Wellington, in Fiji, in Kamchatka, and in the Marshall Islands, change the time zone to (Coordinated Universal Time (UTC)+12:00).

• In Canberra, in Melbourne, in Sydney, and in Brisbane, change the time zone to (UTC+10:00).

• In Adelaide and in Darwin, change the time zone to (UTC+09:30).

• In Perth, in Kuala Lumpur, and in Singapore, change the time zone to (UTC+08:00).

Hombre, la verdad es que ninguno de ellos es mi favorito, por lo que vamos a ver otra forma de solucionar el problema.

En MOSS, cuando se planifica la ejecución de una tarea ( sea voluntaria o involuntariamente ), el sistema almacena la información de la tarea en la tabla ‘ScheduledWorkItems’ de la base de datos de contenidos de WSS.

Para ello utiliza el procedimiento almacenado ‘proc_AddWorkItem’ y aqui es donde está el problema.

Entre los parámetros que le están llegando aparece ‘@DeliveryDate’, un datetime que por algún motivo que desconozco ( aún ) no pasa la información de forma correcta, por lo que lo que vamos a hacer es cambiar ese valor en el principio del procedimiento con la siguiente línea:

set @DeliveryDate = dateadd(second, datediff(s,getdate(),getutcdate()), @DeliveryDate)

Solucionado!

Solo hay un problema con esta solución. Como es lógico si se modifica alguno de los procedimientos almacenados, se pierde el soporte por parte de Microsoft. Por lo que, si en algún momento os decidís a hacer esto … que no os pillen!

Espero que os sirva de ayuda.

Un Saludo a todos