Como
parte de VS 2013 Preview, los desarrolladores disponen de serie de una nueva
versión de las Office Tools para Visual Studio de manera que sin necesidad de
instalar componentes adicionales se puede comenzar a crear tanto soluciones
como aplicaciones tanto para SharePoint 2013 On-Premise como para SharePoint
Online en Office 365. Para crear soluciones de SharePoint, se dispone (Imagen
1) de las mismas plantillas de proyecto existentes en Visual Studio 2012 (VS 2012).
Lo mismo se puede decir para las plantillas de elemento de proyecto que se puede agregar en un proyecto de solución de SharePoint 2013. La Imagen 2 muestra los artefactos disponibles para agregar al proyecto.
Novedades en la creación de aplicaciones para SharePoint 2013
Si la creación de soluciones para SharePoint no presenta novedades, la creación de aplicaciones para SharePoint 2013 si incorpora algunos cambios interesantes en VS 2013 Preview:
Si revisamos el nuevo helper "sharepointcontext.cs" veremos que contiene dos clases abstractas: "SharePointContext" y "SharePointContextProvider". La primera de las clases facilita la administración y uso de los tokens de contexto entre peticiones de página de la Aplicación. La segunda se encarga de proporcionar instancias de "SharePointContext". Este helper está disponible de forma general para aplicaciones de tipo Autohospedado y Hospedadas por el proveedor. En cambio, la librería "spcontext.js" es específica de proyectos web de tipo ASP.NET MVC.
Para evaluar cómo utilizar las nuevas clases incluidas en el nuevo helper, podemos inspeccionar el archivo "HomeControler.cs" de la aplicación que muestra cómo utilizarlas para obtener el contexto del sitio actual y crear una instancia de "ClientContext" que permita utilizar el Modelo de Objetos en Cliente (CSOM) para interactuar con el sitio host de la Aplicación:
1 User spUser = null;2
1 var spContext =2
1 SharePointContextProvider.Current.GetSharePointContext(HttpContext);2
12
1 using (var clientContext =2
1 spContext.CreateUserClientContextForSPHost())2
1 {2
1 if (clientContext != null)2
1 {2
1 spUser = clientContext.Web.CurrentUser;2
12
1 clientContext.Load(spUser, user => user.Title);2
12
1 clientContext.ExecuteQuery();2
12
1 ViewBag.UserName = spUser.Title;2
1 }2
1 }2
Como vemos, el código define un objeto de tipo "SharePointContext" que se utilizada a continuación para definir un contexto de cliente. A partir del contexto de cliente, se accede a información relativa al usuario qué está haciendo uso de la aplicación utilizando CSOM.
Novedades en la publicación de aplicaciones
La publicación de aplicaciones para SharePoint 2013 con VS 2013 Preview incorpora el "Administrador de publicación" qué facilita el empaquetado de los distintos componentes que la conforman de manera qué esté lista para ser publicada. Esta utilidad contiene enlaces diversos a recursos que se pueden necesitar durante la publicación de la aplicación. La Imagen 7 muestra el aspecto del Administrador de publicación para aplicaciones de SharePoint de tipo "Hospedadas por SharePoint" y "Autohospedadas". Como se puede apreciar, se dispone de un enlace "Package app" qué permite generar el archivo ".app" de la aplicación. El enlace "View the Seller Dashboard" es un acceso directo al panel del vendedor.
En cambio, para aplicaciones de SharePoint de tipo "Hospedadas por el proveedor" se disponen de los siguientes elementos de configuración/información adicionales:
Conclusiones
La versión preview de Visual Studio 2013 incorpora algunas novedades para la creación de aplicaciones para SharePoint 2013 On-Premise y Online en Office 365. Así, se incluye soporte directo a la creación de aplicaciones web ASP.NET MVC en aplicaciones de tipo "Autohospedado" y "Hospedadas por el proveedor". Adicionalmente, se incorpora la utilidad "Administrador de publicación" para facilitar la publicación de aplicaciones en el catálogo corporativo o en el Office Store.
Juan Carlos González Martín MVP de SharePoint Server |Arquitecto de Soluciones @jcgm1978 http://geeks.ms/blogs/jcgonzalez