24 February 2024
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. |
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.
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
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.
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.