Knowledge Base

Terminalfour: 8.3.1

Date Released:
July 18 2019


We're excited to announce the release of Version 8.3 of TERMINALFOUR's Digital Marketing and Web Content Management Platform!

Version 8.3.1 is a major upgrade of the technology that powers the TERMINALFOUR platform. We have moved to using Java 11 OpenJDK with this release. By making these changes we have updated the supported systems, technologies and libraries to make sure we are using more recent, secure and performant components. 

This change also puts us in a strong position to make use of up to date supporting technology in future projects. As part of this project we have taken the opportunity to clean up some older handlers and managers that are no longer needed.

The upgrade does impact Programmable Layouts as they are now implemented using a newer library other than Rhino. We have created an upgrade task to introduce a compatibility script for Nashorn so that the vast majority of the layouts will still function. However we must note that there are still manual adjustments that may need to be made with the switch over the version 8.3.1.

We have outlined these changes in this article on what you can expect on this version and encourage you to review.


It's a big upgrade so before you take the leap check out:

Bug fixes

Alongside these advancements we have included fixes for 60+ bugs. Here is an outline of some of the main fixes to be aware of:



Pre-8.3.1 deleted media from the Media Library doesn't stop publishing until it's purged. 8.3.1 brings that functionality inline with Inactive Content Items and Sections – from 8.3.1 on, inactive media will no longer publish.

If there are references to deleted media in a Content Item, that media will not appear on published sites. Only active media will publish from now on. A review of where your inactive media is used is advisable.


Usability fix – when scrolling to the end of a long list of media in a Category and clicking into a new Category it wasn't clear that you've switched Category, you are left at the bottom of the page. We've updated this so it's more obvious what's happening.

Content Syncer


It is now possible to use the External Content Syncer in a mirrored branch if the "Create individual section for each piece of content" option is checked.


Content Syncer 'Data sync refresh' and 'Data sync new & refresh' sync types now update list elements when those elements

  • are initially set to values that do not exist in the list, or
  • when those elements are initially not populated (blank)



When creating a form you can pick an element to be used as the name of the Content Item that any submissions using that form would create. If the field you picked allowed for a large amount of characters (i.e. greater than is allowed in the name element) then the submissions used to fail. Now it will truncate the name and submit the form.



Performance improvements on the Page Layout Usage Report, Content Type Report and Navigation Object Usage Report. If you had really large amounts of results the page used to freeze up. Now it should load without issue.



When you have more than one multi-select list element in your Content Type, and they all use the same List, then it wouldn't load correctly. Only the first would load correctly. We've corrected that so all Lists load as expected.



The 'Remove all formatting' button has been changed to just 'Remove formatting'. Behind the scenes it has been changed to allow for targeted selection as well as full block format changes. It removes formatting and markup from a selection, or from all content if no selection made.


We've fixed it so that you can now add CSS classes to tables and table cells in TinyMCE.


RDSM-30189 - When you duplicate content into the same Section (and that Section has lots of content in it already) then you used to get an error and the duplication wouldn't work. We've fixed that now so it will duplicate as expected.

RDSM-30685 - A vulnerability scan detected a vulnerable version of the Commons FileUpload library. That library was imported as a dependency of struts which was removed in 8.3.1, therefore this library is no longer needed and has been removed.

RDSM-30028 - You can now have multiple fulltext layouts that use the same element to link through. Previously only one fulltext file would be created and pointed to. Now each fulltext output gets it's own file.

Before upgrading

In advance of the upgrade please view the information and Technical Roadmap. Please contact us prior to upgrading we can provide you with the pre and post-upgrade tasks.


Please note that the priorities assigned to bugs differ from those assigned to Client Support tickets:

  • P1 - Major rework of product.
  • P2 - Major performance change. 
  • P3 - Regular priority change. 
  • P4 - Minor change. 
  • Trivial - Very minor UI changes.



Brokers Styling not being output for Excel to HTML broker when content not approved yet P3 RDSM-30691
Brokers Remove the HTML cleaner P3 RDSM-31077
Build & Test Add specific Google Tag Manager code to the product UI P3 RDSM-30474
Caching Auto-mirrored content gets un-mirrored when cache is rebuilt P3 RDSM-30737
Caching Loading content information can cause memory issues when building the cache P3 RDSM-30619
Content Cannot duplicate/mirror/move content on clusters P3 RDSM-30069
Content Multiple content links appearing for one piece of content once it has been updated - Italian P3 RDSM-11580
Content Syncer Content Syncer should work with mirrored sections P3 RDSM-30299
Content Syncer Content syncer should update list values that were initially blank or set to a value that did not exist in the list P3 RDSM-29906
Content Syncer Problems with content syncer when importing content with a name > max P3 RDSM-28015
Content Types Lists with sublists behave differently when used multiple times within the same content type P3 RDSM-28355
Content Types Power users can create new layouts and delete existing layouts in system content types P3 RDSM-25351
Form Builder List elements are not displayed in a form when the network speed is at regular 3G and below P3 RDSM-25231
Form Builder Memory issues when form builder re-indexes submissions P3 RDSM-30816
Form Builder Reordering elements on a form is slow and unresponsive P3 RDSM-27673
Form Builder When the form is mapped to a field, it needs to take the length of the value into account when setting the name on the content P3 RDSM-28601
Form Builder Improve the performance of the create new form page P3 RDSM-24243
Form Builder SubmissionReportIndex#numberOfSubmissionForForm loads all documents in memory to get the total count P3 RDSM-30835
Form Builder SubmissionReportIndex#removeSubmissionFromIndex opens a new IndexWriter instead of using the existing one P3 RDSM-30830
Form Builder SubmissionReportIndex#removeSubmissionsFromIndexByForm loads all documents in memory just to get content id P3 RDSM-30831
Group Management The "Toggle shared groups" option on assets should be closed by default P3 RDSM-24988
Handlers Remove the Handler Content Owner Handler ctfn=owner P3 RDSM-31078
Hierarchy Unable to scroll site structure from inside the add media modal P3 RDSM-26660
Lists Add row button in a share list modal is not displayed correctly P3 RDSM-30707
Media Library System fails to initialize if the configuration cannot load from the handler_config table P3 RDSM-30480
Media Library Make the current category visible when working on a long media category list, prevent scrolling P3 RDSM-30429
Navigation CSS selector nav object only works with up to six CSS files P3 RDSM-28213
Packages - channel Packages tries to resolve media found in t4 tag with non-numeric ID P3 RDSM-29948
Page layout usage Report Improve performance of the page layout usage report, hundreds of page layouts P3 RDSM-26870
Publish If fulltext content is linked within a different content piece, it publishes out with a -1 P3 RDSM-27948
Publish Scheduled publish tasks do not get added to the queue, enables multiple publishes to run even if concurrent publishes is set to 1 P3 RDSM-27316
Publish Fulltext links to different formatters publishing a single link P3 RDSM-30028
Publish Unhandled exception can cause the publish to stall P3 RDSM-30655
Publish "Publish Now" forces you to choose a channel, even if there is only one to select. If there is only one channel it should just use it P3 RDSM-13282
Publish Content ordering not always maintained on publish P3 RDSM-30875
Publish Reports Content count not stable on multi-threaded environment when using T4 tags with output set to fulltext P3 RDSM-30598
Publish Reports Values for the performance report on the performance configuration page are not actually used P3 RDSM-30650
Technical Roadmap Drop support for Java 7 P3 RDSM-30763
Technical Roadmap Drop support for Linux CentOS 6.5 P3 RDSM-30769
Technical Roadmap Drop support for Oracle 11G R1 P3 RDSM-30770
Technical Roadmap Drop support for support for HTTP proxy P3 RDSM-30771
Technical Roadmap Drop support for Tomcat 7 & 8 P3 RDSM-30772
Technical Roadmap Include support for AJP proxy P3 RDSM-30773
Technical Roadmap Include support for Java 11 OpenJDK P3 RDSM-30774
Technical Roadmap Include support for MS SQL Server 2017 database P3 RDSM-30775
Technical Roadmap Include support for Oracle 12C R2 P3 RDSM-30776
Technical Roadmap Include support for Tomcat 9 P3 RDSM-30777
Technical Roadmap Include support for Windows 2016 P3 RDSM-30778
TinyMCE The "Remove Formatting" button in TinyMCE makes all text lower-case P3 RDSM-21761
TinyMCE Ability to add a "class" to a table in TinyMCE P3 RDSM-29181
TinyMCE "Remove formatting" button should remove formatting from selection only if there is a selection P3 RDSM-30805
Upgrader Upgrade fails from 7.4.0004 QP2 to on null value in groups P3 RDSM-26925
Upgrader Bad SQL grammar pops up in logs during upgrade P3 RDSM-25965
Workflow Mirroring approved content to a section with a workflow in 7.4 sets content back to pending P3 RDSM-30901
Content Duplicating content to the same section fails if the section contains a large amount of content P4 RDSM-30189
Content Owner Report Error pops up in logs and unexpected error in the ui from time to time P4 RDSM-22775
Content Syncer Actions drop down list is not displayed correctly P4 RDSM-21384
Content Syncer Data source not specified, 404 error and no validation P4 RDSM-22980
Content Syncer Sync status should not be displayed as 'in progress' when sync is completed P4 RDSM-23203
Content Types Loading spinner is displayed in content type page for power users P4 RDSM-25337
Content Types When power users view read only content layout and uses browser back button then this layout is duplicated on the screen P4 RDSM-25355
Form Builder A re-index option should be added to re-add the submissions P4 RDSM-27796
Form Builder There is no feedback from UI when connection is slow and you attempt to delete any form P4 RDSM-25422
Form Builder Payment gateway name and description is not parsed correctly P4 RDSM-21785
Group Management Assets: Shared groups table always displays even if the asset is shared with no groups P4 RDSM-24413
Installer CVE-2016-1000031 - don't include the "commons-fileupload" library P4 RDSM-30685
Media Library Inactive / deleted media still gets published P4 RDSM-30436
Media Library Incorrect tooltip text in the modal P4 RDSM-29530
Media Library Performance: Individual minimum role access calls should be consolidated into a single call P4 RDSM-19978
User Management Extended user details content type is not displayed in create new user page after creating a user P4 RDSM-20678
Channels / Microsites Search field for selecting section on channels need adjusting Trivial RDSM-24119
Content Syncer External content syncer UI issues Trivial RDSM-18360
Content Types T4 tag builder output method loses normal option Trivial RDSM-21686
Navigation Section details: Method in summary to be changed from Use child to Use section at level Trivial RDSM-23513
Page layout usage Report Section selector button out of position after clearing section on page layout usage report Trivial RDSM-21588