Office 365: Los orígenes!

Aunque Office 365 es la última versión de los llamados servicios y aplicaciones de productividad empresarial de Microsoft en la nube, el camino hasta llegar a esta nueva versión que tanto promete y tan buena pinta tiene empezó hace ya unos 7 años cuando a nadie se le había pasado por la cabeza que todo este movimiento hacía la nube iba a tener lugar…nadie, salvo Microsoft que realizó alguna que otra adquisición en esta línea y que lanzo en el año 2003 la primera versión de Microsoft Office Live Meeting. Desde entonces y hasta ahora, se han ido sucediendo hitos que llevarán finalmente a Office 365 durante la primera mitad del año que viene: Live@Edu, Microsoft Online Servivces, BPOS,…y para conocer más estos orígenes, os recomiendo este post de Mary Jo Foley…más que interesante.

SharePoint 2010:Documentos de trabajo de Planning!

Cuando diseñamos soluciones sw en general, lo hacemos en base a una serie de requisitos que el cliente nos ha transmitido o que nosotros hemos extraído a partir del análisis de las necesidades del cliente, de las conversaciones que hemos tenido con él, del análisis de su forma de trabajar, etc. Con SharePoint pasa lo mismo, y tanto en un caso como en otro, toda ayuda para diseñar la solución siempre es bienvenida. En el caso de SharePoint, Microsoft nos ha suministrado una serie de documentos que facilitan la planificación de soluciones en cuanto a que elementos propios de la plataforma se necesitan, que configuraciones son necesarias, etc. Podéis acceder a los documentos de planning en este enlace.

SharePoint2010_thumb

SharePoint 2010: Posibilidades para realizar el aprovisionamiento de sitios!

El concepto de aprovisionamiento de sitios de SharePoint 2010 implica las distintas posibilidades que tenemos disponibles para crear nuevos sitios de SharePoint acuerdo a una plantilla de sitio o una definición de sitio. Para crear nuevos sitios, SharePoint 2010 nos aporta las siguientes alternativas

  • Plantillas de sitio (Site Template), que es una solución .WSP creada a través de la opción “Guardar como plantilla” disponible en la página de configuración de todo sitio de SharePoint.
image image image
  image  

 

  • Plantillas Web (Web Template), que es una novedad que incorpora SharePoint 2010 en cuanto a que nos permite de forma flexible la creación de una definición (archivo onet.xml) que únicamente se usará una vez para realizar el aprovisionamiento del sitio: cuando se crea. Esta técnica asegura que no hay referencias a la definición del sitio en tiempo de ejecución de forma que se simplifica su mantenimiento.
  • Definiciones de sitio (Site Definition), que es la técnica clásica heredada de SharePoint 2010 que consiste en crear una definición a partir de la comunicación de dos archivos ubicados físicamente bajo el directorio “14” del servidor de SharePoint: WebTemp*.xml y onet.xml. El primero de los archivos se utiliza para añadir la plantilla en SharePoint. El segundo, contiene todas la descripción de todas las características que se van a activar cuando se crea el sitio.
  • Plantilla de portal de sitio (Portal Site Template), que permiten definir jerarquías de sitios de SharePoint especificando las definiciones de sitio que se van a provisionar y el orden cuando se crea un nuevo portal.

En lo que a técnicas para el aprovisionamiento de sitios, tenemos las siguientes posibilidades:

  • Engrapado de características (Feature Stapling), técnica que permite personalizar y extender definiciones de sitio existentes. Esta técnica se usa para superar la limitación de que no se pueden cambiar el archivo onet.xml de una definición de sitio una vez que está en uso y para añadir la posibilidad de versionar definiciones de sitio.
  • Plantillas de sitio (Site Templates), guardando un sitio existente como plantilla tal y como ya se ha comentado. Un problema de esta técnica es que no está soportada para el caso de sitios de publicación como ya sucedía en SharePoint 2007. Además, hay que tener en cuenta que esta plantilla sólo va a estar disponible para uso en la Colección de Sitios dónde reside, para poder usarla de forma global tendremos que importarla en Visual Studio 2010 y hacer el correspondiente despliegue.
  • Plantillas Web (Web Templates), que se crean de forma manual en Visual Studio 2010 y se asocian a la correspondiente feature para su despliegue. Como se ha comentado, esta técnica nos permite desplegar plantillas sin dependencias con archivos físicos en el servidor, lo que la convierte en la opción “perfecta” para crear plantillas para la versión de SharePoint en la nube.
  • Definiciones de Sitios (Site Templates), cuya creación se facilita en Visual Studio 2010 a partir de la correspondiente plantilla de proyecto disponible en el entorno de desarrollo.
image image

Para finalizar el post os dejo algunas referencias interesantes relativas a este tema:

S+S: Otro servicio más en la nube – Atlanta!

Dentro de la variada gama de aplicaciones y servicio que tendremos próximamente en la nube, Microsoft está trabajando en una variante de System Center pensada para facilitar la vida a los administradores de base de datos a la hora de identificar problemas en sus servidores. El servicio en cuestión , actualmente en CTP, que facilitará esta tarea se denomina Atlanta y podéis encontrar más información en esta página.

image

SharePoint 2010: Client Object Model Redistributable!

Como ya he comentado en otros posts, SharePoint 2010 incorpora un rico modelo de objetos en cliente para facilitar el desarrollo de aplicaciones que interactúen con sitios de SharePoint de forma remota. Por debajo, lo que tenemos son los correspondientes ensamblados (modelo de objetos .NET y Silverlight) y archivos .js (modelo ECMAScript) que habilitan que podamos crear estas aplicaciones e interactuar con SharePoint sin tener que realizar llamadas a los servicios web de la plataforma o tener que crearnos nuestros propios servicios. Como comentaba el amigo Alberto en este post en su blog, para facilitar el desarrollo de aplicaciones utilizando el modelo de objetos en cliente (sabores .NET y Silverlight) sin necesidad de tener instalado SharePoint 2010 en nuestro entorno de desarrollo, Microsoft ha creado el Client Objet Model Redistributable que podéis descargar desde este enlace. Más información en este enlace. Para más información sobre el modelo de objetos en cliente de SharePoint 2010 os recomiendo dos posts al respecto publicados en el blog:

SharePoint2010_thumb

SharePoint 2010: Buenas prácticas para el uso de objetos y evitar problemas de rendimiento pobre!

Cuando trabajamos con SharePoint 2010 y utilizamos su rico modelo de objetos para desarrollar funcionalidad, tenemos que tener cuidado y seguir las buenas prácticas definidas por Microsoft a la hora de usarlos de forma correcta y evitarnos problemas de rendimiento, fugas y demás. Por suerte, para SharePoint 2007 disponemos de una estupenda guía en torno a como usar de forma correcta objetos tan habituales en el desarrollo para SharePoint como SPWeb o SPSite. Estas reglas siguen estando vigentes en SharePoint 2010, por lo que no viene nada mal tenerlas a mano:

Finalmente, para facilitar la localización de puntos críticos dónde podamos tener problemas de memoria os recomiendo las siguientes herramientas:

  • SPDisposeCheck, disponible para SharePoint 2007 y que también nos debería servir para SharePoint 2010.
  • ULSViewer para buscar fugas de memoria en los logs generados por SharePoint.

SharePoint 2010: Como desplegar una página maestra con Visual Studio 2010!

Como sabéis, Visual Studio 2010 incorpora de serie una serie de herramientas (plantillas, diseñadores y opciones de despliegue) que facilitan la vida al desarrollador a la hora de crear artefactos de SharePoint, realizar la depuración de los mismos y el despliegue. En este post vamos a ver como desplegar una página maestra de SharePoint 2010 utilizando Visual Studio 2010:

  • Lo primero que necesitamos es una página maestra, y para ello tenemos tres opciones:
  • En mi caso, he optado por la última opción y me he descargado de un sitio de SharePoint 2010 (de la galería de páginas maestras) la página maestra minimal.master.
  • En Visual Studio 2010, creamos un proyecto de tipo “Empty Sharepoint Project” denominado SPMasterPage. Elegimos como tipo de despliegue “Deploy as farm solution”.
  • Añadimos al proyecto un elemento de tipo “Module”. Además, se creará automáticamente la correspondiente característica que podemos personalizar utilizando el diseñador de características de Visual Studio 2010.
image image
  • Eliminamos el archivo Sample.txt que se crea dentro del correspondiente SharePoint Project Item (SPI) y añadimos la página maestra “minimal.master” que nos hemos descargado antes. Personalizamos la página maestra de acuerdo a nuestras necesidades. Por ejemplo, podemos cambiar el nombre del PlaceHoler Main a “PlaceHolderCustomMain”.
  • Cambiamos el nombre de la página maestra a “CustomMaster.master”. Comprobamos como de forma automática se actualiza el contenido del archivo “elements.xml” que se ha creado al añadir el elemento de tipo Module al proyecto.
  • Configuramos el archivo “elements.xml” de la siguiente forma:
   1: <?xml version="1.0" encoding="utf-8"?>

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

   3:   <Module Name="CustomMaster" List="116" Url="_catalogs/masterpage">

   4:   <File Path="CustomMaster\customMaster.master" Type="GhostableInLibrary" Url="customMaster.master" IgnoreIfAlreadyExists="FALSE" />

   5: </Module>

   6: </Elements>

  • Como se puede apreciar en la configuración del archivo “elements.xml”, hemos especificado los parámetros que permite realizar el provisionamiento de la página maestra personalizada:
    • Por una parte, en el elemento <Module> especificamos la ruta relativa dónde se va a copiar el archivo que se corresponde con la galería de páginas maestras (_catalogs/masterpage).
    • Por otra, en el elemento <File> especificamos la ruta relativa dónde se encuentra el archivo a provisionar (atributo Path), el tipo de provisionamiento (atributo Type).
  • Seguidamente, hacemos el despliegue de la solución con Visual Studio 2010 y comprobamos que la nueva página maestra se ha creado en la galería de páginas maestras del sitio y está lista para ser usada.

image

Y hasta aquí llega este post sobre como desplegar páginas maestras de SharePoint 2010 por medio de Visual Studio 2010.

SharePoint 2010: Soporte en MAC’s con Office for MAC 2011!

Una de las características que hacen a SharePoint realmente potente en cuanto a su uso es el de la experiencia de usuario unificada en los navegadores más comúnmente utilizados: Internet Explorer (IE), Firefox (FF) y Safari. De hecho, a la hora de hablar de navegadores soportados por SharePoint tenemos que recordar que Microsoft define los dos siguientes niveles:

  • Nivel 1, en el que se se suelen incluir a IE 7 y 8 (Versiones 32 bits) y FF 3.x (para S.O Windows y con algunas limitaciones).
  • Nivel 2, en el que se suelen incluir a IE 7 y 8 (versiones 64 bits), FF 3.x (para S.O no Windows) y Safari 4.x.

La información más completa en cuanto a la experiencia de usuario en estos navegadores la podéis encontrar en este enlace de TechNet, en el que se indican las limitaciones para cada tipo de navegador. Volviendo al título del post, con SharePoint 2010 se ha mejorado notablemente la experiencia de uso en Safari tanto a nivel de uso de sitios de SharePoint como en la integración con Office para MAC como podéis ver en el siguiente post: SharePoint 2010 on a Mac with Office for Mac 2011.

SharePoint2010_thumb

SharePoint 2010: Cómo cambiar el número de niveles que se muestran en el menú vertical!

Una pregunta que aparecía estos días en los foros sobre SharePoint (en los que muy de cuando en cuando me dejo caer) era sobre como poder cambiar de una forma sencilla el número de niveles que se muestran en el menú vertical de un sitio de SharePoint. Para poder hacer esto, un procedimiento es el siguiente:

  • Abrir el sitio con SharePoint Designer 2010.
  • Editar la página maestra.
  • Localizar en la página maestra el tag que hace referencia al menú vertical de SharePoint y cambiar el valor de las propiedad StaticDisplayLeves a y MaximumDynamicDisplayLevels a uno. Tras guardar los cambios conseguiremos el efecto deseado.
   1: <SharePoint:UIVersionedContent UIVersion="4" runat="server">

   2:     <ContentTemplate>

   3:         <SharePoint:AspMenu

   4:           id="V4QuickLaunchMenu"

   5:           runat="server"

   6:           EnableViewState="false"

   7:           DataSourceId="QuickLaunchSiteMap"

   8:           UseSimpleRendering="true"

   9:           UseSeparateCss="false"

  10:           Orientation="Vertical"

  11:           StaticDisplayLevels="1"

  12:           MaximumDynamicDisplayLevels="1"

  13:           SkipLinkText=""

  14:           CssClass="s4-ql" />

  15:     </ContentTemplate>

  16: </SharePoint:UIVersionedContent>

image image

Y hasta aquí llega este rápido tip sobre como personalizar de forma sencilla el menú vertical de un sitio de SharePoint 2010.