WorkShop Gestión del ciclo de vida de una aplicación con TFS 2010 y SharePoint 2010

El miércoles, 12 de enero de 2011 de 9:30  a 14:30 celebraremos un Workshop sobre ALM con SharePoint 2010 y TFS 2010:

 

En este workshop veremos una introducción a la gestión del ciclo de vida de una aplicación (ALM), mediante la integración de Visual Studio 2010 y SharePoint 2010. Veremos cómo gestionar de una forma automatizada y eficaz las compilaciones, pruebas unitarias y despliegues de soluciones basadas en SharePoint, así como algunas de las mejoras de desarrollo que nos brindan las nuevas versiones de Visual Studio 2010 y SharePoint 2010.
Agenda:

– Introducción a Application Lifecycle Management en SharePoint 2010

– Configuración entorno de desarrollo para trabajo en equipo.

– Integración con TFS 2010

– Pruebas unitarias e integración continua

– Despliegues automatizados

 

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032472394&Culture=es-ES

Dónde está el nivel de rendimiento del indexador en SharePoint 2010?

Configurando el nivel de rendimiento del indexador o Indexer Performance podemos ajustar el número de hilos destinados al proceso de crawling del servicio de búsqueda de SharePoint. Disponemos de tres opciones: Reduced, Partly reduced, Maximum.

Indexer Performance setting Total threads available for crawling Maximum threads available for crawling any particular host

Reduced

Number of processors on the index server

Number of processors on the index server

Partially reduced

4 times the number of processors on the index server

Number of processors on the index server plus 4

Maximum

16 times the number of processors on the index server

Number of processors on the index server plus 4

En MOSS 2007 esto lo encontrábamos en las propiedades del servicio “Office SharePoint Server Search Service”

image

pero en 2010 no hay una opción visual para modificar este valor, por lo que tendremos que utilizar PowerShell:

$search = Get-SPEnterpriseSearchService

$search.PerformanceLevel

 

para modificar el valor:

Get-SPEnterpriseSearchService | Set-SPEnterpriseSearchService –PerformanceLevel “Maximum”

 

Aplicación de servicio de búsqueda

En SharePoint 2010 los SSP (Shared Service Provider) desaparecen para convertirse en Aplicaciones de Servicio. El servicio de búsqueda en 2010 tiene un funcionamiento similar al 2007 pero a nivel de arquitectura ha evolucionado bastante, el servicio se compone de varios componentes: crawling, Query y Administration, que pueden alojarse en los distintos servidores de nuestra granja en función de nuestra topología de búsqueda. Los índices de búsqueda se guardan en base de datos en lugar de físicamente, por lo que se pueden compartir de forma sencilla e incluso se pueden particionar.

image

SharePoint 2010: Error en la actualización visual

Al realizar una migración de la base de datos de contenidos de un MOSS 2007 a un SharePoint 2010 me encontré con el error:

Microsoft.SharePoint.SPException: Error en la actualización visual. No se encontró la página principal predeterminada para esta interfaz de usuario en “/_catalogs/masterpage/v4.master”. Agregue la página principal solicitada en esta ruta de acceso y vuelva a intentarlo.    at Microsoft.SharePoint.SPWeb.SwitchMasterPages(String strOldMaster, String strOldCustom, String strNewMaster, String strNewCustom, String strDefault)     at Microsoft.SharePoint.SPWeb.SetUIVersion(Int32 value, Boolean setMasterPage)     at Microsoft.SharePoint.ApplicationPages.ProjectSettingsPage.BtnUpdateWeb_Click(Object sender, EventArgs e)     at System.Web.UI.WebControls.Button.OnClick(EventArgs e)     at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)     at System.Web.UI.Page.RaiseP…

 

Al parecer el error se estaba produciendo porque en el proceso de migración no se estaba adjuntando la nueva masterpage “v4.master” a la galería de páginas maestras produciéndose así errores colaterales impredecibles. Esto se debía a que el sistema entendía que ya se había registrado este fichero y no era necesario volver a hacerlo.

 

La solución consistió en:

  • Borrar la aplicación web sobre la que quería realizar la actualización de contenido para la migración.
  • iisreset
  • Crear una nueva aplicación web y crear una colección de sitio raíz (si no creas la colección no sirve de nada el proceso).
  • Borrar la base de datos de contenido de la aplicación web.
  • Adjuntar la base de datos de contenido que queremos migrar.

 

Actualización visual en SharePoint 2010

La Actualización visual permite disponer de una interfaz similar a versiones previas desde SharePoint 2010. El objetivo de esta funcionalidad es el de permitir migrar el contenido y los servicios a SharePoint 2010 pero sin modificar la interfaz, dando tiempo a los diseñadores a ajustar los controles y estilo y habituar a los usuarios al nuevo entorno utilizando el Ribbon.

Durante el proceso de migración a SharePoint 2010 el aspecto es similar al de SharePoint 2007, para actualizarlo a la nueva versión podremos hacerlo desde la interfaz de usuario, por código o mediante PowerShell.

Desde la interfaz gráfica: Acciones del sitio > título descripción e icono > Actualizar la interfaz de usuario

Mediante el PowerShell, para actualizar un único sitio web:

$web = Get-SPWeb http://server/site

$web.UIVersion = 4

$web.UIVersionConfigurationEnabled = 0

$web.Update()

 

Mediante el PowerShell, para actualizar toda la colección de sitios:

$site = Get-SPSite http://server

$site.VisualUpgradeWebs()

 

Antes de aplicar el cambio de versión de interfaz debeis aseguraros de haber cambiado la masterpage por defecto para que tenga en cuenta los nuevos controles y placeholders, por defecto seleccionar “v4.master”

image image image image

 

 

 

Manage visual upgrade (SharePoint Server 2010)

Plan visual upgrade (SharePoint Server 2010)

Algunas imágenes de SharePoint Online 2010

En el Tech-ed  Europe 2010 realizado el pasado Noviembre podemos encontrar en el vídeo de la Keynote una demo de Office 365 entre la que podemos encontrar un ejemplo de lo que podemos hacer con la nueva versión de SharePoint Online 2010. De momento está en beta solo para algunos partners 😉 y clientes, pero con este vídeo podemos hacernos idea de su aspecto y de sus funcionalidades.

Vemos cómo dispondremos de una página de administración para los distintos servicios de Office 365: Office, Lync, SharePoint Online y Exchange Online. Además podremos configurar nuestro dominio, sincronización con nuestro AD, editar usuarios,…

Desde la página de administración de SharePoint Online podremos mantener nuestras Colecciones de sitios y las funcionalidades de InfoPath, Perfiles y Metadatos administrados.

image image image

Hot Apps para Windows Phone 7

Apple tiene que reconocer que iPhone tiene un nuevo rival, mejor o peor, pero que empieza a hacer ruido.

Ya se han vendido 1,5 millones de terminales Phone 7 y se han alcanzado las 4000 aplicaciones disponibles en el MarketPlace de Phone 7.

Y si queréis ver algunas apps chulas con las que gastaros la paga de Navidad aquí os dejo algunos de Channel9:

image

Deshabilitar la integración de cliente Office

La integración de cliente Office (client integration) permite abrir documentos de Office alojados en un sitio de SharePoint de manera que las modificaciones que realicemos desde el cliente Office se apliquen directamente sobre SharePoint, evitándonos así tener que subir las modificaciones manualmente.

Esta funcionalidad es muy útil para entornos de Intranet/extranet donde los usuarios están modificando de forma habitual los documentos. Sin embargo para un portal público con autenticación por formulario y usuarios anónimos puede no ser recomendable, ya que al abrir el documento de Office aparecerá una ventana emergente de Office con la página de login para que nos autentiquemos aunque el documento esté habilitado para los usuarios anónimos.

Tendremos que deshabilitar entonces la autenticación con los clientes Office:

  • Desde la Administración Central > administración de aplicaciones > Administrar aplicaciones web
  • Seleccionamos nuestra aplicación web
  • En la opción “Proveedores de autenticación” seleccionamos el proveedor para el que queremos deshabilitar la integración de clientes Office.
  • En la sección “Integración de clientes” marcaremos la opción que deseemos.

image

En el caso que tengamos un sitio con usuario anónimo habilitado y autenticación basada en formulario al abrir el documento seguirá pidiéndonos un usuario para abrir el documento. Si comprobamos la peticiones HTTP que se realizan al abrir el documento veremos que el cliente Office además de hacer una petición del tipo GET, también realiza dos peticiones más: OPTIONS y HEAD. El problema de que siga apareciendo la ventana de login consiste en que se realiza una petición con el verbo OPTIONS por cada una de las secciones que componen la ruta del documento, por ejemplo si el documento se encuentra en  carpeta1/carpeta2/documento.docx realizará tres peticiones:

OPTIOSN carpeta1/carpeta2

OPTIOSN carpeta1

OPTIOSN carpeta1/carpeta2/documento.docx

image

Para resolver esto además del paso anterior tendremos que indicarle al IIS que bloquee las peticiones de los clientes Office:

  • Desde la consola de IIS > seleccionamos nuestro sitio web
  • En la opción “Request filtering” seleccionamos la pestaña “HTTP Verbs” y agregamos los verbos permitidos o denegados.

image

Esto hará que se modifique el fichero web.config con las entradas:

<system.webServer>
    <security>
      <requestFiltering allowDoubleEscaping=”true” unescapeQueryString=”true”>
    <requestLimits maxAllowedContentLength=”2147483647″ />
    <verbs allowUnlisted=”false”>
          <add verb=”GET” allowed=”true” /> 
          <add verb=”HEAD” allowed=”true” /> 
          <add verb=”PUT” allowed=”true” />
          <add verb=”POST” allowed=”true” /> 
    </verbs>
      </requestFiltering>
    </security>

</system.webServer>

Libros de SharePoint 2010

Para todos aquellos que queráis hacer un regalo para un geek de SharePoint, os dejo un listado de algunos libros sobre SharePoint 2010.

 

Español

SharePoint 2010 de principio a fin

Programación en SharePoint 2010

 

Inglés

Inside Microsoft SharePoint 2010 [Paperback]

Inside Microsoft® SharePoint® 2010: Rough Cuts Version

Microsoft® SharePoint® 2010 Administrator’s Companion

Microsoft® SharePoint® 2010 Administrator’s Pocket Consultant

Microsoft® SharePoint® Designer 2010 Step by Step

Managing and Implementing Microsoft® SharePoint® 2010 Projects

Designing Solutions for Microsoft® SharePoint® 2010

Microsoft® SharePoint® 2010 Plain & Simple

Professional SharePoint 2010 Branding and User Interface Design

Microsoft SharePoint 2010 Unleashed

SharePoint 2010 Development with Visual Studio 2010 (Microsoft .NET Development Series)

Microsoft SharePoint 2010: Building Solutions for SharePoint 2010

SharePoint 2010 User’s Guide: Learning Microsoft’s Business Collaboration Platform

Beginning SharePoint 2010 Development

Professional SharePoint 2010 Development

Professional SharePoint 2010 Administration

Recomendaciones para migrar a SharePoint 2010

La migración de SharePoint no es algo fijo que se pueda definir en unos pasos, en función de la versión que tengamos y hacia donde queramos ir nos convendrá una u otras opciones de migración. Entre los pasos se resumen los siguientes puntos:

  • Definir un plan de migración
  • Actualizar SharePoint 2007 al Service Pack 2
  • Revisar requisitos de Software y hardware: x64, Windows 2008 x64, Sql 2008/R2 x64, idiomas y Languaje packs, FW 3.5 + SP1, IIS 7.
  • Ejecutar herramienta de comprobación previa
  • Identificar personalizaciones
  • Planificar la capacidad de la granja y servidores
  • Realizar copias de seguridad del entorno original
  • Realizar una primera migración en un entorno de prueba
  • Después de la actualización, revisar registros de estado de actualización

A la hora de migrar se podría decir que tenemos tres formas de migrar a SharePoint 2010, en función de la que elijamos tendremos que realizar unas u otras tareas de configuración:

  • En contexto: Realizamos la instalación de SharePoint 2010 sobre el servidor con SharePoint 2007.
  • Actualización de base de datos adjunta: Disponemos de una granja de SharePoint 2010 y se van adjuntando las distintas bases de datos de SharePoint 2007 para que se actualicen automáticamente.
  • Mixto o híbrido: distintas combinaciones entre en contexto y actualización de bbdd.

 

Antes de migrar:

  • Analizar los requisitos de software y hardware:
    • Todo debe ser plataforma 64 bits: Los servidores, el Windows, el SqlServer y nuestras soluciones. Debemos analizar si nuestros servidores ya son 64 bits.
    • Los servidores deben tener Windows 2008 R2 con al menos 2 núcleos (con FAST 4 núcleos)
    • SqlServer 2008 x64 +SP1 / SqlServer 2008 R2 x64 / SQlServer 2005 x64 +SP3
    • RAM: 4GB para desarrollo y 8 GB o más para producción.
    • Web Role activado: IIS 7 y .NET FW 3.5+ SP1
    • Verificar los paquetes de idiomas instalados

 

  • Estudiar bien cual es la mejor opción de migración en cuanto a topología, versiones y productos instalados:

image

image

image

 

 

 

  • Analizar el procedimiento de migración: En contexto, Actualización de base de datos adjunta o Mixto.
    • El procedimiento “en contexto” os lo recomiendo solo para un entorno virtualizado donde podemos realizar restauraciones del sistema todas las veces que queramos hasta que demos con los pasos correctos para nuestro portal. La ventaja de utilizar este procedimiento es que nos convertirá los servicios del SSP a aplicaciones de servicio.
    • La actualización de base de datos adjunta nos permite ir migrando poco a poco sin llegar al perder el servicio, la desventaja es que no migra las configuraciones de los SSP por lo que tendremos que hacerlas a mano.
    • Mi recomendación es una mezcla:
      • es reproducir el entorno a migar (MOSS 2007) en una granja independiente
      • realizar una migración “En contexto” sobre la granja independiente
      • ajustar la granja y el portal para que funcione correctamente en 2010
      • por último volver a adjuntar las bbdd de contenido para repetir los pasos aprendidos
      • publicar la nueva granja

image

  • Ejecutar las herramientas de comprobación que permiten obtener un informe de los elementos que darán problemas al migrar y en los que podemos encontrar conflictos. Desde la granja en MOSS 2007 (con el SP2 instalado) dispondremos de “STSADM.EXE -o preupgradecheck” que generará un informe con los elementos que se migrarán sin problemas, los que darán errores por falta de incompatiblidad y en los que puede que encontremos error. Genera un log en el directorio de logs de SharePoint con la estructura: PreUpgradeCheck_AAAAMMDD-HHMMSS-SSS-número-aleatorio.htm. Debemos prestar atención a los errores y sobre todo a elementos modificados a mano: web templates, features, custom field, …
  • Desde SharePoint 2010 antes de adjuntar una base de datos de contenido podemos comprobar si existirán errores utilizando el comando de PowerShell: test-SPContentDatabase.
  • Algunas personalizaciones puede que no sean detectadas como errores por las herramientas de comprobación previa pero al migrar a 2010 puede que tengamos problemas, para éllo debemos fijarnos en:
    • Plantillas de sitio
    • Definición de sitio
    • Características
    • Flujos de trabajo y controles de servidor
    • Controlador de eventos
    • Rutas de acceso administradas
    • Temas
    • Acciones de la barra de herramientas
    • Páginas maestras, archivos CSS y js
    • Proveedor de búsqueda u optimizador de seguridad
    • Elementos web
    • Servicios
    • Proveedores de autenticación
    • Personalizaciones en el fichero Web.config

 

  • Si tenemos personalizaciones debemos asegurarnos que se han actualizado a 2010: referencias de ensamblados (dll) y compilación en 64 bits. Lo mejor es utilizar Visual Studio 2010 y empaquetar nuestras personalizaciones, recordar que debéis actualizar las referencias de los proyectos a las versiones en SharePoint 2010, es decir, comprobar que la versión no es 12 y sí la 14. Si tenéis proyectos de Visual Studio que no queréis migrar a soluciones de SharePoint también habrá que compilarlas en “x64”.

image

  • Modificación de límites, esto los suelen indicar preupgradecheck y lo realizaremos desde la administración central a nivel de aplicación web.
  • Si tenemos autenticación basada en formulario, tendremos que asegurarnos de configurar la aplicación web en eutencación basada en claims. Para éllo:
    • Desde PowerShell:
    • Desde la administración Central configurar el proveedor de autenticación
    • Actualizar las referencias de los usuarios
      • $webapp.MigrateUsers(“True”)
  • Cuando atachéis una base de datos de contenido en lugar de utilizar el comando STSADM addcontentdb utilizar el comando de PowerShell Mount-SPContentDatabase.
  • Una vez tengamos claro los pasos debemos repetirlos y probarlos en un entorno de pruebas hasta que veamos que no existe ningún error
  • Realizar un backup de todos los elementos que intervengan en la migración: máquinas virtuales, bases de datos, y código fuente.
  • Definir un plan de contingencia, en caso que la cosa se complique al migrar debemos pensar cómo podríamos volver al estado anterior antes de la migración. También tendremos que ser conscientes que habrá un “punto de no retorno” a partir del cual no podremos volver y será mejor huir hacia adelante 🙂

 

Durante la migración

  • Debemos de planificar una franja horaria en la que todos los sitemas estén operativos y no se realicen tareas de mantenimiento (backups, cortes de luz, …) y el cambio del servicio tenga el menor impacto en los usuarios.
  • Si disponemos de suficientes recursos lo ideal sería de disponer de dos granjas en paralelo 2007 y 2010 y hacer el cambio de dns una vez migrada la granja 2010.
  • Debemos analizar el estado de la granja desde la Administración Central

image

image

 

Para más información, podéis consultar el centro de recursos Upgrade and Migration for SharePoint Server 2010 y las SDK de SharePoint 2010