USoft Delivery Manager and .Git

Previous Next

The purpose and functionality of Delivery Manager has overlaps with those of generic version management tools for software development, such as .Git. This is especially true in the area of automatic comparisons between different versions of the same deliverables. But there are also important differences. In particular,

Generic version management tools concentrate on file-based code deliverables, but most USoft application deliverables are in database records.

Delivery Manager is equipped to automate USoft standard development operations such as synchronising modules and generating a "create-tables" SQL script from a USoft Definer repository.

For controlled development and delivery, it is possible to combine Delivery Manager and a version management tool such as .Git. To make this a success, you need to make a number of architecture decisions.

When you combine with .Git, a logical architecture could be to define as Root Folder in Delivery Manager a local filepath such as 'c:\USoft\application'. In such a setup, each developer would call Delivery Manager's Release actions to write deliverables to a private location. Uploading the results to a shared development tree is a separate next step, in which they are pushes to a remote .Git tree. (You must accept, in this setup, that all development machines use the same local filepath.)

This contrasts with settings where Delivery Manager is used without a version management tool. In such settings, a logical way of working is to set the Root Folder to a filepath that leads to a shared location on the file system.

In a Delivery Manager context, an advantage of a version management tool like .Git is that it makes fine-grained differences between deliverables traceable and performs version control on these differences. Examples include differences in lines of code in .js and .css files in a USoft web publication; differences in .NET RDMI component code; and differences in lines of Java code in a server defined in USoft Service Definer.

Because Delivery Manager is itself specialised in releasing repository content, a .Git server combined with Delivery Manager does not typically have the distribution of new code to other developers as a primary goal. However, there are exceptions, for example the contents of an Alternative Template Folder (as used by USoft Web Designer), which contains file-based sources that are ideally placed under a .Git server from where an individual developer could pull them to his or her local development environment prior to a USoft Web Designer session.