Skip to main content

Veritran Docs

Versioning and Dependencies

In Studio, you work with a unique transactions repository (global transaction logic), which can be branched to make the necessary changes or fixes to your transactions. When publishing a transaction, you will publish changes made on that branch and will impact on your app if that transaction repository's branch is selected as your app's dependency. Read Dependencies to read more about activating dependencies for your app.

Transactions versioning behaviour will depend on the Studio and VT-NET versions available in your project.

As of Studio 4.2 and VT-NET 1.15.1.6, the Veritran Platform allows you to publish different versions of the same transaction in DEV environments, which is useful to publish and test a transaction without affecting other users and versions.

Besides dependency with the VT-NET version, there are other component versions required to have this functionality enabled in your environment:

Component version

Middleware Console 1.15.2.0

Configuration API 1.1.1 (for environments with Publish Performance)

Compatibility Agent 1.2.0 (for environments with Publish Performance users)

Important

The functionality must be enabled in Middleware and Studio. If you have the component versions detailed above and still do not have the latest transactions versioning feature available, contact Support.

For example, a user might need to test transaction 1058 for P1 on the hotfix branch, but the same transaction on the main branch is already published. With the latest versioning feature, the user can now publish the hotfix branch without affecting the main branch and the application that is consuming it.

With this feature, there is a correlation between a branch and a configuration type, so when the transaction is published and invoked from a device, it reads the configuration type and selects the corresponding branch for that transaction. To test and invoke the correct transaction, you need to make sure the application target is invoking the transaction branch you want to test (as in the example above, the app target should be pointing to the hotfix branch to use transactions on the hotfix branch and their changes).

To verify your app target is consuming the correct transaction branch, follow these steps:

In Studio:

  1. While navigating your app’s overview, go to Settings in the top menu and click Dependencies.

  2. Look for the transaction repository in the list and select the transactions’ branch you want to test. For more information, refer to Dependencies.

In your Middleware DEV environment:

  1. Go to the Product menu, and to User Application > Configuration management.

  2. Find your app’s target on the Type column.

  3. On the Transaction Branch column, you will see the branch the app is invoking. Verify this information matches what is set in Studio.

Transactions are executed and published in the middleware, and only one version of that transaction can be published per product code. For example, if transaction 1058 with product code 1 from the main branch is already published, publishing that same transaction from a development branch (also 1058 + P1) will change the transaction from the main branch to the pending publication status and override it in the publication. Two transactions with the same transaction and product code (combination known as key) cannot be published simultaneously in the middleware.

Tip

When publishing your app to test it or when setting an implementation, make sure to turn the Publish "pending publication" transactions toggle switch on to publish all transactions that are in use in your app. This way, you can avoid publishing your app with transactions that, due to versioning, might have been changed to pending publication.

generatenpublish.png
Publication Errors

Publications fail when there are various branches of the global transaction logic repository linked in one app. For example, if one main app has the main branch of the global transaction logic linked, and that same app is linking to a module that has the development branch of the transaction's repository linked, the publication will fail. See the image below for a diagram of this example:

publicationerror.png