sharepoint - que - Promoción de sitios de MOSS ''07 desde el desarrollo hasta la producción
sharepoint tutorial (5)
Maxim tiene razón en que la mayoría de los elementos deben implementarse a través de características que están envueltas en soluciones (archivos WSP). Su estrategia debe ser asegurarse de que sus soluciones y ensamblajes estén divididos en partes relacionadas de funcionalidad. Esto también es beneficioso porque las características se pueden aislar en ciertos niveles, como sitios y redes. El código de activación de funciones, el código de desactivación y el engrapado de funciones se deben usar al actualizar las actualizaciones de contenido. La implementación de contenido también puede tener sentido.
Una cosa que hay que recordar es que si las actualizaciones están solo en código, entonces los ensamblajes se pueden actualizar sin requerir que la característica se reactive o la solución se repliegue y se vuelva a implementar. Todo lo que se requiere es que se restablezca el grupo de aplicaciones.
Microsoft tiene un par de artículos sobre entornos de desarrollo y puede buscar en Google a muchos otros que recomiendan entornos. Desarrollamos en máquinas virtuales e implementamos la mayoría de los artículos en un servidor de integración virtual. Una vez que probemos humo, implementamos nuestras soluciones para control de calidad, etcétera. El beneficio es que las características y soluciones son fáciles de retraer. Una vez que sale a producción, debe ser ampliamente probado.
Desarrollar en SharePoint tiene sus problemas, es evidente, pero hasta ahora he descubierto que los beneficios superan los problemas.
Desarrollo basado en equipos en Microsoft Office SharePoint Server 2007
Entonces, tal vez estoy un poco en la vieja escuela, pero cuando creamos sitios web en el pasado, desarrollamos el sitio en un servidor de desarrollo, luego publicamos o promocionamos las páginas y archivos al servidor de producción. Esto siempre parece ser un buen camino a seguir para que los usuarios no vean páginas arruinadas o (Dios no lo quiera) un servidor caído porque uno de nosotros nos equivocamos.
Pero no parece que Microsoft tuviera esta idea en mente cuando crearon SharePoint ... al menos, no he podido encontrar una forma de hacerlo en la infraestructura tal como está definida.
¿Alguien sabe si hay una estrategia de gestión para el desarrollo de SharePoint? He leído en línea que podemos hacer una copia de seguridad del entorno de desarrollo y restaurar al servidor de producción. Eso podría funcionar la primera vez, pero las actualizaciones del servidor de producción no pueden hacer eso sin arriesgar la pérdida de datos en el servidor de producción. He visto algunas herramientas para migrar contenidos de la lista, páginas y documentos de un servidor a otro, aunque debo admitir que aún no los he investigado.
Pero, otra preocupación mía es el tipo de contenido personalizado. Parece que una vez que una lista utiliza un tipo de contenido, no puede actualizarlo sin eliminar los elementos de la lista, desasociar el tipo de contenido y reasociar el tipo de contenido. ¿No debería haber alguna forma de ACTUALIZAR un tipo de contenido?
De todos modos, si tienes alguna sugerencia para cualquiera de estos dilemas actuales, ME ENCANTARÍA saber de ti.
Gracias por adelantado,
Dan
Gracias por su rápida respuesta.
Ya tenemos varias características creadas para nuestro sitio y un paquete de soluciones que agrupa características dirigidas a los fundamentos (tipos de contenido, columnas, etc.) y otra solución para las características relacionadas con la creación de marca (diseños de página, páginas maestras, etc.)
Pero parece que se trata de un disparo de una sola vez ... básicamente, configura nuestro servidor, ¿verdad? Una vez que las personas hayan comenzado a usar el entorno de producción, tendremos documentos, páginas, elementos de lista que estarán en nuestra base de datos de contenido y será imposible actualizar cosas como tipos de contenido, columnas.
Las características que tiene que desactivar y desinstalar antes de que pueda instalar y activar la nueva característica, ¿no? He visto una propiedad de versión en la definición de la característica, pero por lo que puedo decir, esto no hace nada. Parece que las soluciones se pueden actualizar incrementando el número de versión, pero no parece modificar cosas como los tipos de contenido y las columnas, especialmente si están en uso. Además, no estoy seguro de cuán extensa es la actualización con soluciones.
Hay valiosa documentación para este tipo de cosas. Parece que todo lo que estoy leyendo es cómo configurar inicialmente tu servidor de SharePoint ... no a largo plazo.
¿Tienes algún consejo o sugerencia?
Gracias a todos por sus sugerencias.
Pero hemos estado trabajando en este sitio durante más de un año. Estoy bastante seguro de que ya estamos configurados de acuerdo con lo que la mayoría de ustedes recomiendan. Ya tenemos varias características que instalan cosas como tipos de contenido, columnas, páginas maestras, diseños de página y flujos de trabajo. La mayoría de estas características están contenidas en paquetes de soluciones. Tenemos todos nuestros entornos de desarrollo configurados como servidores VPC.
Por lo tanto, tengo la implementación inicial bastante establecida. Lo que REALMENTE estoy esperando saber es cómo puedo actualizar cosas como tipos de contenido y columnas y cosas en el futuro. ¿Es posible cambiar los tipos de contenido una vez que están en uso? Porque no parece, basado en mi prueba inicial, que esto sea posible. No me preocupan las asambleas porque parece que cambian muy bien, pero la única forma en que he actualizado un tipo de contenido es eliminando los elementos que hacen referencia a ellos (es decir, todas las páginas de la biblioteca de mi página), eliminando el tipo de contenido, luego volver a agregarlo.
¿Alguno de ustedes sabe si hay una manera de actualizar un tipo de contenido DESPUÉS de la implementación inicial? ... cuando los usuarios ya han creado elementos basados en los tipos de contenido que ya hemos implementado?
(La otra parte de mi pregunta fue mover páginas existentes del servidor de desarrollo a producción, pero puedo vivir sin eso. Mi principal preocupación son los tipos de contenido).
Realmente necesita definir sus tipos de contenido utilizando una característica porque de esa forma cada tipo de contenido tendrá un GUID configurado y se almacenará en la base de datos con el mismo nombre. Esto se vuelve importante cuando se ejecutan consultas de CAML en el sitio y hay algunos otros pequeños problemas cuando los tipos de contenido se crean "de todos modos" si se quiere.
Prefiero STSDev para implementar soluciones con tipos de contenido personalizados.
Hay dos formas de editar páginas en el servidor. Puede definir que la biblioteca de páginas tenga versiones principales y secundarias. Esto permite a los editores editar la página y un editor definido para publicarlos. Esto es bueno en un sitio interno, pero no se recomienda para un sitio público.
Para un sitio público, deberá usar la implementación de contenido
No puedo enfatizar lo suficiente que antes de continuar con un lanzamiento de producción, asegúrese de tener características para los tipos de contenido.
Como se mencionó aquí, Chris O''Brian tiene una publicación que dice que no debes usar funciones a menos que sea necesario. Una de sus razones es que ralentiza el desarrollo.
No estoy de acuerdo con esto El desarrollo es más lento si no está familiarizado con las características, pero una vez que se alcanza un nivel de conocimiento, no es un factor importante.
Escúchelo sobre el método de copia de seguridad y restauración para mover el contenido. Si lo haces, todo el desorden en los tipos de contenido y campos y webs que hayas creado durante el desarrollo (para mí, que siempre es bastante) se moverán a tu sitio de producción.
En lugar de tener un sitio agradable y limpio en el que todo sea coherente, terminará con pequeños errores y algunas áreas del sitio se comportarán de manera diferente a las demás simplemente debido a un desarrollo antiguo.
Recomiendo echar un vistazo a la publicación más reciente de Chris O''Briens, y su gran asistente de despliegue de contenido: ¡ no todo se trata de características!
Desarrollamos una solución personalizada que actualizaría los tipos de contenido y los campos de una Colección de sitios. Debajo de las portadas, a través del código, SharePoint nos permite modificar los Campos, así como los valores en los Campos y los tipos de Contenido de Sitio / Lista.
Para mover el contenido real de QA a Prod utilizamos Echo
La mejor forma de hacerlo es desarrollar con características. Una vez que las funciones están listas, puede desplegarlas con el paquete de Solución (llamado WSP).
Lo único que queda por hacer es reactivar esas características. De esta forma, puede implementar progresivamente nuevas funciones sin tener que hacer todo en producción.
WSPBuilder es una aplicación que te ayuda a construir WSP.
Para automatizar todo esto ... buena suerte. Hay mucho trabajo involucrado.
ACTUALIZACIÓN: Implementar tipos de contenido y columnas es complicado. Una vez que se ha creado el sitio web, ya no puede actualizarlos mediante funciones. Debe revisar el código y recorrer de manera recursiva todos los sitios y modificar el tipo de contenido específico que coincida con el nombre.
Lo hemos intentado y no es posible hacerlo normalmente con las características. Esta necesidad de pasar por algo que yo llamo "implementar con código".