viernes, 16 de enero de 2009

Introducción a las Visual extension for Sharepoint

Las VSeWSS (Visual extension for Sharepoint) consisten en unas extensiones para Visual Studio para el desarrollo de soluciones y elementos de Sharepoint. Las VSeWSS nos ayudarán a construir los esqueletos de nuestras soluciones, features, webparts y sobre todo nos ahorrará trabajo a la hora de crear el fastidioso manifest de las soluciones.

Aunque existen otras soluciones similares como WspBuilder, VseWSS será una solución muy válida para nuestros proyectos.

Para utiliza VSeWSS crearemos un proyecto del tipo “Sharepoint”. Al seleccionar esta categoría veremos que podremos crear varios tipos de proyecto como: Definiciones de listas y sitios, webparts o proyectos vacíos para agregar lo que querramos.

Todos los proyectos que realicemos con VseWSS estarán compuesto por los ficheros propios que agreguemos y los que definan una solución de Sharepoint. Dentro de la solución se dividirá en varias features. Una solución de Sharepoint consiste en un fichero con extensión WSP que contiene todos los ficheros que creemos, sus definiciones y donde se alojarán al desplegarse la solución. Al agregar una solución a la granja estaremos almacenando el fichero en la bbdd de configuración. A continuación podremos desplegarla en los frontales que deseemos. Al desplegarla, Sharepoint copiará por nosotros los ficheros en todos los frontales y copiará las definiciones que correspondan. Si disponemos de una Web Application extendida solo tendremos que desplegarla en una de ellas ya que Sharepoint se encargará de replicarla.

Para este ejemplo crearemos un nuevo WebPart. Al seleccionarlo nos creará los ficheros para definir el webpart y los necesarios para crear la solución de sharepoint. Los ficheros de la definición de la solución y features están alojados en la carpeta “pkg” que no está agregada al proyecto. Para verla seleccionaremos la vista “Mostrar todos los ficheros”. Al hacerlo veremos la estructura del paquete una vez lo hayamos generado o previsualizado. Estos ficheros además los mantendrá el propio Vsewss automáticmanete, por lo que no tendremos que tocar nada manualmente a no ser que querramos hacer cosas avanzadas.

Solution.xml

Es un fichero propio de VSEWSS y contiene la definición de la solución describiendo que features se van a utilizar y que elementos la componen. Para construir el fichero de solución utiliza el guid indicado en el nodo xml “Element”, por lo que todos nuestros ficheros deben contener un nodo “Element” con un guid. Si no lo indicamos Vsewss construirá una feature por cada uno de los ficheros, y tendremos que modificar los ficheros a mano para volver al esado anterior.

Manifest.xml

Contiene la descripción que utilizará Sharepoint a la hora de desplegar la solución para saber dónde irá alojado cada fichero que componga la solución.

Feature.xml

Contiene la definición de las feature.

Al construir la solución Visual studio compilará los ficheros agregados en la solución. Para crear la solución de Sharepoint tendremos que seleccionar las opciones de las extensiones “Package” o “Deploy”. Esto nos creará por un lado todos los ficheros de definición de la solución y features y por otro lado los ficheros “*.wsp” que corresponde a la solución. El fichero wsp lo creará en el directorio bin.

Para crear los ficheros solution.xml, manifest.xml y las features podremos realizarlo construyendo el paquete o desde la vista “WSSP View” accesible desde el menú “View->Other Windows->WSSP View”. Esta ventana mostrará la estructura de nuestra solución.

Además de crear WebParts podremos añadir a nuestra solución otro tipo de elementos como: Definiciones de listas, contentypes, even handlers, field controls, …

Uno de los elementos más interesantes que podemos añadir es el “Template”. Esto nos creará una carpeta Template, de manera que vsewss nos copiará automáticamente al directorio “12\Template” de Sharepoint todos los ficheros que agreguemos en este directorio. Básicamente lo que hace con el elemento “Template” es mantener la sección “TemplateFiles” del fichero manifest de la solución.

Para crear una nueva feature podremos hacerlo manualmente o desde la vista “WSS View” en el botón superior “Create new feature”.

Una vez hayamos creado y compilado nuestra solución podremos desplegarla seleciconando la opción “Deploy” accesible al seleccionar con el botón derecho el fichero de proyecto de Visual Studio. Para desplegar una solución antes tendremos que indicar a Visual Studio sobre que web application lo haremos. Para hacerlo seleccionaremos la propiedades del proyecto y en la pestaña “Debug” marcaremos la opción “Start browser at URL”.

Al desplegar la solución veremos en la barra inferior de Visual Studio el progreso del despliegue. Además de la acción de despliegue podremos retraer la solución o copiar los ficheros de forma rápida mediante la opción “Quick Deploy”.

Nota: Para que podamos desplegar la solución debemos tener permisos de administración de la granja con el usuario logado.

Al trabajar con vsewss puede que nos den algunos errores al desplegar la solución muy distintos a los que nos daría si lo hiciéramos a mano.

caracteres no válidos en la ruta

Esto se produce al hacer instalaciones con idiomas distintos. Una solución es cambiar en las variables de entorno del servidor las rutas “Temps” y “Temp” por un directorio que no dependa del idioma, por ejemplo “C:\Temp”.

Could not load file or assembly

Esto se produce cuando hacemos referencia a un assembly que no está registrado en el GAC. Solo tenemos que agregarlo al GAC.

This solution contains two assemblies with the same name

Se produce cuando hemos registrado la dll manualmente en el gac. Solo hayque desinstalarla y deplegar de nuevo.

Más información acerca de errores comunes con vsewss: http://blog.csdn.net/timewolf/archive/2008/07/23/2694607.aspx

No hay comentarios: