03 May 2019

1. XML Schemas - Change of Namespace

All namespace URIs used in the configuration files to reference XSD files have been changed from "techniatranscat.com" to "technia.com".

<tif:Job
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:tif="http://technia.com/TIF/JobCfg"
    xmlns:common="http://technia.com/TIF/Common"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://technia.com/TIF/JobCfg http://products.technia.com/tif/schema/latest/JobCfg.xsd">
</tif:Job>

If you have used XML Schema validation of your configuration files, you can simply do a search/replace in your configuration files to change the URI.

2. Property Files - Macros

The property files used for configuring TIF may contain macros. The macros may reference properties in the same file, system properties and some TIF core properties.

3. Production Mode Setting

A new flag specifying if TIF will be started in production OR development mode have been added. If starting TIF in production mode, some feature like hot-deployment of listeners will be disabled.

Also, the TIF production mode setting will also control the TVC production mode setting unless you have explicitly overridden that.

In the property files, you may use the macros ${tif.developmentMode} and ${tif.productionMode} to resolve the value of the current mode.

The TIF start scripts will look for a ENV variable called PRODUCTION_MODE. If this is present, the value will be used as input for the tif.productionMode parameter.

Unless specified, TIF will start default in production mode.

4. JMS Listener Enhancements

JMS listener is now able to concurrently consume messages from a JMS queue. In practice, each consumer is assigned with separate session running in its own thread.

Furthermore, it is also possible to share the same connection if there are multiple JMS listeners listening to the same destination.

Example below:

<tif:JMSListener
    xmlns:tif="http://technia.com/TIF/JMSListener"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://technia.com/TIF/JMSListener file:///C:/apps/tif-server/modules/enovia/schema/JMSListener.xsd">
    <tif:Name>My JMS Listener</tif:Name>
    <tif:Destination id="my-jms-destination" />
    <tif:Handler className="com.acme.MyJMSListener" />
    <tif:ConsumerCount>2</tif:ConsumerCount> (1)
    <tif:ShareConnection>true</tif:ShareConnection> (2)
</tif:JMSListener>
1 Number of concurrent consumers.
2 Shares connection.

5. LDAP Support - Basic Authentication

Support for authenticating a remote user against LDAP has been added. This feature can be used together with Basic authentication if you want to authenticate the remote user against a LDAP directory rather than against the ENOVIA™ database.

The LDAP authentication is enabled by setting the loginService property for a web application to ldap. See example below:

http.webapp.jaxrs.loginService=ldap
http.webapp.jaxrs.realm=Webservices
You still need to configure a security constraint in the WEB.XML per webapp exactly like before. Just remember that the roles specified there are resolved against the LDAP group membership.

Please read more this document for more information.

6. Hot Deployment of *-Listeners

Some configuration types in TIF corresponds to more complex deployment inside TIF. The configurations in question are listed below.

  • File / Directory Listener

  • JMS Listener

  • IBM MQ Listener

  • AMQP/RabbitMQ Listener

  • Reply Handler

Instances of these configuration types are represented as service activators internally in TIF.

If you add a configuration of such type, a new service activator will be created and made available in TIF.

Same if you remove a configuration of this type, the corresponding service activator will be stopped and removed.

Changing a configuration of this type will, if the service activator is running, cause the service activator to restart with the configuration changes reflected in the service activator.

This feature is per default enabled only when TIF is started in development mode.

7. With Context - Specify Security Context

File/Directory-, JMS-, IBM MQ-, AMQP/RabbitMQ- listeners and Reply Handlers uses a common configuration element for the ENOVIA context handling. This configuration element is called WithContext. As of this release, the WithContext element allows configuration of the ENOVIA/3DExperience security context.

You can either point out a specific security context to be used, or you can specify to use the default security context for the user in question.

Below is an example how to do so.

<WithContext user="integration-user"
    securityContext="Design Engineer.Company Name.GLOBAL" />

Or to use the default security context

<WithContext user="integration-user"
    useDefaultSecurityContext="true" />

8. Encoding in Create/Update Integration via File

Encoding of input and success/error response payload can be optionally defined in the configuration. For example:

<tif:DirectoryListener
    xmlns:tif="http://technia.com/TIF/DirectoryListener"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://technia.com/TIF/DirectoryListener http://products.technia.com/tif/schema/latest/DirectoryListener.xsd">
    <tif:Handler type="CreateUpdateIntegration" />
    ...
    <tif:Arguments>
        <tif:Argument name="inputEncoding" value="UTF-8" />
        <tif:Argument name="outputEncoding" value="UTF-8" />
        ...
    </tif:Arguments>
</tif:DirectoryListener>

9. Extended Logger - XLoggerFactory

As of this release, the SLF4J Extended Logger is part of the TIF server. This is due to avoid issues with 3DSpace JPO’s and classes that utilizes the XLogger classes.

10. Fixed Bugs

Below is the list of fixed bugs as of this release.

Issue No Description

586

Duplicate mail sent on job success.

562

Number format problem in Excel export

592

JAR Exclusion pattern where evaluated on lib directories within the TIF Server install directory.