Upgrade

Older versions

The oldest version from which an upgrade to Intrexx Version 18.03 can be made is Intrexx 6.0. Older versions can only be updated in steps:

Upgrade to Intrexx Version 18.03

As a result of natural version-related changes, new features and controls, and a series of optimizations, the Development and Quality Assurance departments of United Planet placed special emphasis on ensuring a seamless and easy switchover to the new version. A comprehensive series of tests simulated and successfully performed the most varied update scenarios. We also engaged in a very widely distributed beta test, which involved not only our partners, but numerous end customers as well. All of our knowledge and experience gained in this way has flowed together into this document, which should help you in performing your update.

Important: Before updating, make sure you create a backup of the database and file system! Also, for the duration of the update process, deactivate any virus scanners installed on the system. Please note that a portal export alone does not represent a sufficient backup.

If, due to unforeseen reasons, the update is unsuccessful (for example, because of necessary customizations to Java classes that you have received from your partner or a software provider for special requirements), this allows you to return to the previous version without difficulty. As a first step, please perform the update on a test system, not directly within your productive environment. While updating, please make sure that you select the correct Intrexx program directory during update installation. If you wish to perform a new installation, previously installed versions of Intrexx must be removed in advance. After successfully performing the update, test that your portal functions correctly.

API

The deprecated mode in DbQuery has been removed. This was introduced in May 2009 for Intrexx 5 in order to ensure compatibility with previous versions.
def l_rs = l_stmt.executeQuery()

while (l_rs.next())
    l_rs.getStringValue(1)

.value(int) -> getStringValue(int), getIntValue(int), ....

.prepareDeprecated(....) -> prepare(....)
The method prepareDeprecated can theoretically be replaced with the prepare method. This can, however, behave slightly differently under certain circumstances, with the return of Boolean-values.

The old deprecated methods from IFileValueHolder have been removed and must be replaced with the following:

getContentType

replace with getFirstFile().getContentType()

getPath()

replace with getFirstFile().getPath()

getFileName()

replace with getFirstFile().getFileName()

SQL Server settings

To avoid any sporadic deadlocks, any existing portal databases should be switched to Microsoft SQL server and to the snapshot-based read-committed mode, unless this is already done by the update itself. More information on this topic can be found in our knowledgebase at help.unitedplanet.com in post no. 1967 MSSQL database adjustment SET READ_COMMITTED_SNAPSHOT ON;

IMAP event sources

BUntil now, when configuring IMAP event sources for STARTTLS, it was necessary to set the property mail.imap.starttls.enable=true. In Intrexx Version 18.03 the property will automatically be set from the server side to true, unless it has already been set manually (true or false). In addition, the following property:
mail.imap.starttls.required=true
will also be automatically set from the server side if it has not already been set manually. The reason for the above settings is that in rare cases, the choice of STARTTLS can lead to problems when updating to Intrexx Version 18.03. These settings will prevent a fallback to a non-secure connection. If you already manually changed the settings of mail.imap.starttls.enable and mail.imap.starttls.required, the settings will not be overwritten from the server side. Manually changes can be made at any time before or after updating.

General (WEB)

Access via JS | VTL to form-information: From Intrexx Version 18.03 onwards, the linking of an input field to a form will be created through the HTML(5) attribute form. For Microsoft Internet Explorer the corresponding polyfills are provided. An Intrexx-generic input element, that has been added to a form, will not automatically be included when posting and forwarding the page. The following describes how the form of an element can be determined.

Javascript

getFormObjectByElement(HTML-Element)
This code will give you the UP object of the enclosed form:
var inp = document.createElement("input");
inp.setAttribute("form", getFormObjectByElement(HTML-Element).id)

Velocity

#writeCurrentFormId()
This code will give you the ID of the enclosed form:
<input name="test" value="test" form="#writeCurrentFormId()"/>
$AppWalker is deprecated. All code that uses $AppWalker should be modified. Further information on this topic can be found at: http://docs.intrexx.com/intrexx/version/8100/api/velocity/jdk/?de/uplanet/lucy/server/appservice/ApplicationWalker.html.

Apache Solr

The switch to Apache Solr will cause a re-indexing of your data. This may take some time to complete. As the portal export no longer includes the index data of your search configuration, the re-indexing will run automatically after importing a portal.