jueves, 31 de marzo de 2016

¿Cómo actualizar sub sitios existentes cuando modifiqué la plantilla?

Esta pregunta fue realizada en sharepoint.stackexchange.com y me pareció importante compartir un enfoque que he tomado en una situación similar. Comparto la respuesta que dejé en el foro. Pueden verla en:


Transcripción de mi respuesta

Hola.
Estoy trabajando en un proyecto similar:
- Sitio raíz
- Sitios de proyecto
- Plantillas de sitios de proyecto
Es un proyecto de más de un año bastante complejo.

Me he encontrado con el mismo problema y he analizado diferentes alternativas.

No hay forma de resolver eso automáticamente. Para ello deberías usar definiciones de sitios en lugar de plantillas de sitios. Pero es un enfoque excesivamente complejo y muy poco utilizado.

Has hecho muy bien en utilizar tipos de contenido ya que eso resuelve gran parte del problema.

En mi caso he optado por utilizar el modelo de objetos del servidor para hacer los cambios en los sitios de proyecto ya existentes. Me refiero a C# con Visual Studio. Este modelo es muy poderoso y te permite modificar cosas que uno nunca hubiese imaginado.

Resumen del enfoque:

1) Creas un programa en C# para hacer los cambios mediante código. No utilizas configuración.
2) Ese programa posee un LOOP para recorrer todos los sitios de proyecto y aplicar los cambios

Luego de usar este enfoque, he tomado la decisión de hacer todos los cambios en forma programática. Esto facilita mucho el pasaje entre ambientes de prueba y producción.

Entonces el enfoque pasa a ser crear un programa que:

1) Modifique programaticamente tipos de contenido y columnas de sitio
2) Modifique programáticamente los sitios de proyecto (incluso la plantilla). Me refiero a vistas, elementos web, etc.
3) Crea una nueva plantilla basada en el sitio base y elimine la anterior

Con este enfoque el pasaje entre desarrollo y prueba / producción es limpio y rápido. Es muy robusto. Y actualiza automáticamente los sitios existentes. Garantizando al mismo tiempo que los sitios futuros se creen con los nuevos cambios de la plantilla.

Cualquier consulta avisame. 
Tengo muchísimos ejemplos de código para compartir.

0 comentarios:

Publicar un comentario en la entrada