dotCMS On the Horizon - New Feature Preview
Jul 30, 2015
By: John Scudder
In the first half of 2015, you might remember that we made some important enhancements to dotCMS. With the releases of dotCMS 3.1 and 3.2 we delivered significant new capabilities: pages-as-content, enhanced workflows, faceted search, UTF-8 URLs and Java 8 support. Each release allowing developers to build what they need the way they need and enabling digital marketers to deliver engaging user experiences that drive conversions.
Looking ahead, we have some powerful and performance enhancing features slated for release in the second half of 2015. Here’s a brief look at a few key enhancements that you’ll be seeing on the horizon soon.
Elasticsearch is, well… elastic by nature. That’s one of the reasons an upcoming release of dotCMS will be featuring the ability to decouple the built-in Elasticsearch from the rest of the dotCMS system (from the Java Heap) and run Elasticsearch as a service. This means, sys admins can offload and run Elasticsearch on its own server(s). By offloading Elasticsearch, admins will gain control and have further ability to tune the performance of dotCMS and their web apps. It reduces the memory footprint of dotCMS and improves the GC (Garbage Collection) profile of the application and depending on configuration and environmental conditions, running Elasticsearch as a service could provide improved reliability, page load and query speeds.
Targeted to advanced dotCMS system administrators, running Elasticsearch as a service allows control and configuration of almost all ES parameters available out of the box. As you can imagine, the performance benefits of off loading Elasticsearch mostly apply to high traffic, HA, dotCMS server cluster implementations where low latency operation of the JVM is required. For single server or lower demand dotCMS implementations there’s no need for concern in using this feature, dotCMS will still be rocking its high performance pedigree as usual. Check out our recent benchmark test for more.
Redis Cache Layer
Another enhancement designed for performance and optimization of the dotCMS application is the option for setting up a shared external Redis Cache for use by 1 or more dotCMS instances. Adding the ability to more specifically control dotCMS caching schemes will reduce the dotCMS's memory footprint, improve reliability and can help bring top-line performance gains.
One of the common benefits of an external cache like Redis is that it can eliminate the need for the cache to “warm up on start”. We all know that on restart, most applications have a (rather awkward) period of filling up cache memory. This can cause performance hiccups and delay the resumption of normal service SLAs (stuff CIO’s and business leaders can have a difficult time accepting). By adding the Redis cache layer, system administrators can eliminate “warm up” times completely as Redis maintains cache state throughout application restarts. With the new Redis Cache layer, dotCMS engineers will have control over all the cacheing regions in the dotCMS application and can even configure multiple cacheing schemes by defining caching logic chains: if content not found in memory cache, look to disk cache, if not found there, look to Redis cache etc.
Similar to the Elasticsearch enhancement in providing decoupled processes, adding the Redis cache layer allows the configuration of cache on an independent networked server that can be scaled independently and at runtime to add/remove cache capacity. It removes the dotCMS cache from the Java heap which can lower memory requirements and speed up GC (garbage collection). The benefits of setting up a Redis cache layer mostly apply to high traffic, HA, (High Availability) dotCMS server cluster implementations where control and performance optimization are desired. Redis is an open source project and you can learn more here.
Rules Engine with Personas
A feature we expect to be particularly popular with digital marketing departments and e-commerce business operators, the all new rules engine with personas is coming in a future release of dotCMS and will give content managers the ability to create complex, multi-condition sets of rules and actions that are triggered as a visitor/user interacts with dotCMS powered content, sites or apps.
For example, when a visitor comes to a dotCMS site, content managers can set up the system to run through a series of rules. When a visitor matches one or more rules, the dotCMS rules engine can perform an action specified by the set of rules that match the visitor.
Content editors will be able to define and set-up rule-sets, conditions and rule-set-actions in a no code, easy to use interface designed specifically for the new feature. The rules engine will include examples, use-cases and a strong selection of predefined conditions out of the box. For added effectiveness in user experience design, editors and UX designers will be able to preview and edit pages by persona (view as persona) allowing the delivery of on target, conversion centric experiences. For developers and those that want to get a little more creative, the dotCMS Rules Engine with personas will be fully enabled as an API and like most other features in dotCMS will support dotCMS RESTful API endpoints.
UI/UX Improvements, Updates, Redesign
As the new rules engine with personas takes shape, the UI/UX design team at dotCMS is taking the opportunity to deliver an updated and more standard user interface for dotCMS. The first place you’ll catch a glimpse of the new direction for the dotCMS user interface is with the release of the Rules Engine & Personas management UI. The dotCMS team is moving towards the use of Web Components, with the first being built using Google’s AngularJS 2.0, as a framework for improving, updating and redesigning the UI. The plan for releasing UI enhancements and the eventual overhaul of the dotCMS admin UI will be to deliver updates in concert with the introduction of new features/screens and also by updating sections of the existing UI at a time.
On the Horizon…
The features outlined above will be available in upcoming dotCMS Enterprise Edition software releases and upon their release, Community users will be able to test them out by using the self service dotCMS Enterprise Prime - Free Trial License Request. Already in development and well underway, we’ll be getting these new features into the hands of our users in coming months. The new configuration of Elasticsearch and Redis cache layer will also available as an option on future editions of the new dotCMS Cloud - SaaS CMS offering.
No doubt that good things are on the horizon with powerful, high performance features in the forecast with dotCMS. They're on the way to help you move forward, build faster and get farther with your content management projects. Drop us a line, join the dotCMS Community, subscribe to our newsletter and follow us on Twitter to stay in touch now, and keep up with what's on the horizon too.