Control del código fuente con TFS en Microsoft Dynamics AX 2012 (ALM-VI)

En anteriores capítulos de esta serie ya hablamos de cómo instalar y/o configurar nuestra instancia de Microsoft Team Foundation Server, y también sobre cómo usarlo para gestionar nuestras tareas y requerimientos. Este artículo es la última parte acerca de la funcionalidad básica de la integración entre Microsoft Dynamics AX 2012 y TFS, para poder empezar en los siguientes post con temas más avanzados.

En este artículo veremos como trabajar con TFS para la gestión de versiones del código fuente (VCS), que es el primer paso para poder utilizar las funcionalidades más avanzadas del sistema en cuanto a sus capacidades de ALM. Básicamente, el control de versiones pretende que cualquier cambio realizado sobre los objetos del sistema quede registrado, así como la fecha, el autor de dichos cambios, qué otros objetos se modificaron a la vez y por qué (mediante los comentarios en durante el check-in).

Esto nos permite revertir los cambios, volver a una versión anterior, comparar el estado actual de un objeto con una versión anterior, revisar los cambios realizados un determinado día por un desarrollador (para realizar revisiones de código), asociar los cambios a una determinada tarea para ver todos los cambios que ha requerido finalizarla, y un largo etcétera.

Las tres operaciones más evidentes que requiere cualquier control de versiones son: añadir nuevos objetos, check-in y check-out (traducidas en AX como Proteger y Desproteger respectivamente) y Sincronizar.

Agregar nuevos objetos

En Microsoft Dynamics AX no se añade todo el código al gestor de código fuente, al contrario que en otros VCS. No tendría sentido añadir todos los objetos que forman parte de la aplicación estándar ya que esto supondría un desperdicio notable de recursos. Por eso, sólo se añaden los objetos nuevos o aquellos objetos estándar que se han modificado, suponiendo que si un objeto no está controlado por el control de versiones es que es un objeto estándar que nunca ha sido modificado. En resumen, se añaden todos los objetos que no forman parte de las capas o modelos del sistema.

Para añadir un objeto al gestor de código fuente, TFS en este caso, se hace botón derecho sobre el mismo y Añadir al control de versión. Es importante recordar esta operación ya que no se realiza automáticamente. Si un objeto no se agrega al control de código, provocará errores e incoherencias cuando otros desarrolladores sincronicen nuestros cambios y no obtengan todos los objetos, por lo que es muy importante hacer de esta tarea un hábito y añadir los objetos a TFS cuanto antes, a ser posible justo después de crearlos, para no olvidarlo.

AX2012 vs TFS - Añadir a control de versión

Como se puede ver en la imagen anterior, los proyectos de MorphX también se consideran objetos y, por tanto, hay que agregarlos manualmente. No es recomendable añadir proyectos privados al control de versiones. En cualquier caso, dejarían de ser privados en TFS, donde se almacenarían como un objeto más.

[Off topic] Cambiar la búsqueda por defecto a google en IE11 en español

Nunca publico artículos que se salgan de la línea de interés de Microsoft Dynamics AX, pero esto es algo que siempre acabo buscando en internet porque se me olvida de una vez a otra, así que lo guardo aquí para recordarlo en el futuro. Puede que, de paso, le sirva a alguien más 😛

El problema es que cuando intentas agregar un nuevo proveedor de búsqueda a IE11 teniendo el idioma Español activado en Windows, google no aparece en la lista de Add-ons de la galería de Microsoft. Esto es bastante frustrante y aunque la solución es sencilla, no es evidente. Hay que cambiar la URL por defecto que nos ofrece la galería para que apunte a la versión americana del sitio (cambiar es-es por en-us):

Añadir google como buscador a IE11 en castellano

Después de esto ya podemos añadirlo como motor de búsqueda predeterminado sin problemas:

Añadir google como buscador a IE11 en castellano

Actualizado 02/08/2015

Hoy he tenido el mismo problema al intentar configurar esto mismo en Windows 10, y me ha venido de gran ayuda este artículo de José M. Alarcón. Merece la pena echarle un vistazo 😛

Microsoft Dynamics AX 2012 R3 CU9 Demo VM V1

Microsoft Dynamics AX 2012 R3

Ya se ha publicado la máquina virtual demo actualizada con el último paquete Microsoft Dynamics AX 2012 R3 CU9. Esta máquina virtual viene, como de costumbre, actualizada con las últimas versiones de todo el software y con datos de prueba de las nuevas funcionalidades:

Links interesantes:

Recordar que estas máquinas virtuales se pueden desplegar directamente en Azure desde .

HOWTO: Depurar desde Visual Studio código X++ que se ejecuta en el servidor AX 2012

Gran parte del código X++ que desarrollamos en clases se ejecuta en la capa del servidor (Data Providers en informes, procesos Batch, SysOperation, …), lo que resulta un poco incómodo a la hora de depurar. Si ponemos un breakpoint desde el editor de X++ en MorphX en código que se ejecuta en el servidor, veremos como el depurador integrado nunca se detiene en este punto.

Preparar el entorno de desarrollo para poder depurar código del servidor desde Visual Studio (incluso el código X++, que en el servidor siempre se ejecuta como código CIL) nos obliga a tener en cuenta unos cuantos pre-requisitos, así que los voy a enumerar aquí para tenerlos a mano cuando nos hagan falta:

Pre-requisitos y consideraciones previas:

  • Asegurarse de que el código CIL se ha ejecutado completamente y sin errores. De otra forma, el ensamblado que queremos depurar puede no estar disponible en su última versión, sino en la última que se compiló sin errores.
  • Para depurar código remoto, ejecutar Visual Studio siempre como Administrador (con permisos elevados, haciendo click-derecho > Ejecutar como administrador). Si no, más adelante tendremos problemas de permisos.
  • La depuración remota desde Visual Studio debe hacerse en el mismo servidor donde está instalado el AOS, lo que nos obliga indirectamente a utilizar un entorno de desarrollo, ya que esta no es la configuración ideal para un AOS en producción.
  • En la configuración del AOS debe estar activada la opción Enable breakpoints to debug X++ code runing on this server (esto tampoco es nada recomendable en un AOS en producción).
  • Asociar un proceso al AOS para depurar pone el servidor en un estado extremadamente inestable, con un riesgo muy importante de que el servicio se reinicie inesperadamente. Por tanto es muy recomendable utilizar un servidor de desarrollo aislado para no molestar al resto de desarrolladores. Si utilizamos un sólo AOS para todos los desarrolladores, puede ser interesante tener otro AOS para la depuración remota.

Iniciar la depuración remota:

  • Iniciar Visual Studio en el servidor y con permisos elevados.
  • Si no se está mostrando ya, mostrar el Application Explorer (desde el menú Ver), lo que nos muestra el AOS en VS.

Cumulative Update 9 para Microsoft Dynamics AX 2012 R3

Microsoft Dynamics

Ya está disponible la siguiente actualización acumulativa para Microsoft Dynamics AX 2012 R3, la CU9 (6.3.2000.326). Esta actualización está disponible para instalación mediante el módulo Updates de Lifecycle Services, como viene siendo habitual desde la revisión R3. Información sobre las mejoras sobre el proceso de instalación se puede encontrar en la guía de instalación enlazada más abajo.

También se enlaza la página de TechNet que detalla los cambios de esta revisión. A nivel técnico no hay cambios significativos ya que los CU sólo incluyen pequeños cambios funcionales y necesidades específicas para la regulación de cada país. El caso de España, en este parche se incluyen cambios para la emisión de facturas electrónicas a la administración (formato FacturaE, más información aquí), y algunos cambios en el modelo 347 (más información).

La documentación del parche:

Descarga en:

 

 

Microsoft Dynamics ‘AX 7′ / Rainier

La noticia de que existe una próxima versión de Microsoft Dynamics AX (versión 7) y que ésta va a ser una revolución en cuanto a la tecnología que la mueve y la experiencia de usuario no es nueva, lo comentábamos aquí ya en Agosto de 2013. Microsoft lleva comentando el proyecto Rainier varios años en diferentes eventos, pero las noticias interesantes siguen bajo NDA por lo que no se pueden publicar todavía.

Microsoft Dynamics 'AX 7'

Sin embargo, en recientes eventos que se han organizado en torno al producto, como los recientes AXUG Focus 2015 y ASUG Summit y las pasadas Convergence 2015 y Microsoft Dynamics Technical Conference 2015 se han publicado numerosas imágenes (Por ejemplo: 1 2 3 4 5 6 7) que revelan el aspecto que va teniendo el producto y la nueva interfaz, además de algunas ideas (sin mucho detalle concreto) de los cambios en cuanto a la tecnología, arquitectura y herramientas de desarrollo, todas alineadas con el nuevo mantra de Microsoft: Cloud first, Mobile first.