Pregunta

La empresa deseaba copiar el contenido desde la producción hasta la aceptación (entorno de publicación).Entonces creé un trabajo de implementación de contenido para hacerlo y lo ejecuté.

Falló con el siguiente error:

Trabajo de implementación de contenido 'Prod -> ACC' falló. La excepción lanzada fue 'Microsoft.sharepoint.spexception':'Característica' 32E8942E-F6D6-48EC-AB6A-A75BEDD2816D 'para la plantilla de lista' 10000 'no está instalada en esta granja.La operacion no pudo ser completada.'

El ID de función apunta a una función personalizada que, de hecho, está instalada en ambos entornos, exactamente el mismo WSP.Una cosa a tener en cuenta es que en el servidor que aloja la administración central no hay aplicaciones web implementadas.Debido a esto, las funciones de ámbito web también se omiten en ese servidor y, por lo tanto, no están presentes.Por eso, habilité el servicio de Administración central en uno de los front-end y edité la configuración de implementación de contenido para usar ese servidor en lugar del de administración central.No lo arreglé.

Cuando pruebo el trabajo, el resultado es correcto, por lo que en realidad es la importación la que causa los problemas.

Entonces ahora la pregunta es;¿Debería esto funcionar?¿O necesito obtener las aplicaciones web en el servidor de administración central para que las funciones también estén presentes allí?Suena un poco extraño.

¿Fue útil?

Solución

La solución fue más simple, entonces podría imaginarlo.En nuestros servidores de aplicaciones, los roles web se han apagado.Así que en IIS, las aplicaciones web de SharePoint no existen.Aparentemente, SharePoint también omite la implementación de archivos WSP a los servidores en los que no están presentes esos roles.Pero la implementación de contenido necesita esos archivos para leer las definiciones de características y cosas así.

Para resolver esto, hay dos opciones: 1) Inicie el servicio de administración central en uno de los frontales.Ahora configure el motor de implementación de contenido para usar el servicio en esta máquina (donde estén presentes los archivos XML). 2) Habilite el servicio de aplicación web en uno de los servidores de aplicaciones.Configure el motor de implementación de contenido para usar este servidor para trabajos.

El resultado de ambos es el mismo;Los trabajos de implementación de contenido deben ser manejados por un servidor en el que están presentes los archivos de características.

Otros consejos

La implementación de contenido puede salir mal fácilmente si no están presentes todos los "requisitos previos" requeridos.Aquí hay algunos que pasan por mi cabeza:

  • Asegúrese de que el entorno de destino esté limpio y tenga implementado el mismo WSP que el entorno de origen.
  • Asegúrese de comenzar en el entorno de destino con una base de datos de contenido nueva (si falló, es muy probable que tenga restos en su base de datos de contenido de destino que podrían causar problemas con la implementación de contenido adicional o recreado)
  • Asegúrese de que su colección de sitios de destino esté vacía (también conocida como "elegir plantilla más tarde")
  • Asegúrese de que su código tenga en cuenta la implementación de contenido (por ejemplo:no cree elementos de receptor en su lista porque estos elementos serán copiados por la implementación de contenido y, en el mejor de los casos, tendrá entradas duplicadas)
  • Asegúrese de que la implementación de contenido esté funcionando "localmente".Puede configurar una implementación de contenido en una granja para implementarla en sí misma (obviamente en otra aplicación web/colección de sitios).

Pero volviendo a su pregunta, ¿tiene un WFE que funcione en su entorno de destino?Necesita una administración central en ambas granjas porque la implementación de contenido se comunica con sus servicios web para realizar la operación, pero también necesitará al menos un servidor con la función de aplicación web activada (puede ser el servidor de la aplicación que aloja al administrador central).

También podrías hacer un stsadm -o export en el entorno de origen y un stsadm -o import (o el comando similar en PowerShell) en el entorno de destino, el trabajo de implementación de contenido casi hace esto, lo que le ayudará a solucionar su problema.

Finalmente, asegúrese de que sus granjas (tanto de origen como de destino) estén lo más parcheadas posible (¿CU de octubre de 2012?). Le he presentado algunos tickets a Microsoft (algunos de ellos están presentes en algunas CU).

Buena suerte, cuéntanos cómo evolucionan las cosas.

Licenciado bajo: CC-BY-SA con atribución
scroll top