martes, 2 de diciembre de 2008

Problema con variaciones de sitio y webparts de ASP.NET

Como ya sabréis, podemos utilizar dos tipos de webpart a la hora de personalizar Sharepoint. Por un lado tenemos los webparts propios de Sharepoint, herencia de versiones anteriores del producto, bajo el espacio de nombres Microsoft.SharePoint.WebPartPages, y por el otro tenemos los webparts genéricos de ASP.NET 2.0, bajo el espacio de nombres System.Web.UI.WebControls.WebParts.

En teoría tenemos libertad para elegir un tipo de webpart u otro en nuestros proyectos salvo algunos casos excepcionales (como por ejemplo la conexión de dos webparts en diferentes páginas). La razón por la que digo "en teoría" es porque en ocasiones te encuentras con alguna sorpresa al trabajar en un proyecto y, como muestra, un botón.

En un proyecto en el que estoy trabajando actualmente utilizamos variaciones de sitio para crear contenidos en cuatro idiomas: catalán, castellano, inglés y francés. Todo parecía estar funcionando a las mil maravillas en los cuatro idiomas hasta que a la hora de realizar las últimas pruebas nos dimos cuenta de que un único sitio se había generado para todos los idiomas salvo para el francés. Después de investigar un poco se llegó a la conclusión de que el problema venía por el uso de webparts de ASP.NET 2.0 ya que en cierto momento saltaba una excepción por no poder hacer un convertir un webpart al tipo Microsoft.SharePoint.WebPartPages.WebPart.

La primera solución que viene a la cabeza, obviamente, es cambiar todos los webparts para que hereden de la clase correcta pero, ¿es la solución? evidentemente no. Posiblemente un proyecto que actualmente está en desarrollo pueda aceptar este tipo de cambio pero, ¿qué ocurre con los proyectos que actualmente están en producción? ¿Perderemos la posibilidad de utilizar webparts de ASP.NET 2.0, con todas las ventajas que esto proporciona?

Como parecía claro que debía existir una solución mejor a este problema, creímos oportuno buscarla y, como no podía ser de otra manera, se encontró en forma de hotfix. Al parecer este hotfix no forma parte del SP1 de MOSS así que, si a alguno de vosotros se os presenta este problema, os recomiendo que lo descarguéis y probéis suerte.

0 comentarios: