Entorno de desarrollo de Sitefinity y control de código fuente

Hay algunas consultas para las cuales necesitamos una resolución antes de comprar la licencia de sitefinity 5.0. Realmente apreciaría si pudiera get respuestas a estos

  1. ¿Cuáles son las pautas recomendadas para configurar el proyecto de Sitefinity en el control de origen? Si hay 4 o 5 desarrolladores trabajando en el proyecto, ¿cuál debería ser el punto de partida para configurar la base de código inicial? ¿Cada desarrollador tiene que crear el website de sitefinity y DB en sus dev-boxes?
  2. ¿Se recomienda configurar un DB común para el website de sitefinity donde se conectaría toda la máquina de desarrollo para hacer el desarrollo, si no, cuál es el enfoque alternativo?
  3. ¿Hay alguna documentation en línea disponible relacionada con la creación y el lanzamiento de aplicaciones web de sitefinity, que no sea la publicación desde el estudio visual?

Gracias Gaurav

Hemos estado desarrollando con Sitefinity desde la versión 2, con múltiples desarrolladores.

Para responder a sus preguntas específicamente:

  1. Haga que un único desarrollador (idealmente su desarrollador principal) cree una solución limpia de estudio visual de website en su máquina local. Verifíquelo en su repository de control de origen y haga que cada desarrollador adicional deployment una copy desde allí. Ahora estás todo sincronizado.

  2. En términos de location de la database, funcionan dos enfoques: cada persona ejecuta una database local y en la configuration web.config configura la location de la cadena de connection como . (es decir, local). De esta forma, nadie necesita consultar la web.config para ejecutarla. De lo contrario, utilice un server común de desarrollo / testing para la database. Hemos encontrado que la manera más fácil es tener una database local, a less que varios desarrolladores trabajen juntas en tareas muy específicas al mismo time.

  3. No he visto ninguna documentation en línea relacionada con la construcción fuera del estudio visual. Si tiene TFS o un server de compilation MS, debería funcionar bien también.

En general, no hay nada "especial" en la architecture de Sitefinity que lo separe de cualquier otra solución .NET / MSSQL. La mejor práctica que cae bajo estas tecnologías aún se aplica.

Mi experiencia con el control de fuente ha sido una de dos opciones. Si está utilizando bases de datos de instancias de usuario SQLExpress (es decir, un mdf en la carpeta App_Data) he encontrado versiones de todo excepto este file de database y el file dataconfig.config en la carpeta de configuraciones permitirá a cada desarrollador ejecutar su propia copy del website .

Desde allí, puede hacer algún tipo de fusión manual de la database o simplemente crear una nueva para la implementación.

Esta opción funciona mejor si sus desarrolladores simplemente trabajan en funciones y no necesitan trabajar en un website real, modificando el contenido que debe mantenerse sincronizado.

Alternativamente, si necesitan trabajar con contenido en vivo y todo tiene que ser el mismo, creen la database en un server compartido al que todos tengan acceso, y versione todo (ya que la cadena de connection debe ser la misma para ambos).

Esto funciona mejor si tus desarrolladores están trabajando para soportar contenido existente en lugar de decir crear modules que manipulen la database (creando tablas, columnas, etc.), porque ten en count que con este método todos accederán y modificarán la misma database.

Personalmente, mi preference es la opción 1, ya que permite a cada desarrollador un control total sobre su entorno. la fuente podría fusionarse y ensombrecerse con un server intermedio, de modo que el contenido principal del sitio solo se vea afectado por esta única instancia.

¡Espero que esto sea útil!