Knowledge Base

Terminalfour: 8.4.0

Date Released:
December 20 2024

General

We're excited to announce the latest release of Terminalfour which improves the content editing experience, performance of the platform, enhances the capabilities of Handlebars, and improves the accessibility of the platform for all users.

Jump to:

Improved Content Editing Experience

Conditional Elements

RDSM-37845

This long awaited feature allows you to hide elements from your content editors and only display them when they need to be seen.

We now show you a live preview of how your content type will be presented to content editors.

Alongside that, you can create rules that determine when elements should be shown based on things like:

  1. The values of other elements in the content item
  2. The user type of the user editing the content item
  3. The group that the user editing the content item is in

A screenshot displaying some examples of conditional statements

You can check out our full documentation on conditional elements to learn everything it can do.

Inline element descriptions

RDSM-37883

Content editors can now see the element description inline when editing content. Previously this information was hidden behind a tooltip which made it less discoverable and more complicated than it should have been to provide additional context about how an element should be filled out.

Example of Element Descriptions Inline making them easier to see for Content Editors

Performance

8.4.0 Improves the performance of the platform in a number of significant areas

Media Library

RDSM-38244

Users were reporting that the Media library was much slower than it should have been for non-admin users. The more groups the user is in the worse the performance would be.

In 8.4.0 we've significantly improved the performance of the Media Library in these scenarios. Our testing has shown a 15x - 20x reduction in the time required to load a page in the Media library for these users.

Branch Duplication

RDSM-38271

8.3.20 saw branch duplication significantly overhauled and we've made even more improvements in 8.4.0. It's now an incredible 10× faster to Duplicate a large branch or site in v8.4.0 compared to 8.3.20. That's a 200× improvement between 8.3.19 and 8.4.0 in Branch Duplication. What used to take hours, now takes minutes or seconds.

The changes made in 8.4.0 improve performance across all database types.

Section Filtering

RDSM-37875 and RDSM-38412 

Filtering sections to find the one you want to edit has been significantly improved in 8.4.0 too. The time it takes for the filter to become active is faster now than in previous versions and we've also reduced the amount of load put on your CPU and RAM when rendering and filtering on a large site structure. This makes for a much better filtering experience, especially on very large structures.

A Screenshot displaying a section being filtered with just 2 characters. An inactive section is clearly marked

These changes have also allowed us to remove the "3 character" minimum requirement for filtering, so now you can find your sections regardless of how short their names are.

Handlebars

Handlebars, a new way of templating in Terminalfour was introduced in 8.3.19. Your feedback has been fantastic. We've taken everything you've shared on board and we're delighted to introduce a number of improvements to handlebars in this release.

Improvements in working with lists

RDSM-38107 - We've now made it possible to output the selected List item's name with the publish Helper.

RDSM-38108

If you need slightly more flexibility we've created two new helpers to give you some more control.

The selectedNames Helper will output the selected list items' name and let you control the separator between each selected item.

The selectedValues Helper does the same, but outputs the values rather than the names.

RDSM-37636 - You can now output a list without it needing to be an element in your Content Type using the listById Helper

RDSM-38300 - If you need to output a list's name, that's now available as a variable within the list and selected Helper

Enabling more flexible layouts

We've introduced some new Helpers to give you more control over how your layouts work in different scenarios.

RDSM-37691 - With the pageLayoutId Helper it's now possible to output different things depending on what Page Layout is being used.

RDSM-38214 - The sectionLevel Helper will allow you to change what's output depending on how deep in your site's hierarchy you are.

Improving multi language sites with Handlebars

RDSM-37827 - With the languageLink Helper you have full control over how your links to alternate language content display.

Other Handlebars bug fixes

We've fixed a number of other items to give a more stable and predictable experience working with Handlebars. Check out the table below for more details.

Accessibility

RDSM-38219 

Badge and Tag colours have been tweaked so that they aren't mixed up with "clickable" buttons. We've also ensured that they're easier to tell apart for colorblind users. We've also added some icons to Content Status labels to make it easier to see at a glance what status your content is in.

A screenshot showing the improved colors used for badges and icons to help distinguish the different statuses

RDSM-38349

We've added clearer indicators on the Site Structure for sections that are Pending or Inactive. We no longer rely on just color to let you know what's been deleted. This indicator remains visible when using the section filtering tool to make it easy to tell the status at a glance.

The section status is now clearly marked with a badge instead of relying on color alone

RDSM-37877 - Keyboard navigation has been improved when creating content

Other improvements

  • RDSM-36898 - We've fixed the positioning of the Rich Text Editor when editing content inline in Direct Edit
  • RDSM-35006 - Improved Content Syncer so it doesn't leave behind empty sections after removing content

Changes

Issue Type Issue key Summary Priority Components
Bug RDSM-38244 Improve Performance of Media Library for non-admin users in systems with lots of groups P3 Access rights
Technical Debt RDSM-38247 API documentation: /media has no example P4 API
Bug RDSM-33570 ExcelToHtml broker does not publish HTML when media element is called "excel" P4 Brokers
Bug RDSM-37825 Inactive sections aren't visualized as inactive when filtered P4 CMS Search
Bug RDSM-38271 Improve performance on new BranchDuplicator when using INSERT INTO with SELECT P3 Content
Bug RDSM-37877 Accessibility - Cannot reach the "cancel" button when keyboard navigating and selecting content type to add to section P3 Content
Bug RDSM-33986 TinyMCE element gets duplicated and other elements disappear when editing content P3 Content
Bug RDSM-30545 Section name is not updated into extra_attribs in link_table P3 Content
Bug RDSM-28424 When content that has content links to it, is purged, references in the link_table are left behind P3 Content
Bug RDSM-27563 Hide "use default link text" until a link is chosen when adding a section/content link P3 Content
Change Request RDSM-38219 Change label and badges so the contrast between them is more obvious for colorblind users P3 Content
Change Request RDSM-37883 Modify how elements are displayed when adding content to include the element description inline P3 Content
Epic RDSM-37845 Conditional Elements: Content Type element conditional logic P3 Content
Bug RDSM-30410 Previewing a section that contains a content item with a publish date set causes preview to show nothing P4 Content
Change Request RDSM-36459 Include Content Type name in view when adding a content link P4 Content
Change Request RDSM-35006 Mark section inactive if content is marked inactive by External Content Sync P4 Content Syncer
Change Request RDSM-34749 Add instructional text / html with content type elements P3 Content Types
Change Request RDSM-34603 Set user access restrictions on content type elements P3 Content Types
Story RDSM-37636 The ability to output the values of a list not from an element P3 Content Types
Bug RDSM-33982 TinyMCE toolbar obscures content when inline editing in Direct Edit P3 Direct Edit
Bug RDSM-31767 Direct Edit shows all channels when applying page layouts P3 Direct Edit
Change Request RDSM-36896 Show formatting options button on Direct Edit should be a toggle P3 Direct Edit
Change Request RDSM-33954 Ensure length of the toolbar to be the same width as the content item block in Direct Edit P3 Direct Edit
Bug RDSM-27934 Submission does not download correctly, ContentTypeMatcher does not compare the sizes of content type elements P3 Form Builder
Story RDSM-37998 Notify clients when submission imports fail P3 Form Builder
Bug RDSM-38517 NullPointerException when previewing a mirrored section with no content when canonicalURL Helper is used in Page Layout P3 Handlebars
Bug RDSM-38291 Publish To One File Navigation object can't fetch layouts in Preview if they're using the Handlebars Processor P3 Handlebars
Bug RDSM-38105 IPageAPI#getPreviewURL should not throw any exceptions P3 Handlebars
Bug RDSM-37996 Handlebars eq helper should match based on _toString_ P3 Handlebars
Bug RDSM-37810 Dates should output using a default format when dateFormat helper not used P3 Handlebars
Change Request RDSM-38300 Make the List Name available in the list and selected Helpers P3 Handlebars
Change Request RDSM-38150 Create handlebars helper to output the currently publishing language code P3 Handlebars
Change Request RDSM-38107 Publish Handlebars Helper should output selected list entries using a default separator P3 Handlebars
Change Request RDSM-38106 Publish Handlebars Helper should output dates using a default format P3 Handlebars
Feature Request RDSM-38108 Create selectedNames and selectedValues handlebars helpers P3 Handlebars
Story RDSM-38214 Create Handlebars Helper to output the current Section level in the current channel P3 Handlebars
Story RDSM-37872 Handlebars Helper for language switcher P3 Handlebars
Story RDSM-37691 It should be possible to get the Page Layout Id with Handlebars P3 Handlebars
Change Request RDSM-38349 Add status badges to Inactive and Pending sections in the Site Structure P3 Hierarchy
Bug RDSM-38302 Uploading a file whose name is less than 3 characters fails if anti-virus is enabled P3 Media Library
Bug RDSM-37097 -1 being added to media filenames on publish when the full image and a variant is used in the same channel P3 Media Library
Bug RDSM-33654 Setting client-resize=true does not work for T4 tags where output=file P3 Media Library
Bug RDSM-32532 Media Filename with special character are stored with wrong filenames. P3 Media Library
Bug RDSM-16109 Navigation: A to Z Navigation - Special characters appearing when hover over section title Trivial Navigation
Technical Debt RDSM-36914 Remove old update tasks from sm-updates.xml file Trivial Product Configuration
Change Request RDSM-37875 Add a "debounce"/delay to Section Filter inputs P3 Section
Bug RDSM-37635 XSS - Alert is triggered when deleting a microsite with a script in the name P3 Security
Bug RDSM-37634 XSS - Alert is triggered while creating or editing a section when a microsite exists with a script in the name P3 Security
Bug RDSM-33727 XSS when selecting section in the selecting section modal P3 Security
Bug RDSM-25789 Cannot delete channel when channel name contains <script> P4 Security
Bug RDSM-38412 Improve hierarchy tree front-end rendering performance of tooltips P3 Site Structure
Bug RDSM-38329 Retrieving data for section filtering fails on MSSQL P3 Site Structure
Bug RDSM-38282 ContentHierarchy#isContentNumberPresent does not calculate content properly P3 Site Structure
Bug RDSM-36632 It takes a long time for Site Structure reverts to its initial state after text is cleared from the Section search in Firefox P3 Site Structure
Bug RDSM-24917 Internal server error when you right click to expand all sections P4 Site Structure
Bug RDSM-36898 TinyMCE toolbar is hiding the edit content buttons in Direct Edit P3 TinyMCE

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.

Priority

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.