# Expere Engine Change Log

## Expere Engine: Enhanced logging for caching and file system repository

- Type: Enhancement
- Reference: PBI 381741
- Compliance Impact: This enhancement is not a compliance or regulatory issue.
- Documentation: No document impact.

Logging has been enhanced for the caching and file system repository to help track the progress of requests; these enhancements include the RequestID, OrgID, and PackageID. This enhancement is also a result of the changes made in PBI 382041 below.

Note: This change only impacts clients using the File System.

## Expere Engine: Improved File System indexing

- Type: Enhancement
- Reference: PBI 382041
- Compliance Impact: This enhancement is not a compliance or regulatory issue.
- Documentation: No document impact.

Changes were made to the file system repository to make the indexing process more efficient.

Note: This change only impacts clients using the File System.

## Expere Engine: eSignature and AcroForm fields enhanced

- Type: Enhancement
- Reference: PBI 379704, 379926
- Compliance Impact: This enhancement is not a compliance or regulatory issue.
- Documentation: Using eSignature and Acroform fields Select And Generate, Generate

Previously, users could not enable or disable eSignatures or AcroForm fields for transactions.

Users can now pass eSignature and Acroform values in the AncillaryOutput of a SelectAndGenerate or Generate request. For detailed information on enabling or disabling eSignature or Acroforms, see Using eSignature and Acroform fields.Select And Generate, and Generate.

## Expere Engine: Enhanced logging for caching and file system repository

- Type: Enhancement
- Reference: PBI 381741
- Compliance Impact: This enhancement is not a compliance or regulatory issue.
- Documentation: No document impact.

Logging has been enhanced for the caching and file system repository to help track the progress of requests; these enhancements include the RequestID, OrgID, and PackageID. This enhancement is also a result of the changes made in PBI 382041 below.

Note: This change only impacts clients using the File System.

## Expere Engine: Improved File System indexing

- Type: Enhancement
- Reference: PBI 382041
- Compliance Impact: This enhancement is not a compliance or regulatory issue.
- Documentation: No document impact.

Changes were made to the file system repository to make the indexing process more efficient.

Note: This change only impacts clients using the File System.

## Enhancement to PDFs with E-signatures

- Type: Enhancement
- Reference: PBI 374576
- Compliance Impacts: This change is a compliance or regulatory issue.
- Documentation: No document impact.

An issue had been identified with certain PDF viewers and e-signatures. Specifically, documents with e-signatures turned on but not captured, would display, and sometimes print a box around the signature field.

This has been corrected; e-signature capable documents, where an e-signature has not been captured, will no longer display or print a box around the signature field.

Note: This was not a common issue and would only occur with specific PDF viewers. Adobe did not produce this issue.
The effective date for all products within the scope of this document for this release is November 3, 2015. Please verify that you are using Expere version 2015.2.3.

## Updated LTB Font

- Reference: PBI 340703
- Compliance Impacts: This enhancement is not a compliance or regulatory issue.
- Documentation: No document impact.

The LTB font included in the Abyss DLL file has been updated. Now, PDFs with the font embedded will show the correct font when editing the fields.

Important: This feature requires an Expere Engine update.

## Large document loading issue resolved for file system users

- Reference: PBI 341163
- Compliance Impacts: This defect is not a compliance or regulatory issue.
- Documentation: No document impact.

For users who store content in a file system, documents that contained several images rendered at a slow rate when they were not in the cache. Research indicated that the FileSystemImageResolver was not function correctly.

These issues have been resolved; documents containing several images load promptly when the cache is cleared or when using a new library.

Important: This feature requires an Expere Engine update.

## Expere Stylesheet Caching enhanced

- Reference: PBI 345519
- Compliance Impacts: This enhancement is not a compliance or regulatory issue.
- Documentation: No document impact.

In a previous iteration, a workaround was created to temporarily resolve a properties.xsl issue that impacted Document Generation Services (Workaround created for properties.xsl issue). The incorrect properties.xsl was used which caused erratic formatting on documents and removed the org information for cached stylesheet.

Enhancements have been made to remove the logic that stripped the cached stylesheet of its org information. As a result, the updated stylesheets no longer appear identical to the cached stylesheets, and the formatting issues have been addressed.

Important: This feature requires an Expere Engine update.

## Deletion and Recreation of .FOP Folder Resolved

- Reference: PBI 335888
- Compliance Impacts: This defect is not a compliance or regulatory issue.
- Documentation: No impact to documentation.

This issue is only applicable to customers who use IBM WebSphere Application Server. Apache FOP uses a folder called .fop to store font information. The .fop folder is stored at the location configured in ehcache.xml as the diskStore path. If new content is loaded and the Expere cache is cleared it is possible for the updating of this .fop folder to get out of sync with different threads trying to update it at the same time. In some cases this resulted in Apache FOP falling back on its default font of “Times”. The most obvious way to catch this issue was the checkboxes were missing from the forms. As a workaround it was possible to prevent this by restarting the WebSphere server after clearing the Expere cache.

Code changes have been made to make the management of the .fop folder thread safe, and to only delete and recreate the .fop folder when the FontConfigCache entry was cleared. This eliminates the need to restart WebSphere to prevent this issue.

Important: This feature requires an Expere Engine update.

## Alphabetization enhanced for TRID documents

- Reference: PBI 338586
- Compliance Impacts: This enhancement is a compliance or regulatory issue.
- Documentation: No document impact.

An issue has been identified in Expere that may affect customers using TILA-RESPA Integrated Disclosures documents. Expere uses a method to alphabetize that is “case sensitive.”

This issue could be seen in TRID documents where data is expected to be alphabetized. Expere prioritizes the ordering of capital letters (A,B,C, D, etc) before lower case (a, b, c, d, etc).

See Appendix A for the current sorting issue.

See Appendix B for an alternate solution.

Planned Resolution: Wolters Kluwer Financial Services is addressing this issue; we will be updating the 2015.2 Expere Engine Release to use “case insensitive” sorting. See Effective Date for release date information.

Solution: Expere will use the "case insensitive" method to alphabetize and will no longer prioritize capital letters before lower case letters.

See Appendix C for the updated solution.

Appendix A: Below is an example of how Expere currently sorts fees that include words that vary in presentation (with some fees upper case, lower case, mix, or listed as an acronym). Unsorted sample words (note the case of the letters):

- BEE
- Aardvark
- Bear
- ANT
- Bug
- AARdvark
- animal
- bird
- bear

Expere currently would sort the words in this order:

- AARdvark
- ANT
- Aardvark
- animal
- BEE
- Bear
- Bug
- bear
- bird

Sort explanation: If two or more words share the same first letter with the same case, it compares the subsequent letters and compares case. In the case of "ANT" versus "Aardvark", "ANT" came first because capital letters take priority over the letter's position in the alphabet. If the comparison was "ANT" versus "AARdvark", then "AARdvark" would appear before "ANT" because "AAR" would come before "ANT" when comparing alphabetically and with case.

Expere looks at each letter from left to right:

A | A | R | d | v | a | r | k | A upper case comes before N lower case
A | N | T |  |  |  |  |  | N upper case comes before a lower case
A | a | r | d | v | a | r | k | a lower case come after N upper case
a | n | i | m | a | l |  |  | a lower case comes after A upper case
B | E | E |  |  |  |  |  | E upper case comes before e lower case
B | e | a | r |  |  |  |  | e lower case comes before u lower case
B | u | g |  |  |  |  |  | u lower case comes after e lower case
b | e | a | r |  |  |  |  | b lower case comes after B upper case
b | i | r | d |  |  |  |  | i lower case comes after e lower case

Appendix B: To minimize alphabetization concerns, follow these guidelines:

- Only have the first letter of each fee uppercase
- If you have an acronym, spell it out; when using acronyms, consider the overall space constraints of the field.
- Use all lowercase
- Use all uppercase
- Note also that numeric and special characters can also impact the sorting order; for example:
  - Numeric characters (e.g. 1, 2, 3, 4) take precedence over alpha characters (e.g. A, B, C or a, b, c)
  - Special characters (e.g. !, #, %, $, &, *) also affect alphabetizing in different ways depending on the character type.
    - Tip: If you use special characters, make sure your spacing is consistent
    - For example: Title – Fee, Title- A Fee, Title- Fee

A | A | R | d | v | a | r | k |  |  |  |  | A upper case comes before N lower case
A | N | T |  |  |  |  |  |  |  |  |  | N upper case comes before a lower case
A | a | r | d | v | a | r | k |  |  |  |  | a lower case come after N upper case
a | n | i | m | a | l |  |  |  |  |  |  | a lower case comes after A upper case
B | E | E |  |  |  |  |  |  |  |  |  | E upper case comes before e lower case
B | e | a | r |  |  |  |  |  |  |  |  | e lower case comes before u lower case
B | u | g |  |  |  |  |  |  |  |  |  | u lower case comes after e lower case
b | e | a | r |  |  |  |  |  |  |  |  | b lower case comes after B upper case
b | i | r | d |  |  |  |  |  |  |  |  | i lower case comes after e lower case
T | i | t | l | e |  | - |  | F | e |  | e | Space comes before a dash
T | i | t | l | e | - |  | A |  | F | e | e |
T | i | t | l | e | - |  | F | e | e |  |  |

Appendix C: Once the hotfix engine is deployed Expere will sort the words in the following order:

- Aardvark (First in first out: Aardvark was listed originally before AARdvark)
- AARdvark
- animal
- ANT
- Bear
- bear
- BEE
- bird
- Bug

A | a | r | d | v | a | r | d | First in first out: Aardvark was listed originally before AARdvark
A | A | R | d | v | a | r | d |
a | n | i | m | a | l |  |  |
A | N | T |  |  |  |  |  | A is before N, no case consideration
B | e | a | r |  |  |  |  |
b | e | a | r |  |  |  |  | First in first out: Bear was listed originally before bear
B | E | E |  |  |  |  |  |
B | i | r | d |  |  |  |  | i is after E, no case consideration
B | u | g |  |  |  |  |  |

Side by side example:

Unsorted sample words (note the case of the letters) | Currently, Expere sorts the words in a "case sensative" order | Plan to change Expere sorts the words in a “case insensitive” (in 2015.2.2. hotfix)
BEE Aardvark Bear ANT Bug AARdvark bear bird animal | AARdvark ANT Aardvark animal BEE Bear Bug bear bird | Aardvark AARdvark animal ANT Bear BEE Bug bird bug

Important: This correction requires the Expere Engine update.

## Barcode Pattern Extended

- Reference: PBI 303248
- Compliance Impacts: This defect is not a compliance or regulatory issue.
- Documentation: Document Generation Services API Reference Guide

Previously, if a customer defined a barcode pattern in the AncillaryOutputOptions, the BRCD value would automatically print in the first position of the barcode if it were defined in the requirements document even though the value was not passed as part of the pattern.

Now, when a customer makes a request to the Expere Engine and implements the AncillaryOutputOptions for a barcode, the placement value for the BRCD will be honored correctly. Multiple BRCD values can be placed in the requirements document and included into the pattern. Any value not specified in the pattern is ignored and does not appear in the generated barcode.

Example: Following is an example of an AncillaryOutputOptions submitted on a request that will generate a barcode without the BRCD.

    <exp:Barcode>
     <exp:Pattern>Page_%page%_of_%totalpages%_%date%_Doc_%docsequence%_of_%docsequencetotal%</exp:Pattern>
    </exp:Barcode>

Following is an example of an AncillaryOutputOptions submitted on a request that will generate a barcode with the BRCD value when defined in the requirements document.

    <exp:Barcode>
     <exp:Pattern>Page_%page%_of_%totalpages%_%date%_%BRCD%_Doc_%docsequence%_of_%docsequencetotal%</exp:Pattern>
    </exp:Barcode>

## Blank DTA Lines Appear Correctly

- Reference: PBI 315114
- Compliance Impacts: This defect is not a compliance or regulatory issue.
- Documentation: No documentation impact.

In various transactions, a blank DTA line in a table was appearing incorrectly by not conforming to the space intended. This took the form of running into following text or running outside the table or off the page.

The style sheet was modified to prevent blank DTA lines from appearing incorrectly.

## xml-apis.jar Removed from ExpereIEServices.ear

- Reference: PBI 323185
- Compliance Impacts: This enhancement is not a compliance or regulatory issue.
- Documentation: No documentation impact

A potential classpath conflict was identified when WebSphere, Apache FOP and images are used together, causing the ParentLast class to work incorrectly.

To resolved the conflict, xml-apis.jar is removed from both the .NET and Java versions of ExpereIEServices.ear.

Important: This feature requires an Expere Engine update.

## Barcode display issue resolved

- Reference: PBI 320494
- Compliance Impacts: This defect is not a compliance or regulatory issue.
- Documentation: No document impact.

Expere was not always preserving the space needed when applying an ancillary barcode.

There was a change made to the Expere Engine when generating an ancillary barcode. Now the barcodes will no longer render over the top of a footer or tagline. Documents that appeared to be working correctly prior to this change will now have extra space due to the margin set in the requirements file for that document.

Important: This feature requires an Expere Engine update.

## Trigger for eSignature Changed to SignerIdentifier

- Reference: PBI 248267
- Compliance Impacts: This enhancement is not a compliance or regulatory issue.
- Documentation: No documentation impact.

Previously, if data was not passed to the SignerIdentifier, the content would not assemble regardless if eSignature functionality was turned on or off. You may have received an exception error for any instance in a document where SignerIdentifier would hold true and no data was passed.

This is not a new issue; if you have eSignature content coded and are using an early version of the engine we recommend you update to the latest version Expere Engine. If you are using an older version of the Expere Engine you should evaluate your scenarios where eSignatures are coded and SignerIdentifier information is not being passed to avoid the exception error.

Technical Notes: The trigger for eSignature has been changed from SignerRole to SignerIdentifer.

- If your content is coded for eSignatures and you have the eSignature functionality turned off, you will be able to generate a document without issue (whether or not information is being passed to the SignerIdentifier).
- If your content is coded for eSignatures, and you have the eSignature functionality turned on, and you do not pass information to the SignerIdentifier, you will be able to produce a document but the document will not include the eSignature fields.
- If your content is coded for eSignatures, and you have the eSignature functionality turned on, and you pass information to the SignerIdentifier, you will be able to produce a document that will include the eSignature fields.
  - You must have the eSignature functionality turned on and pass information to the SignerIdentifier to produce a document with eSignatures.
- If your content is not coded for eSignatures, this hotfix does not apply. You will be able to generate documents as usual.

Important: This feature requires an Expere Engine 2015.1.1 or newer update.

## Barcode 2D functionality modified

- Reference: PBI 290970
- Compliance Impacts: This enhancement is not a compliance or regulatory issue.
- Documentation: Expere Developer Guide

Previously, any reduction in barcode quality resulted in the reader experiencing difficulties reading the barcode. As a result, the 2D Barcode option has modified to read static and dynamic documents.

Users can select this option in the DocGenServices Tool Suite for the SelectAndGenerate and Generate API's.

Important: This feature requires a Requirements Editor and Expere Engine update.

## Placement of Barcodes on Integrated Disclosures when using Ancillary Output options

- Reference: PBI 305148
- Compliance Impacts: This defect is a compliance or regulatory issue.
- Documentation: Document Generation Services API Reference Guide, Expere Developer Guide.

When selecting the SelectAndGenerate API and setting the AncillaryOutput option to apply barcodes, the barcodes are placed in the Integrated Disclosure documents despite the user not defining the barcode element in the original .REQ file.

Integrators can now use the SelectAndGenerate and Generate API Ancillary output option to indicate a barcode coversheet, referred to as UseCoverPage for static and dynamic documents that cannot handle barcodes.

If currently using ancillary output options and static content, the document does not automatically display the barcode cover page. Users will need to add the UseCoverPage element to the request.

## Turning eSignatures on and off

- Reference: PBI 297053
- Compliance Impacts: This defect is not a compliance or regulatory issue.
- Documentation: No documentation impact.

An issue was discovered in that changing the com.bankerssystems.expere.render.eSignatureSupport option to False (default is True) within bsi.properties was not actually turning esignatures off.

Code was modified within Expere Engine to honor when the com.bankerssystems.expere.render.eSignatureSupport option is set to False. eSignatures functionality now works as expected.

Important: This feature requires an Expere Engine update.

## Caching processes improved

- Reference: PBI 304320
- Compliance Impacts: This defect is not a compliance or regulatory issue.
- Documentation: There are no user documentation impacts.

After review of Expere caching processes, it was determined that some functionality could be enhanced to optimize the code.

This issue has been resolved. Caching has now been optimized to more effectively store repository content items.

Important: This feature requires an Expere Engine update.

## Expere Engine: updated .jar files

- Reference: PBI 298214
- Compliance Impacts: This enhancement is not a compliance or regulatory issue.
- Documentation: No document impact

Expere Engine has been updated with the following .jar files to prevent potential open source vulnerabilities:

- Apache Software Foundation: Apache Xalan (xalan.jar) is v. 2.7.2
- Apache Software Foundation: xercesImpl.jar - 2.11.0
- Apache Software Foundation: serializer.jar - 2.7.2
- Apache Software Foundation: xml-apis.jar - 1.4.01
- Apache Software Foundation: xmlsec-1.5.8.jar
- Apache Software Foundation: bcprov-jdk15-1.45.jar

Important: This feature requires an Expere Engine update.