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.