Primero, quiero dejar claro que esta experiencia ha sido con la versión WSS 3.0 de Sharepoint. Esto es importante debido a que existen varias versiones más nuevas, incluida una 2010 que ha sido lanzada hace solo 15 días, y que dice haber solucionado varios de estos problemas. Sin embargo, WSS (Windows Sharepoint Services) es la única que viene incluida con Windows Server (“gratis”). Todas las demás, excepto la 2010 recién mencionada (que no he probado) según lo leído en Internet, presentan los mismos problemas aquí expuestos y además son muy costosas.
Share que?
No muchos conocen Sharepoint, ya que es un producto puramente corporativo. Sharepoint es uno de los productos estrella de Microsoft, junto a Windows y Office1. Es un portal web, originalmente pensado para administración de contenidos, pero que ha crecido de manera exponencial presentándose como un portal de colaboración y Middleware empresarial.
Según bien lo resume la Wikipedia en su artículo sobre Sharepoint, si bien es una valiosa herramienta, es conocida por sus problemas para modificación. Pero eso suena completamente inofensivo. La realidad es que es totalmente imposible de modificar y mantener de una forma profesional, menos productiva.
Problemas
Sharepoint fue pensado para ser usado, no para ser modificado. Primero que nada, no hay herramientas de desarrollo. Si bien Sharepoint utiliza ASP.Net y SQLServer (tecnologías maduras y conocidas) la arquitectura de la aplicación impide cualquier forma de modificación con las herramientas existentes. Sharepoint tiene incluido su propio sistema de versionamiento de contenidos, pero extrañamente, considera que las paginas que uno crea también son contenidos así que guarda el código en la base de datos, y utiliza los archivos del disco duro solo como referencia, o punto base.
Pero no solo es eso, sino que adicionalmente utiliza un montón de librerías que no son expuestas mediante SDK. Sharepoint debe estar en la máquina de desarrollo para poder usar Visual Studio para hacer desarrollo. Esto significa desarrollar en un Windows Server 2003 o superior.
A eso hay que sumarle, que si no usas Visual Studio, el desarrollo de WebParts (pequeños trozos de funcionalidad que se despliegan como bloques en las páginas y pueden ser reusados) involucra la edición de complejos XSLT 1.0 con extensiones especiales de Sharepoint, casi no documentadas. Afortunadamente en la universidad me hicieron sufrir con XSLT tanto que hoy aun lo recuerdo, pero no deja de ser sufrido.
El Origen
Dicho todo esto ustedes se preguntarán, ¿Porqué estoy trabajando con Sharepoint entonces? habiendo tanta herramienta más flexible y tanto o más funcional. Bueno, Resulta que hoy en día, “Intranet” es sinónimo de “Sharepoint” en las empresas invadidas por Microsoft. No me entiendan mal, yo soy programador en .Net hace varios años, y me agrada mucho serlo porque tenemos varias ventajas sobre otras plataformas, pero Sharepoint es simplemente una tortura para los programadores.
Si lo van a usar, olvídense que pueden modificarlo a sus gustos, o que podrán hacer alguna de esas lindas webparts que se supone le dan componentización. Porque en el mejor de los casos si lo llegan a lograr, habran invertido mucho más de lo que les hubiera costado hacer lo mismo desde cero.
Palabras finales
¿Saben que es lo peor de todo? A mi me gustó en un principio y pensé que era la solución correcta para este problema concreto con nuestro cliente. Cuando me dí cuenta en el lío que me estaba metiendo, ya no se podía echar para atrás la máquina (comercial, política) debido a que ya habían compromisos y se habían levantado expectativas al cliente de que tendría Sharepoint, esta súper herramienta moderna a su disposición, y todo eso que dicen quienes venden. Que no le pase a Ud.