Nueva implementación de las personalizaciones y las soluciones en SharePoint Foundation 2010 y SharePoint Server 2010

Resumen: información sobre el modo de volver a implementar las personalizaciones y las soluciones personalizadas creadas para Windows SharePoint Services 3.0 y Microsoft Office SharePoint Server 2007 en Microsoft SharePoint Server 2010 y Microsoft SharePoint Foundation 2010.

Última modificación: miércoles, 12 de enero de 2011

Hace referencia a: Business Connectivity Services | Office 2010 | Open XML | SharePoint Designer 2010 | SharePoint Foundation 2010 | SharePoint Online | SharePoint Server 2010 | Visual Studio

En este artículo
Introducción al modelo de objetos de 2010
Instalación de las actualizaciones
Funcionamiento del modelo de objetos de 2010
Cambios en la interfaz de usuario
Conclusión
Recursos adicionales

James Crowley, Microsoft Corporation

Michael Washam, Microsoft Corporation

Octubre de 2009

Se aplica a: Microsoft SharePoint Server 2010, Microsoft SharePoint Foundation 2010

Contenido

  • Introducción al modelo de objetos de 2010

  • Instalación de las actualizaciones

  • Funcionamiento del modelo de objetos de 2010

  • Cambios en la interfaz de usuario

  • Conclusión

  • Recursos adicionales

Descargue las listas de tipos y métodos desusados anexos a este artículo:tipos y métodos desusados de Microsoft SharePoint Server 2010

Introducción al modelo de objetos de 2010

Microsoft SharePoint Foundation 2010 y Microsoft SharePoint Server 2010 contienen actualizaciones del modelo de objetos diseñadas para ser compatibles con las soluciones existentes desarrolladas para Windows SharePoint Services 3.0 y Microsoft Office SharePoint Server 2007. Algunos espacios de nombres, clases y métodos ya están obsoletos, pero todavía se encuentran disponibles y seguirán funcionando según lo esperado en el código personalizado. Además, si bien la interfaz de usuario ha cambiado considerablemente, el modo visual de compatibilidad con versiones anteriores proporciona un modo de conservar las personalizaciones visuales hasta que se puedan adoptar las mejoras en la interfaz de usuario. Se pueden sincronizar las personalizaciones y las aplicaciones con las versiones actualizadas de Microsoft SharePoint Foundation 2010 y Microsoft SharePoint Server 2010 después de su nueva implementación. En este artículo se proporcionan directrices para evitar los obstáculos que puedan encontrarse, y superarlos, al volver a implementar, probar y depurar el código de Windows SharePoint Services 3.0 y Office SharePoint Server 2007 en SharePoint Foundation 2010 y Microsoft SharePoint Server 2010 respectivamente.

Si creó proyectos de Windows SharePoint Services 3.0 u Office SharePoint Server 2007 con las extensiones de Microsoft Visual Studio 2005 para Windows SharePoint Services 3.0, versión 1.1, las extensiones de Microsoft Visual Studio 2005 para Windows SharePoint Services 3.0, versión 1.2, y las extensiones de Microsoft Visual Studio 2005 para Windows SharePoint Services 3.0, versión 1.3, puede actualizarlos mediante la herramienta de actualización de VSeWSS, que instala plantillas que convierten las extensiones de Visual Studio existentes para los paquetes de solución de Windows SharePoint Services (escritos en Microsoft Visual Basic o Microsoft Visual C#) en soluciones de Microsoft Visual Studio 2010 (figura 1).

Figura 1. Importación de un proyecto de extensiones de Visual Studio para Windows SharePoint Services en Visual Studio 2010

Importación de VSeWSS en Visual Studio 2010

Después de convertir las soluciones de las extensiones de Visual Studio para Windows SharePoint Services en soluciones de Visual Studio 2010, debe implementar los nuevos paquetes de solución en el marco actualizado.

Instalación de las actualizaciones

Puede llevar a cabo la actualizaciones en contexto (en una granja o conjunto de servidores donde ya se encuentre instalado Windows SharePoint Services 3.0 u Office SharePoint Server 2007) o en una nueva granja a la que se adjuntará la base de datos de contenido existente. En cualquier caso, es probable que las nuevas implementaciones funcionen mejor si se usan paquetes de solución (archivos .wsp) de SharePoint en lugar de paquetes de Windows Installer (.msi). Si necesita volver a implementar una plantilla de sitio, debe crear un sitio a partir de la plantilla y guardarlo como un paquete de solución. La consideración inicial más importante es asegurarse de que la carpeta "14" sea la ubicación de destino de todas las nuevas implementaciones en lugar de la carpeta "12"; esto se simplifica gracias a los paquetes de solución. Tanto SharePoint Foundation 2010 como SharePoint Server 2010 comprueban la carpeta 12\TEMPLATE\FEATURES cuando no encuentran un archivo en la carpeta "14" correspondiente. Sin embargo, es posible que no encuentren archivos personalizados implementados en otras carpetas y resulta mucho más fácil depurar las instalaciones si todos los archivos personalizados se implementan en la carpeta "14".

Uso de los paquetes de solución (archivos .wsp)

Si es posible, implemente las soluciones personalizadas mediante paquetes de solución (archivos .wsp), ya que es la mejor manera de garantizar que todos los archivos personalizados se implementen en las ubicaciones correctas. Para obtener información acerca de la creación de archivos de solución en Windows SharePoint Services 3.0 y Office SharePoint Server 2007, vea el tema sobre la creación de una solución. Para obtener información acerca de la implementación de archivos de solución en SharePoint Foundation 2010 y SharePoint Server 2010, vea el tema Instalación e implementación de una solución de granja de servidores.

Uso de los archivos de Windows Installer

Si implementa las soluciones personalizadas mediante paquetes (.msi) de Windows Installer, asegúrese de cambiarlos de modo que los archivos personalizados se implementen en las ubicaciones correctas de la carpeta "14". Esto se aplica especialmente si los archivos se implementan en una carpeta que no sea TEMPLATE\FEATURES.

Nueva implementación de la plantilla de sitio

Las plantillas de sitio se encuentran desusadas. Si necesita implementar una plantilla de sitio en SharePoint Foundation 2010 u SharePoint Server 2010, siga estos pasos:

  1. Cree un sitio a partir de la plantilla de sitio.

  2. Instale SharePoint Foundation 2010 u SharePoint Server 2010 en la granja de servidores existente o en una granja nueva. Si instala las actualizaciones en una granja nueva, adjunte la base de datos de contenido que contiene el sitio creado.

  3. En la instalación nueva, elija Guardar sitio como plantilla en la página Configuración del sitio. Se creará un paquete de solución con una extensión de nombre de archivo .wsp.

Funcionamiento del modelo de objetos de 2010

El modelo de objetos contiene varios cambios y mejoras, pero el código personalizado se seguirá compilando y, con una posible excepción, se ejecutará según lo esperado. Si alguna de las personalizaciones se basa en consultas a listas que pueden generar conjuntos de resultados que superen los 5.000 elementos o que examinen todas las filas de listas que constan de más de 5.000 elementos, debe cambiar el umbral de tamaño de consulta (para obtener instrucciones, vea el tema Limitación de consultas a listas de gran tamaño). De lo contrario, puede observar detenidamente los cambios e incorporar los elementos nuevos del modelo de objetos en función de su propia programación. El modelo de objetos actualizado proporciona enfoques alternativos que, en muchos casos, pueden ayudar a mejorar el diseño y el rendimiento de las personalizaciones.

Compatibilidad con versiones anteriores

Debido a que los cambios efectuados en la API de las actualizaciones son compatibles con versiones anteriores, no es necesario realizar cambios en el código personalizado antes de volver a implementarlo en SharePoint Foundation 2010 u SharePoint Server 2010. Algunas clases y espacios de nombres están obsoletos, pero seguirán funcionando según lo esperado. Si desea comenzar a actualizar las aplicaciones de modo que usen las clases y métodos más actuales, vuelva a compilar el código. Las advertencias del compilador le notificarán qué elementos del modelo de objetos están obsoletos y qué alternativas más recientes debería usar. En la figura 2 se muestra un ejemplo de una advertencia del compilador y la advertencia de acción del mouse correspondiente de Visual Studio 2010.

Figura 2. Advertencia del compilador para el constructor desusado en Visual Studio 2010

Advertencia del compilador de Visual Studio 2010

Para obtener una lista de los tipos y métodos desusados en el modelo de objetos de Microsoft SharePoint 2010, vea el tema sobre los tipos y métodos desusados de Microsoft SharePoint Server 2010.

SharePoint Server 2010 contiene más de 1.500 tipos desusados y la mayoría de ellos se encuentran en el espacio de nombres Microsoft.SharePoint.Portal. SharePoint Foundation 2010 contiene una cantidad mucho menor de tipos desusados, pero contiene varios cientos de propiedades y métodos desusados.

No es necesario volver a compilar el código personalizado escrito para Windows SharePoint Services 3.0 y Office SharePoint Server 2007 que se ejecuta en Internet Information Services (IIS). Esto significa que puede volver a usar los archivos DLL personalizados sin necesidad de volver a compilarlos; sin embargo, es posible que en algunos casos no funcionen según lo esperado. Por ejemplo, si ha vuelto a implementar todos los archivos en la carpeta "14" y vaciado la carpeta "12", ninguna referencia a los archivos de la carpeta "12" funcionará. Del mismo modo en que debe reescribir los paquetes de Windows Installer si hacen referencia a ubicaciones de la carpeta "12", debería reescribir y volver a compilar cualquier código que haga referencia a archivos y recursos que se han movido a ubicaciones nuevas. Debe evaluar las personalizaciones conforme a la nueva instalación y asegurarse de que todo código que se base en detalles específicos de la instalación antigua seguirá funcionando después de instalar las actualizaciones.

Debería volver a compilar el código personalizado escrito para Office SharePoint Server 2007 si la solución incluye un receptor de características que implementa los métodos FeatureInstalled, FeatureUninstalling, FeatureActivated o FeatureDeactivating y si va a implementar mediante la herramienta de línea de comandos Stsadm o el servicio de temporizador. Las entradas en el archivo web.config del servidor controla los redireccionamientos de ensamblado de SharePoint Server 2010 y es posible que las herramientas de línea de comandos no redirijan a las versiones de ensamblado más recientes hasta que la solución ya esté instalada.

Debe volver a compilar el código personalizado escrito para Windows SharePoint Services 3.0 y Office SharePoint Server 2007 que no se ejecute en IIS (como los servicios y las aplicaciones de consola).

Limitación de consultas a listas de gran tamaño

SharePoint Foundation 2010 y SharePoint Server 2010 aplican un umbral de consultas predeterminado de 5.000 elementos. Todo código personalizado que se base en conjuntos de resultados de consultas que puedan exceder este valor máximo no se comportará según lo esperado después de la actualización. Las consultas a listas que constan de más de 5.000 elementos que incluyen campos no indizados en sus condiciones de consulta también darán error, ya que esas consultas deben examinar todas las filas de una lista. Puede aumentar este límite (para ello, debe establecer la propiedad EnableThrottling en el objeto SPList) o permitir al modelo de objetos invalidarlo. Vea los temas Tratamiento de carpetas y listas de gran tamaño y Escritura de código eficiente en SharePoint Server para obtener directrices sobre cómo administrar carpetas y listas de gran tamaño de manera eficaz.

Aumento del umbral de consultas predeterminado

  1. En Administración de aplicaciones del sitio de Administración central, haga clic en Administrar aplicaciones web.

  2. Haga clic en Configuración general y, a continuación, en Limitación de recursos (Figura 3).

Figura 3. Establecimiento del umbral de tamaño de consulta en SharePoint Foundation 2010 y SharePoint Server 2010

Establecimiento del umbral de tamaño de consulta

Nuevas funcionalidades de SharePoint

Entre las excelentes adiciones al modelo de objetos de SharePoint Foundation 2010 y SharePoint Server 2010 se incluyen las siguientes funcionalidades nuevas:

  • El espacio de nombres Microsoft.SharePoint.Linq, que define una LINQ a un proveedor de SharePoint que traslada consultas LINQ a consultas del Lenguaje de marcado de aplicaciones de colaboración (CAML) (y, por lo tanto, proporciona la opción de reemplazar la lista y las consultas CAML por una LINQ).

  • Tres API del lado cliente del espacio de nombres Microsoft.SharePoint.Client que permiten interactuar con sitios de SharePoint mediante scripts o secuencias de comandos que se ejecutan en el explorador a partir de código administrado de Microsoft .NET Framework y en aplicaciones de Microsoft Silverlight.

  • SharePoint Foundation 2010 y SharePoint Server 2010 constan de varias adiciones proporcionadas por los Servicios de conectividad empresarial. Estos cambios facilitan la integración de procesos y datos profesionales externos con aplicaciones de servidor y aplicaciones cliente.

Para obtener información acerca de cómo usar éstas y otras API nuevas, vea los temas Novedades en Microsoft SharePoint Foundation 2010 y Novedades de SharePoint Server 2010.

En el gráfico de la figura 4 se proporciona un ejemplo de los espacios de nombres a los que se agregaron varios tipos.

Figura 4. Nuevos tipos por espacio de nombres en SharePoint Server 2010

Nuevos tipos por espacio de nombres

Cambios en la interfaz de usuario

Debido a que la interfaz de usuario ha cambiado considerablemente en SharePoint Foundation 2010 y SharePoint Server 2010, todas las personalizaciones que se basan en clases CSS y elementos de la interfaz de usuario específicos funcionarán mejor en modo de compatibilidad con versiones anteriores. Al actualizar a SharePoint Foundation 2010 u SharePoint Server 2010, podrá elegir entre el modo de compatibilidad con versiones anteriores y la interfaz de usuario actualizada. Podrá intercambiar entre el modo de compatibilidad con versiones anteriores y la interfaz de usuario nueva en los niveles de sitio y de la colección de sitios:

  • Para conservar la apariencia de los sitios existentes, use PSConfig y PSConfigUI.

  • Para conservar la apariencia de los sitios existentes al actualizar adjuntando la base de datos de contenido antigua a la nueva granja de servidores, use Stsadm.

También puede usar la interfaz web para establecer todos los sitios de una colección de sitios en la interfaz de usuario actualizada (y evitar que los usuarios usen la interfaz antigua).

Establecimiento de todos los sitios de una colección de sitios en la interfaz de usuario actualizada

  1. En Configuración del sitio, haga clic en Administración de la colección de sitios

  2. Haga clic en Interfaces de usuario admitidas (figura 5).

Figura 5. Cambio de la interfaz de usuario en el nivel de la colección de sitios

Cambio de la interfaz de usuario en el nivel de la colección de sitios

También puede elegir la apariencia anterior para un sitio específico. En Configuración del sitio, haga clic en Título, en Descripción y, a continuación, haga clic en Apariencia (figura 6).

Figura 6. Cambio de la interfaz de usuario en el nivel de sitio

Cambio de la interfaz de usuario en el nivel de sitio

También puede obtener o establecer mediante programación la versión de interfaz de usuario (3 para el modo de compatibilidad con versiones anteriores y 4 para la interfaz de usuario nueva) mediante la propiedad SPWeb.UIVersion.

Nota

Después de establecer SPWeb.UIVersion en 3 ó 4, debe usar el método SPWeb.Update para guardar el cambio.

La propiedad UIVersion también se encuentra disponible para los controles SharePoint:VersionedContent y SharePoint:VersionedPlaceHolder. Ambos controles colocan el contenido con versiones en la página, pero SharePoint:VersionedPlaceHolder funciona en tiempo de representación, una vez cargada la página.

En los siguientes ejemplos se muestra cómo implementar estos controles en los archivos .aspx.

<SharePoint:VersionedPlaceHolder ID="vph4" runat="server" UIVersion="4">
   <div>Content</div>
</SharePoint:VersionedPlaceHolder>
<SharePoint:UIVersionedContent ID="vc4" runat="server" UIVersion="4">
<ContentTemplate>
<div>Content</div>
</ContentTemplate>
<SharePoint:UIVersionedContent> 

Puede habilitar o deshabilitar mediante programación el valor de configuración Interfaces de usuario admitidas en la interfaz web mediante las propiedades booleanas SPWeb.UIVersionConfigurationEnabled, SPSite.UIVersionConfigurationEnabledInAllWebs y SPSite.UIVersionConfigurationEnabled. Al establecer SPSite.UIVersionConfigurationEnabled en false, se produce el mismo efecto que al elegir la opción Confirmar nueva interfaz de usuario en Acciones del sitio. En cualquier caso, ya no podrá cambiar de una versión de la interfaz de usuario a otra mediante la interfaz web (aunque podrá intercambiar mediante programación si establece las propiedades mencionadas anteriormente).

En el modo de compatibilidad con versiones anteriores, las personalizaciones visuales seguirán funcionando y tendrá acceso a toda la infraestructura (incluidas las CSS) relacionada con los temas. El modo de compatibilidad con versiones anteriores permite al usuario tomarse su tiempo para migrar las personalizaciones y actualizarlas con el fin de que funcionen con la interfaz nueva. Algunos elementos visuales funcionarán según lo esperado en la interfaz nueva, pero unas pocas acciones personalizadas (aquellas que usan los atributos ControlAssembly, ControlClass y ControlSrc) no lo harán. Si ha llevado a cabo personalizaciones visuales, en especial personalizaciones CSS y de la barra de herramientas, debería comenzar con el modo de compatibilidad con versiones anteriores. Una vez implementadas las personalizaciones, debería probarlas con la interfaz actualizada para determinar qué elementos se deben cambiar.

Cambios de las clases CSS

Debido a que las CSS nuevas han cambiado considerablemente, todas las personalizaciones y diseños que se basan en las clases CSS de Windows SharePoint Services 3.0 y Office SharePoint Server 2007 solo funcionarán en modo de compatibilidad con versiones anteriores. Los temas ya no existirán en SharePoint Foundation 2010 y SharePoint Server 2010, de modo que todo el trabajo de diseño y las personalizaciones que se han llevado a cabo con temas no se importarán en la interfaz de usuario nueva. Al volver a diseñar las páginas después de la actualización y de la nueva implementación, debería personalizar la página principal nueva en lugar de intentar hacer funcionar las CSS antiguas en la interfaz de usuario rediseñada.

Acciones personalizadas y adiciones de la barra de herramientas

La mayoría de las acciones personalizadas, incluidas aquellas orientadas a vínculos y menús de bloque de control de edición (ECB), seguirán funcionando según lo esperado en la interfaz actualizada. Debido a que la barra de herramientas se reemplazó por la cinta de opciones, la mayoría de las acciones personalizadas que agregan botones a una barra de herramientas se reemplazarán en la ficha Comandos personalizados de la cinta de opciones (figura 7).

Figura 7. Acciones personalizadas de la barra de herramientas y de la ficha Comandos personalizados de la cinta de opciones

Acciones personalizadas de la barra de herramientas y de la cinta de opciones

Todo Custom Action Element que use los atributos ControlAssembly, ControlClass o ControlSrc no aparecerá en la interfaz nueva. Para que estas adiciones de la barra de herramientas funcionen antes de volver a diseñar la aplicación, puede usar el modo de compatibilidad con versiones anteriores. O bien, puede elegir la opción Barra de herramientas completa para cada Vista de lista y formulario de lista que usen una barra de herramientas personalizada que contenga este tipo de acción personalizada. La opción Barra de herramientas completa hace que la barra de herramientas aparezca con la cinta de opciones y, si bien esto puede crear una funcionalidad redundante, puede ser una buena opción si las barras de herramientas personalizadas aparecen en una cantidad limitada de contextos.

Conclusión

Puede aprovechar las funcionalidades mejoradas de SharePoint Foundation 2010 y SharePoint Server 2010 tan pronto como las instale; sin embargo, no es necesario reescribir el código inmediatamente. Todos los elementos desusados de la API seguirán estando disponibles con el fin de proporcionarle tiempo para revisar los elementos más recientes de la API antes de incorporarlos a las personalizaciones. Además, el modo de compatibilidad con versiones anteriores permite al usuario tomarse su tiempo para volver a pensar y, si es necesario, volver a diseñar las personalizaciones de modo que aprovechen al máximo la interfaz de usuario nueva. Tampoco es necesario adoptar la interfaz de usuario nueva para todos los sitios de una sola vez. Algunos sitios pueden permanecer en la última versión de la interfaz y otros sitios pueden adoptar la versión nueva inmediatamente. El marco proporciona la posibilidad de migrar las personalizaciones y de aprovechar las nuevas funcionalidades metódicamente y en fases, de modo que pueda adoptar las mejoras a un ritmo adecuado para sus necesidades.

Recursos adicionales