Skip to main content

Answers and Fixes

Cascade Administration

"Could not acquire change log lock" or "Waiting for changelog lock..."

During start-up, one of the following messages may appear in the cascade.log file and prevent Cascade CMS from starting: Waiting for changelog lock....

reference
Cascade Administration

"Remember Me" Cookied Login Vulnerabilities

Weaknesses identified in the Cascade CMS cookied login process that could allow an attacker to access the CMS as another user, and the versions that remediate them.

reference
Content Authoring

Adding a caption to a table

Turn on the Caption checkbox in a table's properties to add a caption area above the first row, then enter your caption text.

how to
Content Authoring

Adding a caption to an image

Use the Advanced tab of the Insert/edit image dialog to wrap an image in figure and figcaption elements, then edit the caption text in the editor.

how to
Content Authoring

Adding a PDF to a page

Upload a PDF or other document to Cascade CMS, then link to it from the WYSIWYG editor using an internal link.

how to
Content Authoring

Adding a table header and footer

Use Row Properties to mark a row as a header or footer, which wraps it in thead or tfoot elements.

how to
Content Authoring

Adding an image to a page

Upload an image to Cascade CMS, insert it in the WYSIWYG editor with alternative text, and optionally set its alignment.

how to
Content Authoring

Adding classes to links and images

Apply a configured class to a link or image through the Styling field, and use the element path to reach a figure element instead.

how to
Content Authoring

Adding classes to tables

Apply a Custom Format class to a table, row, or cell, and use the editor's element path to target the exact element you mean.

how to
Content Authoring

Adding header cells to a table

Set a cell's type to Header cell and give it a scope so screen readers can associate data cells with the right headers.

how to
Content Authoring

Asset is not set to publish. Please enable publishing for this asset and try again.

The asset you are publishing has the Include when publishing option turned off. Enable it on the Configure tab.

troubleshooting
Cascade Administration

Comparison method violates its general contract

Why a Velocity or XSLT sort throws "Comparison method violates its general contract", and how to guard against items missing the value being sorted on.

reference
Developing in Cascade

Configuring a robots meta tag

A worked example: a Metadata Set checkbox field plus a Velocity Format that outputs a robots meta tag with noindex and nofollow values.

how to
Content Authoring

Configuring table properties

What the General and Advanced tabs of the Table properties dialog control, including dimensions, alignment, caption, and colors.

how to
Content Authoring

Could not connect to FTPS server: NotAfter

The SSL/TLS certificate on the target FTPS server has expired. Install a valid certificate on the server.

troubleshooting
Cascade Administration

Could not create index writer

How to clear a stale Lucene write.lock when Cascade CMS logs "Could not create index writer" and cannot build its search index.

reference
Cascade Administration

Could not get file content for lucene indexing

What the "Could not get file content for lucene indexing" error means, and how to identify and clear the corrupt file that causes it.

reference
Content Authoring

Could not put file with path '<path>' onto server: Failure

Most often the target web server has run out of disk space. Check available storage, then the FTPS server logs.

troubleshooting
Content Authoring

Could not put file with path 'FILE_PATH' onto server: Permission denied

The SFTP account in the Transport lacks write permission on the target directory. Find the account via the Destination's Transport, then fix permissions on the server.

troubleshooting
Cascade Administration

Could not reset lucene directory

The "Could not reset lucene directory" error is caused by O/S account permissions on the Cascade CMS installation folder. Here is how to correct them.

reference
Content Authoring

Creating an anchor link

Place a named anchor in a page, then link to it from the same page or another page using the Anchor field of the link dialog.

how to
Cascade Administration

CVE-2020-1938 Ghostcat

How to secure the Tomcat AJP Connector bundled with Cascade CMS against CVE-2020-1938 (Ghostcat), for installations that have not yet upgraded to Cascade CMS 8.15.

reference
Cascade Administration

CVE-2021-4104

Cascade CMS is not affected by CVE-2021-4104, the Log4j 1.x JMSAppender remote code execution flaw, plus steps for removing the affected class from older on-premise distributions.

reference
Cascade Administration

CVE-2021-44228 Log4Shell

Cascade CMS is not affected by CVE-2021-44228 (Log4Shell), because the log4j message lookup substitution feature the exploit depends on is disabled or unsupported in our implementation.

reference
Cascade Administration

CVE-2021-45046 Log4Shell

Cascade CMS is not affected by CVE-2021-45046, the incomplete fix for Log4Shell, plus steps for removing the JndiLookup class from older on-premise distributions.

reference
Cascade Administration

CVE-2021-45105 Log4Shell

Cascade CMS is not affected by CVE-2021-45105, the Log4j self-referential lookup denial of service, because message lookup substitution is disabled or unsupported in our use of log4j.

reference
Cascade Administration

CVE-2022-22965 Spring4Shell

Cascade CMS is not affected by CVE-2022-22965 (Spring4Shell) — it uses the Spring Framework for dependency injection but does not include the affected spring-mvc package.

reference
Cascade Administration

CVE-2022-23302 JMSSink

Cascade CMS is not affected by CVE-2022-23302 — the Log4j 1.x JMSSink deserialization issue — because the affected sink is not referenced in our configuration.

reference
Cascade Administration

CVE-2022-23305 JDBCAppender

Cascade CMS is not affected by CVE-2022-23305 — the Log4j 1.x JDBCAppender SQL injection issue — because the affected appender is not referenced in our configuration.

reference
Cascade Administration

CVE-2022-23307 Chainsaw Package

Cascade CMS is not affected by CVE-2022-23307 — the Log4j 1.x Chainsaw deserialization issue — because the affected component is not referenced in our configuration.

reference
Cascade Administration

CVE-2025-24813

Cascade CMS is not affected by CVE-2025-24813, the Apache Tomcat partial PUT path equivalence vulnerability, because the required settings are not enabled in our default installations.

reference
Cascade Administration

CVE-2026-34477

Cascade CMS is not affected by CVE-2026-34477, the incomplete Log4j TLS hostname verification fix, because the default configuration doesn't use the affected appenders.

reference
Cascade Administration

CVE-2026-34480

Cascade CMS is not affected by CVE-2026-34480, the Log4j XmlLayout invalid XML output issue, because the application doesn't use the affected Log4j implementation.

reference
Content Authoring

Discarding the Index Block Rendering Cache

When a page using an Index Block shows outdated information, toggling the Index Block Rendering Cache off and on forces a rebuild.

troubleshooting
Cascade Administration

Error constructing implementation

How to resolve the SSL/TLS "Error constructing implementation" error by checking Cascade CMS's key store configuration.

reference
Cascade Administration

Error executing SQL DELETE FROM `cxml_history_item`

The following error message may appear when upgrading to Cascade 8 against a version of MySQL 5.7 prior to release 5.7.11: Migration failed for change set com/hannonhill/cascade/model/database/updater/updates/8_0/8_0_006.xml::8_0_006::artur.tomusiak: Reason: liquibase.exception.JDBCException: Error

reference
Content Authoring

Error occurred during FTP transport: Accept timed out

The connection is using Active FTP where the server expects Passive. Enable Use Passive FTP (PASV) on the Transport.

troubleshooting
Cascade Administration

Exception invoking method 'getAvailableIDs' in class sun.util.calendar.ZoneInfo

This particular error message is indicative of a missing startup parameter for the application.

reference
Developing in Cascade

Filtering queries based on multi-value fields

The Query API cannot filter on checkbox or multi-select fields directly, so run the broader query and test each result with hasTextValue.

how to
Cascade Administration

Generate a HAR file

Steps for capturing a HAR file of network activity for a support investigation, and how to redact it before sharing.

how to
Cascade Administration

Generating a thread dump

How to capture a Java thread dump from Cascade CMS on Linux with kill -3, or on Windows with jcmd.

how to
Developing in Cascade

Getting started with REST

Worked read-then-edit examples against the REST API in jQuery, fetch, async/await, and PHP.

how to
Cascade Administration

Granting Access to Specific Folders for Users/Groups

A worked example of hiding every Folder in a Site by default, then granting one Group access to just the Folder it needs.

how to
Cascade Administration

Header message of length [] received but the packetSize is only []

The AJP request header exceeds Tomcat's configured packetSize. Add a packetSize attribute to the connector in server.xml to resolve it.

reference
Cascade Administration

How can I check what a User can do in a specific Site?

Use the Effective Abilities tool for a list of a user's abilities in a Site, or Assume Identity to see the system as they see it.

how to
Cascade Administration

How can I enable request logging for Cascade CMS?

Add an AccessLogValve to tomcat/conf/context.xml to write a request log alongside the other Tomcat logs.

how to
Cascade Administration

How can I find the O/S account running Cascade CMS?

The User Name field in Logs and System Information shows the account the application runs under.

reference
Cascade Administration

How can I find which Java installation my Cascade CMS instance is using?

Check the JRE_HOME variable in the boot script for your platform, or read the JVM details from Logs and System Information.

how to
Content Authoring

How can I generate a cron expression for my scheduled publishes?

Cascade CMS uses Quartz, whose cron syntax differs slightly from other tools. Sample expressions and recommended generators.

reference
Developing in Cascade

How can I redesign a site using our existing content?

Add a second Output using your new Templates and publish it to a test Destination, then swap the default Output when the design goes live.

how to
Developing in Cascade

How can I set up canonical tags?

Two worked examples: a self-referencing canonical tag, and a Shared Field group that lets editors point a page at an alternative canonical URL.

how to
Content Authoring

How can I tell who edited or published a page?

Check the asset's audit trail under More > Audits — or, if the asset is gone, the audit trail of a Group whose members could edit it.

how to
Cascade Administration

How can I view the largest binary files within my database?

SQL queries for SQL Server, Oracle, and MySQL that list stored files from largest to smallest.

reference
Developing in Cascade

How do I access a chooser field's chosen asset?

Check that an asset is actually chosen before reading its properties, using the API's asset property or an XPath test on the path element.

how to
Developing in Cascade

How do I add a "title" tag to my page?

Place the system-page-title tag inside your Template's title element so Cascade renders each page's metadata Title.

how to
Developing in Cascade

How do I add a code snippet to my content?

Deciding where a snippet belongs — tag manager, Template, Configuration, or single page — and how to add it without tripping XML validation.

how to
Developing in Cascade

How do I apply CSS?

Upload a CSS file, link to it from an XML Block, and attach that Block to a Template region at the Template, Configuration, or Page level.

how to
Cascade Administration

How do I change the name or URL of my site?

Update the Name and URL fields on the Properties tab of Site Settings.

how to
Content Authoring

How do I configure 301 Redirects?

Cascade CMS has no native redirect feature — maintain your web server's .htaccess or web.config in the CMS and publish it to the server root.

how to
Cascade Administration

How do I control User access to Folders and assets?

Set Access rights on an asset, and use Access for Contents to apply them down a Folder — merging rather than overwriting.

how to
Content Authoring

How do I create a "calling page" Index Block?

Settings for the most commonly used Index Block in Cascade CMS, and how to preview one that needs a context page to render.

how to
Developing in Cascade

How do I create an XML output for a page?

Add a non-publishable XML Output to a Configuration so you can view the system-generated XML for any page using it.

how to
Cascade Administration

How do I delete a site?

Select the site in the Sites list and click Delete. Deleted sites cannot be restored.

how to
Content Management

How do I delete a Workflow?

Click Delete Workflow from the workflow itself — and where to look if you can't find the workflow.

how to
Content Authoring

How do I determine where assets will be published?

The final path combines the Transport's Server Directory, the Destination's Directory, and the asset's folder path in the Site.

reference
Content Authoring

How do I edit content or find out where to edit a certain region?

Learn how to edit page content in Cascade CMS and find out which Block or Format is responsible for a particular region.

how to
Cascade Administration

How do I enable DEBUG logging?

Add a logging category or class at DEBUG level from the Logging Configuration tool, and reset it once you've collected what you need.

how to
Cascade Administration

How do I give a User or Group access to a Site?

Assign a Site Role on the Roles tab of Site Settings, and make sure the user has Read access to the Site's Base Folder.

how to
Developing in Cascade

How do I include a page's ID in its contents?

Output the currentPage identifier from a Format attached to a head region, useful for deep linking from Siteimprove, DubBot, and similar tools.

how to
Developing in Cascade

How do I include Open Graph or Twitter card meta tags in my page?

Add a system region to your Template's head and attach a Format that generates social meta tags from the current page's metadata and structured data.

how to
Developing in Cascade

How do I make an XML sitemap?

A complete recipe for a sitemap page: the Velocity Format, Template, Index Block, Configuration, and Content Type it needs.

how to
Developing in Cascade

How do I make CSS classes available in the WYSIWYG formats drop-down menu?

Choose a CSS file on a WYSIWYG Editor Configuration, then use Custom Styles to limit which classes editors can pick.

how to
Content Authoring

How do I publish changes to a block?

Blocks aren't publishable on their own — use Relationships to find the pages that use the block and publish those.

how to
Cascade Administration

How do I rebuild my search indexes?

Trigger a search index rebuild from Administration > Search Indexing, and what to expect in the log and the Background Tasks Report while it runs.

how to
Content Authoring

How do I rename an asset?

Rename from More > Rename or the context menu — then republish, because renaming unpublishes the asset from every Destination.

how to
Cascade Basics

How do I reorder items in a navigation menu?

Menus built from a Folder follow that Folder's order — but if reordering has no effect, the menu is being generated some other way.

how to
Content Management

How do I restore something I deleted from the trash / recycle bin?

Select the items in the Trash above the folder tree and click Restore. Access requires one of two Site Role abilities.

how to
Developing in Cascade

How do I sort on a Calendar field?

Calendar values are MM-dd-yyyy strings, so build a lookup table of numeric timestamps and sort on that instead.

how to
Content Authoring

How do I unlock a page or asset?

Switch to the Working Copy, then commit or break the lock — or, if someone else owns it, have them reassign it to you.

how to
Content Authoring

How do I unpublish an asset that no longer exists in the CMS?

Recreate the asset as an empty placeholder File at the same path and name, unpublish it, then delete the placeholder.

how to
Content Authoring

How do I upload a folder?

Zip the folder first, then upload the archive and choose whether to unpack it into individual assets.

how to
Developing in Cascade

How do I view sample XML when editing a Format?

Use the Preview Options dropdown when editing a Format to render sample XML from a Block, or a Block plus a context page.

how to
Content Authoring

How does the Max Asset Versions setting affect existing versions?

Lowering Max Asset Versions doesn't trim existing version chains immediately — each asset is trimmed the next time it's edited and submitted.

reference
Developing in Cascade

How to update deprecated Velocity code

Replacements for the reflection-based patterns that no longer work, mapped to their modern Velocity Tool equivalents.

reference
Content Authoring

I won't open a connection to <ip address 1> (only to <ip address 2>)

The Transport is set to Active FTP but the target server only supports Passive. Enable Use Passive FTP (PASV).

troubleshooting
Content Authoring

Inserting a video

Add a video to page content with the Insert/edit media dialog, using either a direct URL or embed code from the hosting service.

how to
Content Authoring

Invalid privatekey error when publishing via SFTP

Cascade CMS needs the SSH key in PEM format. Regenerate the key pair with ssh-keygen -m PEM and upload it again.

troubleshooting
Cascade Administration

Invalid XML character was found in the element content of the document

An "invalid XML character" error on submit means a control character was pasted into a WYSIWYG field. Here is how to find and remove it.

reference
Cascade Administration

Invalid XML: The prefix "o" for element "o:p" is not bound

If you receive this error when trying to create or submit changes to an asset, there may be <o:p> tags in the source code of your editor that will need to be removed or converted to regular <p> tags before the asset can be submitted.

reference
Cascade Administration

Login Failed

This article describes steps that Administrators can take to troubleshoot failed login attempts for their users.

reference
Cascade Administration

MySQL 8: Public Key Retrieval is not allowed

Resolve the Public Key Retrieval error after upgrading to MySQL 8 in Cascade CMS.

troubleshooting
Cascade Administration

MySQL: Can't create table

When starting Cascade CMS for the first time or after importing a new MySQL database, administrators may see an error message in the log file similar to the following: ERROR [StartupTasks] : *** Startup task: DatabaseIndexAndKeyManagerfailed to execute successfully: java.sql.SQLException: Can't crea

reference
Cascade Administration

MySQL: Can't create/write to file

Organizations using MySQL may see an error message similar to the following when attempting to login to the system: Login failed: An error occurred: Startup task: DatabaseIndexAndKeyManager failed to execute successfully: java.sql.SQLException: Can't create/writeto file 'C:\WINNT\TEMP\#sql_718_0.MYI

reference
Cascade Administration

ORA-22275: invalid LOB locator specified

Oracle users may encounter this error when attempting to copy, edit, or submit assets in the system.

reference
Developing in Cascade

Output content as JSON

Combine a skip-tag Template, a Format using SerializerTool.toJson inside a protect code section, and a JSON Output to publish content as a .json file.

how to
Cascade Administration

Packet for query is too large

Resolve the MySQL max_allowed_packet error when uploading files into Cascade CMS.

troubleshooting
Cascade Administration

PageRenderException: Could not transform with Script format

When previewing a page, you may see a full-page error of the type Could not transform with Script format...

reference
Cascade Administration

Parameters missing

This article describes steps to take when you receive a 'Parameters missing' error while attempting to submit a file or page.

reference
Content Authoring

Permissions issues when publishing to Filesystem Transports

Tomcat's default UMASK of 0027 can leave published files unreadable by the web server. Override it in cascade.sh.

troubleshooting
Content Authoring

Problems connecting via SFTP to Solarwinds Serv-U servers

Serv-U 15.3.2 changed its SSH protocol exchange, which blocks Cascade CMS. Apply hotfix 1 and allow non-RFC compliant exchange.

troubleshooting
Content Authoring

Scheduled publishing for individual assets

Start Date versus Optionally Publish Later — which to use for a brand new asset, and which for an update to an existing one.

concept
Cascade Administration

Search failed: no segments file found

The "Search failed: no segments file found" error is resolved by rebuilding the Cascade CMS search indexes.

reference
Cascade Administration

Search isn't returning expected results

Work through the Build Search Index task in the Background Tasks Report — its Status and Duration tell you whether the index built, stalled, or hit a permissions problem.

troubleshooting
Cascade Administration

Secure LDAP sync fails after upgrade to Cascade CMS v8.11

Cascade CMS v8.11 comes bundled with a newer version of Java (JRE 8u191).

reference
Content Authoring

SFTP: java.net.SocketTimeoutException: Read timed out

The SFTP server's concurrent connection limit is too low for Cascade CMS's parallel publishing. Raise it to at least 25.

troubleshooting
Cascade Administration

Sorry, workflow is required to be able to continue but no workflows are available to you.

This error means that the user's Site Role doesn't allow them to Bypass workflow, but there isn't an applicable workflow available for the type of action they're taking.

reference
Cascade Basics

Styles not loading for 404 pages

Relative links break when a 404 is served from an arbitrary directory depth — override the page's link rewriting to Absolute.

troubleshooting
Cascade Administration

Table headers are poorly structured

How to clear the "Table headers are poorly structured" accessibility error by setting the correct cell type and scope on a table's header cells.

reference
Developing in Cascade

Testing for an empty WYSIWYG field

A WYSIWYG field can hold plain text or HTML elements, so test both the element's value and whether it has children.

how to
Cascade Administration

The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption

When attempting to start Cascade CMS, organizations using SQL Server may be presented with the following error in the log files (which prevents the application from starting): ("encrypt" property is set to "true" and "trustServerCertificate" property is set to "false" but the driver could not establ

reference
Cascade Administration

The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "Unexpected rethrowing"

This particular error message can appear on startup.

reference
Content Authoring

The folder hierarchy does not allow this asset to be published

A parent folder has publishing turned off, which blocks everything inside it regardless of each asset's own setting.

troubleshooting
Cascade Administration

The index block with path {path} renders too much data

This message is displayed when an Index Block in the system renders a large amount of data and reaches the limit configured in the system Preferences.

reference
Content Authoring

This asset cannot be published because there are no publishable configurations

None of the page's Outputs are marked Publishable. Enable at least one on the Configuration.

troubleshooting
Content Authoring

Unsupported or unrecognized SSL message

The FTPS Transport is set to explicit FTPS over port 21. Cascade CMS supports implicit FTPS only, typically over port 990.

troubleshooting
Content Authoring

Where can I find publish notifications?

Notifications for jobs you started are under your user menu; scheduled job notifications live on the Publish Set, Destination, or Site.

how to
Cascade Administration

Where can I find the Cascade CMS log files?

Log files are available from Logs and System Information in the Administration area, or in the tomcat/logs directory on the server.

reference
Content Authoring

Which algorithms are supported for SFTP?

The KEX, host key, cipher, and MAC algorithms Cascade CMS supports when publishing over SFTP, and which are disabled by default.

reference
Content Authoring

Why am I seeing 'Asset does not exist' in my Publish Notification?

A link points at an asset the system can't find — usually because the link includes a file extension, or points at a folder rather than its index page.

troubleshooting
Developing in Cascade

Why am I seeing system-region tags around my published content?

Cascade adds system region tags when rendered content isn't valid XML. Wrap the region in a dummy tag inside a cascade-skip code section.

troubleshooting
Content Authoring

Why are "g" tags appearing in the WYSIWYG editor?

Grammarly's browser extension inserts g elements into WYSIWYG source. Remove them and disable the extension while editing.

troubleshooting
Cascade Basics

Why are my changes not appearing on the web site?

Troubleshoot why your changes in Cascade CMS are not appearing on the live website — covers publishing submission, publish queue, notifications, destinations, outputs, browser caching, and server caching.

troubleshooting
Developing in Cascade

Why aren't my CSS background images being displayed?

Background image paths need system-asset tags and the Rewrite asset links in file option so Cascade can resolve them to managed assets.

troubleshooting
Cascade Administration

Why can't my user upload images in the WYSIWYG or file chooser?

The Upload tab requires the Upload images in file chooser Site Role ability, and on versions before 8.22 also Bypass workflow.

troubleshooting
Cascade Administration

Why can't my users access the full search feature?

Full Search and Replace lives in the Administration area, so users need a System Role with Access Administration Area enabled.

troubleshooting
Cascade Administration

Why can't my users see anything in the Add Content menu?

An Asset Factory appears in Add Content only when the user's Group is listed in Applicable Groups on both the Asset Factory and its Container.

troubleshooting
Developing in Cascade

Working with namespaces in Velocity

Three ways to reach a namespaced XML element: addNamespace, an XPath prefix, or XPath local-name() for hidden namespaces.

how to
Developing in Cascade

Working with Server Side Includes

Publish an HTML snippet as its own page, then pull it into other pages with an SSI directive so a change needs one publish instead of a full site publish.

how to
Content Authoring

You are not authorized to schedule future publish dates

Setting a future Start Date requires a Site Role with publishing ability. Check the user's Effective Abilities under Publishing.

troubleshooting
Cascade Administration

Your roles do not allow you to advance workflow

This error indicates that the user's Site Role doesn't allow them to assign a Workflow to themselves or approve steps in a Workflow.

reference