Skip to main content

Veritran Docs

Versionado y dependencias

En Studio trabajas con un único repositorio de transacciones (global transaction logic), y puedes usar ramas para aplicar los cambios o fixes necesarios para tus transacciones. Al publicar una transacción, los cambios se publicarán en esa rama e impactarán en tu app final solo si esa rama del repositorio está seleccionada como dependencia de tu app. Lee Dependencias para aprender a activar dependencias en tu app.

El comportamiento del versionado de transacciones dependerá de las versiones de Studio y VT-NET que tengas disponibles en tu proyecto.

A partir de Studio 4.2 y VT-NET 1.15.6, la Plataforma Veritran te permite publicar distintas versiones de una transacción en ambientes de desarrollo. Esto es útil para publicar y probar una transacción sin afectar a otros usuarios o versiones.

Además de tener dependencia con VT-NET, hay otras versiones de componentes requeridas para tener esta funcionalidad habilitada en tu ambiente.

Versión de componente

Consola de Middleware 1.15.2.0

Configuration API 1.1.1 (para ambientes con Publish Performance)

Compatibility Agent 1.2.0 (para ambientes con Publish Performance)

Importante

La funcionalidad debe estar habilitada en Middleware y Studio. Si cuentas con las versiones de componentes detalladas en la tabla pero no tienes la última funcionalidad de versionado de transacciones disponible, contáctate con Soporte.

Por ejemplo, un usuario puede necesitar probar la rama hotfix de la transacción 1058 para el producto P1, pero tener esta misma transacción ya está publicada en la rama main. Con esta nueva funcionalidad de versionado, el usuario puede publicar la rama hotfix sin afectar la rama main y la aplicación que la está invocando.

Con estas versiones, existe una correlación entre una rama y un tipo de configuración para que, al publicar e invocar la transacción desde un dispositivo, lea el tipo de configuración y seleccione la rama correspondiente para esa transacción. Para probar e invocar la transacción correcta, necesitas asegurarte de que el target de tu app invoque la rama que quieres probar (por ejemplo, en el caso anterior, el target debería apuntar a la rama hotfix para usar esas transacciones con sus cambios).

Para verificar que tu target esté apuntando a la rama de transacciones correcta, sigue estos pasos:

En Studio:

  1. Navega a la overview de tu app, ve a Settings en el menú superior y haz clic en Dependencies.

  2. Busca el repositorio de transacciones en el listado y selecciona la rama que quieres probar. Para más información sobre este paso, lee Dependencias.

En tu ambiente de desarrollo de Middleware:

  1. Ve al menú de producto y a User Application > Configuration management.

  2. Busca tu target en la columna Type.

  3. En la columna Transaction Branch, verás la rama que está invocando la app. Verifica que la rama coincida con la seleccionada en Studio.

Las transacciones se ejecutan y publican en el middleware, y solo una versión de esa transacción puede estar publicada por código de producto. Por ejemplo, si la transacción 1058 con código de producto 1 está publicada en la rama main, publicar esa misma transacción (1058+P1) pero de la rama develop cambiará la transacción de la rama main al estado "pending publication" o pendiente y la sobreescribirá en la publicación. No se puede publicar dos transacciones con el mismo código de transacción y producto a la vez. Esta combinación de código de transacción y código de producto es conocida como key.

Sugerencia

Al publicar tu transacción para probarla o al dejar lista tu implementación, asegúrate de encender el campo Publish "pending publication" transactions para publicar todas las transacciones que estés utilizando en tu app. De esta forma, evitas publicar una app con transacciones que, debido al versionado, hayan cambiado el estado a pending publication.

generatenpublish.png
Errores de publicación

Las publicaciones fallan cuando hay varias ramas del repositorio de transacciones vinculadas a la misma app. Por ejemplo, si una app está vinculada a la rama main del repositorio de transacciones, y esa app está utilizando un módulo que a su vez está vinculado a la rama develop del repositorio, la publicación fallará. La imagen a continuación muestra este ejemplo en un diagrama.

publicationerror.png