Este es un obstáculo común cuando se comienza a trabajar con Umbraco y la respuesta es usar lo que funcione para usted.
Sin embargo ha habido muchas discusiones en los foros Umbraco sobre esta misma cosa, miren aquí:
http://our.umbraco.org/forum/core/general/3619-Source-control-and-multiple-developers http://our.umbraco.org/forum/getting-started/installing-umbraco/2918-Update-an-Umbraco-website?p=0#comment11311
La clave a considerar es la delineación de contenido y código. La mayoría de los códigos en umbraco se almacenan externamente a la base de datos y, como tales, se pueden almacenar en subversión o en cualquier otra plataforma de control de origen. Por ejemplo, las plantillas, extensiones XSLT, CSS, XSLT, etc. están todas almacenadas en el sistema de archivos.
El contenido de la página y la estructura del sitio se almacenan en la base de datos.
Hay algunas áreas grises, especialmente el diccionario que puede contener todo tipo de cosas, así como el contenido.
La forma en que trabajamos con Umbraco es el siguiente:
Tenemos una separada Visual Studio Web Project que contiene las carpetas de plantillas, XSLT, CSS, controladores de eventos, controles de usuario, etc. Esto se almacena en el SVN. Luego, en la compilación de este proyecto, los archivos se copian o compilan y se copian en nuestra instancia de prueba/servidor de desarrollo del sitio umbraco.
Una vez aprobados los cambios, solo copiamos los archivos.
Si necesita sincronizar el contenido entre instancias de Umbraco, puede usar Umbraco Pro (que incluye un componente llamado Courier, que es precisamente para este propósito) o hacer una copia de seguridad de su Live DB y restaurarlo en su entorno de desarrollo cuando sea necesario (o incluso usar replicación).
Principalmente tratamos de evitar la edición de contenido en el entorno de prueba/desarrollo, ya que aquí es donde fusionar el contenido de nuevo al sitio en vivo puede ser complicado. Sin embargo, a veces esto es inevitable. También tratamos de evitar la edición de plantillas, etc. a través de la interfaz de Umbraco.
La respuesta a su pregunta final, "debería almacenar mis datos comerciales en otro DB", es bastante complicada ya que depende mucho de lo que va a hacer con los datos. Si es el contenido el que mejor se almacena en el CMS, almacénelo en el CMS; sin embargo, si se trata de datos fuertemente relacionales que no encajan realmente en un CMS, guárdelo por separado.
Estamos llevando a cabo un proyecto actualmente donde los datos se almacenan en un DB externo y hemos integrado una aplicación directamente en el backend de Umbraco.Esta fue una tarea no trivial (aunque simplemente capturar algunos datos a través de controles de usuario es fácil) y debes considerar cuidadosamente el nivel de esfuerzo requerido para almacenar tus datos externamente contra la funcionalidad incorporada del CMS y el presupuesto/tiempo que tienes para jugar con.
Si desea utilizar la plantilla visual studio que tenemos entonces la puede descargar desde our website.
Gracias por la excelente respuesta. ¿Te importaría compartir tu script de compilación para desplegar archivos? –
Hola, Niels, agregué un enlace a la plantilla visual studio que usamos. Esto contiene una estructura de carpeta exanple y ejemplos de eventos de creación de publicaciones (que deberá editar). ¡Solo almacénelo en SVN y evite editar el código a través de la interfaz de umbraco! –
Gracias, respuesta muy interesante. Dos cosas de las que no estoy seguro ... Primero, ¿cómo manejas los tipos de documentos? ¿Los recreas manualmente en el servidor de producción cuando migras? En segundo lugar, ¿puede Umbraco manejarlo cuando agrega plantillas simplemente cargando los nuevos archivos * .master sin agregar sus nodos a la base de datos? – efdee