Mejores prácticas para implementar múltiples tipos de contenido con dependencias en SharePoint

StackOverflow https://stackoverflow.com//questions/9699451

Pregunta

Estoy desarrollando una solución con aprox. 15 tipos de contenido personalizados. Por lo tanto, creé en el proyecto Visual Studio A SharePoint y se agregué tipos de contenido definidos en XML Markup. Como algunos de estos tipos de contenido utilizan referencias entre otras (busto-columnas), también agregué las definiciones de la lista y las instancias de la lista. Como las miradas se pueden declarar en XML desde SharePoint 2010, todo está bien.

Ahora, mi función contiene todos los tipos de contenido, las definiciones de la lista y las instancias de la lista.

Pero el problema es: A veces la implementación tiene éxito y, a veces, falla. Supongo que esto puede ocurrir porque los elementos dentro de las características no tienen orden de activación. Ahora podría cambiar mi proyecto y crear una función para cada tipo de contenido y definir las dependencias de la acitvación para definir un orden de activación. Pero esto llevaría a al menos 20 características y en mi opinión, esta no puede ser la supuesta solución para manejar esto correctamente.

¿Cuál es la forma correcta de implementar los tipos de contenido con las búsquedas con otros tipos de contenido dentro de la misma solución?

Hay una restricción: todo tiene que ser sandboxed porque quiero desplegar en SharePoint Online.

¿Fue útil?

Solución

Creo que tuve el mismo problema que tú, definímos dos tipos de contenido; A y B, B se basó en A. y ambos estaban en la característica única. Sin embargo, cuando llegó el momento de implementar, recibí un error:

Se produjo un error en el paso de despliegue 'Activar características': El tipo de contenido principal especificado por el identificador de tipo de contenido 0x010029043f0d68ec4df1bc85141aff451661 no existe.

Miré en el archivo Manifest.xml que Visual Studio genera dentro del archivo WSP / CAUS y notó los dos elementos de Tipo de contenido. Los archivos MML se definieron de manera incorrecta alrededor:

  1. b / elementos.xml
  2. a / elementos.xml

Una solución a esto es simplemente forzar el orden de ciertos elementos elementos.xml en la función (I.E. Poner los archivos de tipo de contenido 'root' primero).

Abra la función, vaya a manifiesto, abra Opciones de edición e ingrese el archivo que debe especificarse primero en la lista de archivos elementos.xml.

<ElementManifests>
  <ElementManifest Location="A\Elements.xml" />
</ElementManifests>

Esto emite el siguiente XML en el archivo manifiesto:

<ElementManifests>
  <ElementManifest Location="A\Elements.xml" />
  <ElementManifest Location="B\Elements.xml" />
</ElementManifests>

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top