Getting Started

Cascade Dashboard ExampleCascade CMS from Hannon Hill is a content management system that empowers users to create, publish, and manage digital content.  Cascade CMS is a content management system built for everyone. It's the balance of ultimate flexibility enabling fast development with easy-to-use functionality for non-technical contributors that makes Cascade CMS really special. Their goal is to give everyone at our organization the tools they need to build high-performing websites with fresh and impactful content.

Explore Cascade CMS


Product Demonstration Webinar

Simple Content Entry Wizards

Enter content through either simple WYSIWYG editors or structured fields like file choosers, checkboxes, drop-down boxes, and text fields.

Proactive Quality Control

Check for broken links, spelling errors, and accessibility violations prior to publishing your content to the live site.

Customizable Dashboard

Tailor your dashboard by adding widgets such as history, broken link report, stale content report, inbox, workflows, drafts, or locked assets.

Super Easy Content Reuse

Share content across multiple pages and multiple sites, both automatically and manually. No CMS makes content reuse easier than Cascade CMS.

Content Health

Cascade CMS can alert users and site administrators of pages that have not been updated in any number of days, weeks, months, or years. Use the daily content report, task manager, and content review dates to keep content fresh.

Native Image Editor

Use the native image editor to rotate, resize, crop, edit, and make other changes to your graphics and illustrations.

Version Control

Keeps 20 versions of your pages, compare them, and roll back to a previous version with just one click.

Support for XSLT and Velocity

Cascade CMS supports both XSLT and Velocity for writing formats. Even use both on the same page. Incorporate built-in tools to harness content and do more with less code.

Advanced Code Editor

The Advanced Code Editor is a built-in syntax-highlighting editor for a variety of languages, auto-indentation and auto-formatting, code folding and code snippets.

Rendering Metrics

Check rendering times for each region on your page, helping you better target and identify those regions that can be further optimized.

Site Import and Export

Maximize content portability by transferring your production site to a development instance with just a few clicks.

Site Copy

Create a new site based off a template site within less than a minute.

Assume Identity

For Administrators, you can Use the Assume Identity Feature to see exactly what a specific user sees and quickly troubleshoot issues.

Multi-Site Management

Manage as many Cascade CMS sites as you need from the same instance. Create site specific user roles, share content across multiple sites, and publish to specific destinations and servers.

Robust Permissions

Apply permissions on sites, directories, page types, individual pages, specific regions on a page, and even individual content entry fields.


Existing DNN Pages

  • We can provide a spreadsheet list of pages with the names, titles, keywords, descriptions, and hierarchy information.  We exclude built in DNN pages.
  • Use this as a reference to create blank pages in Cascade to match (if you create all the blank pages before you add content, you will be able to link to other pages within your content easier)

Moving DNN Assets

It is best to move assets before you start adding content to pages, so that you can hook up the new links to attachments while you go thru each page. For items in Root, disperse to _images or _docs based on file types. Can ignore .css, .xml, and default DNN images.

  1. Copy all images from DNN to _images, keeping same name and directory structure inside.
    1. skip empty folders
    2. replace illegal characters like "&" with "-" and remove space on both sides.
  2. Copy all documents, pdf's, spreadsheets, etc to _docs folder, keeping same name and directory structure inside.
  3. Videos that are large – put in a case with the service desk to get added to streaming server, they will then send you back a url to access your video.

Content Cleanup

  • Site URL (example:  ) change to  /_docs or  / _images or your custom path  if you have a different file structure.
  • Add either "float-left mr-3" or "float-right ml-3" classes to images as needed.
  • Check/fix links for portal #'s that are already moved and live in cascade PROD.
  • LinkClick.aspx?fileticket= links need to be opened and inspected for real filename.
  • If your DNN site had versioning turned on for documents, you will need to remove the ?ver=2020-05-20-130359-730 from the end of links by find/replace w/ regex turned on in Notepad++: \?ver=\d{4}-\d{2}-\d{2}-\d{6}-\d{3} (sometimes this regex script needs to be ran thru a regex checker before it works due to hidden characters from copy and pasting)
  • Remove opening/closing <span> and <u> tags
  • Find and replace with a space.
  • Find %20 in file paths replace with - (dash)
  • Remove deprecated attributes (border="", cellpadding="", etc.) from tables and add bootstrap class="table table-striped table bordered"
  • External links with ampersands (&) in the urls will need the & converted to the escaped version of &amp;.

Pre Go Live

Post Go Live

Google Search Ad Removal

If you are using the built in google search, you will want to request ads to be removed from the search results with this form for each site using search.

Google Crawl

For sites that are setup or need to be setup in the Google Search Console, you can submit sitemaps and request crawls to clean up any link changes or meta keyword/descriptions adjustments.


If you use Angelfish to track your site analytics, you will want to put in a case to have the new server logs to be tied to your Angelfish Profile.


ServiceNow Virtual Agent


  1. Navigate to /_cascade/blocks/static/
  2. Add Content > Default > block
  3. Choose xml as the block type
  4. Name it chat & add below code:
<iframe class="collapse" height="650" id="sn_va_web_client" src=";sysparm_skip_load_history=true" title="ServiceNow Virtual Agent Client" width="350"></iframe>
<button aria-controls="sn_va_web_client" aria-expanded="false" class="btn btn-circle" data-offset-bottom="64" data-spy="affix" data-target="#sn_va_web_client" data-toggle="collapse" id="chat-button" title="Chat" type="button">
<i class="fas fa-comments"></i>
<div id="chat-greet">Hi, I can help answer your questions!</div>


  1. Navigate to /_files/css/styles.css
  2. Edit the file to add this CSS below the footer section:
/********************************** CHAT **************************************/
#chat-button, #chat-greet, #sn_va_web_client {
#sn_va_web_client {
margin-bottom: 80px;
#chat-greet {
margin: 0 85px 17px 0;
padding: .375rem .75rem;
border-radius: .25rem;
.btn-circle {
width: 70px;
height: 70px;
padding: 10px 16px;
border-radius: 35px;
transition: all .5s;
text-align: center;
font-size: 35px;
line-height: 1.33;
border-top-left-radius: 0;
#chat-button[aria-expanded="true"]:before {
content: "\f00d";
font-family: 'Font Awesome 5 Free';
font-weight: 900;
#chat-button[aria-expanded="true"] i{


  1. Navigate to /_cascade/templates/Page
  2. Edit this file to add <system-region name="CHAT"/> below the footer region & Save
  3. Edit the file again, click on the Configure tab
  4. Scroll down to the Chat region, click the block field and choose the chat block. & Save
  5. If you have more than one page template on your site, you will need to repeat for all page templates.


You will then need to publish your whole site, or just the _cascade & _files folder.

Other Resources