Page Templates con ayuda del Sharepoint Designer

El otro día me acordé del artículo que ya escribí acerca de como realizar personalizaciones rápidas en sharepoint. El ejemplo realizaba modificaciones en modo unghosted, lo que implicaba que cada que se consume las páginas se estaba accediendo a la bbdd para cargarla.

Como alternativa a las personalizaciones sobre la bbdd de contenidos debemos de realizar nuestras páginas como page templates  o applications pages, e incluso podemos pensar en webparts antes de hacer que una página sea unghosted.

Las page templates consisten en páginas que están físicamente en el servidor frontal se ejecuta en «safe mode», es decir no permite ejecutar código en servidor, y permite customizarla.

 

Un caso real

En el proyecto se planteaba una solución sobre lista de wss3 la cual debía de mostrar una vista y comportamiento especial en las páginas de DispForm, NewForm y EditForm. Si huebiéramos modificado la página directamente desde Sharepoint Designer habríamos terminado rápidamente, pero a cambio habríamos acarreando otros problemas futuros como pueda ser el backup/restore del portal y el rendimiento.

 

Comenzamos haciendo la lista con la estructura, lo recomendable es hacerlo definiendo un contenttype. Una vez creada la lista, abriremos el sharepoint Designer y entraremos en el formulario a modificar, en este ejemplo en DispForm.

 

Una vez abierto lo modificaremos con la estructura que deseemos, tal y como explicaba en mi anterior artículo.

 

image

 

Una vez modificada, lo que haremos será quedarnos con el código fuente, pero ojo no guardaremos el fichero, solo lo utilizaremos para renderizar el resultado y hacernos una idea en tiempo de diseño.

Ahora crearemos un proyecto en blanco con la estructura adecuada para construir una  feature de sharepoint. Añadiremos una nueva páginas aspx sin código y pegaremos el código generado por el designer.

image

Si nos fijamos en el código generado por el designer veremos que nos ha incrustado un DataFormWebPart y que tiene como datasource y parámetros referencias a la lista pero por ID. Esto significa que todo lo que hagamos no podremos moverlo a otro sitio ya que la instancia de la lista tendrá otro id distinto aunque tenga la misma estructura.

Para solucionarlo accederemos por nombre en lugar de id, por lo que cambiaremos todas las referencias de ListId por ListName y el guid de la lista por el nombre de la lista. También quitaremos el parámetro

<ParameterBinding Name=»ListID» Location=»None» DefaultValue=»{3C54AAE0-1C6F-4FFD-A3F9-F3BB6FEDA399}»/>  por  <ParameterBinding Name=»ListName» Location=»None» DefaultValue=»»/>

 

image

 

Para verificar que lo hemos hecho correctamente copiaremos el código y lo pegaremos desde el designer en la página que tomamos como ejemplo. PERO SIN GUARDAR DESDE EL DESIGNER!!!.

Ahora tendremos que indicar a sharepoint que la página que hemos hecho se utilizará como template. Crearemos un fichero xml en el que indicaremos lo siguiente:

 

<Elements xmlns=»http://schemas.microsoft.com/sharepoint/»>

  <Module Path=»PagesTemplates» Url=»Notas de Gastos/Forms» >
    <File Url=»NotasDeGastosDispForm.aspx» Path=»NotasDeGastosDispForm.aspx» Type=»Ghostable» />
    <File Url=»NotasDeGastosEditForm.aspx» Path=»NotasDeGastosEditForm.aspx» Type=»Ghostable» />
    <File Url=»EntregarNotasDeGastosForm.aspx» Path=»EntregarNotasDeGastosForm.aspx» Type=»Ghostable» />
  </Module>

</Elements>

El atributo path indica la ruta física del directorio y de la página, y el atributo Url indica el path relativo de la url desde donde se accederá.

Ahora solo tendremos que terminar de configuar nuestra feature, instalarla y activarla.

Al activarla, si actualizamos nuestro explorador del designer veremos como ha aparecido nuestra página. Fijaros que no tienen ningún indicador de que es unghosted.

 

image

Ahora solo nos quedará indicar a la lista que utilice nuestra página cuando se acceda a la Vista de propiedades desde DispForm. Para ello podemos hacerlo desde el designer en caso de las lista, y para las librerías de documentos por código desde un SPFeatureReceiver, en el evento FeatureActivated.

image

image

 

Algunos enlaces adicionales:

http://www.sharepointonlinkedin.com/post/2008/07/20/How-to-free-your-Data-View-Web-Part-(DVWP)-from-those-nasty-GUIDs.aspx

http://sharepoint-insight.blogspot.com/2008/07/dataform-webpart-escape-from-hardcoded.html

Welcome to the Visual Studio 2010

Son muchos los blogs que ya han comentado las novedades de VST2010. En este artículo me centraré en enseñaros «otras» novedades menos comentadas.

image

Lo primero que nos encontramos al iniciar la máquina es que ya viene instalado:

  • VSTudio 2010 y 2008
  • Framework 4.0
  • TFS
  • Microsoft Camano
  • Dinner Now
  • SqlServer2008
  • W2k8 con IIS7 y WSS3, etc

Ha merecido la pena la descarga.

 

VisualStudio 2010

Después de leer las nuevas herramientas y novedades Principalmente me he centrado en los siguientes puntos que me han parecido importantes para el entorno en el que me muevo:

  • El nuevo Framework 4 con las Parallel Extension incorporadas en el core
  • Herramientas para el desarrollo integrado con WSS3 y MOSS
  • Mejoras en las herramientas de Testing
  • Nuevas herramientas para los arquitectos

 

Tenéis más referencias de Visual Studio en:

http://blogs.msdn.com/sharepoint/archive/2008/11/10/visual-studio-2010-tools-for-sharepoint-announced-at-teched-emea-developers-2008.aspx

http://geeks.ms/blogs/elbruno/archive/2008/11/13/vsts2010-training-kit-ya-disponible.aspx

http://dotnet.org.za/willy/archive/2008/11/21/visual-studio-2010-ctp-2-6-7-the-exciting-world-of-construction-part-2-2.aspx

 

El nuevo Framework 4

Entre las novedades podemos destacar el manejo de código que podemos compilar en tiempo de ejecución, la incorporación de Parallel Framework y LinQ en el core, Entity framework ( sin SP’s), MVC, Velocity, …

Tenemos también el Visual Studio 2010 and .NET Framework 4.0 Training Kit  con presentaciones acerca de las novedades http://www.microsoft.com/downloads/details.aspx?FamilyId=752CB725-969B-4732-A383-ED5740F02E93&displaylang=en

 image

 

Herramientas para el desarrollo integrado con WSS3 y MOSS

Ya he leído varios artículos sobre esta herramienta, pero no la he podido tocarla ya que todavía no está disponible en esta versión, de hecho, hay disponible un vídeo en Channel 9 http://channel9.msdn.com/posts/VisualStudio/Sharepoint-Development-with-Visual-Studio-2010/, que muestra ligeramente la herramienta. Si os fijais en el vídeo vereis como ocultan la parte izquierda de la ventana de proyectos.

Dispondremos de varios tipos de proyectos con sus correspondientes asistentes.

image

Tendremos además un explorador donde podremos navegar por la estructura de nuestro portal.

image 

Podremos definir mediante asistentes la estructura de nuestros contentypes y features, además parece que los proyectos vienen preparados para encapsular las features y soluciones y no tratarlos como ficheros adjuntos al proyecto, fijaros en la ventana del explorador de soluciones.

image

Al menos por lo que he visto tiene buena pinta.

 

Nuevas herramientas para los arquitectos

Architecture explorer

image

Model proyect

image image

image image

 

VST TFS

No puedo profundizar porque no lo he tratado, así que se lo dejo a los expertos.

 

Microsoft Camano

Consiste en una aplicación para la gestión, monitorización, seguimiento de los test. No es una herramienta basada en el código, sino en la gestión del ciclo de vida de las pruebas de los proyectos.

Está integrado con nuestro TFS y está dividido en varias secciones: Planificación, testing, defects y reports.

image image

image image

 

 

Dinner Now

Consiste en un conjunto de aplicaciones de ejemplo que nos muestra distintas tecnologías. La máquina virtual incorpora los fuentes por lo que podemos echar un vistazo a las nuevas herramientas que incorpora VST2010 sin tener que crear ningún proyecto.

Podéis descargaros el proyecto desde http://www.codeplex.com/DinnerNow

image

 

 

Si apodéis, echarle un vistazo, solo ocupa unos 7 GB y unos GB de RAM libres, parar un rato las pelis y ya verséis como tarda poco. Podeis descargarlo http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814 y las FAQS https://connect.microsoft.com/VisualStudio/content/content.aspx?ContentID=10046.

Por cierto, algo curioso que he visto en la página de connect en el apartado «How can I improve the performance of the Virtual PC?» indica al final del todo el siguiente comentario «Also while using the Virtual PC, you should periodically close and reopen Visual Studio 2010.»,  joer, menuda técnica!!