Semantic Versioning

With semantic versioning, the version number can be created and edited in the Properties dialog box for applications, processes, and layouts. It is not generated automatically but is created manually, which makes it easier to identify which version is in use.

Open the Version Manager

Opens a dialog box where version numbers can be created and managed.

Version Manager

The title of the currently open application, process, or layout is displayed here. If versions are already available, they are listed here on the left. The right-hand pane displays the details of the version selected in the left column.

Remove Version

Removes the version currently selected in the "Version" column.

/ Edit version / Copy version

Opens a dialog box where you can add a new version or edit the currently selected version. When copying a version, the dialog box also opens so that a new version number can be assigned before copying.

Version

In semantic versioning, version numbers consist of three parts: major, minor, and patch. It always follows the format <Major Version>.<Minor Version>.<Patch Version>. The number of positions in each category should be increased as follows:

  • Major Version

    Changes that are incompatible with the API will be announced.

  • Minor Version

    New features that are compatible with the existing API will be released.

  • Patch Version

    The changes consist solely of API-compatible bug fixes.

Pre-release version

With this setting, suffixes for pre-release versions can be appended to the version number.

Preview

Here is a preview of the version number.

Details

Date

You can enter the version date here. When you create a new version, the current date is already entered.

System Requirements

Minimum Intrexx Version

You can select the appropriate Intrexx version here. In this list, you'll find all Intrexx version numbers. When you create a new version, the currently installed version is already pre-filled.

Additional Requirements

Enter any prerequisites here, such as databases, applications, connectors, or recommended apps (e.g., Intrexx Share for plugins).

Description

You can enter a changelog here. List the new or updated features in this version here.

Multilingualism

Opens a dialog box in each case where the description can be entered in the various portal languages.

Restrict the Assignment of Version Numbers

The ability of other users to assign version numbers can be restricted.

To do this, close the Portal Manager.

Open the "version.xml" file in the portal directory "internal/application/store/<GUID of the application / process / layout>" in a text editor.

            <?xml version="1.0" encoding="UTF-8"?>
<v:versions xmlns:v="https://schemas.unitedplanet.de/intrexx/2016/versionmanager/versioninfo/" lock="false">
	<v:version guid="83F4893FA60DD288DD89C3240B5CA70B83E0ED7E" major="1" minor="0" patch="0" creationTime="1501153173848">
		<v:property name="date">2023-10-25T22:00:00Z</v:property>        
		<v:property name="minProductVersion">11000000</v:property>        
		<v:property name="additionalRequirements">            
			<v:text>
				<v:item lang="de"/>
				<v:item lang="en"/>
			</v:text>
		</v:property>
		<v:property name="description">            
			<v:text>
				<v:item lang="de"/>                
				<v:item lang="en"/>            
			</v:text>        
		</v:property>    
	</v:version>
</v:versions>

        

Replace "lock="false"" with "lock="true"" here and save the file.

            <?xml version="1.0" encoding="UTF-8"?>
<v:versions xmlns:v="https://schemas.unitedplanet.de/intrexx/2016/versionmanager/versioninfo/" lock="true">

        

If a developer has restricted the assignment of version numbers, clicking "Add Version" at in the Version Manager will create a new version number based on the version most recently specified by the developer by appending a suffix to it.

Expansion

Enter the additional information here.

Callables

The following callables are available for semantic versioning

            $Portal.getApplicationVersionInformation("<appGuid>"))
$Portal.getWorkflowVersionInformation("<wfGuid>"))
$Portal.getLayoutVersionInformation("<layoutDirName>"))

        

that return an object of type "de.uplanet.lucy.server.auxiliaries.versionmanager.VCVersionInfo". "VCVersionInfo" has the following methods:

  • getVersions(): List<VCVersionItem>

  • getCurrentVersion(): VCVersionItem

"VCVersionItem" has the following methods:

  • getMajorVersion(): int

  • getMinorVersion(): int

  • getPatchVersion(): int

  • getPreReleaseVersion(): String

  • getCustomVersion(): String

  • getDate(): Date

  • getMinProductVersion(): String

  • getAdditionalRequirements(): Map<String, String>

  • getDescriptions(): Map<String, String>

  • getFormattedVersion(): String

For example, Velocity can be used to display the current version of an application in the browser:

            $Portal.getApplicationVersionInformation("<GUID der Applikation>").getCurrentVersion().getFormattedVersion()
        

You can find information on this topic here.

More Information

Versioning in General

Version Control with Git