Cloud Connected

Thoughts and Ideas from the Gitana Development Team

Easy apps with Cloud CMS and Node.js

As we continue to enhance Cloud CMS, one of the directions that we’re pushing in is toward the application layer.  We intend to offer increasingly more out-of-the-box applications for content authoring, curation and publishing aimed at marketing users.  These applications need to be easy-to-use.  They need to address the most common cases that our customers are asking for out-of-the-box.  However, they also need to be easily extensible so that these same customers can take our apps and quickly customize and tweak them.

To do so, we will be introducing the Cloud CMS hosted application services.  These consists of one-click deployment of pre-built and customized applications to the Cloud CMS hosted application servers.  Once hosted, your apps will be available at your platform’s URL just like they currently are.  For example, you might deploy a newspaper application to a URL like this:

   https://myplatform.cloudcms.net/newspaper

Cloud CMS will support a few variations on these domains as well as fully support external domain name servers for full control of the DNS to your liking.

With the introduction of these services, we will also lay the ground work for deployment to third-party hosting like Heroku, Engine Yard and on-premise.  Our belief is that there are already well-established hosting options.  Our aspiration in providing our own is simply to make it easier for our customers to get something up and running with as few steps as possible. However, the produced apps could be hosted anywhere. They’re fully contained and do not depend on our infrastructure.

Node.js as an Application Server

We’re able to accomplish all of this because of Node.js and its flexibility of deployment within the application server tier. Node.js is very impressive. Today, we are using it to provide application server support to customer applications. You can essentially think of Cloud CMS as a Content Database with all kinds of magnificent features. Node.js provides the custom server-side controllers and business logic for your app. It provides a place where your app can call back to for information.

Visually, it looks a little like this:

We continue to allow you to build your mobile applications using any framework or native environment you’d like. We support iOS, Android as well as many HTML5 and JavaScript frameworks including jQuery, jQuery Mobile, Sencha Touch, Dojo, PhoneGap and Appcelerator Titanium.

One of the strengths of Cloud CMS is that our content is 100% JSON through and through. We’re also fully dynamic and believe that you should be able to build new content and surface it into applications without server restarts or lots of IT involvement. After all, the less IT needs to be involved, the more your business can benefit from being nimble, responsive and cost-effective.

Node.js lets us accomplish all of this. With the click of a “publish” button, we can spin up your Node.js instance (or multiple instances for redundancy and failover) and dynamically configure it using Node’s Packaged Modules management. We can bring your Node.js application services online along with your web server and have everything up and running in only a few seconds.

By utilizing Node.js as an application server, we’re able to provide our default Cloud CMS REST API through OAuth2 (just as before) while also making it very easy for developers to extend the API as they wish. We believe, for example, that a mobile application should only need to make 1 (yes one) call per page in order to acquire the data needed to render. Not only are load times slow but you’re also burning on the battery, so it’s better to reduce things down to a single call. That’s often (read: always) going to be a problem if you have to jam together lots of different APIs into your client-side app. Our Node.js application server will let you customize your own REST API and do all the heavy lifting off the device.

There are a number of great features with this launch including GitHub integration (for automatic code checkout and deployment) and a new launch of our Ratchet and Alpaca frameworks which now fully support Node.js as NPM modules and are also calibrated to the Twitter Bootstrap UI library. In future videos, we’ll show you how ridiculously easy it is to build great HTML5 apps using just a few command line calls.

The very best thing about all of this flexibility in design is that it lets us put more and more power into the hands of the marketer - the business user who is using one of our content authoring or curation apps. Now when they click “create app”, it isn’t some sort of conceptual exercise. They’re actually building an app, bringing it online and seeing the results. With no coding, no server restarts, no IT duty cycle and no pain.

All of this is coming very soon and we’re very excited about it. Stay tuned!

Interested in learning more? We’d love to hear from you. In addition, we want to invite you to sign up for a free trial and give our platform a spin. We think you’ll love it.