TIF 2024.1.0 Release Information 2024-03-12

IMPORTANT

This release of TIF includes support for the latest version of the 3DEXPERIENCE Platform, e.g. the 2024x FD01 version.

The most notably change in that release of the 3DEXPERIENCE platform, is that it uses the latest version of TomEE and thus uses the latest Java EE version. That means it uses the classes from the "jakarta" namespace instead of as earlier the "javax" namespace. This in turn causes a number of changes in TIF that we had to handle.

Those changes are summarized below:

  • TIF requires Java 11

    • This is the lowest version required to run TIF with

  • TIF ENOVIA Client

    • Installers are, due to this change, removed and the client is distributed as an ZIP archive

    • Comes in two flavors, one for the Jakarta namespace and one for the Javax namespace

      • If you are using an older version of 3DEXPERIENCE/ENOVIA, use the archive called tif-client-javax.zip

    • The TIF schema is provided as a plain MQL script part of the ZIP archive.

      • To install the TIF Schema, just run the program from an MQL prompt.

    • The other part of the ZIP archive are the artifacts part of the 3DSpace application

      • These files are simply copied to the 'staging' or the 'distrib' folder of your 3DSpace/ENOVIA installation.

  • TIF Server

    • Per default, the TIF server operates in the "javax" mode.

    • If you are using the latest 3DEXPERIENCE platform and need to use the "jakarta" mode

      • This is configured via a property called enovia.j2ee.mode within the module.properties file.

If you are using a higher version of Java than 11, then some features are not available in TIF such as the Nashorn scripting engine that allows to use some code developed in JavaScript.

Configuring the Http Client

The HTTP client that is used when transferring the payload data from a job execution to an HTTP destination can now be configured better via the module.properties file.

Earlier, the configuration of the HttpClient were made in a spring-configuration.xml file part of the JAR file thus making it difficult to change some of the behavior. Now, the properties are easily changed via using a custom module.properties file.

Enabling HTTP Access Log / Request Log

The embedded Jetty HTTP engine can be configured to generate a request-log/access-log. Per default, this feature is disabled, but can easily be enabled via the setting http.request-log.enabled=true.

The log files are stored inside the $\{tif.home}/<node-id>/<instance-id>/logs directory

Http with Basic Authentication

As of this release, when using Basic Authentication on the HttpClient; it will use preemptive authentication per default. Earlier you had to configure the preempt="true" attribute on the <Authentication> element to get this behavior.

Elastic Search - Track Total Size

Calculating the total size of a query is expensive for Elastic Search for hits greater than 10,000 items. Therefor the result from Elastic regarding the toal-hit count is not exact per default when the hits exceeds this limit.

If your query result often exceeds this limit, and you need to know the exact hit count - there is now a configuration option in TIF, which if set to true, will be sent to Elastic Search to request calculation of the total hit count. This will of course add some extra load on the Elastic server if used.

The property is named as elasticSearch.trackTotalHits and is set in the custom module.properties file.