Welcome to our Frequently Asked Questions (FAQs). Here you'll find advice and answers from the Cascade CMS Product Support team. Select a category below or use the search box above to search for answers.

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

You may be able to edit your page content by simply clicking Edit at the top of the page, making any changes, submitting and then publishing. However, if you don't see the content you want to edit when editing the page, that content could be contained elsewhere. The content may be located in a...

How do I add an image to a page?

If you're working in a WYSIWYG editor, you can add an image by uploading your image to Cascade CMS, then browsing for it in the WYSIWYG. Upload your image: Click the Add Content button and use any file type option available to you. These options are set up by your CMS administrator so they...

How do I add a PDF or document to a page?

If you're working in a WYSIWYG editor, you can add a link to a file such as a PDF by uploading your file to Cascade, then browsing for it in the WYSIWYG. Upload your file: Click the Add Content button and use any file type option available to you. These options are set up by your CMS...

How do I upload a folder?

In addition to uploading individual files, Cascade CMS also supports the ability to upload an entire folder. To do this, you must first zip up the folder in question along with its contents.Once you have a zip file containing your folder(s), upload it by following the steps below: Click Add...

How do I unlock a page or asset?

First, make sure you're looking at the working copy. Look for the drop-down to the left of the title. If it says Current, click it and select Working Copy. If you're the lock owner: You should now see options to either Commit Changes you've made, or Break Lock and discard those changes. You also...

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

The Trash bin is located above the left-hand folder tree when you're in the Site Content area. To restore one or more items from the Trash, select the checkbox next to the items and click the Restore button at the top of the list. Note for users - If you don't see the the Trash bin, please...

How do I create an anchor link?

Anchor links, sometimes called "skip links", allow you to link to a particular spot within the same page or a different page. To create an anchor link to a location within a page: Place your cursor at the spot where you'd like the anchor to be placed and click the Anchor button in the...

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

In order to access a Site via the Site drop down menu, a User must have a Site Role assigned to them at the Site level (either directly or via their Group membership).To see which Users/Groups have Site Roles assigned to them for a specific Site: Navigate to Manage Site > Site Settings. Click...

How do I control User access to Folders and assets?

You can control Read/Write access to Site assets through Access rights. Access rights, or permissions, control which Users or Groups can view or edit assets. While viewing an asset (such as a Folder): Click More > Access. Select the Access level for all users. (Selecting None here will hide...

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

A user’s abilities in a Site will be determined by the Site Role that they are assigned to for that Site. There are a couple of very handy tools that you can use to quickly identify how your Users are configured.

How can I tell who edited or published a page?

Audit trails provide a list of activities by users in Cascade CMS which can be handy when tracking down a particular event. Viewing an asset's audit trail While viewing an asset (such as a page or file) click More > Audits. You can filter the audit trail by timeframe or type of action. If you...

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

To change the name and/or URL of your Site: Access your Site from the Sites system menu, the Site drop-down menu, or the My Sites widget on your dashboard. Once inside your Site, click Manage Site > Site Settings. Update the Name and/or URL field in the Properties tab. Click Submit.

How do I delete a site?

To delete a site in Cascade CMS: Click the menu button ( ) in the upper-right corner of the interface. Click Sites. Select the site from the Sites list by checking the checkbox next to it. Click the Delete icon at the top of the list. Note: You can only delete one site at a...

How do I publish changes to a block?

Blocks, such as XHTML/Data Definition blocks, aren't publishable by themselves. If you've made changes to a block, such as a navigation block, and you're not seeing your changes on your live site, you'll need to publish any pages that use that block. For blocks used on all or most every page in a...

How do I rebuild my search indexes?

Search indexes can be rebuilt by following these steps: Click Menu > Administration. In the Search section, click Search Indexing. Confirm that your Index Location is correct (this directory should exist on the application server directly under the tomcat folder, by default it will be named...

How do I configure 301 Redirects?

301 redirects should be handled by a configuration file on your web server. For example, an .htaccess file if using an Apache-driven web server or a web.config file if using a Microsoft (IIS) web server. While there is not a native feature in Cascade CMS regarding 301 redirects, you can maintain...

How does the Max Asset Versions setting affect existing versions?

If you adjust the Max Asset Versions setting under Administration > Preferences > Content and the new value causes a given asset to have more than the allowed number of Versions, the Version chain will be trimmed for this asset the next time it's edited and submitted. For example, consider...

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... . This indicates that a Format responsible for rendering part of the page's content is encountering an error. The path to the Format in question will be included in the first half of the...

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. If your site uses workflow: Edit the appropriate Workflow Definition and ensure the user's Group is included in the Groups...

Login Failed

This article describes steps that Administrators can take to troubleshoot failed login attempts for their users. Note: If you are an end user receiving this message when you attempt to log in, pay special attention to uppercase and lowercase letters in your username as the system is case...

The folder hierarchy does not allow this asset to be published

This error message indicates that one or more of the parent folders of the asset you're attempting to publish is not enabled for publishing. Assets contained in folders not enabled for publishing are not publishable, even if they're set to publish at an individual level.To enable a folder for...

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

This error message indicates that the asset you're attempting to publish is not enabled for publishing. To enable the asset for publishing: Edit the asset. Select the Configure tab. Enable the Include when publishing option. Submit your changes.

You are not authorized to schedule future publish dates

As of Cascade CMS v8.2 the Start Date field publishes the asset at the selected date. If a user receives the following error during submission, that means their Site Role does not allow them to Publish: You are not authorized to schedule future publish dates. Please contact an administrator for...

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. Usually these tags are leftovers from pasting...

Table headers are poorly structured

If your content contains a table, you may see this error during accessibility checks: Table headers are poorly structured Based on the standard being violated, 1.3.1 Info and Relationships, the cause may be that your table header cells lack scope attributes "to associate header cells and data...

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

Problem The size of the request header exceeds what's configured for the application. Solution Edit your tomcat/conf/server.xml configuration file and add a packetSize="65536" attribute to the appropriate connector. For example, change: <Connector port="8009" protocol="AJP/1.3"...

MySQL 8: Public Key Retrieval is not allowed

After upgrading to MySQL 8, you may encounter the following error on startup: liquibase.exception.JDBCException: java.sql.SQLException: Cannot create PoolableConnectionFactory (Public Key Retrieval is not allowed)...Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:...

Parameters missing

This article describes steps to take when you receive a 'Parameters missing' error while attempting to submit a file or page. The error message may appear when the amount of data being sent during a submission is larger than allowed by your application server's Tomcat configuration. For example,...

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). This newer version of the JRE enables endpoint identification algorithms for LDAPS servers for added security. The change was included in JRE 8u181+ and more information on it can be found in the Oracle/Java Release Notes....

Packet for query is too large

When uploading a file into Cascade CMS, users may see an error similar to the following message: An error occurred during editing: Error persisting this bean to storage:com.mysql.jdbc.PacketTooBigException: Packet for query is too large(####### > #######). You can change this value on the...

java.security.NoSuchAlgorithmException: Error constructing implementation

When attempting to perform an operation that relies on SSL/TLS, you may see errors like the following: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext) This is generally due...

SFTP: java.net.SocketTimeoutException: Read timed out

Users may see the following error message when attempting to publish to an SFTP server: com.hannonhill.cascade.model.publish.transmit.ShuttleRuntimeException: SFTP error occurred during SFTP Shuttle setup: Session.connect: java.net.SocketTimeoutException: Read timed out This error is typically...

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. The size at which the application will stop rendering an Index Block can be configured by doing the following: Navigate to 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:...

ORA-22275: invalid LOB locator specified

Oracle users may encounter this error when attempting to copy, edit, or submit assets in the system. The behavior will cause messages similar to the following to appear in the cascade.log file: 2015-09-14 07:54:10,936 WARN [JDBCExceptionReporter] SQL Error: 22275, SQLState: 999992015-09-14...

Could not reset lucene directory

This particular error message generally appears in the log files as: ERROR [SearchServiceImpl] Could not reset lucene directory, assets will not be added to search index: java.io.IOException: Cannot delete /path/to/Cascade CMS/tomcat/indexes/xxxxx The underlying problem is typically caused by the...

Search failed: no segments file found

Users attempting to perform a search within Cascade CMS may run into an error similar to the one below: Search failed: no segments* file found in org.apache.lucene.store.FSDirectory To correct this problem, an Administrator should log into the system and follow the steps outlined here to rebuild...

Could not get file content for lucene indexing

Users may see an error similar to the following when viewing the tomcat/logs/cascade.log file: ERROR [SearchWorkerImpl] : Could not get file content for lucene indexing: com.hannonhill.cascade.model.render.file.FileRenderException: Could not fetch contents of file...

This asset cannot be published because there are no publishable configurations

When attempting to publish a page, the following message may appear in the interface: This asset cannot be published because there are no publishable configurations To resolve this, you must enable publishing for at least one of the Outputs for the page: While previewing the page, click Details...

Could not create index writer

Error messages similar to the following may appear in the tomcat/logs/cascade.log file: Could not create index writer: org.apache.lucene.store.LockObtainFailedException:Lock obtain timed out: @/usr/local/Cascade_Server/tomcat/indexes/write.lock To correct this problem, the following steps should...

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...

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...

"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.... Caused by: liquibase.exception.LockException: Could not acquire change log lock. Currently locked by ... These can occur if the application...

Invalid privatekey error when publishing via SFTP

When using SSH Key authentication for SFTP Transports, you may see the following errors when testing the Transport or when publishing to a Destination using the Transport: SFTP error occurred during SFTP Shuttle initialization: invalid privatekey: [x@xxxxxxx To resolve the issue, upload your SSH...

Why are my changes not appearing on the web site?

If you're seeing discrepancies between your asset in Cascade CMS and on your live website, see the steps below for possible resolutions. Verify that you’ve submitted the job for publishing After creating or editing an existing asset in Cascade CMS, you must publish your asset in order...

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

If certain users are unable to create new assets using the Add Content menu, chances are that the Asset Factories to which they need access and/or their Containers are not configured properly. To correct this, follow the steps below: Add Applicable Groups to the Container (if applicable): Go to...

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

If your users don't see the Upload tab when inserting images in the WYSIWYG or browsing for files in a file chooser, you may need to adjust some Site Role abilities. Users need these two Site Role abilities enabled in order to upload files via the file chooser: Workflow: Bypass workflow Upload:...

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

If your users see the following error message when attempting to access Full Search: Your role does not authorize you to view this resource. you may need to adjust their System Role(s). Because the Full Search and Replace feature resides in the Administration area, you will need to enable access...

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

This particular message indicates that the asset being published contains a link to another asset that the system is unable to locate. Refer to the following output from the Broken Links section of a sample Publish Notification: [Destination: Production Web Site] about/staff/directoryLink:...

Permissions issues when publishing to Filesystem Transports

To correct permission issues when using Filesystem Transports, you'll need to make sure that the boot script is updated accordingly. By default, the Tomcat container which Cascade CMS runs on will use a UMASK of 0027 which can lead to permission issues when trying to serve those files via a web...

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

The following SQL queries will list files from your database from largest to smallest. SQL Server SELECT s.name as site_name, f.cachePath, b.id, datalength(data) FROM cxml_blob b join cxml_foldercontent f on b.id=f.fileBlobId join cxml_site s on s.id = f.siteid order by datalength(data)...

Where can I find the Cascade CMS log files?

The log files for the application can be found in the following areas: From within the Cascade CMS interface Users with access to the Administration area can obtain log files from the application by doing the following: Click Administration. In the Tools section, click Logs and System...

How do I enable DEBUG logging?

Additional logging can be added for the application by following the instructions below: Click Administration. In the Tools section, click Logging Configuration. Choose a category from the dropdown or enter a class name in the text field. (Note: Class names will need to be provided by Hannon...

Generating a thread dump

Get the process id (pid) of the Cascade CMS process by running the command ps aux | grep java. Results will look similar to the following: cascade 6415 1.2 67.9 8546368 5203156 ? Sl Jun28 635:49 /usr/local/cascade/java/jre/bin/java ... In this example, 6415 is the pid we're looking for. Execute...

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

To find the location of the Java installation that your Cascade CMS instance is using, you'll need to check the boot script for your environment:

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

If you notice that <g> tags are being inserted into your WYSIWYG's source code, for example: <g class="gr_ gr_00 gr_alert gr_gramm gr_spell" data_gr_id="00" id="00">Here is some content.</g> The likely culprit is the Grammarly browser extension. You can remove those tags from...

Assets are not appearing in Index Blocks

If your Index Blocks aren't rendering assets that you feel should be included, be sure to verify whether or not you may be running into one of the following scenarios: The 'Include when indexing' setting is disabled Edit the asset in question and click the Configure pane. Verify that the Include...

Why does my Index Block stop indexing assets at a certain point?

There are two different settings which control the number of assets that will be indexed in an Index Block: Max Rendered Assets - this option is found in the Edit interface for Index Blocks Max Assets in Index Blocks - this option is found in Administration > Preferences > Content >...

How do I make an XML sitemap?

An XML sitemap can help inform search engines about pages in your site that are available to crawl and the date they were last modified. We have an example SEO Sitemap   Velocity Format which can be applied to an Index Block configured to index your site. Here are the steps to create a...

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

This Index Block, which is usually referred to as a calling page or current page Index Block, is one of the most used Blocks in Cascade CMS. Creating an Index Block Select Add Content > Block > Index. Choose a system name (e.g. "calling-page"). For the Index Type field choose "Folder...

Output content as JSON

With a combination of Template, Format, and Output, you can publish your page content as a JSON file. Template Create a Template using skip tags and a "dummy" surrounding element: <!--#cascade-skip--><pass-through><system-region...

How do I create an XML output for a page?

To create an XML Output for a page: Create a new Template with only the following content: <system-region name="DEFAULT"/> Navigate to Manage Site > Configuration. Select your existing Configuration and edit it. Click Add new Output. For the Name field, enter "XML". For the Template...

How do I view sample XML when editing a Format?

Often times, when coding (or debugging) a Format, it is important to be able to view sample XML that may be applied to a Format. Or, if you are working with a Velocity Format, you may need to specify a context page in order to test the built in $currentPage and $currentPageSiteName variables. To...

Testing for an empty WYSIWYG field

Testing to see if a WYSIWYG field can be tricky since the field could either contain plain text or HTML elements. One solution is to test if the value of an XML Element is not empty, or if the Element contains children (ie the HTML elements). Using Velocity With the Cascade API ## Record the...

How do I access Dynamic / Custom Metadata Fields in Velocity?

With the XPath Tool If you're using an Index Block and the XPath Tool, you can target the name of your Custom Metadata Field in your XPath Syntax. Example: #set ($category = $_XPathTool.selectSingleNode($contentRoot, "//calling-page/system-page/dynamic-metadata[name='category']/value"))#if...

How do I sort on a Calendar field?

The format of a Calendar field value (distinct from a Date/Time field) is MM-dd-yyyy which can make it tricky to sort on without some additional work to convert it to a numerical timestamp. Here are some examples of using a lookup table to sort pages on a Calendar field: With the XPathTool #set...

How can I set up canonical tags?

This article provides a couple of sample methods for configuring canonical tags in your Site(s). These are examples only and may require additional development/configuration depending on your organization's needs.

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

Cascade API When working with the Cascade API and choosers, there is an asset property which will be set to the chosen asset's API Object if an asset is chosen, or null if no asset is chosen. Because the asset property will be null if no asset is chosen , it is advised to ensure an asset is...

How do I add code snippet such as Google Tag Manager?

Google Tag Manager snippets generally consists of the following code snippet: <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var...

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

Each asset in Cascade CMS has an unique ID, visible in the URL when viewing the asset in the interface. Including a page's ID in the published page source can be useful for things like deep linking to Cascade CMS from Siteimprove, DubBot, or other third-party reporting platforms. You can include...

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

Open Graph meta tags and Twitter Card meta tags allow you to control what your pages look like when shared on social media sites such as Facebook and Twitter. To add these tags to your published pages, create a new system region within the <head> tags of your Template(s). For...

How do I add a <title> tag to my page?

To add a title metadata tag and other metadata tags directly to your Template(s) Navigate to your Template and click Edit. Place the <system-page-title/> tag inside the <title> tags of your Templates and click Submit. When the page is rendered, Cascade pulls in the Title as defined...

How do I apply CSS?

You can apply CSS at the Template, Configuration, or Page level by linking to it in an XML Block. Create a Region in your Template: Navigate to your Template and click Edit. Create a new Region within the <head> tags of your Template by adding a System Region tag. Example:...

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

To allow users to apply styles to their content within the WYSIWYG editor: 1a. At the Site Level: Click Manage Site > WYSIWYG Editor Configurations. Select your configuration or click Create to add one. In the CSS File field click Choose File and select the CSS file containing the classes you...

Why aren't my CSS background images being displayed?

CSS background images require special tags that let the system know you are referring to an image that is managed by Cascade CMS. Consider the following lines in a CSS file: .content{ background-image: url('/images/photo.png'); } To link to this image from the CSS file within Cascade, the...

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

System region tags are automatically added to rendered and published content that doesn't contain valid XML. Specifically, due to a lack of a root element when Cascade CMS attempts to validate the content as XML during the rendering and publishing process. To generate non-XML compliant content,...

How can I redesign a site using our existing content?

The following setup allows you to develop a new site design, using current site content, alongside your current design: Edit your site's Configurations and add a new Output. This Output will use your new Templates, Blocks, and/or Formats. Edit your site's Content Types and configure the Publish...

How to update deprecated Velocity code

$_FieldTool.in("com.hannonhill.cascade.model.dom.identifier.EntityTypes") The $_FieldTool.in(String) method was used to obtain reference to entity types in order to locate assets using the Locator Tool. New methods added to the Locator Tool allow for locating each type of...

Working with namespaces in Velocity

Consider the sample snippet below: <info xmlns:d="https://www.hannonhill.com"> <d:Title>Hannon Hill - Cascade CMS</d:Title> </info> In order to access the <d:Title> element here using a Velocity Format, the following methods can be used: Method 1: #set ($dNs =...