06 May 2016

1. General

This release contains many new features and bug fixes.

As of this release, TIF do not include the Apache Active MQ component or any JAR files related to this component.

If you are integrating to Active MQ, please put the necessary client JAR files below ${TIF_ROOT}/lib/custom.

2. New features

2.1. Configurable REST Service - Checkout File

A new configurable REST service type has been added in order to support extracting files from within ENOVIA.

Read more about this feature here.

2.2. Configurable REST Service - Checkin File

A new configurable REST service type has been added in order to support check-in files into ENOVIA.

Read more about this feature here.

2.3. MQL Fragment with ${OBJECTID} Macro

The MQL fragment supports having macro ${OBJECTID} to allow referring to the context object.

Example:

<MQLContent xmlOutput="false" ...>
pri bus ${OBJECTID} select ...
</MQLContent>

2.4. Watermarking - Parameterized Text

The configuration specifying the watermark text to be applied may contain macros that are resolved dynamically.

The same applies for saving/check-in of the file.

Example below:

<Job>
    ...
    <FileModifier>
        ...
        <PDFWatermark>
            <Definition>
                <Text>${job.param.FOO} ${to.from.name}, STATUS: ${to.from.current}, DATE: ${CURRENT_DATE:dd-MM-yyyy}, TIME: ${CURRENT_DATE:HH:mm}</Text>(1)
                <FontName>Verdana</FontName>
                <FontSize>12</FontSize>
                <FontColor>rgb(120,45,10)</FontColor>
                <TextRotation>-90</TextRotation>
                <TextTransparency>100</TextTransparency>
                <StartX>100</StartX>
                <StartY>100</StartY>
                <Count>1</Count>
            </Definition>
            <Checkin fileName="Watermarked_${current_date}_${job.param.FOO}_${name}.${ext}.pdf"/>(2)
        </PDFWatermark>
    </FileModifier>
</Job>
1 Here we illustrate both how to use parameters provided into the job and also select statements that are applied onto the current object. Note also the usage of the date/time stamps.
2 Checkin filename also allows using macros

2.5. Conditionally Include / Exclude File from File Filter

Possibility to configure on the file-filter that a file should be excluded or included based upon the presence of a parameters. The parameters are resolved from the originating job.

The if and unless attributes accepts comma separated list of parameter names that must (if) or must not (unless) be present in order for the filter to accept the file.

Example:

 <Job>
     <FileModifier>
         <FileFilter
             if="special.condition"
             unless="another.condition" />

2.6. Watermarking Improvements

Better support for configuring the anchor positions of the text and to avoid overlapping of the text.

2.7. Admin UI - Display job parameters

Job parameters are now displayed in the Admin UI on the Job view page.

2.8. Admin UI - Flag jobs as Completed

Jobs with errors are presented at the start page of the TIF Admin UI. When the administrator have resolved the problem there was earlier no way to flag the erroneous job as "handled".

Marking jobs as handled can be done in two ways:

  • When viewing job details via the "Actions" menu

  • When viewing list of jobs of a service via the "Actions" menu.

This would require the user to select one or more jobs in state Error.

image
Figure 1. Admin UI, resolving errors

2.9. Admin UI - View Destination

From the Admin UI it is possible to get more insight in a particular destination.

2.10. Default Job Poll Strategy

By default, TIF will use expand-with-iterator to obtain Job objects from the ENOVIA database. However, if TIF is running against an ENOVIA instance that is using SQL Server, TIF should not use this approach due to issues in the ENOVIA codebase. Instead, TIF will try to detect SQL Server and use expand-select instead.

It is however possible to configure this manually wihtin ${TIF_HOME}/modules/enovia/etc/module.custom.properties like shown in the example below:

defaultQueuePollStrategy=expand-select | expansion-iterator | mql | query
# Can be configured per queue also
defaultQueueListener.pollStrategy=expand-select | expansion-iterator | mql | query

3. Bugs fixed

SOAP Service Compile Error

Compilation failure of service having container managed credentials due to JAR change

Payload - Default XML Format

When using <XMLSpec> on the Payload to customize the XML format, the ISO values for dates were not included if the xml-spec was configured to omit the value element.

Payload - Default XML Format

The sz attribute on the cell gives information about how many values were obtained from the DB.

Excel to PDF Fails

Excel documents containing hidden sheets failed to be converted to PDF

Stuck job in queue

In some rare cases, jobs were stuck and never handled correctly.

Query Limit displayed in UI when creating jobs

When a job was triggered manually, an irrelevant warning message about a query limit sometimes pops up for the user.

4. Changes

  • Active MQ no longer part of TIF see note above