viernes, 7 de enero de 2011

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.


4 comentarios:

  1. Buenas tardes:
    He leído en tips de bits un comentario suyo, en el que indica que había desarrollado un código que permitía el envío de mails, a través de gmail.
    Quería preguntarle si para esto era necesario usar outlook.. en caso negativo, me gustaría que me ayudase, tendría que implantar un desarrollo parecido en un cliente.
    Muchas Gracias.
    Un saludo.
    pd: Me han servido de mucha ayuda algunas de sus entradas en este blog, le felicito por su trabajo.

    ResponderEliminar
  2. Buenas tardes:
    He leído en tips de bits un comentario suyo, en el que indica que había desarrollado un código que permitía el envío de mails, a través de gmail.
    Quería preguntarle si para esto era necesario usar outlook.. en caso negativo, me gustaría que me ayudase, tendría que implantar un desarrollo parecido en un cliente.
    Muchas Gracias.
    Un saludo.
    pd: Me han servido de mucha ayuda algunas de sus entradas en este blog, le felicito por su trabajo.

    ResponderEliminar
  3. Gracias.
    Tengo pendiente recopilar ese desarrollo, pero es que estoy muy mal de tiempo. Ya ves que hace tiempo que no publico un post y no es por falta de ideas!
    Intentaré publicar ese post cuanto antes

    ResponderEliminar
  4. Buenas,

    A mí también me serviría el desarrollo.
    Si tienes un hueco y lo publicas te lo agradezco.

    Saludos.

    ResponderEliminar