20 May 2022

1. Admin UI - Role Based Access

As of this release you can disallow certain functionality in the administration UI based on role access.

The available roles an administration user can have are listed in the table below:

Role Name Parent Role Description

Job Data Viewer

Can view job data, job-services and job statistics

Job Data Editor

Job Data Viewer

Can delete, resend, resolve jobs.

Service Editor

Edit service settings etc.

App Event Viewer

View Application Events

App Event Editor

App Event Viewer

Can delete app events

Job Queue Viewer

Can view job queues

Job Queue Editor

Job Queue Viewer

Can edit job queue settings such as thread count.

Instance Viewer

Can view:

  • Runtime log levels

  • Performance info

  • System thread info

  • Server configurations

  • Query mode

  • Log files

Instance Editor

Instance Viewer

Can:

  • Update Runtime log levels

  • Change Query Mode

  • Trigger re-index of data

Scheduled Job Viewer

Can view the scheduled jobs and the status/logs from them

Scheduled Job Editor

Scheduled Job Viewer

Can:

  • Inactivate scheduled job

  • Start a scheduled job manually

Configuration Viewer

Can view integration configurations

Configuration Editor

Configuration Viewer

Can edit integration configurations

Service Activator Viewer

Can view the service activators

Service Activator Editor

Service Activator Viewer

Can Start/Stop a service activator

User Viewer

Can view the admin users in the system

User Editor

User Viewer

Can create and edit users.

After upgrading to this release, all current administration users will initially be assigned all current roles.

From the User management page in the Administration UI you can inspect the role assignments as well as update the assignments.

image
Figure 1. Admin user with role information
A user with role user-editor can not assign a user a role, which the current user lacks.

2. Payload Generation with Multiple Transformers

Within the payload definition, you can now have multiple transformers defined.

The transformers will be invoked in the order they are defined. The output from the previous transformer will be used as input for the next transformer.

This can make complex transformation easier to perform, especially if you want to generate JSON output and get better control over the output. Also, it will make it easier to split and reuse stylesheets in an easier way.

Example:

<Payload>
    <TableContent outerElement="EBOM">
        <DataSet>BOM.xml</DataSet>
        <Table>PartBasic.xml</Table>
    </TableContent>
    <TableContent outerElement="Documents">
        <DataSet>GetReleasedDocs.xml</DataSet>
        <Table>DocumentInfo.xml</Table>
    </TableContent>
    <Transformer xslt="Step1.xslt"/>
    <Transformer xslt="Step2.xslt"/>
    <Transformer type="json" />
</Payload>

3. Create Update Integration from Directory Listener

When invoking the create/update integration via a directory listener, there is a new argument available for controlling the processing of the file.

This argument is called updateSourceFile and per default it is TRUE to preserve same behavior as in earlier releases. However, setting this to FALSE will have the effect that the status (or output) from the create / update integration will not be propagated into the source file, instead it will then be available from the admin UI.

4. Launch External Process

The job-type "Launch External Process" have got some useful improvements:

  • Allow using standard job-macros in several places of the configuration

    • E.g. same macros as used in other places.

  • Better control of the generated ZIP file regarding paths to files within the ZIP.

  • Allow returning a single file without wrapping it in a ZIP file

  • Allow setting ENV variables prior to launching the process.

  • Allow setting job-parameters as a preparation step

    • Makes it easy to grab data from the source object and simply pass as argument to the external process.

For more information please see this document.

5. Credentials - Custom Context Provider

The <Credentials> configuration used for example within the configurable REST services allows overriding how the creation of the ENOVIA/3DExperience Context connection is done.

You can use such Context handler also in combination with container managed security if wanted.

Please read more in this document.

6. Mail API Dependencies

In order to not conflict with Mail related JAR files from for the ENOVIA/3DExperience application, the internal mail handling in TIF have been restructured. This also have lead to some minor changes to the internal APIs around mail-sending.

This should not have any impact on normal usage of TIF, except if you have built custom code utilizing the internal Mail API within TIF.

However, you should when upgrading TIF ensure that you don’t do the upgrade into an existing TIF installation, since that will cause the old JAR files to be present within the wrong directory (lib). The preferred upgrade approach is to install TIF into a new clean directory, and after that move your configurations/settings into the new directory.

7. Export Bookmarks from Word Document to PDF

There is a new option to export bookmarks when converting Microsoft Word files to PDF.

For example:

<CreatePDF>
    <WordOptions>
        <Bookmarks>headings</Bookmarks> (1)
    </WordOptions>
</CreatePDF>
1 Creates bookmarks using headings in Word document. The element also accepts value word that instructs to use Word bookmarks instead.

8. Fixed Bugs

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

Issue No Description

879

Fixes an issue with the directory listener not restarting correctly when for example a drive becomes unavailable or when a network drive is not available when TIF starts.

884

If a configurable REST service only have one operation, this will be used regardless of what HTTP method were used for the request. This could be useful in cases when you invoke a READ operation using the http POST verb.

892

Address conflict with Mail related JAR files.

900

Address limitation in the Jetty Http client used for outbound HTTP calls, which occurs when the response content-length exceeds 2mb.

904

Admin UI not showing total payload storage size