Pregunta

Tengo una pregunta sobre el proceso de actualización para las funciones en SharePoint.

En mi función, estoy implementando una plantilla de sitio personalizada junto con un par de definiciones de listas, partes web, etc. Ahora, cuando actualizolas, implemento un elemento personalizado manifiesto para aprovisionar cosas nuevas en el sitio, funciona bien. Pero, ¿qué pasa con los nuevos sitios que se crean con la plantilla del sitio? Son aquellos siempre creados e actualizados inmediatamente con las actualizaciones; ¿O debo asegurarme de que también incorpore los nuevos elementos en la base se manifiesta?

Además, intenté extender una lista con dos nuevas vistas, pero no estoy seguro de cómo debería hacerlo. Acabo de incluir las opiniones en el esquema de la lista, pero eso solo parece funcionar para el sitio recién creado; Los sitios existentes no se extienden con estas dos nuevas vistas. Terminé creando una actualización de código personalizado que implementa las dos nuevas vistas para los sitios existentes, e incluyendo la definición en Schema.xml para nuevos sitios, pero supongo que probablemente haya una mejor manera de hacer lo mismo.

¿Fue útil?

Solución

Respondiendo a su primera pregunta

Sí, debe incluir cualquier manifiesto adicional en ElementManifests y UpgradeActions-> VersionRange-> ApplyManifests ambos. La razón es que una vez que implementa una nueva versión de la función, SharePoint reemplaza a la versión anterior con una nueva. Y cuando se activa la versión actualizada, procesa los archivos solo en elemento. No procesará las actualizaciones de actualización en absoluto (porque está activando la versión actual, no crea una versión anterior y la actualiza)

2da pregunta

Al observar la naturaleza del cambio (agregar nuevas vistas a la lista existente), creo que su elección de usar el código fue correcta porque SharePoint no admite un elemento de manifiesto independiente que puede agregar una vista a la lista existente. Recuerde, la actualización de la versión admite cosas como agregar un campo al tipo de contenido existente (usando AddContentTypeField) como se documenta aquí Pero no tengo idea de por qué no tienen cosas como: AddListView o UpdateListView o RemoVeContentTypeField ... podría ser una lista de deseos de larga data aquí :)

Otros consejos

Si se refiere a WebTemplates, simplemente agregue su nueva función al OneT.xml de la plantilla web y actualice su solución.

Si está hablando de las definiciones del sitio (que implica el título de la publicación), no debe actualizar la definición del sitio, sino usar el grapado de funciones para aplicar la nueva función a los sitios que se crean.

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