Semantic versioning

With semantic versioning, the version number properties dialog of applications, processes and layouts can be created and edited. It is not created automatically but manually. This makes it easier to identify the version in use.

Open version manager

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

Version manager

The title of the current application, process or layout is also shown here. If versions already exist, they are listed here on the left. The details of the version selected in the left-hand column are displayed in the right-hand area.

Remove version

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

Add version / Edit version / Copy version

Opens a dialog where a new version can be added or the currently selected version can be edited. When copying a version, the same dialog will open so that a new version number can be assigned before copying.

Version

In semantic versioning, version numbers are composed of three digits: Major, Minor and Patch. The format is always as follows: <Major Version>.<Minor Version>.<Patch Version>. Each digit is incremented as follows:

  • Major version

    API-incompatible modifications are published

  • Minor version

    New functions, which are compatible with the current API, are published

  • Patch version

    Modifications consist of API-compatible bug fixes only

Pre-release version

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

Preview

A preview of the version number is shown here.

Details

Date

The version's date can be entered here. If you create a new version, the current date is entered automatically.

System requirements

Minimum Intrexx version

The corresponding Intrexx version can be selected here. You will find all Intrexx version numbers in the list. If you create a new version, the Intrexx version currently installed is entered automatically.

Other requirements

In this field, enter requirements such as database, applications, Connectors or recommended apps (e.g. Intrexx Share for plugins).

Description

A "changelog" can be written here. Enter the new or modified functions of this version here.

Multilingual

Opens a dialog in which the description can be entered in the various portal languages.

Restrict definition of version number

The assignment of version numbers by other users 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" 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, a new version number can be created based on the last version defined by the developer by clicking on "Add version" in the version manager and adding a suffix.

Extension

Enter the extension here.

Callables

The callables

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

are available for semantic versioning. This return an object with the 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

This means, the current version of an application can be displayed in the browser using Velocity, for example:

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

Click here for more information.

More information

Versioning in general

Versioning with Git