Desarrollo colaborativo en Dynamics Nav. Parte III, integrar SVN en Nav

El módulo de control de versiones para Nav que hemos desarrollo nace de la necesidad de controlar que objetos y en qué proyectos, paralelos en el tiempo y de una duración considerable, se están modificando.
Lo que se pretende es desde una sola base de datos central (“desarrollo primaria”) controlar todos los objetos que se están modificando aunque estos estén en otros proyectos que se están realizando en otras bases de datos (“desarrollo secundaria”). Además nos proporcionará información sobre cuando un objeto debe ser importado en la bbdd de “desarrollo primaria”, nos permitirá ver las diferencias en el código entre objetos de distintas bases de datos o recuperar versiones antiguas de un objeto.
Para conseguir esto lo que hacemos es usar un conjunto de repositorios gestionados por Subversion (no se guardan objetos, solo las diferencias entre una versión y la anterior) de forma que la comunicación se realiza desde las bases de datos secundarias hacia la primaria a través del repositorio. Este sistema se integra en Navision a través de una interfaz desarrollada en .NET.



En el diagrama se ve cómo funciona la comunicación de objetos en el sistema. Cada BD secundaria tiene su propio repositorio, donde envía revisiones de sus objetos y de donde puede extraer revisiones anteriores de sus objetos desde Nav.
La BD primaria por su parte tiene su propio repositorio donde puede enviar revisiones de sus objetos y extraer revisiones anteriores. Además la BD primaria tiene acceso para extraer objetos de los repositorios secundarios de esta forma podemos obtener las modificaciones que se están realizando en las BD secundarias para integrarlas en la primaria.
Los objetos que se envían a las BD del cliente siempre pasarán por la BD primaria y se integraran en esta para evitar la pérdida de modificaciones realizadas en BD secundarias o en la misma BD primaria.


Related
Recommended