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
Gracias Gaurav
Hemos estado desarrollando con Sitefinity desde la versión 2, con múltiples desarrolladores.
Para responder a sus preguntas específicamente:
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.
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.
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!