Full Stack Projects

Web engineering at Vokal is usually all frontend work, but some projects will require the install of a blog or CMS. In these cases, Systems will not usually be responsible for server-side work, and Web will own the full deployment stack.

For the sake of efficiency Web will focus on a very small set of options that are (mostly) based on Node.

KeystoneJS

KeystoneJS should be the first choice for installing a CMS and may be the best choice for some blogs.

Keystone is a open source framework for developing database-driven websites, applications and APIs in Node.js.

Keystone requires a Node.js server and MongoDB database to run, which the Web engineer will need to provision. Keystone can be installed locally without much trouble. For production deployment, current recomendation is to use Elastic Beanstalk with MongoDB hosted at MongoLab.

Blogs with Ghost

In some cases, you may want to host a blog with Ghost because the admin is more targeted to blogging and the hosted service is potentially easier to manage.

Ghost is only appropriate for a blog. Ghost is not a CMS. Don't treat it like it can be one.

Ghost is available as a source code install that can be self hosted and as a hosted service. Using the hosted service is the simpler option as there will be no need to deal with infrastructure requirements or patching.

When using the hosted service, ask a senior to configure a Ghost account with proper billing.

WordPress

Sometimes a client may want a blog that they can manage themselves, and are looking to leverage a wide and already-existing suite of plugins and tools. WordPress is pretty much the leader in this space. The hosted solution at wordpress.com doesn't support plugins and only allows slight customization of existing themes, so 9 times out of 10 you'll need to install WordPress locally on an AWS EC2 instance.

You can use Bitnami to one-click install WordPress on AWS, and then configure a blank theme into whatever you need. WordPress will let you create a variety of static or content-managed pages alongside the blog itself, so most marketing sites can be put together using it exclusively.

The installation and configuration process is documented in detail here.