Announcing Surreal CMS 7

By Cory LaViska on April 17, 2019

The long-awaited release of Surreal CMS 7 has been rolled out. Here's what you need to know about the soft launch.

Asphalt in Maui

The latest version of Surreal CMS introduces some great new features that make managing static websites easier than ever. The new version has been completely redesigned on the front-end and backend, moving from a decade-old PHP + jQuery code base to Node.js + Vue.js.

This release is a soft launch intended primarily for testing.

As of today, all new signups will be pushed to the new version. Existing users will remain on version 5 for a few weeks so I can continue testing the new version and the underlying infrastructure. The new version needs to be rock solid before thousands of users begin to upgrade.

If you're an existing user and you want to try the new version, you're welcome to signup for a new account. Keep in mind that, if you decide to do this, your version 5 account will not be linked to your new account. After testing of the soft release is complete, you'll be able to upgrade your version 5 account through the dashboard. For most users, waiting to upgrade will be the best option.

I've worked hard to make the new version backwards compatible. However, there are some notable changes and deprecations that existing users should be aware of. Let's start with what's new.


What's new?

Surreal CMS 7 ships with a fresh new user interface that's modern, but still easy to use. The dynamic sidebar provides basic navigation plus options that are relevant to the page you're currently viewing. Of course, the entire app is still responsive so it works well on most devices.

Static includes is a new feature that lets you share content across multiple pages without using PHP or other server-side technologies. Even websites hosted on Amazon S3 can use this.

Lockables give you more control over the structure of elements in your content regions. You can lock any element so it can't be directly modified, and then unlock any of its child elements for editing.

Blocks is the new name for snippets. They work the same way, but when you combine them with lockables and repeatables, they become a lot more powerful.

You can make backgrounds editable.

You can make links editable.

You can insert galleries into block regions.

You can create code blocks and add syntax highlighting using third-party libraries.

The file browser includes a pages section so you can quickly link to any page on your website without having to navigate the file system.

The file browser includes an Unsplash image search. You now have access to hundreds of thousands of free, high quality photos without leaving the CMS.

You can only upload/delete/rename files that are inside the Upload Folder. This prevents users from accessing pages and other critical files that shouldn't be modified. (If you don't set an upload folder, all files and folders will still be accessible.)

Images can have captions now. When captions are enabled, images will be contained in a figure.image element instead of a standard img element.

The source editor has a beautiful new theme and offers syntax highlighting, multiple cursors, and tag/bracket matching. It also highlights special cms- classes so you can easily identify content regions, repeatables, includes, etc.

When you publish a page, Surreal CMS will automatically cleanup and properly indent its source using js-beautify. The type of indentation (space/tab) is automatically detected, so you don't need to configure anything.

We no longer remove revisions after 180 days. Instead, up to the last 20 revisions of each page will be stored indefinitely.

Support for FTPS (explicit and implicit) has been improved.

Users can have profile pictures and bios.


What's changed?

For consistency, all special classes now begin with the cms- prefix, for example cms-editable. We still support all previous legacy classes, but they are considered deprecated as of version 7.

The click-to-define editor has been removed. With the introduction of static includes, lockables, and the new syntax for certain content regions, it makes more sense to integrate pages directly in the source code where you can easily determine the correct elements to target.

A secure connection (i.e. HTTPS) is now required on all pages in the CMS. This means websites that don't use HTTPS will be subject to a mixed content warning and scripts/styles may not download in the editor. I'm looking into a workaround for this, but the best solution in 2019 is to make sure your websites are served over HTTPS. (Adding SSL is mostly free nowadays, and it will also benefit your SEO.)

Auto-publish has been removed due to lack of use. (At the time of this writing, there were less than 20 pages in the queue.)

User privileges have been removed. Most privileges that people cared about involved uploading, deleting, and renaming files. Now that you can restrict these operations to an arbitrary uploads folder, these privileges are no longer required.

You can no longer impersonate other users. Impersonation allowed you to see what your clients would see, but it also let you publish pages and perform other operations using their identity. For the sake of privacy, this feature has been removed.

The keywords field has been removed from metadata. It is widely accepted that Google and other major search engines no longer use this tag.

You can no longer enable CSS, JS, XML, and similar files for editing. These files are often critical to the operation of your website, and giving clients access to modify them caused too many problems.

Custom domains (via CNAME) are no longer supported because they are HTTP only. I made every effort to work with some big companies to provide custom domains (e.g. cms.yourdomain.com), but the price point is more than what most users are willing to pay. In version 7, you can use the default edit.surrealcms.com domain or, if you're on an Agency plan, you can use yourdomain.clientcms.com. Unlike the former edit-content.com domain, the new domains will feature your custom branding even on the login page.


Pricing changes

Pricing has changed in the new version. Surreal CMS is now free for personal, educational, and non-profit websites. To manage commercial websites, you'll need to subscribe to the Business plan for $12/month (or $120/year). For white-labeling and API access, you'll need to subscribe to the Agency plan for $24/month (or $240/year).

Version 5 users will remain on their current plan until upgrading. At that time, you will be able to choose your new plan and any charges or credits will be applied to your account. In the meantime, if you have an annual subscription that's renewing in April or May, I suggest switching your plan to monthly to minimize the impact of this transition.

As a small business owner and a one-man show, this is a huge undertaking. I really appreciate your patience during the transition period!

If you have any questions about pricing or the new version, feel free to contact me.


What happened to version 6?

You might be wondering why there was no version 6. I decided early on that the new version of Surreal CMS was going to be completely rebuilt, so this gave me a lot of options. Prior to choosing Node.js + Vue.js, I experimented with quite a few different front-end and backend libraries.

Internally, I dubbed those experiments "6.0" and, to me, the number simply got stale and unexciting. I eventually decided to scrap it in favor of "7.0" — much like how PHP skipped its version 6.